@event4u/agent-config 2.0.0 → 2.1.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.
@@ -1,7 +1,7 @@
1
1
  ---
2
- name: fix:pr-bots
2
+ name: fix:pr-bot-comments
3
3
  cluster: fix
4
- sub: pr-bots
4
+ sub: pr-bot-comments
5
5
  skills: [php-coder, quality-tools]
6
6
  description: Fix and reply to bot review comments (Copilot, Augment, Greptile, etc.) on a GitHub PR
7
7
  disable-model-invocation: true
@@ -11,7 +11,7 @@ suggestion:
11
11
  trigger_context: "open PR with bot review comments unresolved"
12
12
  ---
13
13
 
14
- # /fix pr-bots
14
+ # /fix pr-bot-comments
15
15
  ## Input
16
16
 
17
17
  The user may or may not provide a PR URL.
@@ -1,7 +1,7 @@
1
1
  ---
2
- name: fix:pr
2
+ name: fix:pr-comments
3
3
  cluster: fix
4
- sub: pr
4
+ sub: pr-comments
5
5
  skills: [php-coder]
6
6
  description: Fix and reply to all open review comments (bots + human reviewers) on a GitHub PR
7
7
  disable-model-invocation: true
@@ -11,8 +11,8 @@ suggestion:
11
11
  trigger_context: "open PR with unresolved comments (bot + human)"
12
12
  ---
13
13
 
14
- # /fix pr
15
- This command runs `/fix pr-bots` and `/fix pr-developers` in sequence on the same PR.
14
+ # /fix pr-comments
15
+ This command runs `/fix pr-bot-comments` and `/fix pr-developer-comments` in sequence on the same PR.
16
16
 
17
17
  ## Input
18
18
 
@@ -45,14 +45,14 @@ The chosen mode applies to **both** phases.
45
45
 
46
46
  ### Phase 1: Bot comments
47
47
 
48
- Follow the full `/fix pr-bots` instructions (see `commands/fix/pr-bots.md`).
48
+ Follow the full `/fix pr-bot-comments` instructions (see `commands/fix/pr-bot-comments.md`).
49
49
  Use the already-confirmed PR and mode — do not ask again.
50
50
 
51
51
  Report when done: "Bot comments done. Continuing with reviewer comments..."
52
52
 
53
53
  ### Phase 2: Developer comments
54
54
 
55
- Follow the full `/fix pr-developers` instructions (see `commands/fix/pr-developers.md`).
55
+ Follow the full `/fix pr-developer-comments` instructions (see `commands/fix/pr-developer-comments.md`).
56
56
  Use the same PR and mode.
57
57
 
58
58
  ### After both phases
@@ -1,7 +1,7 @@
1
1
  ---
2
- name: fix:pr-developers
2
+ name: fix:pr-developer-comments
3
3
  cluster: fix
4
- sub: pr-developers
4
+ sub: pr-developer-comments
5
5
  skills: [php-coder]
6
6
  description: Fix and reply to human reviewer comments on a GitHub PR
7
7
  disable-model-invocation: true
@@ -11,7 +11,7 @@ suggestion:
11
11
  trigger_context: "open PR with unresolved human-reviewer comments"
12
12
  ---
13
13
 
14
- # /fix pr-developers
14
+ # /fix pr-developer-comments
15
15
  ## Input
16
16
 
17
17
  The user may or may not provide a PR URL.
@@ -22,9 +22,9 @@ with a single entry point + sub-command dispatch.
22
22
  | `/fix refs` | `commands/fix/refs.md` | Find and fix broken cross-references in `.augment/` and `agents/` |
23
23
  | `/fix portability` | `commands/fix/portability.md` | Find and fix project-specific references in shared `.augment/` files |
24
24
  | `/fix seeder` | `commands/fix/seeder.md` | Scan seeder data files for broken FK references |
