diff --git a/README.md b/README.md index dd8dc0a..1162193 100644 --- a/README.md +++ b/README.md @@ -303,15 +303,6 @@ It also serves the Spur JSON schemas and API docs as resources, and an `assess_i Your pipelines keep working: piped output is still JSON (one object per IP), and `SPUR_TOKEN` is still honored. What's new on top: styled terminal output, `status`/`tag`/`feed`/`export`, secure token storage with `spur auth`, config profiles, shell completion, and the MCP server. -## Development - -```bash -make build # bin/spur -make test # go test ./... -``` - -The layout follows the [golang-standards/project-layout](https://github.com/golang-standards/project-layout): a thin `cmd/spur/main.go` hands off to `internal/app`, which builds the Cobra command tree over the shared `internal/spur` API client. Architectural decisions live in [`docs/adr/`](docs/adr/). - ## License See [LICENSE](LICENSE). diff --git a/docs/adr/0001-consolidate-spur-mcp-into-the-cli.md b/docs/adr/0001-consolidate-spur-mcp-into-the-cli.md deleted file mode 100644 index 8c0c617..0000000 --- a/docs/adr/0001-consolidate-spur-mcp-into-the-cli.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -status: accepted ---- - -# Consolidate the spur-mcp server into the spur CLI - -The standalone `spurintel/spur-mcp` server and the `spur` CLI both need the same -Spur Context API client and both ship to the same analysts, so we transplanted the -MCP server into this repository and expose it as the `spur mcp` subcommand (stdio), -backed by the CLI's shared `internal/spur` client, and deprecate the standalone -`spur-mcp` repo. This gives us one binary to build and release, one API client to -maintain, and guaranteed behavioral parity between the CLI and the AI-facing surface. - -## Considered Options - -- **Keep `spur-mcp` separate.** Rejected: two repos, two release cadences, and a - duplicated API client that would drift from the CLI's — the exact divergence that - motivated the consolidation. -- **Import `spur-mcp` as a Go module dependency of the CLI.** Rejected: the shared - client is the thing both surfaces must agree on, so it belongs in this repo as the - single source; depending on the old module would invert that and keep the client's - home in a deprecated repo. - -## Consequences - -- The MCP server no longer versions independently; its releases are now coupled to - the CLI's. This is the accepted cost of a single binary and a single client. -- This is a one-way, hard-to-reverse decision once customers are told to register the - CLI-embedded server (`claude mcp add spur -e SPUR_TOKEN=… -- spur mcp`). -- Deprecation path: the standalone `spur-mcp` repo is archived with a pointer to this - one, and setup docs guide users to the embedded server. -- `spur mcp` remains stdio-only, matching the old server; HTTP/SSE transport is a - possible later addition.