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
+8 -8
View File
@@ -1265,8 +1265,8 @@ function createOpenApiSpec() {
format: {
type: "string",
description:
'Bundle format marker (always "ccam-export" for exports from this version).',
example: "ccam-export",
'Bundle format marker (always "agenthub-export" for exports from this version).',
example: "agenthub-export",
},
version: { type: "integer", description: "Bundle schema version.", example: 1 },
exported_at: { type: "string", format: "date-time" },
@@ -1863,12 +1863,12 @@ function createOpenApiSpec() {
"text/plain": {
schema: { type: "string" },
example:
"# HELP ccam_up 1 when the dashboard API is serving this scrape.\n" +
"# TYPE ccam_up gauge\n" +
"ccam_up 1\n" +
"# HELP ccam_sessions Number of sessions by lifecycle status.\n" +
"# TYPE ccam_sessions gauge\n" +
'ccam_sessions{status="active"} 3\n',
"# HELP agenthub_up 1 when the dashboard API is serving this scrape.\n" +
"# TYPE agenthub_up gauge\n" +
"agenthub_up 1\n" +
"# HELP agenthub_sessions Number of sessions by lifecycle status.\n" +
"# TYPE agenthub_sessions gauge\n" +
'agenthub_sessions{status="active"} 3\n',
},
},
},