Ports the patterns that crystallized during the short-lived claudian plugin project (discarded in favour of this Flutter rebuild): - ADRs 0001-0004 capture decisions that survive the host change — CLI-first over MCP, Go for the sidecar, pql as a supporter tool that becomes a clide-managed subsystem when present, and the ignore-file strategy that wires all file-enumerating surfaces through one knob in .pql/config.yaml. - .claude/settings.json and the git-commit and skill-create skills come over with naming updated for clide. The git-commit skill's "no Conventional Commits" convention supersedes the Python-era clide style under legacy/; the Keep-a-Changelog discipline and the project.yaml-version-and-changelog-bumped-together rule apply going forward. - CHANGELOG.md starts fresh at the repo root to track the Flutter rebuild. The Python changelog is preserved under legacy/. .gitignore narrows from `.claude/` to just `.claude/settings.local.json` so project-level config and skills travel with the repo. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1.2 KiB
1.2 KiB
ADR 0001 — CLI-first, not MCP
Status: accepted Date: 2026-04-20 (ported from the claudian lineage)
Context
Clide exposes capabilities to Claude Code (panes, terminals, git, pql queries, canvas, graph). The two mainstream options for that interface are:
- A Model Context Protocol (MCP) server the agent connects to.
- A plain Bash CLI the agent calls from its shell, matching the
contract
pqlalready follows.
Decision
Claude talks to Clide exclusively via Bash (clide ...). No MCP
server. No protocol layer in Claude's face. The CLI uses the same
exit-code + stderr-JSON contract as pql.
Consequences
- Same mental model as pql for the agent — one tool-use pattern covers both.
- No MCP runtime to host, authenticate, or keep in sync with client versions.
- User/Claude parity is easier to enforce: every CLI subcommand must have a UI affordance in the Flutter app and vice versa.
- Claude Code's
Bash(clide *)allow rule is the only configuration Clide needs on the agent side. - If an MCP-only integration becomes compelling later (e.g. a multi-agent scenario), nothing here precludes adding one that shells out to the same CLI.