refactor!: rebrand CCAM to AgentHub

Clean break, no compatibility alias. Renames the product name, the CLI
binary (`ccam` -> `agenthub`), the env var prefix (`CCAM_` ->
`AGENTHUB_`), the Prometheus metric namespace (`ccam_*` ->
`agenthub_*`), the tmux session prefix (`ccam-lane-<id>` ->
`agenthub-lane-<id>`), the per-repo runtime profile directory
(`.ccam/profile` -> `.agenthub/profile`), the lanes state root
(`~/.claude/ccam-lanes` -> `~/.claude/agenthub-lanes`), the bundled
plugins (`plugins/ccam*` -> `plugins/agenthub*`) and their slash
commands (`/ccam-doctor` -> `/agenthub-doctor`, `/ccam:*` ->
`/agenthub:*`).

Because there is no alias, an existing install has to be updated by
hand: rename its `.ccam/profile` directory and any `CCAM_*` variables,
and reinstall the plugin under its new name.

Two other name families are deliberately left alone here, since they are
not just strings: the `Claude-Code-Monitor` repository/marketplace name,
and the `agent-dashboard` npm package plus its `~/.claude/agent-dashboard`
runtime directory, which holds the live database and needs a migration
rather than a rename.

Verified: server 1406/1406, client 459/459, `grep -i ccam` clean across
tracked files, `openapi.yaml` regenerated (95 paths, unchanged count).
This commit is contained in:
2026-09-07 12:09:15 +07:00
parent ae9b3dbcd5
commit 17d56d0e01
345 changed files with 2705 additions and 2727 deletions
+20 -20
View File
@@ -1,6 +1,6 @@
---
name: ship-feature
description: Implement a feature safely end-to-end in this repository. Use when adding or changing functionality across backend, frontend, or MCP with required verification and documentation updates. Drives the Superpowers workflow skills and declares each phase with `ccam stage` so the dashboard's pipeline map follows along.
description: Implement a feature safely end-to-end in this repository. Use when adding or changing functionality across backend, frontend, or MCP with required verification and documentation updates. Drives the Superpowers workflow skills and declares each phase with `agenthub stage` so the dashboard's pipeline map follows along.
---
# Ship Feature
@@ -10,24 +10,24 @@ how to plan, test, or review — the Superpowers skills own that. What lives her
is the phase order, this repository's own rules, and the stage declaration at
each boundary.
For a feature inside a CCAM **lane**, use `ship-feature-lane` instead: it adds
For a feature inside a AgentHub **lane**, use `ship-feature-lane` instead: it adds
the branch/e2e/QC/senior-gate/PR half this skill deliberately leaves out.
## Declaring the stage
Each phase below starts with `ccam stage <node>`, which is what puts the phase
Each phase below starts with `agenthub stage <node>`, which is what puts the phase
on the lane's pipeline map. The nodes are the `default` template's:
`intake → plan → implement → tests → review → gate → ship → done`.
Set the template yourself, don't rely on how the lane was created: before your
first `ccam stage` call, run `ccam lanes pipeline default` (no id needed —
first `agenthub stage` call, run `agenthub lanes pipeline default` (no id needed —
resolves from `cwd`; a no-op if the lane is already on it). This is what makes
the choice invisible to the human — whichever of `ship-feature` or
`ship-feature-lane` actually runs is what decides the template, not a picker
they have to get right in advance.
`ccam stage` needs a lane owning the current directory. If it reports no lane,
this repo was never adopted (`ccam lanes add --cwd $(pwd)` fixes it) — carry on
`agenthub stage` needs a lane owning the current directory. If it reports no lane,
this repo was never adopted (`agenthub lanes add --cwd $(pwd)` fixes it) — carry on
with the workflow and skip the stage calls; they are reporting, not control
flow. Never skip a phase because its stage call failed.
@@ -40,7 +40,7 @@ you dropped back to.
## Phases
### intake — understand before touching anything
- `ccam stage intake --status running`
- `agenthub stage intake --status running`
- Restate the requirement and its success criteria.
- Explore the impacted modules: `Explore` agent for breadth, then read the key
files yourself. Identify which layers are hit (server / client / mcp / docs /
@@ -48,7 +48,7 @@ you dropped back to.
- Requirement fuzzy or open to more than one reading? **superpowers:brainstorming**.
### plan — a written plan, challenged before it is code
- `ccam stage plan`
- `agenthub stage plan`
- **superpowers:writing-plans**: approach, files to change, the test strategy
(which behavior each test pins), and how each success criterion is met.
- If the task is a bug rather than a feature: **superpowers:systematic-debugging**
@@ -61,13 +61,13 @@ you dropped back to.
**superpowers:receiving-code-review** scrutiny.
### implement — smallest coherent diff
- `ccam stage implementing`
- `agenthub stage implementing`
- **superpowers:test-driven-development**: failing test → minimal code → green.
- Smallest diff that satisfies the requirement. Every changed line traces to it.
- **file-headers** applies to every source file you create or edit.
### tests — this repo's verification, not a claim
- `ccam stage tests --status running`
- `agenthub stage tests --status running`
- **Dispatch, don't self-grade.** Both halves below run in a **fresh-context
agent** (Agent tool, `subagent_type: general-purpose` — FOREGROUND, and
**never `fork`**: a fork inherits your context, which is the bias you are
@@ -86,12 +86,12 @@ you dropped back to.
- `FAIL` → fix the **source** (root cause), not the agent's test — then re-run
this phase. Rewriting a failing independent test to pass is the one move that
makes this whole phase worthless.
- Record the outcome: `ccam stage tests --evidence "<what passed>"`, or
- Record the outcome: `agenthub stage tests --evidence "<what passed>"`, or
`--result fail` with what failed. A step you could not run is reported as not
run, never as passed.
### review — a real review pass, not a re-read
- `ccam stage review --status running`
- `agenthub stage review --status running`
- Hand the review to a **fresh-context agent** (`subagent_type: Code Reviewer`,
FOREGROUND, never `fork`) — a reviewer that watched you write the code is not
a reviewer. It runs the **code-review** skill on the working diff
@@ -100,11 +100,11 @@ you dropped back to.
- **Domain reviewers, in parallel with the above (same message, separate
Agent calls).** Check `git diff --name-only` (against the base this task
started from) for touched layers and launch every matching one —
FOREGROUND, fresh context, never `fork`, addressed as `ccam:backend-reviewer`
/ `ccam:frontend-reviewer` / `ccam:mcp-reviewer`:
- Any path under `server/` → `ccam:backend-reviewer`.
- Any path under `client/` → `ccam:frontend-reviewer`.
- Any path under `mcp/` → `ccam:mcp-reviewer`.
FOREGROUND, fresh context, never `fork`, addressed as `agenthub:backend-reviewer`
/ `agenthub:frontend-reviewer` / `agenthub:mcp-reviewer`:
- Any path under `server/` → `agenthub:backend-reviewer`.
- Any path under `client/` → `agenthub:frontend-reviewer`.
- Any path under `mcp/` → `agenthub:mcp-reviewer`.
- None of those three touched → skip all three; the generic Code Reviewer
above is the only gate.
- Hand each ONLY the repo path and the working diff — each scopes itself to
@@ -125,16 +125,16 @@ you dropped back to.
re-run and re-check them. Final line: `GATE: GO` or `GATE: NO-GO — <what is
missing>`. A one-line fix does not need it; anything you would defend in a
review does.
- `ccam stage gate --evidence "<what was verified>"`
- `agenthub stage gate --evidence "<what was verified>"`
### ship — docs, then the user's call
- `ccam stage ship`
- `agenthub stage ship`
- **update-project-docs** — mandatory for any change to behavior, config,
interfaces, events, schema, CLI commands, or features. Not optional, not
deferred, not "if asked".
- Commit / push / PR **only when the user asks in this turn**. Finishing an
implementation is not authorization to commit.
- `ccam stage done --status passed --evidence "<what shipped>"`
- `agenthub stage done --status passed --evidence "<what shipped>"`
## This repository's own rules