@event4u/agent-config 1.39.0 → 1.41.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/.agent-src/commands/orchestrate.md +123 -0
  2. package/.agent-src/commands/sync-gitignore/fix.md +135 -0
  3. package/.agent-src/commands/sync-gitignore.md +31 -5
  4. package/.agent-src/skills/learning-to-rule-or-skill/SKILL.md +30 -2
  5. package/.agent-src/skills/subagent-orchestration/SKILL.md +9 -0
  6. package/.agent-src/skills/using-git-worktrees/SKILL.md +25 -0
  7. package/.agent-src/templates/agent-settings.md +9 -0
  8. package/.agent-src/templates/scripts/work_engine/orchestration.py +168 -0
  9. package/.claude-plugin/marketplace.json +3 -1
  10. package/CHANGELOG.md +75 -0
  11. package/README.md +52 -26
  12. package/bin/install.php +13 -6
  13. package/config/agent-settings.template.yml +21 -0
  14. package/docs/DISTRIBUTION_CHECKLIST.md +169 -0
  15. package/docs/architecture.md +1 -1
  16. package/docs/catalog.md +5 -3
  17. package/docs/contracts/audit-log-v1.md +142 -0
  18. package/docs/contracts/command-clusters.md +2 -0
  19. package/docs/contracts/file-ownership-matrix.json +47 -0
  20. package/docs/contracts/mcp-discovery-phase-notice.md +56 -0
  21. package/docs/contracts/mcp-tool-stub-envelope.md +78 -0
  22. package/docs/contracts/orchestration-dsl-v1.md +152 -0
  23. package/docs/getting-started.md +1 -1
  24. package/docs/installation.md +132 -0
  25. package/docs/setup/mcp-client-config.md +94 -13
  26. package/docs/setup/mcp-cloud-setup.md +32 -1
  27. package/docs/setup/per-ide/aider.md +48 -0
  28. package/docs/setup/per-ide/claude-code.md +108 -0
  29. package/docs/setup/per-ide/claude-desktop.md +173 -0
  30. package/docs/setup/per-ide/cline.md +43 -0
  31. package/docs/setup/per-ide/codex.md +46 -0
  32. package/docs/setup/per-ide/copilot.md +80 -0
  33. package/docs/setup/per-ide/cursor.md +125 -0
  34. package/docs/setup/per-ide/gemini-cli.md +45 -0
  35. package/docs/setup/per-ide/windsurf.md +120 -0
  36. package/package.json +1 -1
  37. package/scripts/_lib/script_output.py +15 -11
  38. package/scripts/ai_council/session.py +14 -8
  39. package/scripts/chat_history.py +29 -53
  40. package/scripts/command_suggester/settings.py +15 -13
  41. package/scripts/compile_router.py +13 -9
  42. package/scripts/compress.py +175 -20
  43. package/scripts/council_cli.py +9 -3
  44. package/scripts/extract_audit_patterns.py +202 -0
  45. package/scripts/install +156 -1
  46. package/scripts/install.py +270 -10
  47. package/scripts/install.sh +52 -7
  48. package/scripts/lint_orchestration_dsl.py +214 -0
  49. package/scripts/mcp_parity_smoke.py +20 -2
  50. package/scripts/mcp_server/catalog.py +125 -0
  51. package/scripts/mcp_server/consumer_tool_catalog.json +275 -0
  52. package/scripts/mcp_server/telemetry.py +128 -0
  53. package/scripts/mcp_server/tools.py +474 -15
  54. package/scripts/mcp_telemetry_health.py +214 -0
  55. package/scripts/mcp_telemetry_query.py +203 -0
  56. package/scripts/mcp_telemetry_store.py +211 -0
  57. package/scripts/memory_signal.py +12 -10
  58. package/scripts/pack_mcp_content.py +18 -4
  59. package/scripts/skill_linter.py +9 -0
  60. package/scripts/sync_gitignore.py +56 -1
  61. package/templates/claude_desktop_config.json.template +22 -0
  62. package/templates/cursor-rule.mdc.j2 +7 -0
  63. package/templates/global-install-manifest.yml +91 -0
  64. package/templates/marketing-copy.yml +64 -0
  65. package/templates/windsurf-rule.md.j2 +7 -0
@@ -1,8 +1,17 @@
1
- # MCP Client Config — Remote agent-config
1
+ # MCP Client Config — Self-hosted agent-config Worker
2
2
 
