| Crates.io | carp-cli |
| lib.rs | carp-cli |
| version | 0.2.1 |
| created_at | 2025-07-27 14:18:43.034491+00 |
| updated_at | 2025-08-03 16:30:44.84412+00 |
| description | Command-line tool for the Claude Agent Registry Portal |
| homepage | https://carp.refcell.org |
| repository | https://github.com/refcell/carp |
| max_upload_size | |
| id | 1770126 |
| size | 329,028 |
Command-line tool for the Claude Agent Registry Portal (Carp).
git clone https://github.com/refcell/carp
cd carp
just build-cli
The binary will be available at cli/target/release/carp.
cargo install carp-cli
# Check API connectivity and status
carp healthcheck
# Login with API key
carp auth login
# Check authentication status
carp auth status
# Logout (clear stored API key)
carp auth logout
You can also provide API keys via:
--api-key YOUR_KEYCARP_API_KEY=YOUR_KEY# List all available agents
carp list
# Basic search
carp search "text processing"
# Limit results
carp search "claude" --limit 5
# Exact match only
carp search "my-agent" --exact
# Search with verbose output
carp search "claude" --verbose
# Interactive selection (shows available agents)
carp pull
# Pull specific agent (latest version)
carp pull agent-name
# Pull specific version
carp pull agent-name@1.2.0
# Pull to specific directory
carp pull agent-name --output ./my-agents/
# Force overwrite existing directory
carp pull agent-name --force
# Pull with verbose output
carp pull agent-name --verbose
# Upload from current directory (requires Carp.toml)
carp upload
# Upload from specific directory
carp upload --directory ./path/to/agent
# Upload with API key (if not configured)
carp upload --api-key YOUR_API_KEY
# Upload with verbose output
carp upload --verbose
Configuration is stored in ~/.config/carp/config.toml:
api_key = "your-api-key"
~/.config/carp/config.tomlexport CARP_API_KEY="your-api-key"--api-key YOUR_API_KEY (works with any command)All commands support these global options:
--verbose: Enable detailed output--quiet: Suppress all output except errors--api-key: Provide API key for authenticationname = "my-agent"
version = "1.0.0"
description = "A Claude AI agent that does amazing things"
author = "Your Name <your.email@example.com>"
license = "MIT"
tags = ["claude", "ai", "automation"]
files = ["README.md", "agent.py"]
main = "agent.py"
# Build CLI only
just build-cli
# Or from CLI directory
cd cli && cargo build --release
# Test CLI only
just test-cli
# Or run specific tests
cargo nextest run --package carp-cli
# Lint (treats warnings as errors)
just lint-cli
# Format code
just fmt-cli
# Format with nightly rustfmt
cargo +nightly fmt
# Run full test suite
just tests
# Or workspace-wide checks
just build && just lint && just test
The Carp CLI includes several security features:
The CLI is built with a modular architecture:
src/
├── main.rs # CLI entry point and argument parsing
├── lib.rs # Library exports
├── commands/ # Command implementations
│ ├── healthcheck.rs # API health check
│ ├── list.rs # List all agents
│ ├── search.rs # Agent search functionality
│ ├── pull.rs # Agent download and extraction
│ └── upload.rs # Agent upload functionality
├── config/ # Configuration management
├── api/ # HTTP client for registry API
├── auth/ # Authentication handling
└── utils/ # Shared utilities and error handling
The CLI provides comprehensive error handling with user-friendly messages:
This CLI tool follows Rust best practices:
anyhowMIT License - see LICENSE for details.