diff --git a/.claude/rules/file-headers.md b/.claude/rules/file-headers.md index 1c396150..8db336f6 100644 --- a/.claude/rules/file-headers.md +++ b/.claude/rules/file-headers.md @@ -3,4 +3,4 @@ - Every applicable source file (`.js/.ts/.tsx/.cjs/.mjs/.py/.sh/.css` — excluding `node_modules/`, `dist/`, `data/`, minified/vendored, snapshots) MUST start with the header comment: a truthful file overview plus the exact line `@author Nguyễn Ngọc Trí Vĩ `. - Creating a new applicable file → write the header before any code (after the shebang in scripts). - Editing a file that lacks the header → add it in the same change; if the edit changes the file's purpose, update the overview. -- Formats and the repo-wide audit script live in `.claude/skills/file-headers/` (`bash .claude/skills/file-headers/scripts/check-headers.sh` must exit 0). +- Formats and the repo-wide audit script live in `skills/file-headers/` (`bash skills/file-headers/scripts/check-headers.sh` must exit 0). diff --git a/AGENTS.md b/AGENTS.md index 812397ca..e722ab34 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -8,8 +8,8 @@ - Correctness over cleverness. - Small, scoped, reversible diffs. - Preserve existing behavior unless change is requested. -- Update docs whenever workflow or architecture changes — follow `.claude/skills/update-project-docs/` automatically at the end of every change-set (README + VN/CN/KO mirrors, ARCHITECTURE, wiki + i18n + cache bump, server/client READMEs, docs/*). -- Every applicable source file you create or update (`.js/.ts/.tsx/.cjs/.mjs/.py/.sh/.css`) must start with the authorship header: a truthful file overview plus the exact line `@author Nguyễn Ngọc Trí Vĩ `. See `.claude/skills/file-headers/` and `.claude/rules/file-headers.md`; verify with `bash .claude/skills/file-headers/scripts/check-headers.sh`. +- Update docs whenever workflow or architecture changes — follow `skills/update-project-docs/` automatically at the end of every change-set (README + VN/CN/KO mirrors, ARCHITECTURE, wiki + i18n + cache bump, server/client READMEs, docs/*). +- Every applicable source file you create or update (`.js/.ts/.tsx/.cjs/.mjs/.py/.sh/.css`) must start with the authorship header: a truthful file overview plus the exact line `@author Nguyễn Ngọc Trí Vĩ `. See `skills/file-headers/` and `.claude/rules/file-headers.md`; verify with `bash skills/file-headers/scripts/check-headers.sh`. ## Where to work - `server/` for API/routes/data processing. diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index f6ad3470..14b050fc 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -1541,7 +1541,7 @@ graph TD CLAUDE --> C_MEM["CLAUDE.md"] CLAUDE --> C_RULES[".claude/rules/*"] - CLAUDE --> C_SKILLS[".claude/skills/*"] + CLAUDE --> C_SKILLS["skills/*
ccam plugin skills"] CLAUDE --> C_PLUGINS["plugins/
10 plugins, 53 skills"] CODEX --> X_MEM["AGENTS.md"] @@ -1556,7 +1556,7 @@ graph TD - `CLAUDE.md` defines always-on project working agreements. - `.claude/rules/` adds path-scoped guidance by file area. -- `.claude/skills/` provides reusable workflows: +- `skills/` provides reusable workflows, shipped as the `ccam` plugin's own skills (`/ccam:`, bare `/` alias): - onboarding - feature shipping - MCP operations diff --git a/CLAUDE.md b/CLAUDE.md index c1a92a2c..56f61104 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -10,6 +10,7 @@ - `client/`: React + Vite UI. - `scripts/`: hook installer/handler, import, seed, cleanup utilities. (Update detection lives server-side in `server/lib/update-check.js`. `POST /api/updates/apply` (only when the checkout is fast-forwardable) pulls, rebuilds, and self-restarts via `server/lib/self-restart.js` + the detached `scripts/restart-helper.js`; otherwise users run the printed manual command, surfaced in the UI and by `ccam update-check`.) - `mcp/`: local MCP server exposing dashboard operations as tools. **`mcp/build/` is committed on purpose** — plugin MCP servers start before any bootstrap could build them; `scripts/check-mcp-build.js` (content hash in `mcp/build/.srchash`, run by pre-commit and `/ccam-doctor`) keeps it honest. Rebuild with `npm run mcp:build`, never hand-edit `mcp/build/`. +- `skills/`: this repo's skills. Because the repo root **is** the `ccam` plugin root, this is also the plugin's skills directory — every skill here ships to anyone who installs the plugin, addressed as `/ccam:` (bare `/` works as an alias). Put a skill here only if it should reach plugin users; `ccam skills install` remains a fallback that copies `ship-feature-lane` into `~/.claude/skills/` for plain checkouts. Agents deliberately do NOT live at the root: `.claude/agents/` stays repo-local and lane agents are installed per-lane by `ccam lanes agents install`, because a plugin agent would be renamed `ccam:qc-local` and break `subagent_type: qc-local`. - `.claude-plugin/`: the marketplace plus the root `ccam` plugin manifest (`"source": "./"` — the whole repo is the plugin). Its hooks are inline in `plugin.json`; its commands live in `plugins/ccam/commands/`, which is NOT a subdirectory plugin. `scripts/plugin-bootstrap.js` runs from `SessionStart` and owns the writable runtime under `~/.claude/agent-dashboard/runtime/` — it never writes into the plugin cache, which Claude Code replaces on every update. See `docs/PLUGINS.md`. ## Lanes @@ -41,7 +42,7 @@ See `docs/LANES.md` for full guide: stage reporting, custom templates, lane acti - Prefer minimal, reversible diffs. - Never silently weaken safety controls around destructive actions. - Keep docs updated when behavior, commands, file locations, or workflows change — apply the `update-project-docs` skill automatically at the end of every change-set that alters behavior, config, interfaces, events, schema, CLI commands, or features (do not wait to be asked). -- Every applicable source file you create or update (`.js/.ts/.tsx/.cjs/.mjs/.py/.sh/.css`) must start with the copyright/authorship header — file overview + the exact line `@author Nguyễn Ngọc Trí Vĩ `. Formats and audit script: `.claude/skills/file-headers/` (verify with `bash .claude/skills/file-headers/scripts/check-headers.sh`). This binds every coding agent (Claude Code, Codex, or others). +- Every applicable source file you create or update (`.js/.ts/.tsx/.cjs/.mjs/.py/.sh/.css`) must start with the copyright/authorship header — file overview + the exact line `@author Nguyễn Ngọc Trí Vĩ `. Formats and audit script: `skills/file-headers/` (verify with `bash skills/file-headers/scripts/check-headers.sh`). This binds every coding agent (Claude Code, Codex, or others). ## Commands you should know - Setup: `npm run setup` @@ -71,6 +72,6 @@ See `docs/LANES.md` for full guide: stage reporting, custom templates, lane acti - Explore first, then implement. - For larger tasks, propose/check a short plan before broad edits. - Use file-specific rules in `.claude/rules/` when working in scoped areas. -- Use project skills from `.claude/skills/` for repeatable workflows. +- Use project skills from `skills/` for repeatable workflows (they ship with the `ccam` plugin: `/ccam:`, or the bare `/` alias). - Use `.claude/agents/` subagents for focused review or investigation passes. - **Declare lane stage even in plain chat, not just inside skills.** `ccam stage` (see `docs/LANES.md` § Reporting a stage) is a reporting command, not a skill-only ritual — any Claude session working inside an adopted lane's cwd should call it on real stage transitions (starting to plan, starting to implement, running tests, opening the PR, etc.), whether or not a skill is driving. Tool-event detection (`server/lib/stage-detect.js`) only ever paints the amber "detected" badge, never the blue `current` ring — a lane worked entirely through plain chat with no `ccam stage` calls will show a stale `current` stage no matter how much real work happens. Skip it only when `ccam stage` reports no lane owns the cwd (not adopted). diff --git a/INSTALL.md b/INSTALL.md index aa46560c..91e5617b 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -237,7 +237,7 @@ This repository includes extension packs for both Claude Code and Codex. - Claude Code loads project extensions from: - `CLAUDE.md` - `.claude/rules/` - - `.claude/skills/` + - `skills/` (shipped as the `ccam` plugin's skills) - `.claude/agents/` - Codex project packs live under `.codex/`: - `AGENTS.md` diff --git a/SETUP.md b/SETUP.md index 1d6dd7f8..2951c9a8 100644 --- a/SETUP.md +++ b/SETUP.md @@ -168,7 +168,7 @@ This repository ships extension files for both agent ecosystems: - Claude Code: - `CLAUDE.md` - `.claude/rules/*` - - `.claude/skills/*` + - `skills/*` (the `ccam` plugin's own skills) - `.claude/agents/*` - Codex: - `AGENTS.md` diff --git a/bin/ccam.js b/bin/ccam.js index 1278ab7a..189647c1 100755 --- a/bin/ccam.js +++ b/bin/ccam.js @@ -1522,7 +1522,7 @@ async function cmdLanesAdd(args) { } /** - * `ccam skills install` — copy this checkout's `.claude/skills/ship-feature-lane/` + * `ccam skills install` — copy this checkout's `skills/ship-feature-lane/` * into `~/.claude/skills/ship-feature-lane/`, so `/ship-feature-lane` is * discoverable from a session running inside any lane's own working * directory, not just inside this repo. Pure filesystem action; does not @@ -2560,7 +2560,7 @@ const COMMAND_GROUPS = [ [ "skills install", "", - "Install .claude/skills/ship-feature-lane/ into ~/.claude/skills/ so /ship-feature-lane works from any lane", + "Install skills/ship-feature-lane/ into ~/.claude/skills/ so /ship-feature-lane works from any lane", ], [ "lock status|acquire|release", diff --git a/client/src/App.tsx b/client/src/App.tsx index 86f15abe..fc4012d5 100644 --- a/client/src/App.tsx +++ b/client/src/App.tsx @@ -57,7 +57,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ import { BrowserRouter, Routes, Route, Navigate } from "react-router-dom"; diff --git a/client/src/components/AgentCard.tsx b/client/src/components/AgentCard.tsx index 089204ce..04c8834a 100644 --- a/client/src/components/AgentCard.tsx +++ b/client/src/components/AgentCard.tsx @@ -36,7 +36,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/AlertsNotifications.tsx b/client/src/components/AlertsNotifications.tsx index d90818fb..9e123fff 100644 --- a/client/src/components/AlertsNotifications.tsx +++ b/client/src/components/AlertsNotifications.tsx @@ -50,7 +50,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/Checkbox.tsx b/client/src/components/Checkbox.tsx index efeb0909..8ff5b260 100644 --- a/client/src/components/Checkbox.tsx +++ b/client/src/components/Checkbox.tsx @@ -43,7 +43,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/DateTimePicker.tsx b/client/src/components/DateTimePicker.tsx index 3e9220a6..f41f4fcf 100644 --- a/client/src/components/DateTimePicker.tsx +++ b/client/src/components/DateTimePicker.tsx @@ -31,7 +31,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/EmptyState.tsx b/client/src/components/EmptyState.tsx index 8f99f849..c302fff6 100644 --- a/client/src/components/EmptyState.tsx +++ b/client/src/components/EmptyState.tsx @@ -47,7 +47,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/EventDetail.tsx b/client/src/components/EventDetail.tsx index 8951fc1b..9cf272fe 100644 --- a/client/src/components/EventDetail.tsx +++ b/client/src/components/EventDetail.tsx @@ -43,7 +43,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/EventFilters.tsx b/client/src/components/EventFilters.tsx index f3133205..2f086a8f 100644 --- a/client/src/components/EventFilters.tsx +++ b/client/src/components/EventFilters.tsx @@ -45,7 +45,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/EventFiltersInfo.tsx b/client/src/components/EventFiltersInfo.tsx index 4a673a92..665536b2 100644 --- a/client/src/components/EventFiltersInfo.tsx +++ b/client/src/components/EventFiltersInfo.tsx @@ -42,7 +42,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/FieldHelp.tsx b/client/src/components/FieldHelp.tsx index 6f12ccf9..bc36d27d 100644 --- a/client/src/components/FieldHelp.tsx +++ b/client/src/components/FieldHelp.tsx @@ -41,7 +41,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/ImportHistory.tsx b/client/src/components/ImportHistory.tsx index 7d1d76f0..7e0c615f 100644 --- a/client/src/components/ImportHistory.tsx +++ b/client/src/components/ImportHistory.tsx @@ -45,7 +45,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/Layout.tsx b/client/src/components/Layout.tsx index 28424db5..d370b59a 100644 --- a/client/src/components/Layout.tsx +++ b/client/src/components/Layout.tsx @@ -51,7 +51,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/RemoteSources.tsx b/client/src/components/RemoteSources.tsx index 3623586d..20aaf74c 100644 --- a/client/src/components/RemoteSources.tsx +++ b/client/src/components/RemoteSources.tsx @@ -46,7 +46,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/Sagi/Sagi.tsx b/client/src/components/Sagi/Sagi.tsx index f446862b..ab9b0424 100644 --- a/client/src/components/Sagi/Sagi.tsx +++ b/client/src/components/Sagi/Sagi.tsx @@ -49,7 +49,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/Sagi/SagiAvatar.tsx b/client/src/components/Sagi/SagiAvatar.tsx index d83c133f..45ab4b90 100644 --- a/client/src/components/Sagi/SagiAvatar.tsx +++ b/client/src/components/Sagi/SagiAvatar.tsx @@ -33,7 +33,7 @@ * * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ import { useEffect, useRef, useState } from "react"; diff --git a/client/src/components/Sagi/SagiPanel.tsx b/client/src/components/Sagi/SagiPanel.tsx index 4f1e7098..4648715b 100644 --- a/client/src/components/Sagi/SagiPanel.tsx +++ b/client/src/components/Sagi/SagiPanel.tsx @@ -37,7 +37,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/Sagi/SpeechBubble.tsx b/client/src/components/Sagi/SpeechBubble.tsx index 14a948cf..939e5c81 100644 --- a/client/src/components/Sagi/SpeechBubble.tsx +++ b/client/src/components/Sagi/SpeechBubble.tsx @@ -40,7 +40,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/Sagi/brain.ts b/client/src/components/Sagi/brain.ts index 626741f8..2f3346f7 100644 --- a/client/src/components/Sagi/brain.ts +++ b/client/src/components/Sagi/brain.ts @@ -52,7 +52,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/Sagi/intents.ts b/client/src/components/Sagi/intents.ts index a047b96e..76f39769 100644 --- a/client/src/components/Sagi/intents.ts +++ b/client/src/components/Sagi/intents.ts @@ -38,7 +38,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/Sagi/prefs.ts b/client/src/components/Sagi/prefs.ts index b834bba4..984ffda1 100644 --- a/client/src/components/Sagi/prefs.ts +++ b/client/src/components/Sagi/prefs.ts @@ -34,7 +34,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/Sagi/quips.ts b/client/src/components/Sagi/quips.ts index 7b81f529..267fab56 100644 --- a/client/src/components/Sagi/quips.ts +++ b/client/src/components/Sagi/quips.ts @@ -38,7 +38,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/Sagi/useSagiBrain.ts b/client/src/components/Sagi/useSagiBrain.ts index a4c1a144..12a57c70 100644 --- a/client/src/components/Sagi/useSagiBrain.ts +++ b/client/src/components/Sagi/useSagiBrain.ts @@ -43,7 +43,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/Sagi/useSagiPosition.ts b/client/src/components/Sagi/useSagiPosition.ts index fdb6c3de..1cfdef9c 100644 --- a/client/src/components/Sagi/useSagiPosition.ts +++ b/client/src/components/Sagi/useSagiPosition.ts @@ -42,7 +42,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/Select.tsx b/client/src/components/Select.tsx index cd1ffa0b..4d636bf3 100644 --- a/client/src/components/Select.tsx +++ b/client/src/components/Select.tsx @@ -42,7 +42,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/SessionCard.tsx b/client/src/components/SessionCard.tsx index 2eb07b31..6d3c7701 100644 --- a/client/src/components/SessionCard.tsx +++ b/client/src/components/SessionCard.tsx @@ -39,7 +39,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/SessionOverview.tsx b/client/src/components/SessionOverview.tsx index 03fac9e5..6f2c20b0 100644 --- a/client/src/components/SessionOverview.tsx +++ b/client/src/components/SessionOverview.tsx @@ -42,7 +42,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/Sidebar.tsx b/client/src/components/Sidebar.tsx index a7c53a38..9fe487fa 100644 --- a/client/src/components/Sidebar.tsx +++ b/client/src/components/Sidebar.tsx @@ -36,7 +36,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/Skeleton.tsx b/client/src/components/Skeleton.tsx index 347d781e..0f5e951d 100644 --- a/client/src/components/Skeleton.tsx +++ b/client/src/components/Skeleton.tsx @@ -39,7 +39,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/SplashScreen.tsx b/client/src/components/SplashScreen.tsx index f0774d1a..31ce97ff 100644 --- a/client/src/components/SplashScreen.tsx +++ b/client/src/components/SplashScreen.tsx @@ -38,7 +38,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/StatCard.tsx b/client/src/components/StatCard.tsx index b1ebc07d..fa36e006 100644 --- a/client/src/components/StatCard.tsx +++ b/client/src/components/StatCard.tsx @@ -43,7 +43,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/StatusBadge.tsx b/client/src/components/StatusBadge.tsx index e37f576e..97f8da11 100644 --- a/client/src/components/StatusBadge.tsx +++ b/client/src/components/StatusBadge.tsx @@ -37,7 +37,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/Tip.tsx b/client/src/components/Tip.tsx index 191525c4..1ae80727 100644 --- a/client/src/components/Tip.tsx +++ b/client/src/components/Tip.tsx @@ -43,7 +43,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/UpdateNotifier.tsx b/client/src/components/UpdateNotifier.tsx index 0ecb2682..0dc540e2 100644 --- a/client/src/components/UpdateNotifier.tsx +++ b/client/src/components/UpdateNotifier.tsx @@ -53,7 +53,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/WebhookSettings.tsx b/client/src/components/WebhookSettings.tsx index 0d177b5c..954ecd63 100644 --- a/client/src/components/WebhookSettings.tsx +++ b/client/src/components/WebhookSettings.tsx @@ -47,7 +47,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/conversation/CodeBlock.tsx b/client/src/components/conversation/CodeBlock.tsx index 15a8be63..27f97713 100644 --- a/client/src/components/conversation/CodeBlock.tsx +++ b/client/src/components/conversation/CodeBlock.tsx @@ -36,7 +36,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/conversation/ConversationView.tsx b/client/src/components/conversation/ConversationView.tsx index d0b0570a..75b5092b 100644 --- a/client/src/components/conversation/ConversationView.tsx +++ b/client/src/components/conversation/ConversationView.tsx @@ -42,7 +42,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/conversation/MarkdownContent.tsx b/client/src/components/conversation/MarkdownContent.tsx index e0dd8dde..faa9a7cb 100644 --- a/client/src/components/conversation/MarkdownContent.tsx +++ b/client/src/components/conversation/MarkdownContent.tsx @@ -43,7 +43,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/conversation/MessageList.tsx b/client/src/components/conversation/MessageList.tsx index d9ec3520..cdc6c533 100644 --- a/client/src/components/conversation/MessageList.tsx +++ b/client/src/components/conversation/MessageList.tsx @@ -42,7 +42,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/conversation/ToolCallBlock.tsx b/client/src/components/conversation/ToolCallBlock.tsx index 9fdcb7d9..63269583 100644 --- a/client/src/components/conversation/ToolCallBlock.tsx +++ b/client/src/components/conversation/ToolCallBlock.tsx @@ -40,7 +40,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/conversation/toolStyle.ts b/client/src/components/conversation/toolStyle.ts index 253cd836..f7e63099 100644 --- a/client/src/components/conversation/toolStyle.ts +++ b/client/src/components/conversation/toolStyle.ts @@ -34,7 +34,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/conversation/tuiSegments.ts b/client/src/components/conversation/tuiSegments.ts index 72c2cff7..1c633a4a 100644 --- a/client/src/components/conversation/tuiSegments.ts +++ b/client/src/components/conversation/tuiSegments.ts @@ -38,7 +38,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/event-views/primitives.tsx b/client/src/components/event-views/primitives.tsx index 9be363d8..ecc718b5 100644 --- a/client/src/components/event-views/primitives.tsx +++ b/client/src/components/event-views/primitives.tsx @@ -44,7 +44,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/event-views/tool-views.tsx b/client/src/components/event-views/tool-views.tsx index b8fbf600..653f54c9 100644 --- a/client/src/components/event-views/tool-views.tsx +++ b/client/src/components/event-views/tool-views.tsx @@ -51,7 +51,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/webhookGuides.ts b/client/src/components/webhookGuides.ts index 74d2b6eb..ad4b5ccc 100644 --- a/client/src/components/webhookGuides.ts +++ b/client/src/components/webhookGuides.ts @@ -37,7 +37,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/workflows/AgentCollaborationNetwork.tsx b/client/src/components/workflows/AgentCollaborationNetwork.tsx index e6bab798..d24dc92a 100644 --- a/client/src/components/workflows/AgentCollaborationNetwork.tsx +++ b/client/src/components/workflows/AgentCollaborationNetwork.tsx @@ -32,7 +32,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/workflows/CompactionImpact.tsx b/client/src/components/workflows/CompactionImpact.tsx index 09bcf17f..a2d0af1e 100644 --- a/client/src/components/workflows/CompactionImpact.tsx +++ b/client/src/components/workflows/CompactionImpact.tsx @@ -40,7 +40,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/workflows/ConcurrencyTimeline.tsx b/client/src/components/workflows/ConcurrencyTimeline.tsx index 9ce26524..25863942 100644 --- a/client/src/components/workflows/ConcurrencyTimeline.tsx +++ b/client/src/components/workflows/ConcurrencyTimeline.tsx @@ -36,7 +36,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/workflows/ErrorPropagationMap.tsx b/client/src/components/workflows/ErrorPropagationMap.tsx index a271da42..9f713d84 100644 --- a/client/src/components/workflows/ErrorPropagationMap.tsx +++ b/client/src/components/workflows/ErrorPropagationMap.tsx @@ -35,7 +35,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/workflows/ModelDelegationFlow.tsx b/client/src/components/workflows/ModelDelegationFlow.tsx index a93729a9..ba128573 100644 --- a/client/src/components/workflows/ModelDelegationFlow.tsx +++ b/client/src/components/workflows/ModelDelegationFlow.tsx @@ -36,7 +36,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/workflows/OrchestrationDAG.tsx b/client/src/components/workflows/OrchestrationDAG.tsx index fb106f6e..ba6bf835 100644 --- a/client/src/components/workflows/OrchestrationDAG.tsx +++ b/client/src/components/workflows/OrchestrationDAG.tsx @@ -34,7 +34,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/workflows/SessionComplexityScatter.tsx b/client/src/components/workflows/SessionComplexityScatter.tsx index facc1d81..f2dc3245 100644 --- a/client/src/components/workflows/SessionComplexityScatter.tsx +++ b/client/src/components/workflows/SessionComplexityScatter.tsx @@ -36,7 +36,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/workflows/SessionDrillIn.tsx b/client/src/components/workflows/SessionDrillIn.tsx index 66d2ed87..7abd088d 100644 --- a/client/src/components/workflows/SessionDrillIn.tsx +++ b/client/src/components/workflows/SessionDrillIn.tsx @@ -37,7 +37,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/workflows/SubagentEffectiveness.tsx b/client/src/components/workflows/SubagentEffectiveness.tsx index f49a1f1d..db558535 100644 --- a/client/src/components/workflows/SubagentEffectiveness.tsx +++ b/client/src/components/workflows/SubagentEffectiveness.tsx @@ -35,7 +35,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/workflows/ToolExecutionFlow.tsx b/client/src/components/workflows/ToolExecutionFlow.tsx index df8e2b34..b79c8aac 100644 --- a/client/src/components/workflows/ToolExecutionFlow.tsx +++ b/client/src/components/workflows/ToolExecutionFlow.tsx @@ -34,7 +34,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/workflows/WorkflowPatterns.tsx b/client/src/components/workflows/WorkflowPatterns.tsx index 58856b63..a7fb059f 100644 --- a/client/src/components/workflows/WorkflowPatterns.tsx +++ b/client/src/components/workflows/WorkflowPatterns.tsx @@ -34,7 +34,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/workflows/WorkflowRunsPanel.tsx b/client/src/components/workflows/WorkflowRunsPanel.tsx index 92024b68..059f6547 100644 --- a/client/src/components/workflows/WorkflowRunsPanel.tsx +++ b/client/src/components/workflows/WorkflowRunsPanel.tsx @@ -49,7 +49,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/components/workflows/WorkflowStats.tsx b/client/src/components/workflows/WorkflowStats.tsx index b2e96651..bc55a72f 100644 --- a/client/src/components/workflows/WorkflowStats.tsx +++ b/client/src/components/workflows/WorkflowStats.tsx @@ -35,7 +35,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/hooks/useNotifications.ts b/client/src/hooks/useNotifications.ts index 00cecc34..8d719e49 100644 --- a/client/src/hooks/useNotifications.ts +++ b/client/src/hooks/useNotifications.ts @@ -37,7 +37,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/hooks/useWebSocket.ts b/client/src/hooks/useWebSocket.ts index aebd2397..6c8bee6c 100644 --- a/client/src/hooks/useWebSocket.ts +++ b/client/src/hooks/useWebSocket.ts @@ -36,7 +36,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/i18n/index.ts b/client/src/i18n/index.ts index eacd09e7..abdde9c2 100644 --- a/client/src/i18n/index.ts +++ b/client/src/i18n/index.ts @@ -53,7 +53,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ import i18n from "i18next"; diff --git a/client/src/lib/api.ts b/client/src/lib/api.ts index 075dae8c..70c7dc2a 100644 --- a/client/src/lib/api.ts +++ b/client/src/lib/api.ts @@ -133,7 +133,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/lib/dataScope.ts b/client/src/lib/dataScope.ts index c10a60bb..97af1052 100644 --- a/client/src/lib/dataScope.ts +++ b/client/src/lib/dataScope.ts @@ -53,7 +53,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/lib/event-grouping.ts b/client/src/lib/event-grouping.ts index c0f1ab3e..943cd67b 100644 --- a/client/src/lib/event-grouping.ts +++ b/client/src/lib/event-grouping.ts @@ -73,7 +73,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/lib/event-summary.ts b/client/src/lib/event-summary.ts index 56502014..bdfe9263 100644 --- a/client/src/lib/event-summary.ts +++ b/client/src/lib/event-summary.ts @@ -62,7 +62,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/lib/eventBus.ts b/client/src/lib/eventBus.ts index 2ad64820..d4badd61 100644 --- a/client/src/lib/eventBus.ts +++ b/client/src/lib/eventBus.ts @@ -58,7 +58,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/lib/format.ts b/client/src/lib/format.ts index e5c0b76a..a6270f9c 100644 --- a/client/src/lib/format.ts +++ b/client/src/lib/format.ts @@ -69,7 +69,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/lib/highlight.ts b/client/src/lib/highlight.ts index 8b197d8d..7b8c2930 100644 --- a/client/src/lib/highlight.ts +++ b/client/src/lib/highlight.ts @@ -76,7 +76,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/lib/push.ts b/client/src/lib/push.ts index e97c16eb..ee3c64b8 100644 --- a/client/src/lib/push.ts +++ b/client/src/lib/push.ts @@ -52,7 +52,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/lib/types.ts b/client/src/lib/types.ts index 3aa38499..18d6b7a2 100644 --- a/client/src/lib/types.ts +++ b/client/src/lib/types.ts @@ -71,7 +71,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/main.tsx b/client/src/main.tsx index b189bd94..38765da0 100644 --- a/client/src/main.tsx +++ b/client/src/main.tsx @@ -44,7 +44,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ import { StrictMode } from "react"; diff --git a/client/src/pages/ActivityFeed.tsx b/client/src/pages/ActivityFeed.tsx index a224b0cf..37fcecbb 100644 --- a/client/src/pages/ActivityFeed.tsx +++ b/client/src/pages/ActivityFeed.tsx @@ -49,7 +49,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/pages/Analytics.tsx b/client/src/pages/Analytics.tsx index 2e0cb989..427456c1 100644 --- a/client/src/pages/Analytics.tsx +++ b/client/src/pages/Analytics.tsx @@ -40,7 +40,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/pages/CcConfig.tsx b/client/src/pages/CcConfig.tsx index 6596a164..cf21f4b5 100644 --- a/client/src/pages/CcConfig.tsx +++ b/client/src/pages/CcConfig.tsx @@ -42,7 +42,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/pages/Dashboard.tsx b/client/src/pages/Dashboard.tsx index e7e21467..94bfefe9 100644 --- a/client/src/pages/Dashboard.tsx +++ b/client/src/pages/Dashboard.tsx @@ -43,7 +43,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/pages/KanbanBoard.tsx b/client/src/pages/KanbanBoard.tsx index 8d47d3c0..8f13b0eb 100644 --- a/client/src/pages/KanbanBoard.tsx +++ b/client/src/pages/KanbanBoard.tsx @@ -44,7 +44,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/pages/NotFound.tsx b/client/src/pages/NotFound.tsx index b61553d8..b6be96b0 100644 --- a/client/src/pages/NotFound.tsx +++ b/client/src/pages/NotFound.tsx @@ -37,7 +37,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/pages/SessionDetail.tsx b/client/src/pages/SessionDetail.tsx index 500710fa..26327f60 100644 --- a/client/src/pages/SessionDetail.tsx +++ b/client/src/pages/SessionDetail.tsx @@ -45,7 +45,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/pages/Sessions.tsx b/client/src/pages/Sessions.tsx index bf882422..00abafc2 100644 --- a/client/src/pages/Sessions.tsx +++ b/client/src/pages/Sessions.tsx @@ -41,7 +41,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/pages/Settings.tsx b/client/src/pages/Settings.tsx index 4d5dc412..c976a295 100644 --- a/client/src/pages/Settings.tsx +++ b/client/src/pages/Settings.tsx @@ -44,7 +44,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/client/src/pages/Workflows.tsx b/client/src/pages/Workflows.tsx index bdb7593a..07f4b6ef 100644 --- a/client/src/pages/Workflows.tsx +++ b/client/src/pages/Workflows.tsx @@ -45,7 +45,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/docs/LANES.md b/docs/LANES.md index a7b888d8..7636f8b1 100644 --- a/docs/LANES.md +++ b/docs/LANES.md @@ -1074,15 +1074,19 @@ The **ship-feature-lane** skill is the ported Shipyard driving skill for autonom **Every stage whose job is to judge the work runs in a fresh-context subagent, never in the driving session.** The plan debate (Stage 0b), unit tests (Stage 1b), the e2e run and its triage (Stage 3), code review (Stage 4), browser QC (Stage 6), the senior gate (Stage 7), and a re-triage of CI that stayed red after a fix (Stage 10) are each dispatched with the Agent tool to a subagent that starts with an empty context and receives only artifacts it can verify itself — working directory, lane spec, diff range, commands, and the other agents' reports verbatim, never the driving session's paraphrase of why a finding was fine. The stages the driving session keeps are the ones that *do* rather than judge: intake, implementation, the mechanical gates, publishing, the CI/PR watch, and applying every fix the judges ask for. `subagent_type: fork` is explicitly forbidden for these: a fork inherits the implementing session's context, so it inherits the belief that the code is already correct. The driving session implements and applies fixes; it never grades its own work. Stages 1b/3/4 use the generic `general-purpose`/`Code Reviewer` types (nothing to install); Stages 6/7 use the lane-installed `qc-local`/`senior-gate-reviewer` agents. -### Installing the skill (once per machine) +### Getting the skill (nothing to do, if you run the plugin) -`/ship-feature-lane` only works once Claude Code can discover the skill from *any* lane's working directory — Claude Code auto-discovers `.claude/skills/` only from the repo that owns it, and this skill lives in `ccam-lanes`' own checkout, not in any lane's repo. Install it globally first: +The skill lives in `skills/ship-feature-lane/`, and the repo root **is** the `ccam` plugin root (`"source": "./"`), so `skills/` is the plugin's own skills directory. Anyone with the `ccam` plugin installed already has it in every session, from any lane's working directory, as **`/ccam:ship-feature-lane`** — with the bare `/ship-feature-lane` working as an alias unless another skill or command claims that name. + +Only a plain checkout without the plugin needs the fallback: ```bash ccam skills install ``` -Copies `.claude/skills/ship-feature-lane/` into `~/.claude/skills/ship-feature-lane/` (overwrites on reinstall — run it again after pulling an update to the skill). One-time per machine, same as `ccam lanes agents install` is one-time per lane. +Copies `skills/ship-feature-lane/` into `~/.claude/skills/ship-feature-lane/` (overwrites on reinstall — run it again after pulling an update to the skill), which restores the bare `/ship-feature-lane` name. One-time per machine, same as `ccam lanes agents install` is one-time per lane. + +**Agents are the deliberate exception.** `qc-local` and `senior-gate-reviewer` are *not* shipped as plugin agents: a plugin agent is addressed as `ccam:qc-local`, and the skill dispatches them by the bare `subagent_type: qc-local`. `ccam lanes agents install` writes them into the lane's own `.claude/agents/`, which is also the highest-priority agent source — so the lane's copy wins over anything global. ### Invoking the skill @@ -1106,7 +1110,7 @@ The skill frontloads all clarifying questions once, then runs unattended. The on **Stages 6 and 7 are now unblocked** — run `ccam lanes agents install` once per lane (see "Installing the QC/gate agents" below) before a lane's first run through Stage 6. A lane that reaches Stage 6/7 without having installed the agents will fail to find the `qc-local`/`senior-gate-reviewer` subagent type; install and re-run. -See [the skill text](../.claude/skills/ship-feature-lane/SKILL.md) for the full pipeline definition. +See [the skill text](../skills/ship-feature-lane/SKILL.md) for the full pipeline definition. ### QC boot flag and profile integration diff --git a/docs/PLUGINS.md b/docs/PLUGINS.md index b89605fb..65ae10d7 100644 --- a/docs/PLUGINS.md +++ b/docs/PLUGINS.md @@ -88,6 +88,21 @@ checkout unnecessary. | The MCP tools | `plugins/ccam/.mcp.json`, pointing at the committed `mcp/build/index.js` | | The dashboard UI (`/run` and every other client route) | built into the runtime dir by the bootstrap, so it works the moment `claude` starts | | `/ccam-doctor`, `/ccam-update`, `/ccam-open` | `plugins/ccam/commands/` | +| The skills (`ship-feature-lane`, `ship-feature`, `repo-onboarding`, `debug-live-issue`, `mcp-operations`, `update-project-docs`, `file-headers`) | `skills/` at the repo root — which IS the plugin root, so they are auto-discovered as plugin skills | + +Plugin skills are namespaced: they are invoked as `/ccam:`, with the bare +`/` working as an alias unless another skill or command claims that name. +This is why `skills/` sits at the repo root instead of `.claude/skills/` — the +latter only loads for a session whose cwd is inside this checkout, which is +useless for a lane working in a different repo. `ccam skills install` survives +as the fallback for a plain checkout without the plugin. + +**Agents are deliberately not shipped this way.** `.claude/agents/` stays +repo-local, and the lane agents (`qc-local`, `senior-gate-reviewer`) are +installed per-lane by `ccam lanes agents install`. A plugin agent would be +addressed as `ccam:qc-local`, breaking the `subagent_type: qc-local` references +in the pipeline skill; the per-lane copy also lands in the highest-priority +agent source. Because the plugin ships the hooks itself, `npm run install-hooks` is not needed for plugin users — and must not be run alongside it. Events carry no id, so two diff --git a/mcp/build/.srchash b/mcp/build/.srchash index b109b6ef..2d82f633 100644 --- a/mcp/build/.srchash +++ b/mcp/build/.srchash @@ -1 +1 @@ -6df6bfd38005ef64f955d19b06f5723c581752c991bf6bcb1ce42b1cc3fe135e +7ce32b0af94537022c4a7ccc9132f11e9fdd376a76cbbfe2eed77dc78585b67d diff --git a/mcp/src/clients/dashboard-api-client.ts b/mcp/src/clients/dashboard-api-client.ts index 3189c77d..eea396fc 100644 --- a/mcp/src/clients/dashboard-api-client.ts +++ b/mcp/src/clients/dashboard-api-client.ts @@ -36,7 +36,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/mcp/src/config/app-config.ts b/mcp/src/config/app-config.ts index 2d5e3939..0de47b17 100644 --- a/mcp/src/config/app-config.ts +++ b/mcp/src/config/app-config.ts @@ -34,7 +34,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/mcp/src/core/logger.ts b/mcp/src/core/logger.ts index c7552d9b..0ea552f6 100644 --- a/mcp/src/core/logger.ts +++ b/mcp/src/core/logger.ts @@ -34,7 +34,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/mcp/src/core/tool-registry.ts b/mcp/src/core/tool-registry.ts index d2823d9c..66d1acc5 100644 --- a/mcp/src/core/tool-registry.ts +++ b/mcp/src/core/tool-registry.ts @@ -40,7 +40,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/mcp/src/core/tool-result.ts b/mcp/src/core/tool-result.ts index 8a273326..ddb4d584 100644 --- a/mcp/src/core/tool-result.ts +++ b/mcp/src/core/tool-result.ts @@ -35,7 +35,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/mcp/src/index.ts b/mcp/src/index.ts index 25ca08eb..ac05d72a 100644 --- a/mcp/src/index.ts +++ b/mcp/src/index.ts @@ -38,7 +38,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; diff --git a/mcp/src/policy/tool-guards.ts b/mcp/src/policy/tool-guards.ts index f296a926..1285ad3f 100644 --- a/mcp/src/policy/tool-guards.ts +++ b/mcp/src/policy/tool-guards.ts @@ -35,7 +35,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/mcp/src/server.ts b/mcp/src/server.ts index 98c87085..dd4b284b 100644 --- a/mcp/src/server.ts +++ b/mcp/src/server.ts @@ -37,7 +37,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/mcp/src/tools/domains/agent-tools.ts b/mcp/src/tools/domains/agent-tools.ts index 2952dd26..d05a21b6 100644 --- a/mcp/src/tools/domains/agent-tools.ts +++ b/mcp/src/tools/domains/agent-tools.ts @@ -37,7 +37,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/mcp/src/tools/domains/event-tools.ts b/mcp/src/tools/domains/event-tools.ts index 2eac2ab8..abb7d1ee 100644 --- a/mcp/src/tools/domains/event-tools.ts +++ b/mcp/src/tools/domains/event-tools.ts @@ -37,7 +37,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/mcp/src/tools/domains/maintenance-tools.ts b/mcp/src/tools/domains/maintenance-tools.ts index 80cd8751..24f0005b 100644 --- a/mcp/src/tools/domains/maintenance-tools.ts +++ b/mcp/src/tools/domains/maintenance-tools.ts @@ -36,7 +36,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/mcp/src/tools/domains/observability-tools.ts b/mcp/src/tools/domains/observability-tools.ts index f3fc9c08..26922d74 100644 --- a/mcp/src/tools/domains/observability-tools.ts +++ b/mcp/src/tools/domains/observability-tools.ts @@ -35,7 +35,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/mcp/src/tools/domains/pricing-tools.ts b/mcp/src/tools/domains/pricing-tools.ts index cef59388..28821c99 100644 --- a/mcp/src/tools/domains/pricing-tools.ts +++ b/mcp/src/tools/domains/pricing-tools.ts @@ -36,7 +36,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/mcp/src/tools/domains/session-tools.ts b/mcp/src/tools/domains/session-tools.ts index 8afaac73..d9d87a47 100644 --- a/mcp/src/tools/domains/session-tools.ts +++ b/mcp/src/tools/domains/session-tools.ts @@ -37,7 +37,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/mcp/src/tools/index.ts b/mcp/src/tools/index.ts index 1cfbad2f..41865e7c 100644 --- a/mcp/src/tools/index.ts +++ b/mcp/src/tools/index.ts @@ -40,7 +40,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/mcp/src/tools/schemas.ts b/mcp/src/tools/schemas.ts index 8eaa09fd..7e2c64c3 100644 --- a/mcp/src/tools/schemas.ts +++ b/mcp/src/tools/schemas.ts @@ -34,7 +34,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/mcp/src/transports/http-server.ts b/mcp/src/transports/http-server.ts index 7c0a26c0..4f133f48 100644 --- a/mcp/src/transports/http-server.ts +++ b/mcp/src/transports/http-server.ts @@ -36,7 +36,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/mcp/src/transports/repl.ts b/mcp/src/transports/repl.ts index cfdacf7e..1ada237e 100644 --- a/mcp/src/transports/repl.ts +++ b/mcp/src/transports/repl.ts @@ -41,7 +41,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/mcp/src/transports/tool-collector.ts b/mcp/src/transports/tool-collector.ts index 5e95843f..8c0e407c 100644 --- a/mcp/src/transports/tool-collector.ts +++ b/mcp/src/transports/tool-collector.ts @@ -39,7 +39,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/mcp/src/types/tool-context.ts b/mcp/src/types/tool-context.ts index 38e8882f..ac1d0bd1 100644 --- a/mcp/src/types/tool-context.ts +++ b/mcp/src/types/tool-context.ts @@ -36,7 +36,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/mcp/src/ui/banner.ts b/mcp/src/ui/banner.ts index 35af21b9..bf476384 100644 --- a/mcp/src/ui/banner.ts +++ b/mcp/src/ui/banner.ts @@ -37,7 +37,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/mcp/src/ui/colors.ts b/mcp/src/ui/colors.ts index 44e8f205..68e8c82f 100644 --- a/mcp/src/ui/colors.ts +++ b/mcp/src/ui/colors.ts @@ -71,7 +71,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/mcp/src/ui/formatter.ts b/mcp/src/ui/formatter.ts index a90def66..e699ff1a 100644 --- a/mcp/src/ui/formatter.ts +++ b/mcp/src/ui/formatter.ts @@ -41,7 +41,7 @@ * ## Related docs * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline. * - `docs/API.md` — REST reference. - * - `.claude/skills/file-headers/` — mandatory `@author` header policy. + * - `skills/file-headers/` — mandatory `@author` header policy. * ============================================================================= */ /* ----------------------------------------------------------------------------- * EXPORT CATALOG — quick index of symbols defined below (documentation only). diff --git a/scripts/expand-ts-module-docs.py b/scripts/expand-ts-module-docs.py index 549e5047..52fb0774 100644 --- a/scripts/expand-ts-module-docs.py +++ b/scripts/expand-ts-module-docs.py @@ -175,7 +175,7 @@ def build_guide(path: Path, source: str) -> str: " * ## Related docs", " * - `ARCHITECTURE.md` — hooks → API → SQLite → WebSocket → UI pipeline.", " * - `docs/API.md` — REST reference.", - " * - `.claude/skills/file-headers/` — mandatory `@author` header policy.", + " * - `skills/file-headers/` — mandatory `@author` header policy.", " * ============================================================================= */", ] ) diff --git a/server/lib/skills-install.js b/server/lib/skills-install.js index 4b7a46ee..1ed69dfd 100644 --- a/server/lib/skills-install.js +++ b/server/lib/skills-install.js @@ -1,8 +1,12 @@ /** - * @file Installs .claude/skills/ship-feature-lane/ into ~/.claude/skills/, so + * @file Installs skills/ship-feature-lane/ into ~/.claude/skills/, so * /ship-feature-lane is discoverable from a session running inside any - * lane's own working directory — not just inside this repo, where it lives - * until installed. Shared by bin/ccam.js's `ccam skills install` CLI and the + * lane's own working directory. This is the FALLBACK path for a plain + * checkout: the skill also ships with the `ccam` plugin (the repo root IS + * the plugin root, so `skills/` is the plugin's skills dir), where it is + * already global as `/ccam:ship-feature-lane`. Installing it here just + * restores the bare `/ship-feature-lane` name for people who do not run the + * plugin. Shared by bin/ccam.js's `ccam skills install` CLI and the * POST /api/skills/install route, so there is exactly one copy of this * logic. Pure filesystem action. * @author Nguyễn Ngọc Trí Vĩ @@ -19,7 +23,7 @@ const path = require("node:path"); * @returns {{installed: true, path: string}} */ function installShipFeatureLaneSkill({ repoRoot }) { - const src = path.join(repoRoot, ".claude", "skills", "ship-feature-lane"); + const src = path.join(repoRoot, "skills", "ship-feature-lane"); if (!fs.existsSync(src)) { throw Object.assign(new Error(`not found: ${src}`), { code: "ENOSKILLSRC" }); } diff --git a/.claude/skills/debug-live-issue/SKILL.md b/skills/debug-live-issue/SKILL.md similarity index 100% rename from .claude/skills/debug-live-issue/SKILL.md rename to skills/debug-live-issue/SKILL.md diff --git a/.claude/skills/debug-live-issue/references/investigation-template.md b/skills/debug-live-issue/references/investigation-template.md similarity index 100% rename from .claude/skills/debug-live-issue/references/investigation-template.md rename to skills/debug-live-issue/references/investigation-template.md diff --git a/.claude/skills/file-headers/SKILL.md b/skills/file-headers/SKILL.md similarity index 94% rename from .claude/skills/file-headers/SKILL.md rename to skills/file-headers/SKILL.md index fd1143ed..a41c3ba5 100644 --- a/.claude/skills/file-headers/SKILL.md +++ b/skills/file-headers/SKILL.md @@ -100,17 +100,17 @@ module.py — what the module does. Run the bundled checker to list any applicable file missing the header: ```bash -bash .claude/skills/file-headers/scripts/check-headers.sh +bash skills/file-headers/scripts/check-headers.sh ``` Exit code `0` = fully compliant; `1` = the printed files are missing headers. Run it before finishing any change-set that adds files, and during reviews. On every pull request, GitHub Actions runs -`.claude/skills/file-headers/scripts/check-headers-pr.sh` against only the +`skills/file-headers/scripts/check-headers-pr.sh` against only the files changed in the PR diff (added, copied, renamed, or modified). Test locally before pushing: ```bash -bash .claude/skills/file-headers/scripts/check-headers-pr.sh origin/master HEAD +bash skills/file-headers/scripts/check-headers-pr.sh origin/master HEAD ``` diff --git a/.claude/skills/file-headers/scripts/check-headers-pr.sh b/skills/file-headers/scripts/check-headers-pr.sh similarity index 96% rename from .claude/skills/file-headers/scripts/check-headers-pr.sh rename to skills/file-headers/scripts/check-headers-pr.sh index 7dd6c988..46eef05d 100755 --- a/.claude/skills/file-headers/scripts/check-headers-pr.sh +++ b/skills/file-headers/scripts/check-headers-pr.sh @@ -11,7 +11,7 @@ set -euo pipefail -ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../../.." && pwd)" +ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../.." && pwd)" AUTHOR_MARK="@author Nguyễn Ngọc Trí Vĩ" AUTHOR_EMAIL="vinnt@smartgift.vn" @@ -147,5 +147,5 @@ fi echo echo "Add the project header to each file listed above." -echo "See .claude/skills/file-headers/SKILL.md for per-type examples." +echo "See skills/file-headers/SKILL.md for per-type examples." exit 1 diff --git a/.claude/skills/file-headers/scripts/check-headers.sh b/skills/file-headers/scripts/check-headers.sh similarity index 87% rename from .claude/skills/file-headers/scripts/check-headers.sh rename to skills/file-headers/scripts/check-headers.sh index 18e3f9a2..45ec7f5a 100755 --- a/.claude/skills/file-headers/scripts/check-headers.sh +++ b/skills/file-headers/scripts/check-headers.sh @@ -1,12 +1,12 @@ #!/usr/bin/env bash # check-headers.sh — audit the repo for applicable source files missing the -# mandatory copyright/authorship header (see .claude/skills/file-headers). +# mandatory copyright/authorship header (see skills/file-headers). # Prints each non-compliant file; exits 0 when fully compliant, 1 otherwise. # @author Nguyễn Ngọc Trí Vĩ set -euo pipefail -ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../../.." && pwd)" +ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../.." && pwd)" AUTHOR_MARK="@author Nguyễn Ngọc Trí Vĩ" missing=0 diff --git a/.claude/skills/mcp-operations/SKILL.md b/skills/mcp-operations/SKILL.md similarity index 100% rename from .claude/skills/mcp-operations/SKILL.md rename to skills/mcp-operations/SKILL.md diff --git a/.claude/skills/mcp-operations/references/host-config.md b/skills/mcp-operations/references/host-config.md similarity index 100% rename from .claude/skills/mcp-operations/references/host-config.md rename to skills/mcp-operations/references/host-config.md diff --git a/.claude/skills/mcp-operations/references/runbook.md b/skills/mcp-operations/references/runbook.md similarity index 100% rename from .claude/skills/mcp-operations/references/runbook.md rename to skills/mcp-operations/references/runbook.md diff --git a/.claude/skills/repo-onboarding/SKILL.md b/skills/repo-onboarding/SKILL.md similarity index 100% rename from .claude/skills/repo-onboarding/SKILL.md rename to skills/repo-onboarding/SKILL.md diff --git a/.claude/skills/repo-onboarding/references/command-map.md b/skills/repo-onboarding/references/command-map.md similarity index 100% rename from .claude/skills/repo-onboarding/references/command-map.md rename to skills/repo-onboarding/references/command-map.md diff --git a/.claude/skills/repo-onboarding/references/module-map.md b/skills/repo-onboarding/references/module-map.md similarity index 100% rename from .claude/skills/repo-onboarding/references/module-map.md rename to skills/repo-onboarding/references/module-map.md diff --git a/.claude/skills/ship-feature-lane/SKILL.md b/skills/ship-feature-lane/SKILL.md similarity index 100% rename from .claude/skills/ship-feature-lane/SKILL.md rename to skills/ship-feature-lane/SKILL.md diff --git a/.claude/skills/ship-feature/SKILL.md b/skills/ship-feature/SKILL.md similarity index 100% rename from .claude/skills/ship-feature/SKILL.md rename to skills/ship-feature/SKILL.md diff --git a/.claude/skills/ship-feature/references/feature-checklist.md b/skills/ship-feature/references/feature-checklist.md similarity index 100% rename from .claude/skills/ship-feature/references/feature-checklist.md rename to skills/ship-feature/references/feature-checklist.md diff --git a/.claude/skills/update-project-docs/SKILL.md b/skills/update-project-docs/SKILL.md similarity index 100% rename from .claude/skills/update-project-docs/SKILL.md rename to skills/update-project-docs/SKILL.md diff --git a/.claude/skills/update-project-docs/references/doc-map.md b/skills/update-project-docs/references/doc-map.md similarity index 100% rename from .claude/skills/update-project-docs/references/doc-map.md rename to skills/update-project-docs/references/doc-map.md diff --git a/.claude/skills/update-project-docs/scripts/doc-coverage.sh b/skills/update-project-docs/scripts/doc-coverage.sh similarity index 89% rename from .claude/skills/update-project-docs/scripts/doc-coverage.sh rename to skills/update-project-docs/scripts/doc-coverage.sh index ed7e5fc1..62d95799 100755 --- a/.claude/skills/update-project-docs/scripts/doc-coverage.sh +++ b/skills/update-project-docs/scripts/doc-coverage.sh @@ -5,8 +5,8 @@ # checked for "full coverage" before finishing. # # Usage: -# .claude/skills/update-project-docs/scripts/doc-coverage.sh DASHBOARD_SESSION_SYNC_MS -# .claude/skills/update-project-docs/scripts/doc-coverage.sh Interrupted pendingInterrupt +# skills/update-project-docs/scripts/doc-coverage.sh DASHBOARD_SESSION_SYNC_MS +# skills/update-project-docs/scripts/doc-coverage.sh Interrupted pendingInterrupt # # Run from the repo root. Exit code is non-zero if any term is missing from a # doc that the change-type mapping (see references/doc-map.md) says it belongs