@event4u/agent-config 1.39.0 → 1.40.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 +42 -0
- package/README.md +5 -5
- 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 +3 -2
- package/docs/contracts/audit-log-v1.md +142 -0
- package/docs/contracts/command-clusters.md +2 -0
- package/docs/contracts/file-ownership-matrix.json +20 -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/per-ide/aider.md +48 -0
- package/docs/setup/per-ide/claude-code.md +108 -0
- package/docs/setup/per-ide/claude-desktop.md +148 -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/compress.py +153 -1
- 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/skill_linter.py +9 -0
- package/scripts/sync_gitignore.py +56 -1
- package/templates/claude_desktop_config.json.template +21 -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
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
---
|
|
2
|
+
stability: beta
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Orchestration DSL v1
|
|
6
|
+
|
|
7
|
+
**Purpose.** Pin the YAML schema that the `/orchestrate` command
|
|
8
|
+
reads to chain personas / skills / sub-agents into reproducible
|
|
9
|
+
pipelines. A pipeline file is a deterministic, reviewable artifact
|
|
10
|
+
that re-runs the same step sequence with the same inputs.
|
|
11
|
+
|
|
12
|
+
**Scope.** Defines the file location, top-level shape, step kinds,
|
|
13
|
+
input / output wiring, and the linter contract. Does **not** define
|
|
14
|
+
the runtime semantics of each step kind — those live in the
|
|
15
|
+
[`/orchestrate`](../../.agent-src.uncompressed/commands/orchestrate.md)
|
|
16
|
+
command and the `work_engine` directive modules it delegates to.
|
|
17
|
+
|
|
18
|
+
Last refreshed: 2026-05-11.
|
|
19
|
+
|
|
20
|
+
## File location
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
.agent-config/orchestrations/<name>.yaml
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
`<name>` is kebab-case, matches the `name` field inside the file,
|
|
27
|
+
and is unique across the consumer project's orchestrations directory.
|
|
28
|
+
The directory is opt-in — `/orchestrate` falls back to the prompt
|
|
29
|
+
when no file exists.
|
|
30
|
+
|
|
31
|
+
## Top-level shape
|
|
32
|
+
|
|
33
|
+
```yaml
|
|
34
|
+
schema_version: 1
|
|
35
|
+
name: pr-readiness-check
|
|
36
|
+
description: |
|
|
37
|
+
Run the four review-lens judges against the current diff, then
|
|
38
|
+
consolidate verdicts into a single Markdown report.
|
|
39
|
+
inputs:
|
|
40
|
+
- id: diff_target
|
|
41
|
+
description: Git ref to diff against. Default origin/main.
|
|
42
|
+
default: origin/main
|
|
43
|
+
steps:
|
|
44
|
+
- id: bug
|
|
45
|
+
kind: skill
|
|
46
|
+
ref: judge-bug-hunter
|
|
47
|
+
with:
|
|
48
|
+
diff_target: ${{ inputs.diff_target }}
|
|
49
|
+
- id: security
|
|
50
|
+
kind: skill
|
|
51
|
+
ref: judge-security-auditor
|
|
52
|
+
with:
|
|
53
|
+
diff_target: ${{ inputs.diff_target }}
|
|
54
|
+
- id: tests
|
|
55
|
+
kind: skill
|
|
56
|
+
ref: judge-test-coverage
|
|
57
|
+
with:
|
|
58
|
+
diff_target: ${{ inputs.diff_target }}
|
|
59
|
+
- id: quality
|
|
60
|
+
kind: skill
|
|
61
|
+
ref: judge-code-quality
|
|
62
|
+
with:
|
|
63
|
+
diff_target: ${{ inputs.diff_target }}
|
|
64
|
+
- id: consolidate
|
|
65
|
+
kind: command
|
|
66
|
+
ref: review-changes
|
|
67
|
+
with:
|
|
68
|
+
verdicts:
|
|
69
|
+
- ${{ steps.bug.output }}
|
|
70
|
+
- ${{ steps.security.output }}
|
|
71
|
+
- ${{ steps.tests.output }}
|
|
72
|
+
- ${{ steps.quality.output }}
|
|
73
|
+
outputs:
|
|
74
|
+
report: ${{ steps.consolidate.output }}
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## Field semantics
|
|
78
|
+
|
|
79
|
+
| Field | Type | Required | Meaning |
|
|
80
|
+
|---|---|---|---|
|
|
81
|
+
| `schema_version` | int | yes | Always `1`. Major bump on breaking changes. |
|
|
82
|
+
| `name` | string | yes | Kebab-case identifier; matches filename. |
|
|
83
|
+
| `description` | string | yes | One-paragraph statement of intent. |
|
|
84
|
+
| `inputs[]` | list | no | Named pipeline inputs. Each has `id`, `description`, optional `default`. |
|
|
85
|
+
| `steps[]` | list | yes | Ordered list of steps. Min 1, max 32. |
|
|
86
|
+
| `steps[].id` | string | yes | Snake-case identifier; unique within the pipeline. |
|
|
87
|
+
| `steps[].kind` | enum | yes | One of `skill` · `command` · `persona` · `subagent`. |
|
|
88
|
+
| `steps[].ref` | string | yes | Reference id matching the `kind` namespace. |
|
|
89
|
+
| `steps[].with` | map | no | Inputs to the step. Values MAY use `${{ inputs.X }}` / `${{ steps.Y.output }}` interpolation. |
|
|
90
|
+
| `steps[].when` | string | no | Conditional expression — runs the step only if truthy. Limited to `${{ steps.X.output }}` equality and `success` / `failure` predicates. |
|
|
91
|
+
| `outputs` | map | no | Named pipeline outputs. Surfaced in the final delivery report. |
|
|
92
|
+
|
|
93
|
+
## Step kinds
|
|
94
|
+
|
|
95
|
+
| `kind` | `ref` resolves to | Runtime |
|
|
96
|
+
|---|---|---|
|
|
97
|
+
| `skill` | `.agent-src.uncompressed/skills/<ref>/SKILL.md` | Dispatched via `work_engine` directive matching the skill's domain. |
|
|
98
|
+
| `command` | `.agent-src.uncompressed/commands/<ref>.md` | Same dispatch path the slash-command takes when typed by the user. |
|
|
99
|
+
| `persona` | `.agent-src.uncompressed/personas/<ref>.md` | Sets `roles.active_role` for the next dependent step; does not produce its own output. |
|
|
100
|
+
| `subagent` | `subagent-orchestration` mode name | Spawned per [`subagent-orchestration`](../../.agent-src.uncompressed/skills/subagent-orchestration/SKILL.md). |
|
|
101
|
+
|
|
102
|
+
## Interpolation
|
|
103
|
+
|
|
104
|
+
Two namespaces only:
|
|
105
|
+
|
|
106
|
+
```
|
|
107
|
+
${{ inputs.<input-id> }}
|
|
108
|
+
${{ steps.<step-id>.output }}
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
Unknown namespaces hard-fail at lint time. The interpolation engine
|
|
112
|
+
does string substitution — there are no expressions, no arithmetic,
|
|
113
|
+
no shell-out.
|
|
114
|
+
|
|
115
|
+
## Linter contract
|
|
116
|
+
|
|
117
|
+
`scripts/lint_orchestration_dsl.py` hard-fails on:
|
|
118
|
+
|
|
119
|
+
- missing or malformed top-level keys (`schema_version`, `name`,
|
|
120
|
+
`description`, `steps`)
|
|
121
|
+
- `schema_version != 1`
|
|
122
|
+
- `name` not matching `[a-z][a-z0-9-]*` or not matching the filename
|
|
123
|
+
- duplicate `steps[].id`
|
|
124
|
+
- `steps[].kind` outside the enum
|
|
125
|
+
- `steps[].ref` pointing at a non-existent skill / command / persona
|
|
126
|
+
- `${{ ... }}` reference to an unknown input or step id
|
|
127
|
+
- `steps[]` length > 32 or < 1
|
|
128
|
+
- `outputs` referencing an unknown step
|
|
129
|
+
|
|
130
|
+
Exit codes mirror [`lint_hook_manifest.py`](../../scripts/lint_hook_manifest.py): `0` clean, `1` failure, `2` schema-load error.
|
|
131
|
+
|
|
132
|
+
## Privacy floor
|
|
133
|
+
|
|
134
|
+
Pipeline files are committed artifacts. They MUST NOT contain:
|
|
135
|
+
|
|
136
|
+
- Secrets, tokens, environment values.
|
|
137
|
+
- Conversation bodies or transcripts.
|
|
138
|
+
- File contents (only paths and refs).
|
|
139
|
+
|
|
140
|
+
## Stability
|
|
141
|
+
|
|
142
|
+
Beta. Breaking changes between v1 and v2 are allowed in a minor
|
|
143
|
+
release if the change appears in `CHANGELOG.md` under a `### Breaking`
|
|
144
|
+
heading. Engines MUST gate on `schema_version` and refuse unknown
|
|
145
|
+
majors.
|
|
146
|
+
|
|
147
|
+
## Cross-references
|
|
148
|
+
|
|
149
|
+
- Command surface: [`/orchestrate`](../../.agent-src.uncompressed/commands/orchestrate.md).
|
|
150
|
+
- Linter: [`lint_orchestration_dsl.py`](../../scripts/lint_orchestration_dsl.py).
|
|
151
|
+
- Runtime dispatcher precedent: [`implement-ticket-flow.md`](implement-ticket-flow.md).
|
|
152
|
+
- Subagent runtime: [`subagent-orchestration`](../../.agent-src.uncompressed/skills/subagent-orchestration/SKILL.md).
|
package/docs/getting-started.md
CHANGED
|
@@ -153,7 +153,7 @@ Your agent now understands slash commands:
|
|
|
153
153
|
| `/quality-fix` | Run and fix all quality checks |
|
|
154
154
|
| `/chat-history` | Inspect the persistent chat-history log (read-only `show`) |
|
|
155
155
|
|
|
156
|
-
→ [Browse all
|
|
156
|
+
→ [Browse all 105 active commands](../.agent-src/commands/)
|
|
157
157
|
|
|
158
158
|
---
|
|
159
159
|
|
package/docs/installation.md
CHANGED
|
@@ -3,6 +3,41 @@
|
|
|
3
3
|
**Principle:** Project-installed by default, plugin-enhanced when available.
|
|
4
4
|
No Task, no Make, no build tools required for installation.
|
|
5
5
|
|
|
6
|
+
## Per-IDE setup — quick index
|
|
7
|
+
|
|
8
|
+
Pick your editor, follow the linked page, done. Each page lists its
|
|
9
|
+
own one-liner, verification, and troubleshooting. The mechanisms
|
|
10
|
+
section below this index is reference material for advanced installs
|
|
11
|
+
(Composer, npm, manual, plugin marketplaces).
|
|
12
|
+
|
|
13
|
+
| Surface | One-liner | Per-IDE page |
|
|
14
|
+
|---|---|---|
|
|
15
|
+
| **Claude Code** | `npx @event4u/create-agent-config init --tools=claude-code` | [`per-ide/claude-code.md`](setup/per-ide/claude-code.md) |
|
|
16
|
+
| **Claude Desktop** | (uses `~/.claude/skills/` from Claude Code global install) | [`per-ide/claude-desktop.md`](setup/per-ide/claude-desktop.md) |
|
|
17
|
+
| **Cursor** | `npx @event4u/create-agent-config init --tools=cursor` | [`per-ide/cursor.md`](setup/per-ide/cursor.md) |
|
|
18
|
+
| **Windsurf** | `npx @event4u/create-agent-config init --tools=windsurf` | [`per-ide/windsurf.md`](setup/per-ide/windsurf.md) |
|
|
19
|
+
| **Cline** | `npx @event4u/create-agent-config init --tools=cline` | [`per-ide/cline.md`](setup/per-ide/cline.md) |
|
|
20
|
+
| **Aider** | `npx @event4u/create-agent-config init --tools=aider` | [`per-ide/aider.md`](setup/per-ide/aider.md) |
|
|
21
|
+
| **Codex CLI** | `npx @event4u/create-agent-config init --tools=codex` | [`per-ide/codex.md`](setup/per-ide/codex.md) |
|
|
22
|
+
| **Gemini CLI** | `npx @event4u/create-agent-config init --tools=gemini` | [`per-ide/gemini-cli.md`](setup/per-ide/gemini-cli.md) |
|
|
23
|
+
| **GitHub Copilot** | `npx @event4u/create-agent-config init --tools=copilot` | [`per-ide/copilot.md`](setup/per-ide/copilot.md) |
|
|
24
|
+
| **All surfaces** | `npx @event4u/create-agent-config init` (default) | (each page above applies) |
|
|
25
|
+
|
|
26
|
+
Combine surfaces by comma-separating: `--tools=claude-code,cursor,windsurf`.
|
|
27
|
+
|
|
28
|
+
> Looking for **global** (cross-project) install? Each per-IDE page
|
|
29
|
+
> documents its own `npx @event4u/agent-config global --tools=<ide>`
|
|
30
|
+
> command.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Mechanisms reference
|
|
35
|
+
|
|
36
|
+
The rest of this page documents the underlying install mechanisms
|
|
37
|
+
(Composer, npm, manual clone, plugin marketplaces). Most users want
|
|
38
|
+
the per-IDE index above.
|
|
39
|
+
|
|
40
|
+
|
|
6
41
|
> **Primary installer:** `scripts/install` — a small bash orchestrator that
|
|
7
42
|
> runs the two real installer stages in order:
|
|
8
43
|
>
|
|
@@ -42,6 +77,63 @@ No Task, no Make, no build tools required for installation.
|
|
|
42
77
|
|
|
43
78
|
---
|
|
44
79
|
|
|
80
|
+
## Quickstart — one-liner entrypoints
|
|
81
|
+
|
|
82
|
+
Try `@event4u/agent-config` in any directory in under 30 seconds, without
|
|
83
|
+
`composer require` or `git clone` first. Both entrypoints are thin
|
|
84
|
+
wrappers around `scripts/install` — same payload, same flags, no extra
|
|
85
|
+
state.
|
|
86
|
+
|
|
87
|
+
### `npx` (Node ≥ 18)
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
# Pick tools interactively (TTY checkbox prompt)
|
|
91
|
+
npx @event4u/create-agent-config init
|
|
92
|
+
|
|
93
|
+
# Pick tools explicitly, non-interactive
|
|
94
|
+
npx @event4u/create-agent-config init --tools=claude-code,cursor --yes
|
|
95
|
+
|
|
96
|
+
# Install everything (the default — backward-compatible)
|
|
97
|
+
npx @event4u/create-agent-config init --tools=all --yes
|
|
98
|
+
|
|
99
|
+
# Test a specific git ref (branch, tag, sha) instead of the latest npm tag
|
|
100
|
+
npx @event4u/create-agent-config init --ref=main --yes
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
The `@event4u/create-agent-config` package is a thin wrapper: it
|
|
104
|
+
downloads the latest `@event4u/agent-config` tarball into a temp
|
|
105
|
+
directory, runs `bash scripts/install --target <cwd> ...`, and cleans
|
|
106
|
+
up after itself. The project-local payload package
|
|
107
|
+
(`@event4u/agent-config`) is unchanged.
|
|
108
|
+
|
|
109
|
+
### `curl | bash` (no Node required)
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
# Defaults (interactive picker if your terminal is a TTY, else --tools=all)
|
|
113
|
+
curl -sSL https://raw.githubusercontent.com/event4u-app/agent-config/main/setup.sh | bash
|
|
114
|
+
|
|
115
|
+
# Explicit tools, non-interactive (same flags as scripts/install)
|
|
116
|
+
curl -sSL https://raw.githubusercontent.com/event4u-app/agent-config/main/setup.sh \
|
|
117
|
+
| bash -s -- --tools=claude-code,cursor --yes
|
|
118
|
+
|
|
119
|
+
# Install from a specific git ref
|
|
120
|
+
curl -sSL https://raw.githubusercontent.com/event4u-app/agent-config/main/setup.sh \
|
|
121
|
+
| bash -s -- --ref=v1.39.0 --tools=cursor --yes
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
Requires `bash`, `tar`, `curl` (or `wget`), and Python ≥ 3.10 on the
|
|
125
|
+
host. Mirrors the agent-os `setup.sh` pattern.
|
|
126
|
+
|
|
127
|
+
### Interactive `--tools` picker
|
|
128
|
+
|
|
129
|
+
When `scripts/install` runs without an explicit `--tools` flag in an
|
|
130
|
+
interactive terminal (stdin + stdout both TTYs, `--yes` not passed), it
|
|
131
|
+
prompts for a comma-separated tool selection. In CI / piped invocations
|
|
132
|
+
the picker is skipped and the backward-compatible `all` default is
|
|
133
|
+
used. Pass `--yes` (or `-y`) to force non-interactive mode anywhere.
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
45
137
|
## Project-installed mode (recommended for teams)
|
|
46
138
|
|
|
47
139
|
Install once in the project — available to everyone working on it.
|
|
@@ -426,6 +518,8 @@ Options:
|
|
|
426
518
|
--quiet Suppress non-error output
|
|
427
519
|
--skip-sync Skip payload sync (install.sh)
|
|
428
520
|
--skip-bridges Skip bridge files (install.py)
|
|
521
|
+
--global Ship kernel rules + curated skills to user-scope dirs
|
|
522
|
+
--uninstall With --global: remove the event4u/ namespace dir
|
|
429
523
|
--help, -h Show this help
|
|
430
524
|
```
|
|
431
525
|
|
|
@@ -434,6 +528,44 @@ The underlying stages keep their own CLI surfaces:
|
|
|
434
528
|
|
|
435
529
|
---
|
|
436
530
|
|
|
531
|
+
## Global user-level install (`--global`)
|
|
532
|
+
|
|
533
|
+
`--global` ships a curated subset of kernel rules + top-N skills into
|
|
534
|
+
**per-tool user-scope directories**, so the agent has them in every
|
|
535
|
+
project on the machine without a per-project install.
|
|
536
|
+
|
|
537
|
+
```bash
|
|
538
|
+
# Default: every supported surface, namespaced under event4u/.
|
|
539
|
+
bash scripts/install --global
|
|
540
|
+
|
|
541
|
+
# Scope to specific surfaces (mirrors the project install --tools flag).
|
|
542
|
+
bash scripts/install --global --tools=claude-code,cursor
|
|
543
|
+
|
|
544
|
+
# Remove only what we put there — never touches user files.
|
|
545
|
+
bash scripts/install --global --uninstall
|
|
546
|
+
```
|
|
547
|
+
|
|
548
|
+
| Surface | Target directory |
|
|
549
|
+
| ------------- | --------------------------------------------------------------- |
|
|
550
|
+
| Claude Code | `~/.claude/rules/event4u/`, `~/.claude/skills/event4u/` |
|
|
551
|
+
| Cursor | `~/.cursor/rules/imported/event4u/{rules,skills}/` |
|
|
552
|
+
| Windsurf | `~/.codeium/windsurf/global_workflows/event4u/{rules,skills}/` |
|
|
553
|
+
| Fallback | `~/.config/agent-config/{rules,skills}/event4u/` |
|
|
554
|
+
|
|
555
|
+
The fallback path is always written so an editor we don't yet know
|
|
556
|
+
about can still pick the files up.
|
|
557
|
+
|
|
558
|
+
**Curation source:** `templates/global-install-manifest.yml`. Edit
|
|
559
|
+
post-install to grow or shrink the global set; re-run `--global` to
|
|
560
|
+
re-project. `--uninstall` only removes the `event4u/` namespace —
|
|
561
|
+
user-added rules / skills under sibling paths stay untouched.
|
|
562
|
+
|
|
563
|
+
**When to use:** running multiple unrelated projects where a per-project
|
|
564
|
+
install is overkill, or wiring up a new editor (Claude Desktop, Cursor)
|
|
565
|
+
that benefits from a baseline set of skills out of the box.
|
|
566
|
+
|
|
567
|
+
---
|
|
568
|
+
|
|
437
569
|
## Updating
|
|
438
570
|
|
|
439
571
|
When a new version of the package is published:
|
|
@@ -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,148 @@
|
|
|
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 the hosted `agent-config-mcp`
|
|
72
|
+
Worker exposes the **full** skill / rule / command catalog (~480 items)
|
|
73
|
+
on demand, on top of the 15 you installed in Step 1.
|
|
74
|
+
|
|
75
|
+
Edit `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
76
|
+
(macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows /
|
|
77
|
+
Linux is `~/.config/Claude/claude_desktop_config.json`):
|
|
78
|
+
|
|
79
|
+
```json
|
|
80
|
+
{
|
|
81
|
+
"mcpServers": {
|
|
82
|
+
"agent-config": {
|
|
83
|
+
"command": "npx",
|
|
84
|
+
"args": ["-y", "mcp-remote", "https://agent-config-mcp.event4u.workers.dev"]
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
A pre-wired template ships at
|
|
91
|
+
[`templates/claude_desktop_config.json.template`](../../../templates/claude_desktop_config.json.template) —
|
|
92
|
+
copy + uncomment the MCP block.
|
|
93
|
+
|
|
94
|
+
Restart Claude Desktop. The 🔌 icon shows the connector under
|
|
95
|
+
**Settings → Connectors**. Full transport details (mcp-remote vs.
|
|
96
|
+
native HTTP) live in
|
|
97
|
+
[`../mcp-client-config.md`](../mcp-client-config.md).
|
|
98
|
+
|
|
99
|
+
## Claude Desktop ↔ Claude Code config sharing
|
|
100
|
+
|
|
101
|
+
Both surfaces read **the same `~/.claude/` directory**. Anything you
|
|
102
|
+
install for one is automatically available in the other:
|
|
103
|
+
|
|
104
|
+
| File / dir | Shared by Desktop & Code? |
|
|
105
|
+
| -------------------------------- | ------------------------- |
|
|
106
|
+
| `~/.claude/CLAUDE.md` | yes — global system prompt |
|
|
107
|
+
| `~/.claude/rules/event4u/` | yes — installed by `--global` |
|
|
108
|
+
| `~/.claude/skills/event4u/` | yes — installed by `--global` |
|
|
109
|
+
| `~/.claude/commands/` | yes — slash commands |
|
|
110
|
+
| `~/.claude/hooks/` | yes — lifecycle hooks |
|
|
111
|
+
| `claude_desktop_config.json` | Desktop only (MCP) |
|
|
112
|
+
| `~/.claude.json` (CLI config) | Code only |
|
|
113
|
+
|
|
114
|
+
Translation: run `--global` once, both clients pick the files up.
|
|
115
|
+
Cross-link to [`claude-code.md`](claude-code.md) for the CLI-side
|
|
116
|
+
view.
|
|
117
|
+
|
|
118
|
+
## Claude Cowork
|
|
119
|
+
|
|
120
|
+
Claude Cowork (paid plans only — Pro / Max / Team) **shares the
|
|
121
|
+
Desktop config**. Once Step 1 + Step 3 are done in Desktop:
|
|
122
|
+
|
|
123
|
+
- Skills and rules under `~/.claude/` are picked up automatically.
|
|
124
|
+
- MCP servers under `claude_desktop_config.json` are available
|
|
125
|
+
inside Cowork sessions without a separate install.
|
|
126
|
+
- Cowork-specific limit (per Anthropic docs): MCP tools that write to
|
|
127
|
+
the local filesystem are sandboxed — read-only tools (the entire
|
|
128
|
+
hosted `agent-config-mcp` surface) work fine.
|
|
129
|
+
|
|
130
|
+
If a feature works in Desktop but not in Cowork, check that you're on
|
|
131
|
+
a paid plan — Cowork is gated, Desktop's free tier has the full
|
|
132
|
+
client-side feature set.
|
|
133
|
+
|
|
134
|
+
## Uninstall
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
bash scripts/install --global --uninstall --tools=claude-code
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
Removes only `~/.claude/{rules,skills}/event4u/`. Anything you added
|
|
141
|
+
under sibling paths (custom rules, your own slash commands) stays.
|
|
142
|
+
|
|
143
|
+
## See also
|
|
144
|
+
|
|
145
|
+
- Project-local install — [`../../installation.md`](../../installation.md)
|
|
146
|
+
- Global install reference — [`../../installation.md#global-user-level-install---global`](../../installation.md#global-user-level-install---global)
|
|
147
|
+
- MCP client transports — [`../mcp-client-config.md`](../mcp-client-config.md)
|
|
148
|
+
- 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.
|