| 1 | # ACP Registry submission |
| 2 | |
| 3 | Everything needed to list splitfire-agent in the [ACP registry](https://agentclientprotocol.com/get-started/registry) |
| 4 | ([agentclientprotocol/registry](https://github.com/agentclientprotocol/registry)). |
| 5 | |
| 6 | ## Prerequisites (done in this repo) |
| 7 | |
| 8 | - `initialize` advertises a `terminal` auth method (`terminal-setup`, runs `--setup`); registry CI |
| 9 | requires agent or terminal auth. |
| 10 | - `session/new` and `session/prompt` return `AUTH_REQUIRED` when no Onde API key is configured; |
| 11 | `authenticate` re-reads the stored key without a restart. |
| 12 | - The release workflow builds binaries for all five registry platforms on `v*` tags. |
| 13 | - 16x16 monochrome `currentColor` icon at `assets/icon.svg`. |
| 14 | |
| 15 | ## Submitting |
| 16 | |
| 17 | 1. Tag and push the release: `git tag v1.0.0 && git push origin v1.0.0`. Wait for the `release` |
| 18 | workflow to attach the five archives. |
| 19 | 2. Optionally add `sha256` fields to `agent.json` for each archive (recommended, not required). |
| 20 | The archive names are fixed by the workflow. |
| 21 | 3. Fork the registry repo, then from its checkout: |
| 22 | |
| 23 | ```sh |
| 24 | mkdir splitfire-agent |
| 25 | cp agent.json splitfire-agent/agent.json |
| 26 | cp ../assets/icon.svg splitfire-agent/icon.svg # the icon must sit next to agent.json |
| 27 | SKIP_URL_VALIDATION=1 uv run --with jsonschema .github/workflows/build_registry.py |
| 28 | ``` |
| 29 | |
| 30 | Drop `SKIP_URL_VALIDATION=1` once the release exists; the archive URLs are probed. |
| 31 | 4. Open the PR. Registry CI validates the schema and icon, and probes the binary for a valid |
| 32 | `authMethods` response with an empty sandbox `HOME`. |