|
1 | | -# CapiscIO CLI (Python) |
| 1 | +# CapiscIO CLI |
2 | 2 |
|
3 | | -**The official command-line interface for CapiscIO, the Agent-to-Agent (A2A) validation platform.** |
| 3 | +Catch bad agents before your users do. |
4 | 4 |
|
5 | 5 | [](https://badge.fury.io/py/capiscio) |
6 | 6 | [](https://pypi.org/project/capiscio/) |
7 | 7 | [](https://github.com/capiscio/capiscio-python/blob/main/LICENSE) |
8 | 8 | [](https://pepy.tech/project/capiscio) |
9 | 9 |
|
10 | | -## Overview |
| 10 | +**CapiscIO CLI** validates A2A agent cards, tests live endpoints, and blocks broken deployments — one command in your pipeline. |
11 | 11 |
|
12 | | -This package provides a convenient Python distribution for the **CapiscIO CLI**. It acts as a smart wrapper that automatically manages the underlying `capiscio-core` binary (written in Go), ensuring you always have the correct executable for your operating system and architecture. |
13 | | - |
14 | | -> **Note:** This is a wrapper. The core logic resides in [capiscio-core](https://github.com/capiscio/capiscio-core). |
| 12 | +> CLI secures your pipeline. [Agent Guard](https://github.com/capiscio/capiscio-sdk-python) secures your runtime. |
15 | 13 |
|
16 | 14 | ## Installation |
17 | 15 |
|
18 | 16 | ```bash |
19 | 17 | pip install capiscio |
20 | 18 | ``` |
21 | 19 |
|
22 | | -## Usage |
| 20 | +Also available via npm: `npm install -g capiscio` |
23 | 21 |
|
24 | | -Once installed, the `capiscio` command is available in your terminal. It passes all arguments directly to the core binary. |
| 22 | +## Quick Start |
25 | 23 |
|
26 | 24 | ```bash |
27 | | -# Validate an agent |
| 25 | +# Validate an agent card (local file or URL) |
| 26 | +capiscio validate ./agent-card.json |
| 27 | + |
| 28 | +# Validate a live agent endpoint |
28 | 29 | capiscio validate https://my-agent.example.com |
29 | 30 |
|
30 | | -# Validate with JSON output |
| 31 | +# JSON output for CI pipelines |
31 | 32 | capiscio validate https://my-agent.example.com --json |
32 | 33 |
|
33 | | -# Check version |
34 | | -capiscio --version |
| 34 | +# Strict mode — fail on warnings too |
| 35 | +capiscio validate ./agent-card.json --strict |
35 | 36 | ``` |
36 | 37 |
|
37 | | -### Wrapper Utilities |
| 38 | +## What It Checks |
| 39 | + |
| 40 | +| Check | Description | |
| 41 | +|-------|-------------| |
| 42 | +| **Schema** | Agent card conforms to A2A specification | |
| 43 | +| **Signatures** | JWS badge signatures are valid | |
| 44 | +| **Endpoints** | Live agent responds correctly (`--test-live`) | |
| 45 | +| **Trust Level** | Badge trust level meets your threshold | |
| 46 | + |
| 47 | +## Use Cases |
| 48 | + |
| 49 | +- **Pre-commit hooks** — Validate agent cards before you push |
| 50 | +- **CI/CD gates** — Block deployments with misconfigured agents ([GitHub Action](https://github.com/capiscio/validate-a2a)) |
| 51 | +- **Vendor due diligence** — Validate third-party agents before integration |
| 52 | +- **Cron monitoring** — Continuous health checks on agent endpoints |
| 53 | + |
| 54 | +## Dev & Testing Commands |
| 55 | + |
| 56 | +The CLI also exposes badge and key management commands for local development and testing: |
| 57 | + |
| 58 | +```bash |
| 59 | +# Issue a self-signed badge (dev/testing only) |
| 60 | +capiscio badge issue --self-sign |
38 | 61 |
|
39 | | -The Python wrapper includes specific commands to manage the binary: |
| 62 | +# Verify a badge |
| 63 | +capiscio badge verify "$TOKEN" |
| 64 | + |
| 65 | +# Generate a key pair |
| 66 | +capiscio key gen |
| 67 | + |
| 68 | +# Start the gateway sidecar |
| 69 | +capiscio gateway start --port 8080 --target http://localhost:3000 |
| 70 | +``` |
| 71 | + |
| 72 | +For full CLI reference, see the [capiscio-core documentation](https://github.com/capiscio/capiscio-core#cli-reference). |
| 73 | + |
| 74 | +### Wrapper Utilities |
40 | 75 |
|
41 | 76 | | Command | Description | |
42 | 77 | |---------|-------------| |
43 | | -| `capiscio --wrapper-version` | Display the version of this Python wrapper package. | |
44 | | -| `capiscio --wrapper-clean` | Remove the cached `capiscio-core` binary (forces re-download on next run). | |
| 78 | +| `capiscio --wrapper-version` | Display the version of this Python wrapper package | |
| 79 | +| `capiscio --wrapper-clean` | Remove the cached binary (forces re-download on next run) | |
45 | 80 |
|
46 | 81 | ## How It Works |
47 | 82 |
|
48 | | -1. **Detection**: When you run `capiscio`, the script detects your OS (Linux, macOS, Windows) and Architecture (AMD64, ARM64). |
49 | | -2. **Provisioning**: It checks if the correct `capiscio-core` binary is present in your user cache. |
50 | | - * *Linux*: `~/.cache/capiscio/bin` |
51 | | - * *macOS*: `~/Library/Caches/capiscio/bin` |
52 | | - * *Windows*: `%LOCALAPPDATA%\capiscio\bin` |
53 | | -3. **Download**: If missing, it securely downloads the release from GitHub. |
54 | | -4. **Execution**: It seamlessly replaces the Python process with the Go binary, ensuring zero overhead during execution. |
| 83 | +This package is a lightweight Python wrapper around [capiscio-core](https://github.com/capiscio/capiscio-core) (written in Go). On first run it downloads the correct binary for your platform — zero overhead after that. |
| 84 | + |
| 85 | +1. **Detects** your OS (Linux, macOS, Windows) and architecture (AMD64, ARM64) |
| 86 | +2. **Downloads** the binary to your user cache (with SHA-256 checksum verification) |
| 87 | +3. **Replaces** the Python process with the Go binary — native speed, no shim |
55 | 88 |
|
56 | 89 | ## Supported Platforms |
57 | 90 |
|
@@ -103,3 +136,13 @@ development environments. |
103 | 136 | ## License |
104 | 137 |
|
105 | 138 | Apache-2.0 |
| 139 | + |
| 140 | +## Related Packages |
| 141 | + |
| 142 | +| Package | What it does | Install | |
| 143 | +|---------|-------------|---------| |
| 144 | +| [Agent Guard](https://github.com/capiscio/capiscio-sdk-python) | Runtime trust verification for A2A agents | `pip install capiscio-sdk` | |
| 145 | +| [MCP Guard](https://github.com/capiscio/capiscio-mcp-python) | Trust enforcement for MCP tool servers | `pip install capiscio-mcp` | |
| 146 | +| [capiscio-core](https://github.com/capiscio/capiscio-core) | Go library and full CLI reference | `go install` | |
| 147 | + |
| 148 | +[Documentation](https://docs.capisc.io) · [Website](https://capisc.io) · [Platform](https://app.capisc.io) |
0 commit comments