carlos / platform Public

Merge pull request #65 from carlosframework/worktree-api-cli-rule

CLAUDE.md: day-to-day admin via API/CLI, direct AWS only for platform work
Paul Campbell 91d03117b85d4f2f6f1655b4b1de6eac801cc87b parent 1c32d73parent 323933a
1 file changed, +15 −0
  • CLAUDE.md +15 −0
diff --git a/CLAUDE.md b/CLAUDE.md
index ff4276e3c..3ef9f15d4 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -26,6 +26,21 @@ Always name the model explicitly when dispatching; an omitted model silently
inherits the session's (usually the most expensive). A precise brief beats a
capable model — exact values, file paths and interfaces go in the brief.
+## Operate via API and CLI (Paul's rule, 2026-08-06)
+
+Day-to-day CARLOS administration goes through the console API and the
+`carlos` CLI — listing routes, inspecting apps, checking channels, all of it.
+Direct AWS access (SSM sessions, S3 console, aws CLI) is reserved for work on
+the platform itself: building CARLOS internals, provisioning infra, debugging
+below the API surface.
+
+If a day-to-day task has no API/CLI command, that is a product gap, not a
+license to drop to AWS: plan and build the command (or file the gap) instead
+of working around it. Box-local-only counts as a gap too. (2026-08-06:
+`carlos instances` lists routes but only by opening the registry DB on local
+disk, so an agent went to Systems Manager to run it — the missing API-backed
+remote form was the bug.)
+
## Build & test
- `go build ./...`, `go vet ./...`, `go test ./... -count=1` — all clean, all