25
- | `/fix pr` | `commands/fix/pr.md` | Fix and reply to **all** open review comments (bots + humans) |
26
- | `/fix pr-bots` | `commands/fix/pr-bots.md` | Fix and reply to **bot** review comments only |
27
- | `/fix pr-developers` | `commands/fix/pr-developers.md` | Fix and reply to **human** reviewer comments only |
25
+ | `/fix pr-comments` | `commands/fix/pr-comments.md` | Fix and reply to **all** open review comments (bots + humans) |
26
+ | `/fix pr-bot-comments` | `commands/fix/pr-bot-comments.md` | Fix and reply to **bot** review comments only |
27
+ | `/fix pr-developer-comments` | `commands/fix/pr-developer-comments.md` | Fix and reply to **human** reviewer comments only |
28
28
 
29
29
  Sub-command names match the locked contract in
30
30
  [`docs/contracts/command-clusters.md`](../docs/contracts/command-clusters.md).
@@ -41,9 +41,9 @@ Sub-command names match the locked contract in
41
41
  > 2. refs — fix broken cross-refs in agent docs
42
42
  > 3. portability — purge project-specific refs from shared package
43
43
  > 4. seeder — scan seeders for broken FK references
44
- > 5. pr — address all open review comments
45
- > 6. pr-bots — address bot reviewer comments only
46
- > 7. pr-developers — address human reviewer comments only
44
+ > 5. pr-comments — address all open review comments
45
+ > 6. pr-bot-comments — address bot reviewer comments only
46
+ > 7. pr-developer-comments — address human reviewer comments only
47
47
 
48
48
  ## Rules
49
49
 
@@ -4,7 +4,7 @@ Lookup table for the `slash-command-routing-policy` rule. Lists the
4
4
  locked clusters and their sub-commands so the rule itself can stay at
5
5
  its current LOC while still reflecting the full surface. Source of
6
6
  truth for the cluster names is
7
- [`docs/contracts/command-clusters.md`](../../../../../../docs/contracts/command-clusters.md);
7
+ [`docs/contracts/command-clusters.md`](../../../../../docs/contracts/command-clusters.md);
8
8
  this file mirrors that contract for runtime lookup. Linter:
9
9
  `scripts/check_cluster_patterns.py` (verifies dispatcher shape).
10
10
 
@@ -12,7 +12,7 @@ this file mirrors that contract for runtime lookup. Linter:
12
12
 
13
13
  | Cluster | Phase | Sub-commands | Replaces |
14
14
  |---|:-:|---|-------------------------------------------------------------------------------------------------------------------------------------------------|
15
- | `/fix` | 1 | `ci` · `pr` · `pr-bots` · `pr-developers` · `portability` · `refs` · `seeder` | `/fix-ci` · `/fix-pr-comments` · `/fix-pr-bot-comments` · `/fix-pr-developer-comments` · `/fix-portability` · `/fix-references` · `/fix-seeder` |
15
+ | `/fix` | 1 | `ci` · `pr-comments` · `pr-bot-comments` · `pr-developer-comments` · `portability` · `refs` · `seeder` | `/fix-ci` · `/fix-pr-comments` · `/fix-pr-bot-comments` · `/fix-pr-developer-comments` · `/fix-portability` · `/fix-references` · `/fix-seeder` |
16
16
  | `/optimize` | 1 | `agents` · `augmentignore` · `rtk` · `skills` | `/optimize-agents` · `/optimize-augmentignore` · `/optimize-rtk-filters` · `/optimize-skills` |
17
17
  | `/feature` | 1 | `explore` · `plan` · `refactor` · `roadmap` | `/feature-explore` · `/feature-plan` · `/feature-refactor` · `/feature-roadmap` |
18
18
  | `/chat-history` | 2 | `show` | `/chat-history` (legacy status) — `resume` / `clear` / `checkpoint` removed in `road-to-chat-history-hook-only` |
@@ -6,7 +6,7 @@
6
6
  },
7
7
  "metadata": {
8
8
  "description": "Shared agent configuration \u2014 skills for AI coding tools (Claude Code, Augment, Cursor, Cline, Windsurf, Gemini CLI).",
9
- "version": "2.0.0"
9
+ "version": "2.1.0"
10
10
  },