3
- Connect any MCP-capable client to the hosted `agent-config-mcp` Worker
4
- at `https://agent-config-mcp.event4u.workers.dev`. Read-only,
5
- identity-stable per release, no auth.
3
+ Connect any MCP-capable client to your own `agent-config-mcp` Cloudflare
4
+ Worker. Read-only, identity-stable per release. Optional Bearer-token
5
+ auth see Bearer auth](#bearer-auth) below.
6
+
7
+ > **No public endpoint.** This package ships the Worker source under
8
+ > `workers/mcp/`, but does **not** operate a shared hosted MCP server.
9
+ > Deploy your own per [`mcp-cloud-setup.md`](mcp-cloud-setup.md) — your
10
+ > URL will be `https://agent-config-mcp.<your-account>.workers.dev`
11
+ > (or a custom domain you wire up in Step 7).
12
+ >
13
+ > In every snippet below, **replace `https://your-worker.workers.dev`
14
+ > with your actual deployment URL**.
6
15
 
7
16
  For URL shapes (latest vs. pinned `/v<X.Y.Z>`) see
8
17
  [`mcp-cloud-endpoints.md`](mcp-cloud-endpoints.md). For operator
@@ -26,14 +35,29 @@ look for MCP server config inside `.agent-settings.yml`.
26
35
  | MCP client config (this page) | client-specific path per section above | the MCP client at startup | which MCP servers to talk to (name + URL / command) |
27
36
  | `.agent-settings.yml` | consumer project root (`<repo>/.agent-settings.yml`) | the agent at runtime (Claude / Cursor / …) | per-developer preferences: `name`, `ide`, `cost_profile`, `personal.autonomy`, `pipelines.skill_improvement`, `caveman.speak_scope`, … |
28
37
 
29
- The hosted MCP is **stateless** and **project-agnostic** — it serves
30
- the same skill / rule / command catalog to every client. Personalization
38
+ The Worker is **stateless** and **project-agnostic** — it serves the
39
+ same skill / rule / command catalog to every client. Personalization
31
40
  happens agent-side after the MCP delivers its content blob; the Worker
32
41
  itself does not read `.agent-settings.yml`.
33
42
 
34
43
  First-time setup of `.agent-settings.yml` runs through `/onboard`;
35
44
  template drift is handled by `/sync-agent-settings`.
36
45
 
46
+ ## Bearer auth
47
+
48
+ If you set the `MCP-Token` secret on your Worker (via
49
+ `task mcp:cloud:secret-put`), every POST request must carry the header
50
+ `Authorization: Bearer <token>`. The `GET /` liveness probe stays
51
+ unauthenticated.
52
+
53
+ Add the header to each client below by appending the per-client header
54
+ snippet shown in its section. Treat the token like any other secret —
55
+ keep it out of repo files and shared dotfiles; prefer an env var
56
+ (`MCP_TOKEN`) sourced from a password manager or shell init.
57
+
58
+ If your Worker has **no** `MCP-Token` secret set, skip the header
59
+ snippets — every POST is accepted as-is.
60
+
37
61
  ## Claude Desktop
38
62
 
39
63
  Edit `~/Library/Application Support/Claude/claude_desktop_config.json`
@@ -44,7 +68,24 @@ Edit `~/Library/Application Support/Claude/claude_desktop_config.json`
44
68
  "mcpServers": {
45
69
  "agent-config": {
46
70
  "command": "npx",
47
- "args": ["-y", "mcp-remote", "https://agent-config-mcp.event4u.workers.dev"]
71
+ "args": ["-y", "mcp-remote", "https://your-worker.workers.dev"]
72
+ }
73
+ }
74
+ }
75
+ ```
76
+
77
+ With Bearer auth, add `--header`:
78
+
79
+ ```json
80
+ {
81
+ "mcpServers": {
82
+ "agent-config": {
83
+ "command": "npx",
84
+ "args": [
85
+ "-y", "mcp-remote", "https://your-worker.workers.dev",
86
+ "--header", "Authorization: Bearer ${MCP_TOKEN}"
87
+ ],
88
+ "env": { "MCP_TOKEN": "paste-token-here" }
48
89
  }
49
90
  }
50
91
  }
@@ -60,7 +101,14 @@ Connector** with the URL directly — no `mcp-remote` wrapper needed.
60
101
  Native HTTP transport — one command:
