@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.
- package/.agent-src/commands/orchestrate.md +123 -0
- package/.agent-src/commands/sync-gitignore/fix.md +135 -0
- package/.agent-src/commands/sync-gitignore.md +31 -5
- package/.agent-src/skills/learning-to-rule-or-skill/SKILL.md +30 -2
- package/.agent-src/skills/subagent-orchestration/SKILL.md +9 -0
- package/.agent-src/skills/using-git-worktrees/SKILL.md +25 -0
- package/.agent-src/templates/agent-settings.md +9 -0
- package/.agent-src/templates/scripts/work_engine/orchestration.py +168 -0
- package/.claude-plugin/marketplace.json +3 -1
- package/CHANGELOG.md +75 -0
- package/README.md +52 -26
- package/bin/install.php +13 -6
- package/config/agent-settings.template.yml +21 -0
- package/docs/DISTRIBUTION_CHECKLIST.md +169 -0
- package/docs/architecture.md +1 -1
- package/docs/catalog.md +5 -3
- package/docs/contracts/audit-log-v1.md +142 -0
- package/docs/contracts/command-clusters.md +2 -0
- package/docs/contracts/file-ownership-matrix.json +47 -0
- package/docs/contracts/mcp-discovery-phase-notice.md +56 -0
- package/docs/contracts/mcp-tool-stub-envelope.md +78 -0
- package/docs/contracts/orchestration-dsl-v1.md +152 -0
- package/docs/getting-started.md +1 -1
- package/docs/installation.md +132 -0
- package/docs/setup/mcp-client-config.md +94 -13
- package/docs/setup/mcp-cloud-setup.md +32 -1
- package/docs/setup/per-ide/aider.md +48 -0
- package/docs/setup/per-ide/claude-code.md +108 -0
- package/docs/setup/per-ide/claude-desktop.md +173 -0
- package/docs/setup/per-ide/cline.md +43 -0
- package/docs/setup/per-ide/codex.md +46 -0
- package/docs/setup/per-ide/copilot.md +80 -0
- package/docs/setup/per-ide/cursor.md +125 -0
- package/docs/setup/per-ide/gemini-cli.md +45 -0
- package/docs/setup/per-ide/windsurf.md +120 -0
- package/package.json +1 -1
- package/scripts/_lib/script_output.py +15 -11
- package/scripts/ai_council/session.py +14 -8
- package/scripts/chat_history.py +29 -53
- package/scripts/command_suggester/settings.py +15 -13
- package/scripts/compile_router.py +13 -9
- package/scripts/compress.py +175 -20
- package/scripts/council_cli.py +9 -3
- package/scripts/extract_audit_patterns.py +202 -0
- package/scripts/install +156 -1
- package/scripts/install.py +270 -10
- package/scripts/install.sh +52 -7
- package/scripts/lint_orchestration_dsl.py +214 -0
- package/scripts/mcp_parity_smoke.py +20 -2
- package/scripts/mcp_server/catalog.py +125 -0
- package/scripts/mcp_server/consumer_tool_catalog.json +275 -0
- package/scripts/mcp_server/telemetry.py +128 -0
- package/scripts/mcp_server/tools.py +474 -15
- package/scripts/mcp_telemetry_health.py +214 -0
- package/scripts/mcp_telemetry_query.py +203 -0
- package/scripts/mcp_telemetry_store.py +211 -0
- package/scripts/memory_signal.py +12 -10
- package/scripts/pack_mcp_content.py +18 -4
- package/scripts/skill_linter.py +9 -0
- package/scripts/sync_gitignore.py +56 -1
- package/templates/claude_desktop_config.json.template +22 -0
- package/templates/cursor-rule.mdc.j2 +7 -0
- package/templates/global-install-manifest.yml +91 -0
- package/templates/marketing-copy.yml +64 -0
- package/templates/windsurf-rule.md.j2 +7 -0
|
@@ -1,8 +1,17 @@
|
|
|
1
|
-
# MCP Client Config —
|
|
1
|
+
# MCP Client Config — Self-hosted agent-config Worker
|
|
2
2
|
|
|
3
|
-
Connect any MCP-capable client to
|
|
4
|
-
|
|
5
|
-
|
|
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
|
|
30
|
-
|
|
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://
|
|
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://
|
|
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://
|
|
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": [
|
|
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:
|
|
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://
|
|
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 —
|
|
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.
|