11
11
  "plugins": [
12
12
  {
@@ -112,9 +112,9 @@
112
112
  "./.claude/skills/fix",
113
113
  "./.claude/skills/fix-ci",
114
114
  "./.claude/skills/fix-portability",
115
- "./.claude/skills/fix-pr",
116
- "./.claude/skills/fix-pr-bots",
117
- "./.claude/skills/fix-pr-developers",
115
+ "./.claude/skills/fix-pr-bot-comments",
116
+ "./.claude/skills/fix-pr-comments",
117
+ "./.claude/skills/fix-pr-developer-comments",
118
118
  "./.claude/skills/fix-refs",
119
119
  "./.claude/skills/fix-seeder",
120
120
  "./.claude/skills/flux",
package/CHANGELOG.md CHANGED
@@ -318,6 +318,37 @@ our recommendation order, not its support status.
318
318
  users" tension without removing any path that an existing user
319
319
  might rely on.
320
320
 
321
+ ## [2.1.0](https://github.com/event4u-app/agent-config/compare/2.0.0...2.1.0) (2026-05-12)
322
+
323
+ ### Features
324
+
325
+ * **wrapper:** add npx fallback and sanitize wrapper error test ([9f4326b](https://github.com/event4u-app/agent-config/commit/9f4326bffc59d79e4421b0cd8966c99348afe1e6))
326
+ * **installer:** add source-repo guard and drop composer/global paths ([5388de2](https://github.com/event4u-app/agent-config/commit/5388de2598ea668a8671f49bd7bacd4866ed1c33))
327
+
328
+ ### Documentation
329
+
330
+ * **installation:** add Upgrading from v1 section ([f35df4b](https://github.com/event4u-app/agent-config/commit/f35df4b9667eb848ce2ec47f4a7c550b1bba4054))
331
+ * align install guides with v2 npx-only flow ([e841a14](https://github.com/event4u-app/agent-config/commit/e841a14cdbb6691433976c57ff9b28b3ec4992ad))
332
+ * **readme:** collapse plugin-install table to one-liner ([b3407bb](https://github.com/event4u-app/agent-config/commit/b3407bb2fda39a8a57c0e2f72c8b430bed4fd012))
333
+
334
+ ### Refactoring
335
+
336
+ * **cli:** rename fix:pr sub-commands for clarity ([fbdf636](https://github.com/event4u-app/agent-config/commit/fbdf636a50a06f3b35fe5c3d5fb108e9c15e6266))
337
+
338
+ ### Tests
339
+
340
+ * **install:** drop composer-detection tests retired in v2 ([e37ad99](https://github.com/event4u-app/agent-config/commit/e37ad99beaebbb5f6a98b41e02ecefd6b0d39453))
341
+
342
+ ### Build
343
+
344
+ * **tasks:** add npm:login + npm:publish-installer ([22639f8](https://github.com/event4u-app/agent-config/commit/22639f877feee33a3cbadb9147941cfb32fb6c9e))
345
+
346
+ ### Chores
347
+
348
+ * remove retired setup.sh and global-install test surface ([3eebcf7](https://github.com/event4u-app/agent-config/commit/3eebcf72bcc45af168df4fd4b172a2484901a793))
349
+
350
+ Tests: 3253 (-4 since 2.0.0)
351
+
321
352
  ## [2.0.0](https://github.com/event4u-app/agent-config/compare/1.41.2...2.0.0) (2026-05-12)
322
353
 
323
354
  ### BREAKING CHANGES
package/README.md CHANGED
@@ -79,13 +79,12 @@ dispatcher per bridge as a post-install smoke test (skip: `--no-smoke`).
79
79
 
80
80
  ### For individual use (optional)
81
81
 
82
- Install directly in your agent for global, cross-project use:
82
+ Skills-only, global across projects installs into the agent itself,
83
+ no per-repo `init`:
83
84
 
84
- | Tool | Install |
85
- |---|---|
86
- | **Augment CLI** | `auggie plugin install agent-config@event4u-agent-config` |
87
- | **Claude Code** | `claude plugin install agent-config@event4u-agent-config` |
88
- | **Copilot CLI** | `copilot plugin install agent-config@event4u-agent-config` |
85
+ ```bash
86
+ <auggie|claude|copilot> plugin install agent-config@event4u-agent-config
87
+ ```
89
88
 
90
89
  → [All install options & project bridge setup](docs/installation.md)
91
90
 
@@ -54,7 +54,7 @@ tree where:
54
54
  `.agent-src/<subdir>/`. Reading a context follows the symlink to
55
55
  the package payload.
56
56
  - `.augment/docs/guidelines/` — **symlink** into the package's
57
- `docs/guidelines/` (consumer side: `vendor/event4u/agent-config/docs/guidelines/`;
57
+ `docs/guidelines/` (consumer side: `node_modules/@event4u/agent-config/docs/guidelines/`;
58
58
  package self-projection: `../docs/guidelines/`). This is the only
59
59
  `docs/` subdirectory exposed in `.augment/`; `docs/contracts/` and
60
60
  `docs/decisions/` are package-internal — rules that reference
package/docs/catalog.md CHANGED
@@ -294,9 +294,9 @@ are excluded.
294
294
  | command | [`feature`](../.agent-src/commands/feature.md) | cluster: feature | Feature orchestrator — routes to explore, plan, refactor, roadmap, dev |
295
295
  | command | [`fix:ci`](../.agent-src/commands/fix/ci.md) | cluster: fix | Fetch CI errors from GitHub Actions and fix them |
296
296
  | command | [`fix:portability`](../.agent-src/commands/fix/portability.md) | cluster: fix | Find and fix project-specific references in shared .augment/ package files |
297
- | command | [`fix:pr-bots`](../.agent-src/commands/fix/pr-bots.md) | cluster: fix | Fix and reply to bot review comments (Copilot, Augment, Greptile, etc.) on a GitHub PR |
298
- | command | [`fix:pr-developers`](../.agent-src/commands/fix/pr-developers.md) | cluster: fix | Fix and reply to human reviewer comments on a GitHub PR |
299
- | command | [`fix:pr`](../.agent-src/commands/fix/pr.md) | cluster: fix | Fix and reply to all open review comments (bots + human reviewers) on a GitHub PR |
297
+ | command | [`fix:pr-bot-comments`](../.agent-src/commands/fix/pr-bot-comments.md) | cluster: fix | Fix and reply to bot review comments (Copilot, Augment, Greptile, etc.) on a GitHub PR |
298
+ | command | [`fix:pr-comments`](../.agent-src/commands/fix/pr-comments.md) | cluster: fix | Fix and reply to all open review comments (bots + human reviewers) on a GitHub PR |
299
+ | command | [`fix:pr-developer-comments`](../.agent-src/commands/fix/pr-developer-comments.md) | cluster: fix | Fix and reply to human reviewer comments on a GitHub PR |
300
300
  | command | [`fix:refs`](../.agent-src/commands/fix/refs.md) | cluster: fix | Find and fix broken cross-references in .augment/ and agents/ files |
301
301
  | command | [`fix:seeder`](../.agent-src/commands/fix/seeder.md) | cluster: fix | Scan seeder data files for broken foreign key references — find constants used without getReference() and fix them |
302
302
  | command | [`fix`](../.agent-src/commands/fix.md) | cluster: fix | Fix orchestrator — routes to ci, references, portability, seeder, pr-comments, pr-bot-comments, pr-developer-comments |
@@ -11,7 +11,7 @@ stability: beta
11
11
  The agent-config command surface collapses related atomic commands
12
12
  into **verb clusters**. A cluster is a single top-level command
13
13
  (e.g. `/fix`) that dispatches to sub-commands (e.g. `/fix ci`,
14
- `/fix pr`). Old atomic commands stay one release as deprecation
14
+ `/fix pr-comments`). Old atomic commands stay one release as deprecation
15
15
  shims, then disappear.
16
16
 
17
17
  This file is the **locked source of truth** for which clusters
@@ -27,7 +27,7 @@ column 1 of this table.
27
27
 
28
28
  | Cluster | Phase | Sub-commands | Replaces |
29
29
  |---|:-:|---|---|
30
- | `fix` | 1 | `ci` · `pr` · `pr-bots` · `pr-developers` · `portability` · `refs` · `seeder` | `fix-ci` · `fix-pr-comments` · `fix-pr-bot-comments` · `fix-pr-developer-comments` · `fix-portability` · `fix-references` · `fix-seeder` |
30
+ | `fix` | 1 | `ci` · `pr-comments` · `pr-bot-comments` · `pr-developer-comments` · `portability` · `refs` · `seeder` | `fix-ci` · `fix-pr-comments` · `fix-pr-bot-comments` · `fix-pr-developer-comments` · `fix-portability` · `fix-references` · `fix-seeder` |
31
31
  | `optimize` | 1 | `agents-dir` · `augmentignore` · `rtk` · `skills` | `optimize-augmentignore` · `optimize-rtk-filters` · `optimize-skills` · former `/optimize agents` and `/optimize agents-md` moved to the `/agents` file-family cluster 2026-05-09; `/agents prepare/audit/cleanup` collapsed into the single `/optimize agents-dir` (flags or wizard) per the agent-doc consolidation |
32
32
  | `feature` | 1 | `explore` · `plan` · `refactor` · `roadmap` · `dev` | `feature-explore` · `feature-plan` · `feature-refactor` · `feature-roadmap` · `feature-dev` |
33
33
  | `chat-history` | 2 | `show` · `import` · `learn` | `chat-history` (legacy status) — `resume` / `clear` / `checkpoint` removed in `road-to-chat-history-hook-only` (auto-adopt + structural hooks); `import` (verbatim cross-session render) and `learn` (project-improving learning extraction) added in the v4 stateless schema |
@@ -84,7 +84,7 @@ every new sub-command added to an existing cluster.
84
84
  cluster's primary verb (e.g. `/roadmap:create` + `process-*`
85
85
  composites).
86
86
 
87
- 3. **Sub-name format.** kebab-case (`pr-bots`, `process-phase`),
87
+ 3. **Sub-name format.** kebab-case (`pr-bot-comments`, `process-phase`),
88
88
  ≤ 24 chars, no leading verb that duplicates the cluster name
89
89
  (use `/fix:ci`, not `/fix:fix-ci`).
90
90
 
@@ -261,19 +261,19 @@
261
261
  "load_context": [],
262
262
  "load_context_eager": []
263
263
  },
264
- ".agent-src.uncompressed/commands/fix/pr-bots.md": {
264
+ ".agent-src.uncompressed/commands/fix/pr-bot-comments.md": {
265
265
  "kind": "command",
266
266
  "rule_type": null,
267
267
  "load_context": [],
268
268
  "load_context_eager": []
269
269
  },
270
- ".agent-src.uncompressed/commands/fix/pr-developers.md": {
270
+ ".agent-src.uncompressed/commands/fix/pr-comments.md": {
271
271
  "kind": "command",
272
272
  "rule_type": null,
273
273
  "load_context": [],
274
274
  "load_context_eager": []
275
275
  },
276
- ".agent-src.uncompressed/commands/fix/pr.md": {
276
+ ".agent-src.uncompressed/commands/fix/pr-developer-comments.md": {
277
277
  "kind": "command",
278
278
  "rule_type": null,
279
279
  "load_context": [],
@@ -3088,22 +3088,22 @@
3088
3088
  "depth": 0
3089
3089
  },
3090
3090
  {
3091
- "source": ".agent-src.uncompressed/commands/fix/pr-bots.md",
3092
- "target": ".agent-src.uncompressed/commands/fix/pr-bots.md",
3091
+ "source": ".agent-src.uncompressed/commands/fix/pr-bot-comments.md",
3092
+ "target": ".agent-src.uncompressed/commands/fix/pr-bot-comments.md",
3093
3093
  "type": "WRITE",
3094
3094
  "via": "self",
3095
3095
  "depth": 0
3096
3096
  },
3097
3097
  {
3098
- "source": ".agent-src.uncompressed/commands/fix/pr-developers.md",
3099
- "target": ".agent-src.uncompressed/commands/fix/pr-developers.md",
3098
+ "source": ".agent-src.uncompressed/commands/fix/pr-comments.md",
3099
+ "target": ".agent-src.uncompressed/commands/fix/pr-comments.md",
3100
3100
  "type": "WRITE",
3101
3101
  "via": "self",
3102
3102
  "depth": 0
3103
3103
  },
3104
3104
  {
3105
- "source": ".agent-src.uncompressed/commands/fix/pr.md",
3106
- "target": ".agent-src.uncompressed/commands/fix/pr.md",
3105
+ "source": ".agent-src.uncompressed/commands/fix/pr-developer-comments.md",
3106
+ "target": ".agent-src.uncompressed/commands/fix/pr-developer-comments.md",
3107
3107
  "type": "WRITE",
3108
3108
  "via": "self",
3109
3109
  "depth": 0
@@ -1,33 +1,23 @@
1
1
  # Getting Started
2
2
 
3
3
  `agent-config` is a stack-agnostic orchestration contract for coding
4
- agents. The installer detects the project shape (Composer / npm / both /
5
- neither) and wires the matching glue. **Pick the entrypoint that
6
- matches the project**, not the language you happen to prefer.
4
+ agents. Installation is npx-first; the package itself is npm-published
5
+ and works in any project regardless of language.
7
6
 
8
7
  ## Installation
9
8
 
10
- The installer is the same orchestrator across stacks — it reads
11
- `composer.json` and/or `package.json`, syncs the payload, and generates
12
- the tool-specific glue. Pick one entrypoint:
9
+ Pick one entrypoint:
13
10
 
14
11
  ```bash
15
- # Composer-based projects (PHP / Laravel / Symfony / Zend / Laminas)
16
- composer require --dev event4u/agent-config
17
- php vendor/bin/install.php
18
- # Equivalent: bash vendor/event4u/agent-config/scripts/install
19
-
20
- # npm-based projects (Next.js / React / Node / Vue / plain JS/TS)
21
- npm install --save-dev @event4u/agent-config
22
- # Postinstall runs the orchestrator. Re-run or pick a profile:
23
- # bash node_modules/@event4u/agent-config/scripts/install --profile=balanced
24
-
25
- # Mixed Composer + npm projects (Laravel + Inertia, Symfony + Vue, …)
26
- # Run both — the orchestrator merges results, no double-write.
27
-
28
- # Stack-less or polyglot repos (no Composer, no npm)
29
- git clone https://github.com/event4u-app/agent-config /tmp/agent-config
30
- bash /tmp/agent-config/scripts/install --target "$PWD"
12
+ # Recommended one-shot, no local dependency
13
+ npx @event4u/create-agent-config init --tools=claude-code,cursor
14
+
15
+ # No-Node fallback — curl | bash entrypoint (downloads a tarball)
16
+ curl -sSL https://raw.githubusercontent.com/event4u-app/agent-config/main/setup.sh | bash
17
+
18
+ # Global CLI (one install per machine, all projects)
19
+ npm install -g @event4u/agent-config
20
+ agent-config --help
31
21
  ```
32
22
 
33
23
  That's it. Your agent now follows your team's standards. The orchestrator
@@ -49,9 +39,10 @@ so you can run a few package scripts without installing `go-task`,
49
39
  ./agent-config help # full command list
50
40
  ```
51
41
 
52
- The wrapper is regenerated on every `npm install` / `composer install`
53
- and delegates to the copy under `node_modules/@event4u/agent-config/`
54
- or `vendor/event4u/agent-config/`.
42
+ The wrapper is regenerated on every install and delegates to (in order):
43
+ `$AGENT_CONFIG_MASTER`, `./node_modules/@event4u/agent-config/`,
44
+ `agent-config` on `$PATH` (global npm install), or
45
+ `npx @event4u/agent-config@latest`.
55
46
 
56
47
  ## First Run
57
48
 
@@ -31,6 +31,41 @@ Combine surfaces by comma-separating: `--tools=claude-code,cursor,windsurf`.
31
31
 
32
32
  ---
33
33
 
34
+ ## Upgrading from v1
35
+
36
+ v2 is a breaking change: the local-install scheme (Composer
37
+ `require-dev`, npm `devDependency`, the `--global` symlink namespace
38
+ under `~/.claude/`, `~/.cursor/`, `~/.codeium/windsurf/`,
39
+ `~/.config/agent-config/`) is **retired**. v2 is npx-only — the
40
+ runtime is resolved per invocation, pinned by
41
+ `agent_config_version` in `.agent-settings.yml`.
42
+
43
+ One command does the cutover, idempotently:
44
+
45
+ ```bash
46
+ ./agent-config migrate # remove legacy install signals
47
+ ./agent-config migrate --dry-run # detect only, no writes
48
+ ```
49
+
50
+ What `migrate` cleans up:
51
+
52
+ | What | Action |
53
+ |---|---|
54
+ | `package.json` → `devDependencies.@event4u/agent-config` | Removed (lockfile updated on next `npm install`). |
55
+ | `composer.json` → `require*.event4u/agent-config` | Removed (lockfile updated on next `composer update`). |
56
+ | Symlinks `.augment/`, `.claude/`, `.cursor/`, `.clinerules/`, `.windsurfrules` pointing into `vendor/` or `node_modules/` | Deleted. User-owned links are preserved with a warning. |
57
+ | `.agent-settings.yml` | Written fresh if missing, with `agent_config_version` pinned. |
58
+ | `.gitignore` agent-config block | Refreshed. |
59
+
60
+ After `migrate` runs, you can drop the now-unreferenced
61
+ `node_modules/@event4u/agent-config/` and `vendor/event4u/agent-config/`
62
+ directories with `npm prune` and `composer update` respectively.
63
+
64
+ Full contract sketch + the retired `--global` namespace teardown:
65
+ [`docs/migration/v1-to-v2.md`](migration/v1-to-v2.md).
66
+
67
+ ---
68
+
34
69
  ## Mechanisms reference
35
70
 
36
71
  The rest of this page documents the underlying install mechanisms
@@ -46,9 +81,9 @@ the per-IDE index above.
46
81
  > 2. `scripts/install.py` — bridge files (`.agent-settings.yml`, VSCode /
47
82
  > Augment / Copilot JSON descriptors).
48
83
  >
49
- > `bin/install.php` and `scripts/postinstall.sh` are thin wrappers that
50
- > delegate to `scripts/install`. Both underlying stages remain callable
51
- > directly for advanced use; see their `--help`.
84
+ > `npx @event4u/create-agent-config init` and `setup.sh` (curl-based)
85
+ > are thin wrappers that delegate to `scripts/install`. Both underlying
86
+ > stages remain callable directly for advanced use; see their `--help`.
52
87
  >
53
88
  > Python 3.10+ is required for bridges. If it is missing, the orchestrator
54
89
  > prints a warning and continues with the payload sync only.
@@ -80,9 +115,9 @@ the per-IDE index above.
80
115
  ## Quickstart — one-liner entrypoints
81
116
 
82
117
  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.
118
+ adding it as a dev dependency or cloning the repo first. Both
119
+ entrypoints are thin wrappers around `scripts/install` — same payload,
120
+ same flags, no extra state.
86
121
 
87
122
  ### `npx` (Node ≥ 18)
88
123
 
@@ -139,41 +174,26 @@ used. Pass `--yes` (or `-y`) to force non-interactive mode anywhere.
139
174
  Install once in the project — available to everyone working on it.
140
175
  The package is versioned with the project. Settings are committed once.
141
176
 
142
- ### Composer (PHP projects)
177
+ ### npx (recommended for any project)
143
178
 
144
179
  ```bash
145
- composer require --dev event4u/agent-config
146
- php vendor/bin/install.php
180
+ npx @event4u/create-agent-config init --tools=claude-code,cursor
147
181
  ```
148
182
 
149
- Composer does **not** run a post-install hook for this package — the
150
- installer is an explicit step. `bin/install.php` is a thin wrapper that
151
- calls `scripts/install` (the bash orchestrator). To pick a non-default
152
- profile:
183
+ The wrapper downloads the latest `@event4u/agent-config` tarball into a
184
+ temp dir, runs `scripts/install` with the selected tools, and cleans up
185
+ afterwards. Nothing is added to `package.json`.
153
186
 
154
- ```bash
155
- php vendor/bin/install.php --profile=balanced
156
- ```
157
-
158
- The `--profile` flag controls the initial `cost_profile` value written
159
- to `.agent-settings.yml`.
160
-
161
- ### npm (JavaScript/TypeScript projects)
187
+ ### Global CLI (one install per machine)
162
188
 
163
189
  ```bash
164
- npm install --save-dev @event4u/agent-config
190
+ npm install -g @event4u/agent-config
191
+ agent-config --help
165
192
  ```
166
193
 
167
- npm runs `scripts/postinstall.sh` automatically, which invokes
168
- `scripts/install` the same orchestrator every other entry point uses.
169
-
170
- If your setup disables install scripts (`npm config set ignore-scripts
171
- true` or similar), nothing happens and the command prints no warning.
172
- Re-run the installer manually in that case:
173
-
174
- ```bash
175
- bash node_modules/@event4u/agent-config/scripts/install
176
- ```
194
+ The global install puts `agent-config` on `$PATH` so the project
195
+ wrapper (`./agent-config`) can fall through to it when no
196
+ `node_modules/@event4u/agent-config/` exists.
177
197
 
178
198
  ### Installer orchestrator (`scripts/install`)
179
199
 
@@ -188,12 +208,6 @@ bash scripts/install --skip-sync # bridges only
188
208
  bash scripts/install --dry-run # show payload sync plan, skip bridges
189
209
  ```
190
210
 
191
- PHP users can use the Composer wrapper, which forwards all flags:
192
-
193
- ```bash
194
- php vendor/bin/install.php --profile=balanced
195
- ```
196
-
197
211
  Under the hood:
198
212
 
199
213
  - `scripts/install.sh` — payload sync (callable directly for sync-only runs).
@@ -544,15 +558,12 @@ for the upgrade path.
544
558
  When a new version of the package is published:
545
559
 
546
560
  ```bash
547
- composer update event4u/agent-config
548
- php vendor/bin/install.php # refresh bridges + symlinks
549
- ```
550
-
551
- Or for npm projects:
561
+ # npx (one-shot, recommended) — always uses the latest tarball
562
+ npx @event4u/create-agent-config init --tools=claude-code,cursor
552
563
 
553
- ```bash
554
- npm update @event4u/agent-config
555
- bash node_modules/@event4u/agent-config/scripts/install
564
+ # Global CLI
565
+ npm install -g @event4u/agent-config@latest
566
+ agent-config --help
556
567
  ```
557
568
 
558
569
  The installer is idempotent — re-running it after an update refreshes
@@ -15,9 +15,9 @@ invocation and are removed in `1.16.0`.
15
15
  | Old command | New invocation | Removed in |
16
16
  |---|---|---|
17
17
  | `/fix-ci` | `/fix ci` | 1.16.0 |
18
- | `/fix-pr-comments` | `/fix pr` | 1.16.0 |
19
- | `/fix-pr-bot-comments` | `/fix pr-bots` | 1.16.0 |
20
- | `/fix-pr-developer-comments` | `/fix pr-developers` | 1.16.0 |
18
+ | `/fix-pr-comments` | `/fix pr-comments` | 1.16.0 |
19
+ | `/fix-pr-bot-comments` | `/fix pr-bot-comments` | 1.16.0 |
20
+ | `/fix-pr-developer-comments` | `/fix pr-developer-comments` | 1.16.0 |
21
21
  | `/fix-portability` | `/fix portability` | 1.16.0 |
22
22
  | `/fix-references` | `/fix refs` | 1.16.0 |
23
23
  | `/fix-seeder` | `/fix seeder` | 1.16.0 |