61
102
 
62
103
  ```bash
63
- claude mcp add --transport http agent-config https://agent-config-mcp.event4u.workers.dev
104
+ claude mcp add --transport http agent-config https://your-worker.workers.dev
105
+ ```
106
+
107
+ With Bearer auth:
108
+
109
+ ```bash
110
+
111
+
64
112
  ```
65
113
 
66
114
  Verify:
@@ -78,12 +126,14 @@ claude mcp list
78
126
  {
79
127
  "mcpServers": {
80
128
  "agent-config": {
81
- "url": "https://agent-config-mcp.event4u.workers.dev"
129
+ "url": "https://your-worker.workers.dev",
130
+ "headers": { "Authorization": "Bearer paste-token-here" }
82
131
  }
83
132
  }
84
133
  }
85
134
  ```
86
135
 
136
+ (Omit the `headers` block if your Worker has no `MCP-Token` secret.)
87
137
  Reload Cursor (`Cmd+Shift+P → Reload Window`).
88
138
 
89
139
  ## Zed
@@ -96,12 +146,17 @@ Reload Cursor (`Cmd+Shift+P → Reload Window`).
96
146
  "agent-config": {
97
147
  "source": "custom",
98
148
  "command": "npx",
99
- "args": ["-y", "mcp-remote", "https://agent-config-mcp.event4u.workers.dev"]
149
+ "args": [
150
+ "-y", "mcp-remote", "https://your-worker.workers.dev",
151
+ "--header", "Authorization: Bearer ${MCP_TOKEN}"
152
+ ],
153
+ "env": { "MCP_TOKEN": "paste-token-here" }
100
154
  }
101
155
  }
102
156
  }
103
157
  ```
104
158
 
159
+ Drop the `--header` / `env` pair when the Worker has no token set.
105
160
  Zed has no native remote-MCP transport yet, so the `mcp-remote`
106
161
  bridge is required.
107
162
 
@@ -113,19 +168,28 @@ bridge is required.
113
168
  mcpServers:
114
169
  - name: agent-config
115
170
  command: npx
116
- args: ["-y", "mcp-remote", "https://agent-config-mcp.event4u.workers.dev"]
171
+ args:
172
+ - "-y"
173
+ - mcp-remote
174
+ - https://your-worker.workers.dev
175
+ - --header
176
+ - "Authorization: Bearer ${MCP_TOKEN}"
177
+ env:
178
+ MCP_TOKEN: paste-token-here
117
179
  ```
118
180
 
181
+ Drop the `--header` / `env` keys when the Worker has no token set.
182
+
119
183
  ## Verify
120
184
 
121
185
  After reload, every client should:
122
186
 
123
187
  1. List `agent-config` under connectors / tools with a release-key
124
188
  matching the live deploy. Probe the endpoint to see the current
125
- release:
189
+ release (the `GET /` liveness probe is always unauthenticated):
126
190
 
127
191
  ```bash
128
- curl https://agent-config-mcp.event4u.workers.dev
192
+ curl https://your-worker.workers.dev
129
193
  # → { "ok": true, "release_key": "v…", "signature": "…", … }
130
194
  ```
131
195
 
@@ -134,6 +198,23 @@ After reload, every client should:
134
198
  3. Expose rule + guideline + context resources under `rule://…`,
135
199
  `guideline://…`, `context://…`.
136
200
 
201
+ With Bearer auth, a wrong/missing token returns HTTP 401 with body
202
+ `{"jsonrpc":"2.0","id":null,"error":{"code":-32001,"message":"Unauthorized"}}` —
203
+ quick way to confirm enforcement:
204
+
205
+ ```bash
206
+ curl -X POST -H "content-type: application/json" \
207
+ -d '{"jsonrpc":"2.0","id":1,"method":"ping"}' \
208
+ https://your-worker.workers.dev
209
+ # → 401 Unauthorized
210
+
211
+ curl -X POST -H "content-type: application/json" \
212
+ -H "Authorization: Bearer $MCP_TOKEN" \
213
+ -d '{"jsonrpc":"2.0","id":1,"method":"ping"}' \
214
+ https://your-worker.workers.dev
215
+ # → 200 { "jsonrpc":"2.0","id":1,"result":{} }
216
+ ```
217
+
137
218
  If the client shows the connector but no prompts / resources,
138
219
  re-probe the URL — a 5xx from the Worker indicates the deploy is
139
220
  mid-roll, retry after a minute.
@@ -15,6 +15,7 @@ machine.
15
15
  ```sh
16
16
  task mcp:cloud:login # one-time, opens browser
17
17
  task mcp:cloud:setup # check → r2-create → r2-verify → whoami
18
+ task mcp:cloud:secret-put # optional but recommended — sets MCP-Token (Bearer auth)
18
19
  # Copy account id from output → GitHub Secrets (see § GitHub Secrets)
19
20
  # Create scoped API token (see § API Token) → GitHub Secrets
20
21
  # Done. First `release: published` triggers the deploy.
@@ -114,7 +115,36 @@ Green smoke step → `latest.txt` repoints → release is live on
114
115
  `*.workers.dev`. A red smoke step leaves `latest.txt` on the previous
115
116
  release.
116
117
 
117
- ## Step 7 — DNS (optional, Phase 5.2)
118
+ ## Step 7 — Bearer auth (recommended)
119
+
120
+ Without auth, anyone who knows your `*.workers.dev` URL can read the
121
+ catalog. The Worker checks for an `MCP-Token` secret and, when set,
122
+ gates every POST behind `Authorization: Bearer <token>`. The `GET /`
123
+ liveness probe stays open so health checks keep working.
124
+
125
+ Generate a token (any high-entropy random string — `openssl rand -hex 32`
126
+ or your password manager) and set it on the Worker:
127
+
128
+ ```sh
129
+ task mcp:cloud:secret-put
130
+ # wrangler prompts for the value interactively (stdin) — never passed
131
+ # via argv, never written to shell history.
132
+ ```
133
+
134
+ This wraps `npx wrangler secret put MCP-Token --name agent-config-mcp`.
135
+ The secret is encrypted in Cloudflare and injected as `env["MCP-Token"]`
136
+ at request time; the source repo never sees the value.
137
+
138
+ Once set, every MCP client config needs the header — per-client
139
+ snippets (Claude Desktop, Claude Code, Cursor, Zed, Continue) live in
140
+ [`mcp-client-config.md`](mcp-client-config.md) § Bearer auth.
141
+
142
+ Rotate by re-running `task mcp:cloud:secret-put` with a fresh value;
143
+ the new secret takes effect on the next request (no redeploy needed).
144
+ To remove auth entirely, run
145
+ `npx wrangler secret delete MCP-Token --name agent-config-mcp`.
146
+
147
+ ## Step 8 — DNS (optional, Phase 5.2)
118
148
 
119
149
  Custom domain `mcp.<your-domain>` setup lives in
120
150
  [`docs/setup/mcp-cloud-endpoints.md`](mcp-cloud-endpoints.md) § DNS
@@ -141,6 +171,7 @@ setup. Until cutover, the Worker serves on the free
141
171
  | `task mcp:cloud:r2-create` | Create R2 bucket (idempotent) |
142
172
  | `task mcp:cloud:r2-verify` | Verify R2 bucket exists |
143
173
  | `task mcp:cloud:setup` | Full chain — check → r2 → whoami |
174
+ | `task mcp:cloud:secret-put` | Set the `MCP-Token` Bearer-auth secret (interactive) |
144
175
  | `task mcp:cloud:dev` | Local `wrangler dev` on :8787 |
145
176
  | `task mcp:cloud:deploy-dispatch TAG=v…` | Manual workflow trigger |
146
177
 
@@ -0,0 +1,48 @@
1
+ # Aider Setup
2
+
3
+ Aider reads `AGENTS.md` (and the legacy `CONVENTIONS.md` if present)
4
+ from the repo root for project conventions.
5
+
6
+ ## Prerequisites
7
+
8
+ - Aider installed: <https://aider.chat>.
9
+ - Node.js ≥ 18 (for the install entrypoints).
10
+
11
+ ## Install
12
+
13
+ ```bash
14
+ npx @event4u/create-agent-config init --tools=aider
15
+ ```
16
+
17
+ Populates:
18
+
19
+ - `AGENTS.md` — agent self-orientation (Aider auto-loads)
20
+ - `.agent-settings.yml` — per-project knobs
21
+
22
+ Aider's chat will read `AGENTS.md` on every session start. Add it to
23
+ the chat explicitly if Aider doesn't pick it up:
24
+
25
+ ```bash
26
+ aider AGENTS.md
27
+ ```
28
+
29
+ ## Verification
30
+
31
+ ```bash
32
+ test -f AGENTS.md
33
+ ```
34
+
35
+ In Aider: type `/tokens` — `AGENTS.md` should appear in the loaded
36
+ files list.
37
+
38
+ ## Troubleshooting
39
+
40
+ | Symptom | Fix |
41
+ |---|---|
42
+ | `AGENTS.md` not auto-loaded | `aider --read AGENTS.md` or `/read AGENTS.md`. |
43
+ | Conventions ignored | Aider reads `CONVENTIONS.md` legacy too — check `--auto-commits` flag. |
44
+
45
+ ## Cross-references
46
+
47
+ - [`AGENTS.md`](../../../AGENTS.md) — canonical agent self-orientation.
48
+ - [`docs/installation.md`](../../installation.md) — install matrix index.
@@ -0,0 +1,108 @@
1
+ # Claude Code Setup
2
+
3
+ Claude Code is the canonical agent surface for `event4u/agent-config`. It
4
+ reads from `.claude/skills/`, `.claude/commands/`, `CLAUDE.md`,
5
+ `.claude/hooks/`, and project-level MCP servers. Everything in this repo
6
+ projects to those paths during install.
7
+
8
+ ## Prerequisites
9
+
10
+ - Claude Code installed (CLI or VS Code extension): <https://claude.com/code>.
11
+ - Node.js ≥ 18 (for the `npx` entrypoints).
12
+ - Git working tree (the package is repository-aware).
13
+
14
+ ## Project install (recommended)
15
+
16
+ ```bash
17
+ # Inside an existing repo:
18
+ npx @event4u/create-agent-config init --tools=claude-code
19
+
20
+ # Or with the curl entrypoint:
21
+ curl -sSL https://raw.githubusercontent.com/event4u-app/agent-config/main/setup.sh \
22
+ | bash -s -- --tools=claude-code
23
+ ```
24
+
25
+ Either form populates:
26
+
27
+ - `.claude/skills/` — symlinks into `.agent-src/skills/`
28
+ - `.claude/commands/` — symlinks into `.agent-src/commands/`
29
+ - `CLAUDE.md` — agent root pointer (auto-loaded by Claude Code)
30
+ - `.agent-settings.yml` — your per-project knobs (kept out of git)
31
+
32
+ ## Global install (cross-project skills)
33
+
34
+ ```bash
35
+ npx @event4u/agent-config global --tools=claude-code
36
+ ```
37
+
38
+ Seeds `~/.claude/skills/` with the curated top-N skills from
39
+ [`templates/global-install-manifest.yml`](../../../templates/global-install-manifest.yml).
40
+ Available across every project on the machine; project-level files
41
+ always take precedence.
42
+
43
+ Uninstall:
44
+
45
+ ```bash
46
+ npx @event4u/agent-config global --uninstall
47
+ ```
48
+
49
+ ## Plugin marketplace (Claude Code 2026+)
50
+
51
+ Claude Code 2026 supports plugin marketplaces via
52
+ `.claude-plugin/marketplace.json`. The package ships one — once
53
+ listed at the Anthropic marketplace (Phase 7 / S34) you can also:
54
+
55
+ ```bash
56
+ claude plugin install event4u/agent-config
57
+ ```
58
+
59
+ Today the npm/curl entrypoints above are the supported install path.
60
+
61
+ ## CLAUDE.md
62
+
63
+ Auto-loaded by Claude Code from the repo root. The package's `CLAUDE.md`
64
+ points to `AGENTS.md` (single source of truth for all agent surfaces);
65
+ edit `AGENTS.md`, never `CLAUDE.md`.
66
+
67
+ ## Hooks
68
+
69
+ Claude Code reads `.claude/hooks/` for pre/post tool hooks. The package
70
+ ships a memory-extraction hook (Phase 7 of `road-to-mcp-full-coverage`).
71
+ Local overrides go in `agents/overrides/.claude/hooks/`.
72
+
73
+ ## Skills you'll use most
74
+
75
+ - `/work "<prompt>"` — refine → plan → implement → verify → report loop.
76
+ - `/commit` — Conventional-Commit splitter with confirmation gate.
77
+ - `/create-pr` — opens a structured PR from the current branch.
78
+ - `/review-changes` — five-judge self-review before requesting human review.
79
+ - `/agent-handoff` — produces a fresh-chat continuation summary.
80
+
81
+ Full list: `ls .claude/skills/`.
82
+
83
+ ## Verification
84
+
85
+ ```bash
86
+ ls -la .claude/skills/ # should symlink into .agent-src/skills/
87
+ ls -la CLAUDE.md # exists, points to AGENTS.md
88
+ test -f .agent-settings.yml # per-project settings rendered
89
+ ```
90
+
91
+ In Claude Code itself: type `/` — the slash menu should list `work`,
92
+ `commit`, `create-pr`, etc.
93
+
94
+ ## Troubleshooting
95
+
96
+ | Symptom | Fix |
97
+ |---|---|
98
+ | `/` menu empty | `ls .claude/skills/` — re-run installer if empty. |
99
+ | Skills look stale after `git pull` | `task sync && task generate-tools`. |
100
+ | Hook never fires | `claude --debug` and inspect hook output. |
101
+ | Memory MCP missing | See `road-to-mcp-full-coverage` — Phase 3 ships read-only tools. |
102
+
103
+ ## Cross-references
104
+
105
+ - [`docs/installation.md`](../../installation.md) — install matrix index.
106
+ - [`docs/setup/per-ide/claude-desktop.md`](claude-desktop.md) — Desktop +
107
+ Cowork share the same `~/.claude/skills/` path; install once, both surfaces benefit.
108
+ - [`AGENTS.md`](../../../AGENTS.md) — package self-orientation.
@@ -0,0 +1,173 @@
1
+ # Claude Desktop — agent-config setup
2
+
3
+ The fastest path to running our skills, rules, and (optionally) the MCP
4
+ server inside Claude Desktop. macOS / Windows / Linux. ~5 minutes.
5
+
6
+ > **TL;DR** — install the package globally with `--global` so the
7
+ > kernel rules and the curated top-N skills land in `~/.claude/`,
8
+ > then restart Claude Desktop. The slash-command menu picks them up
9
+ > automatically.
10
+
11
+ ## Prerequisites
12
+
13
+ - Claude Desktop installed (free or paid plan — same install path).
14
+ - Node ≥ 18 *or* a clone of the `event4u/agent-config` repo
15
+ (either route can run `--global`).
16
+ - 5 minutes.
17
+
18
+ ## Step 1 — global install
19
+
20
+ Pick whichever entrypoint matches your environment. Both seed the same
21
+ files under `~/.claude/`.
22
+
23
+ ```bash
24
+ # Node — no clone needed.
25
+ npx @event4u/create-agent-config --global --tools=claude-code
26
+
27
+ # Or via curl (no Node).
28
+ curl -fsSL https://raw.githubusercontent.com/event4u/agent-config/main/setup.sh \
29
+ | bash -s -- --global --tools=claude-code
30
+
31
+ # Or from a local clone.
32
+ bash scripts/install --global --tools=claude-code
33
+ ```
34
+
35
+ > `--tools=claude-code` covers both Claude Code **and** Claude
36
+ > Desktop — the two surfaces share `~/.claude/`. Pass
37
+ > `--tools=claude-code,cursor,windsurf` if you want Cursor / Windsurf
38
+ > globally seeded in the same run.
39
+
40
+ After the install you'll have:
41
+
42
+ ```
43
+ ~/.claude/
44
+ ├── rules/event4u/ # 9 kernel rules (Iron-Law set)
45
+ └── skills/event4u/ # 15 curated top-N skills
46
+ ```
47
+
48
+ Curation lives in
49
+ [`templates/global-install-manifest.yml`](../../../templates/global-install-manifest.yml).
50
+ Edit and re-run `--global` to grow or shrink the set.
51
+
52
+ ## Step 2 — verify
53
+
54
+ 1. Restart Claude Desktop (full quit, not just window close).
55
+ 2. Open a new conversation.
56
+ 3. Type `/` — the curated skills (`/work`, `/commit`, `/create-pr`,
57
+ `/quality-fix`, `/review-changes`, `/agent-handoff`,
58
+ `/project-analyze`, …) appear in the slash-command menu.
59
+ 4. Open Settings → Connectors. The kernel rules count appears under
60
+ "rules loaded".
61
+
62
+ If the menu is empty:
63
+
64
+ - Check `ls ~/.claude/skills/event4u/` — should list 15 directories.
65
+ - Quit Claude Desktop (`Cmd+Q` on macOS, **not** just close the
66
+ window — the menubar process keeps the old skills cached).
67
+ - Re-open and try `/` again.
68
+
69
+ ## Step 3 — optional MCP server
70
+
71
+ Claude Desktop also speaks MCP. Wiring up your own self-hosted
72
+ `agent-config-mcp` Cloudflare Worker exposes the **full** skill / rule /
73
+ command catalog (~480 items) on demand, on top of the 15 you installed
74
+ in Step 1.
75
+
76
+ Deploy the Worker first per [`../mcp-cloud-setup.md`](../mcp-cloud-setup.md) — your
77
+ URL will be `https://agent-config-mcp.<your-account>.workers.dev`
78
+ (or a custom domain you wire up in Step 7). Replace
79
+ `https://your-worker.workers.dev` below with that URL.
80
+
81
+ Edit `~/Library/Application Support/Claude/claude_desktop_config.json`
82
+ (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows /
83
+ Linux is `~/.config/Claude/claude_desktop_config.json`):
84
+
85
+ ```json
86
+ {
87
+ "mcpServers": {
88
+ "agent-config": {
89
+ "command": "npx",
90
+ "args": ["-y", "mcp-remote", "https://your-worker.workers.dev"]
91
+ }
92
+ }
93
+ }
94
+ ```
95
+
96
+ If you set the `MCP-Token` secret on the Worker (recommended — see
97
+ [`../mcp-cloud-setup.md`](../mcp-cloud-setup.md) § Bearer auth), add the header:
98
+
99
+ ```json
100
+ {
101
+ "mcpServers": {
102
+ "agent-config": {
103
+ "command": "npx",
104
+ "args": [
105
+ "-y", "mcp-remote", "https://your-worker.workers.dev",
106
+ "--header", "Authorization: Bearer ${MCP_TOKEN}"
107
+ ],
108
+ "env": { "MCP_TOKEN": "paste-token-here" }
109
+ }
110
+ }
111
+ }
112
+ ```
113
+
114
+ A pre-wired template ships at
115
+ [`templates/claude_desktop_config.json.template`](../../../templates/claude_desktop_config.json.template) —
116
+ copy, swap the placeholder URL for your deploy, and uncomment the MCP
117
+ block.
118
+
119
+ Restart Claude Desktop. The 🔌 icon shows the connector under
120
+ **Settings → Connectors**. Full transport details (mcp-remote vs.
121
+ native HTTP) and per-client Bearer-auth snippets live in
122
+ [`../mcp-client-config.md`](../mcp-client-config.md).
123
+
124
+ ## Claude Desktop ↔ Claude Code config sharing
125
+
126
+ Both surfaces read **the same `~/.claude/` directory**. Anything you
127
+ install for one is automatically available in the other:
128
+
129
+ | File / dir | Shared by Desktop & Code? |
130
+ | -------------------------------- | ------------------------- |
131
+ | `~/.claude/CLAUDE.md` | yes — global system prompt |
132
+ | `~/.claude/rules/event4u/` | yes — installed by `--global` |
133
+ | `~/.claude/skills/event4u/` | yes — installed by `--global` |
134
+ | `~/.claude/commands/` | yes — slash commands |
135
+ | `~/.claude/hooks/` | yes — lifecycle hooks |
136
+ | `claude_desktop_config.json` | Desktop only (MCP) |
137
+ | `~/.claude.json` (CLI config) | Code only |
138
+
139
+ Translation: run `--global` once, both clients pick the files up.
140
+ Cross-link to [`claude-code.md`](claude-code.md) for the CLI-side
141
+ view.
142
+
143
+ ## Claude Cowork
144
+
145
+ Claude Cowork (paid plans only — Pro / Max / Team) **shares the
146
+ Desktop config**. Once Step 1 + Step 3 are done in Desktop:
147
+
148
+ - Skills and rules under `~/.claude/` are picked up automatically.
149
+ - MCP servers under `claude_desktop_config.json` are available
150
+ inside Cowork sessions without a separate install.
151
+ - Cowork-specific limit (per Anthropic docs): MCP tools that write to
152
+ the local filesystem are sandboxed — read-only tools (the entire
153
+ `agent-config-mcp` Worker surface) work fine.
154
+
155
+ If a feature works in Desktop but not in Cowork, check that you're on
156
+ a paid plan — Cowork is gated, Desktop's free tier has the full
157
+ client-side feature set.
158
+
159
+ ## Uninstall
160
+
161
+ ```bash
162
+ bash scripts/install --global --uninstall --tools=claude-code
163
+ ```
164
+
165
+ Removes only `~/.claude/{rules,skills}/event4u/`. Anything you added
166
+ under sibling paths (custom rules, your own slash commands) stays.
167
+
168
+ ## See also
169
+
170
+ - Project-local install — [`../../installation.md`](../../installation.md)
171
+ - Global install reference — [`../../installation.md#global-user-level-install---global`](../../installation.md#global-user-level-install---global)
172
+ - MCP client transports — [`../mcp-client-config.md`](../mcp-client-config.md)
173
+ - Curation manifest — [`../../../templates/global-install-manifest.yml`](../../../templates/global-install-manifest.yml)
@@ -0,0 +1,43 @@
1
+ # Cline Setup
2
+
3
+ Cline (formerly Claude Dev) reads `.clinerules` (single-file aggregate)
4
+ and `AGENTS.md`.
5
+
6
+ ## Prerequisites
7
+
8
+ - Cline VS Code extension: <https://github.com/cline/cline>.
9
+ - Node.js ≥ 18.
10
+
11
+ ## Install
12
+
13
+ ```bash
14
+ npx @event4u/create-agent-config init --tools=cline
15
+ ```
16
+
17
+ Populates:
18
+
19
+ - `.clinerules` — single-file aggregate (rules)
20
+ - `AGENTS.md` — agent self-orientation
21
+ - `.agent-settings.yml` — per-project knobs
22
+
23
+ ## Verification
24
+
25
+ ```bash
26
+ test -f .clinerules
27
+ test -f AGENTS.md
28
+ ```
29
+
30
+ In VS Code: open the Cline panel — it should pick up the rules
31
+ automatically. Run `/help` in the chat to verify rule loading.
32
+
33
+ ## Troubleshooting
34
+
35
+ | Symptom | Fix |
36
+ |---|---|
37
+ | Rules not picked up | Reload VS Code window after `task generate-tools`. |
38
+ | `.clinerules` missing | Re-run `npx @event4u/create-agent-config init --tools=cline`. |
39
+
40
+ ## Cross-references
41
+
42
+ - [`AGENTS.md`](../../../AGENTS.md) — canonical agent self-orientation.
43
+ - [`docs/installation.md`](../../installation.md) — install matrix index.
@@ -0,0 +1,46 @@
1
+ # OpenAI Codex CLI Setup
2
+
3
+ OpenAI's Codex CLI (the `codex` command) reads `AGENTS.md` from the
4
+ repo root for project context.
5
+
6
+ ## Prerequisites
7
+
8
+ - Codex CLI installed: <https://github.com/openai/codex>.
9
+ - Node.js ≥ 18 (for the install entrypoints).
10
+
11
+ ## Install
12
+
13
+ ```bash
14
+ npx @event4u/create-agent-config init --tools=codex
15
+ ```
16
+
17
+ Populates:
18
+
19
+ - `AGENTS.md` — agent self-orientation (Codex auto-loads)
20
+ - `.agent-settings.yml` — per-project knobs
21
+
22
+ Codex CLI reads `AGENTS.md` automatically when invoked from the repo
23
+ root. No additional configuration needed.
24
+
25
+ ## Verification
26
+
27
+ ```bash
28
+ test -f AGENTS.md
29
+ codex --help # confirm CLI installed
30
+ ```
31
+
32
+ In a Codex CLI session, the loaded `AGENTS.md` content informs every
33
+ turn — verify by asking *"what is this repo?"* and confirming the
34
+ answer matches `AGENTS.md`'s emergency-triage block.
35
+
36
+ ## Troubleshooting
37
+
38
+ | Symptom | Fix |
39
+ |---|---|
40
+ | Codex ignores `AGENTS.md` | Run from repo root, not a subdirectory. |
41
+ | Out-of-date context | `codex` re-reads on each session start — quit and restart. |
42
+
43
+ ## Cross-references
44
+
45
+ - [`AGENTS.md`](../../../AGENTS.md) — canonical agent self-orientation.
46
+ - [`docs/installation.md`](../../installation.md) — install matrix index.