@event4u/agent-config 2.2.1 → 2.3.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/rules/external-reference-deep-dive.md +69 -0
- package/.agent-src/templates/copilot-instructions.md +7 -0
- package/.claude-plugin/marketplace.json +27 -1
- package/CHANGELOG.md +57 -0
- package/README.md +1 -8
- package/docs/architecture.md +1 -1
- package/docs/contracts/installed-tools-lockfile.md +138 -0
- package/docs/development.md +37 -0
- package/docs/getting-started.md +1 -1
- package/docs/installation.md +14 -0
- package/docs/setup/per-ide/antigravity.md +63 -0
- package/docs/setup/per-ide/augment.md +77 -0
- package/docs/setup/per-ide/codebuddy.md +63 -0
- package/docs/setup/per-ide/continue.md +68 -0
- package/docs/setup/per-ide/droid.md +65 -0
- package/docs/setup/per-ide/jetbrains.md +76 -0
- package/docs/setup/per-ide/kilocode.md +66 -0
- package/docs/setup/per-ide/kiro.md +72 -0
- package/docs/setup/per-ide/opencode.md +62 -0
- package/docs/setup/per-ide/qoder.md +63 -0
- package/docs/setup/per-ide/roocode.md +68 -0
- package/docs/setup/per-ide/trae.md +63 -0
- package/docs/setup/per-ide/warp.md +63 -0
- package/docs/setup/per-ide/zed.md +73 -0
- package/package.json +1 -1
- package/scripts/_cli/cmd_doctor.py +351 -0
- package/scripts/_cli/cmd_prune.py +317 -0
- package/scripts/_cli/cmd_uninstall.py +465 -0
- package/scripts/_cli/cmd_update.py +26 -3
- package/scripts/_cli/cmd_versions.py +147 -0
- package/scripts/_lib/fs_atomic.py +116 -0
- package/scripts/_lib/installed_tools.py +188 -44
- package/scripts/_lib/json_pointers.py +260 -0
- package/scripts/agent-config +69 -0
- package/scripts/compress.py +78 -15
- package/scripts/install +15 -6
- package/scripts/install-hooks.sh +54 -1
- package/scripts/install.py +1061 -52
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: "auto"
|
|
3
|
+
tier: "2b"
|
|
4
|
+
description: "When the user names an external repo, file, URL, or artifact as a reference — fetch the actual tree and inspect, never summarize from README or metadata"
|
|
5
|
+
alwaysApply: false
|
|
6
|
+
source: package
|
|
7
|
+
triggers:
|
|
8
|
+
- intent: "look at how X does it"
|
|
9
|
+
- intent: "compare with reference repo"
|
|
10
|
+
- intent: "use as template / vorlage"
|
|
11
|
+
- intent: "wie macht es X"
|
|
12
|
+
- intent: "vergleiche mit Y"
|
|
13
|
+
- intent: "schau dir Z an"
|
|
14
|
+
- intent: "study this competitor"
|
|
15
|
+
- keyword: "github.com/"
|
|
16
|
+
- keyword: "source of truth"
|
|
17
|
+
- phrase: "reference repo"
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# external-reference-deep-dive
|
|
21
|
+
|
|
22
|
+
## The Iron Law
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
EXTERNAL REFERENCE NAMED → DEEP-DIVE FIRST.
|
|
26
|
+
NO README-ONLY SUMMARIES. NO METADATA GUESSES.
|
|
27
|
+
INSPECT THE TREE, THE FRONTMATTER, THE CONFIGS, THE CODE.
|
|
28
|
+
ABSENCE-OF-EVIDENCE IS NOT EVIDENCE — FETCH BEFORE CLAIMING.
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Triggered when the user points to an external artifact (repo URL, `owner/repo`, file path, website, archive) **and** asks to analyze, compare, mirror, use as template, or "see how they do it". The user invested in naming the source — answer from the source, not from the cover.
|
|
32
|
+
|
|
33
|
+
## Mandatory before drawing any conclusion
|
|
34
|
+
|
|
35
|
+
1. **Use `/analyze-reference-repo`** (the canonical flow) when the artifact is a repo. Its Steps 2–5 are not optional shortcuts — they are the deep-dive contract: fetch listings (not just README), inspect key directories (`skills/`, `rules/`, `commands/`, `scripts/`, `.github/workflows/`, install configs, frontmatter samples), classify each axis adopt/adapt/reject/already.
|
|
36
|
+
2. **For single files / websites** — fetch the actual content, not a summary. PDFs/DOCX/XLSX → `markitdown` first.
|
|
37
|
+
3. **Cite verbatim** — every finding lands with a file path, line range, or URL fragment. "The README says X" is **not** a finding about implementation; it's a finding about marketing copy.
|
|
38
|
+
4. **Surface what was inspected** — list the files / directories actually fetched, so the user can audit coverage.
|
|
39
|
+
5. **"Not found" beats "probably not there"** — if a fetch budget was hit, say which subtrees are still un-inspected and ask before concluding absence.
|
|
40
|
+
|
|
41
|
+
## Forbidden patterns
|
|
42
|
+
|
|
43
|
+
- Reading only the README / homepage / package description and reporting capabilities.
|
|
44
|
+
- Declaring "they don't support X" without listing the directories actually inspected.
|
|
45
|
+
- Repeating a surface-level claim across turns without re-fetching when the user pushes back.
|
|
46
|
+
- Treating `package.json` / `composer.json` keywords as evidence of behavior.
|
|
47
|
+
- Summarizing a competitor's installer story from prose instead of reading `scripts/install*`, `bin/*`, or the npm `bin` field.
|
|
48
|
+
|
|
49
|
+
## Failure mode catalog
|
|
50
|
+
|
|
51
|
+
| Pattern | Why it fails | Fix |
|
|
52
|
+
|---|---|---|
|
|
53
|
+
| **README-summary-as-analysis** | Marketing prose ≠ implementation. Capabilities listed there may be aspirational, deprecated, or differently scoped. | Fetch the directory listing + 1–2 representative files per axis. |
|
|
54
|
+
| **"Nothing matches" without enumeration** | Claims absence without proof. The user has to re-prompt to force the real lookup. | Before saying "no X", list the directories scanned. If the budget caps, ask which to expand. |
|
|
55
|
+
| **Repeat-the-guess after pushback** | User says "really look" → agent re-paraphrases the same surface read. Burns trust. | On any pushback that names the source again, restart from a tree listing, not from prior notes. |
|
|
56
|
+
| **Cross-tool path inference from a single example** | One config file ≠ a convention. | Inspect ≥2 unrelated tool integrations before claiming a pattern is the project's universal anchor strategy. |
|
|
57
|
+
|
|
58
|
+
**Case-zero anchor.** May 2026 — `nextlevelbuilder/ui-ux-pro-max-skill` was named as the source of truth for 23 AI-tool anchors. Three rounds of "we have no content for these tools" were reported from README inference. The actual `tool-configs/*.json` files in the reference repo gave the exact directory layout per tool in one fetch. Cost: ~2 hours of user frustration. Lesson: when an external source is named, the first action is `GET /repos/{o}/{r}/contents/{interesting-subtree}` — not paraphrase.
|
|
59
|
+
|
|
60
|
+
## Escape hatch
|
|
61
|
+
|
|
62
|
+
User explicitly fences the scope (*"quick scan only"*, *"just glance at the README"*, *"don't fetch the whole thing"*) → quick-scan path is allowed. Say so up front: *"Quick-scan mode per your scope — README + top-level layout only, not a full analysis."*
|
|
63
|
+
|
|
64
|
+
## See also
|
|
65
|
+
|
|
66
|
+
- Command [`/analyze-reference-repo`](../commands/analyze-reference-repo.md) — canonical deep-dive flow.
|
|
67
|
+
- Rule [`think-before-action`](think-before-action.md) — sibling Iron Law for code paths in **this** repo; this rule is its mirror for **external** artifacts.
|
|
68
|
+
- Rule [`ask-when-uncertain`](ask-when-uncertain.md) — when a fetch budget caps, ask which subtree to expand instead of guessing.
|
|
69
|
+
- Skill [`markitdown`](../skills/markitdown/SKILL.md) — convert binary office formats before analysis.
|
|
@@ -25,11 +25,18 @@ This repository contains {{project_description_oneline}}.
|
|
|
25
25
|
> rules, guidelines) and `AGENTS.md`. The instructions below are
|
|
26
26
|
> self-contained for Copilot Code Review.
|
|
27
27
|
>
|
|
28
|
+
> For multi-step workflows (refactors, new features, bug investigations),
|
|
29
|
+
> switch Copilot Chat to **Agent mode** — it can read this file plus
|
|
30
|
+
> `.augment/` and orchestrate tools. **Ask mode** and inline **Edit mode**
|
|
31
|
+
> stay local to the current selection.
|
|
32
|
+
>
|
|
28
33
|
> For most tickets — feature, bug fix, or refactor — start with
|
|
29
34
|
> `/implement-ticket` (see `.augment/commands/implement-ticket.md`). It drives
|
|
30
35
|
> the linear flow `refine → memory → analyze → plan → implement → test →
|
|
31
36
|
> verify → report`, blocks on ambiguity instead of guessing, and never
|
|
32
37
|
> commits, pushes, or opens PRs on its own.
|
|
38
|
+
>
|
|
39
|
+
> See `docs/setup/per-ide/copilot.md` for the full activation guide.
|
|
33
40
|
|
|
34
41
|
## ✅ Scope Control
|
|
35
42
|
|
|
@@ -6,12 +6,38 @@
|
|
|
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.
|
|
9
|
+
"version": "2.3.0",
|
|
10
|
+
"keywords": [
|
|
11
|
+
"agent-config",
|
|
12
|
+
"skills",
|
|
13
|
+
"rules",
|
|
14
|
+
"claude-code",
|
|
15
|
+
"augment",
|
|
16
|
+
"cursor",
|
|
17
|
+
"cline",
|
|
18
|
+
"windsurf",
|
|
19
|
+
"gemini",
|
|
20
|
+
"copilot",
|
|
21
|
+
"laravel",
|
|
22
|
+
"php",
|
|
23
|
+
"ai-coding"
|
|
24
|
+
]
|
|
10
25
|
},
|
|
11
26
|
"plugins": [
|
|
12
27
|
{
|
|
13
28
|
"name": "agent-config",
|
|
14
29
|
"description": "Full skill catalog \u2014 writing, reviewing, managing, and analyzing agent content, plus stack-specific skills for Laravel, PHP, Docker, AWS, Playwright, and more.",
|
|
30
|
+
"keywords": [
|
|
31
|
+
"skills",
|
|
32
|
+
"rules",
|
|
33
|
+
"commands",
|
|
34
|
+
"laravel",
|
|
35
|
+
"php",
|
|
36
|
+
"review",
|
|
37
|
+
"testing",
|
|
38
|
+
"infrastructure",
|
|
39
|
+
"documentation"
|
|
40
|
+
],
|
|
15
41
|
"source": "./",
|
|
16
42
|
"strict": false,
|
|
17
43
|
"skills": [
|
package/CHANGELOG.md
CHANGED
|
@@ -343,6 +343,63 @@ our recommendation order, not its support status.
|
|
|
343
343
|
users" tension without removing any path that an existing user
|
|
344
344
|
might rely on.
|
|
345
345
|
|
|
346
|
+
## [2.3.0](https://github.com/event4u-app/agent-config/compare/2.2.2...2.3.0) (2026-05-13)
|
|
347
|
+
|
|
348
|
+
### Features
|
|
349
|
+
|
|
350
|
+
* **prune:** add --resume-uninstall for focused crash recovery ([1c98454](https://github.com/event4u-app/agent-config/commit/1c9845404f1e629f802494c732f7438aa4335c8e))
|
|
351
|
+
* **dev:** add dev:install-global and dev:link tasks for local development ([db4bdc9](https://github.com/event4u-app/agent-config/commit/db4bdc9794752791bb93235cc9cc3179df9b88df))
|
|
352
|
+
* **install:** manifest schema v2 + doctor + conflict detection + inline tag ([50c0892](https://github.com/event4u-app/agent-config/commit/50c0892bf01eb904e48dd786ef03c519f82be485))
|
|
353
|
+
* **cli:** add prune command for orphaned bridge markers ([d16abff](https://github.com/event4u-app/agent-config/commit/d16abff8ac9fd55ccd501d319785f463eb7cbeee))
|
|
354
|
+
* **cli:** add uninstall/versions subcommands and --offline mode ([12a8e75](https://github.com/event4u-app/agent-config/commit/12a8e75945f1d26c1412d17331788c8e51601cea))
|
|
355
|
+
* **install:** add workflow-mode activation hints to IDE bridges ([5e09e17](https://github.com/event4u-app/agent-config/commit/5e09e17f0de62b4113bd68839d6ce55a1527d4b1))
|
|
356
|
+
* **rules:** add external-reference-deep-dive hardening rule ([0d2c80c](https://github.com/event4u-app/agent-config/commit/0d2c80c0f418b80a67d08c4577cfe67ab6abe3db))
|
|
357
|
+
* **install:** expand global content deployment to 23 AI tools ([3ef13a7](https://github.com/event4u-app/agent-config/commit/3ef13a7c2ae16b95da9e5a49ec3a19c5cb211357))
|
|
358
|
+
|
|
359
|
+
### Bug Fixes
|
|
360
|
+
|
|
361
|
+
* **install:** normalise manifest paths + surface doctor remediation hint ([b4662b6](https://github.com/event4u-app/agent-config/commit/b4662b609db6b1b4660652facc0efb10b36a5d51))
|
|
362
|
+
* **test:** patch USERPROFILE in isolated_lock fixture for Windows ([ac1c924](https://github.com/event4u-app/agent-config/commit/ac1c924e08822e09471c0cf0077ad69be531d7b5))
|
|
363
|
+
|
|
364
|
+
### Documentation
|
|
365
|
+
|
|
366
|
+
* **readme:** remove stale vX.0 breaking-change notice ([d6aef9a](https://github.com/event4u-app/agent-config/commit/d6aef9acce3e5409f0ffc641ecf026af1f9bb863))
|
|
367
|
+
* **roadmap:** sharpen Phase 6 deferred trigger — name the collision ([d0a6dd2](https://github.com/event4u-app/agent-config/commit/d0a6dd28294c011d4135b4047e4e5252008fcf05))
|
|
368
|
+
* **roadmap:** close + archive multi-package coexistence ([3ef464f](https://github.com/event4u-app/agent-config/commit/3ef464fd6123ead7ca755542a1459e6a9e8e270b))
|
|
369
|
+
* **roadmap:** plan + close phases 1-5 of multi-package coexistence ([34967a5](https://github.com/event4u-app/agent-config/commit/34967a5e6525d4d742155ee3bd3fe0bb80d852bf))
|
|
370
|
+
* **install:** add installed-tools-lockfile wire contract ([c352db3](https://github.com/event4u-app/agent-config/commit/c352db383f6bf6dc328159289fa4d96abb2594c4))
|
|
371
|
+
* **setup:** add per-IDE activation guides for 14 tools ([6379a49](https://github.com/event4u-app/agent-config/commit/6379a49fed6ac3256c23ac8e04c69fa0d4f85aa2))
|
|
372
|
+
|
|
373
|
+
### Tests
|
|
374
|
+
|
|
375
|
+
* **e2e:** cover shared JSON merges, sole-owner cleanup, conflict chain ([0ff50ae](https://github.com/event4u-app/agent-config/commit/0ff50ae617d878138376e535fc8b5c22a7677356))
|
|
376
|
+
* **install:** e2e multi-package coexistence scenario ([081318e](https://github.com/event4u-app/agent-config/commit/081318ea8e3c872548839d100117cbd9b4a1343a))
|
|
377
|
+
* **cli:** cover prune — orphans, dry-run, json, hard-floor ([0261ea2](https://github.com/event4u-app/agent-config/commit/0261ea2e1687e6904bdcb3083cb0d700b6ef82e5))
|
|
378
|
+
|
|
379
|
+
### CI
|
|
380
|
+
|
|
381
|
+
* **tests:** bump per-shard parallelism explicitly to beat macOS nproc=3 ([83a3b4d](https://github.com/event4u-app/agent-config/commit/83a3b4d3bf6eefe10963d84525469aeb8e3b8abe))
|
|
382
|
+
* **tests:** bump install-tests shards 3→4 to keep macOS under 2min ([dd4d5bc](https://github.com/event4u-app/agent-config/commit/dd4d5bc385282d344809a057d015a968811d4a3b))
|
|
383
|
+
* **tests:** shard install-tests matrix to hit 1-2min/job target ([6a56416](https://github.com/event4u-app/agent-config/commit/6a564161f0a74601fe077d34c76f2f5a27657893))
|
|
384
|
+
* **tests:** parallelize install-tests + fix Windows UTF-8 encoding ([e346a26](https://github.com/event4u-app/agent-config/commit/e346a26e91be633a63e8c7d46fb09a3a6cdf800e))
|
|
385
|
+
* **tests:** bootstrap .augment/ projection before pytest ([e40371e](https://github.com/event4u-app/agent-config/commit/e40371ea7b0c345ee59eba8ba5e47328bf6aebe9))
|
|
386
|
+
|
|
387
|
+
### Chores
|
|
388
|
+
|
|
389
|
+
* finalize changes ([7cbbe68](https://github.com/event4u-app/agent-config/commit/7cbbe6881e040d67fd0598df73b82b3fbd1278c0))
|
|
390
|
+
* regenerate router.json after kernel/tier rebuild ([ff5f10e](https://github.com/event4u-app/agent-config/commit/ff5f10e0589f46782ec6381a84377f22b90d7edc))
|
|
391
|
+
* **marketplace:** refresh marketplace.json manifest ([eb9b934](https://github.com/event4u-app/agent-config/commit/eb9b934f5b4573ec1fcde19f91f6a20637b8dbeb))
|
|
392
|
+
|
|
393
|
+
Tests: 3490 (+140 since 2.2.2)
|
|
394
|
+
|
|
395
|
+
## [2.2.2](https://github.com/event4u-app/agent-config/compare/2.2.1...2.2.2) (2026-05-12)
|
|
396
|
+
|
|
397
|
+
### Bug Fixes
|
|
398
|
+
|
|
399
|
+
* allow --global installs from agent-config source repo ([1be1b44](https://github.com/event4u-app/agent-config/commit/1be1b4429e8fa3ff3fb2981a1368138aa34186ac))
|
|
400
|
+
|
|
401
|
+
Tests: 3350 (+0 since 2.2.1)
|
|
402
|
+
|
|
346
403
|
## [2.2.1](https://github.com/event4u-app/agent-config/compare/2.2.0...2.2.1) (2026-05-12)
|
|
347
404
|
|
|
348
405
|
### Documentation
|
package/README.md
CHANGED
|
@@ -1,12 +1,5 @@
|
|
|
1
1
|
# Agent Config — Governed Agent System
|
|
2
2
|
|
|
3
|
-
> ⚠️ **Breaking change in vX.0** — `agent-config` now ships as an
|
|
4
|
-
> **npx-only runtime**. `composer require` / `npm install --save-dev`
|
|
5
|
-
> are gone, the `--global` symlink scheme is retired. Existing
|
|
6
|
-
> consumers: run `npx @event4u/agent-config migrate`
|
|
7
|
-
> ([guide](docs/migration/v1-to-v2.md)). New consumers: jump to
|
|
8
|
-
> [Quickstart](#quickstart).
|
|
9
|
-
|
|
10
3
|
> **agent-config is not a runtime, but it ships a deterministic orchestration contract / state machine for host agents.**
|
|
11
4
|
|
|
12
5
|
Give your AI agents an audit-disciplined orchestration contract — testing, Git, CI, code review, and **120+ stack-aware skills** — with quality guardrails built in.
|
|
@@ -14,7 +7,7 @@ Give your AI agents an audit-disciplined orchestration contract — testing, Git
|
|
|
14
7
|
> Your agent picks up the project's stack, runs tests, prepares PRs, fixes CI — and follows your team's coding standards while doing it. Stack-aware skill sets ship for PHP (Laravel · Symfony · Zend/Laminas), JavaScript (Next.js · React · Node), and cross-stack concerns (API · testing · security · observability).
|
|
15
8
|
|
|
16
9
|
<p align="center">
|
|
17
|
-
<strong>174 Skills</strong> · <strong>
|
|
10
|
+
<strong>174 Skills</strong> · <strong>61 Rules</strong> · <strong>106 Commands</strong> · <strong>70 Guidelines</strong> · <strong>8 AI Tools</strong>
|
|
18
11
|
</p>
|
|
19
12
|
|
|
20
13
|
---
|
package/docs/architecture.md
CHANGED
|
@@ -143,7 +143,7 @@ fails on any source-side violation, without producing artifacts.
|
|
|
143
143
|
| Layer | Count | Purpose |
|
|
144
144
|
|---|---|---|
|
|
145
145
|
| **Skills** | 174 | On-demand expertise — stack analysis (Laravel · Symfony · Zend / Laminas · Next.js · React · Node), testing, Docker, API design, security, observability, … |
|
|
146
|
-
| **Rules** |
|
|
146
|
+
| **Rules** | 61 | Always-active constraints — coding standards, scope control, verification, language-and-tone, agent-authority |
|
|
147
147
|
| **Commands** | 106 | Slash-command workflows — `/commit`, `/create-pr`, `/fix ci`, `/optimize skills`, `/feature plan`, `/work`, `/implement-ticket`, `/compress`, … |
|
|
148
148
|
| **Guidelines** | 70 | Reference material cited by skills — PHP patterns, Eloquent, Playwright, agent-infra, … |
|
|
149
149
|
| **Templates** | 7 | Scaffolds for features, roadmaps, contexts, skills, overrides |
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
# Installed-Tools Lockfile — Wire Contract
|
|
2
|
+
|
|
3
|
+
Canonical wire-format spec for `agents/installed-tools.lock` — the
|
|
4
|
+
project-committed bill of materials for AI tooling installed into this
|
|
5
|
+
repository.
|
|
6
|
+
|
|
7
|
+
- **Authoritative module:** [`scripts/_lib/installed_tools.py`](../../scripts/_lib/installed_tools.py)
|
|
8
|
+
- **ADR:** [`docs/decisions/ADR-008-installed-tools-manifest.md`](../decisions/ADR-008-installed-tools-manifest.md)
|
|
9
|
+
- **Workflow guide:** [`docs/guidelines/agent-infra/installed-tools-manifest.md`](../guidelines/agent-infra/installed-tools-manifest.md)
|
|
10
|
+
- **Active roadmap:** P1.1 of [`agents/roadmaps/road-to-multi-package-coexistence.md`](../../agents/roadmaps/road-to-multi-package-coexistence.md)
|
|
11
|
+
|
|
12
|
+
## Versions
|
|
13
|
+
|
|
14
|
+
| Version | Status | Writer | Reader |
|
|
15
|
+
|---|---|---|---|
|
|
16
|
+
| **1** | legacy | not emitted by current code | tolerated by `read_manifest` |
|
|
17
|
+
| **2** | current | `write_manifest` always emits this | tolerated by `read_manifest` |
|
|
18
|
+
|
|
19
|
+
`SCHEMA_VERSION = 2` · `SCHEMA_VERSIONS_SUPPORTED = (1, 2)`. The reader
|
|
20
|
+
must accept any version in `SCHEMA_VERSIONS_SUPPORTED`; the writer must
|
|
21
|
+
always emit the highest. Bumps are breaking on the writer side and
|
|
22
|
+
require a migration plan.
|
|
23
|
+
|
|
24
|
+
## Schema v2 — wire format
|
|
25
|
+
|
|
26
|
+
```yaml
|
|
27
|
+
schema_version: 2
|
|
28
|
+
agent_config_version: "2.2.0"
|
|
29
|
+
deploy_roots: # optional, top-level (P1.1)
|
|
30
|
+
- .augment/rules
|
|
31
|
+
- .cursor/rules
|
|
32
|
+
tools:
|
|
33
|
+
- name: claude-code # one of _VALID_TOOLS
|
|
34
|
+
scope: global # global | project
|
|
35
|
+
bridge_marker: ~/.claude/PROJECT_MANAGED_BY_AGENT_CONFIG
|
|
36
|
+
installed_at: "2026-05-12"
|
|
37
|
+
status: installed # optional: installed | uninstalling (P2.2)
|
|
38
|
+
files: # optional, per-tool (P1.1)
|
|
39
|
+
- path: .augment/rules/r1.md
|
|
40
|
+
kind: deployed # one of FILE_KINDS
|
|
41
|
+
sha256: "<64 hex chars>"
|
|
42
|
+
- path: .cursorrules
|
|
43
|
+
kind: bridge
|
|
44
|
+
sha256: null # null permitted for non-content markers
|
|
45
|
+
merged_keys: # optional, per-tool (P1.1)
|
|
46
|
+
- file: .mcp.json
|
|
47
|
+
json_pointer: "/mcpServers/agent-config"
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Top-level fields
|
|
51
|
+
|
|
52
|
+
| Field | Type | Owner | Notes |
|
|
53
|
+
|---|---|---|---|
|
|
54
|
+
| `schema_version` | int | machine | always `2` on write |
|
|
55
|
+
| `agent_config_version` | str | machine | last writer's package version |
|
|
56
|
+
| `deploy_roots` | list[str] | machine | optional; directories the doctor command surveys for foreign files. Omitted when empty. Falls back to `DEFAULT_DEPLOY_ROOTS` when consumers need a survey scope and no explicit list is present. |
|
|
57
|
+
| `tools` | list[obj] | machine | install-order preserved, not alphabetised |
|
|
58
|
+
|
|
59
|
+
### Per-tool fields
|
|
60
|
+
|
|
61
|
+
| Field | Type | Required | Notes |
|
|
62
|
+
|---|---|---|---|
|
|
63
|
+
| `name` | str | yes | one of `_VALID_TOOLS` in `scripts/install.py` |
|
|
64
|
+
| `scope` | str | yes | `global` (user-home) or `project` (workspace bridge) |
|
|
65
|
+
| `bridge_marker` | str | yes | absolute / `~`-prefixed for global; repo-relative for project |
|
|
66
|
+
| `installed_at` | str | yes | ISO date; informational only |
|
|
67
|
+
| `status` | str | no | `installed` (default when absent) or `uninstalling`; two-phase uninstall (P2.2). A crashed uninstall leaves the entry in `uninstalling` — `agent-config prune --resume-uninstall` sweeps only those entries' `files[]` without touching healthy tools or unmanaged drift. |
|
|
68
|
+
| `files` | list[obj] | no | content the installer deployed for this tool |
|
|
69
|
+
| `merged_keys` | list[obj] | no | named keys this tool inserted into shared JSON files |
|
|
70
|
+
|
|
71
|
+
### `files[]` entries
|
|
72
|
+
|
|
73
|
+
| Field | Type | Notes |
|
|
74
|
+
|---|---|---|
|
|
75
|
+
| `path` | str | repo-relative for project-scope, `~`-prefixed for global |
|
|
76
|
+
| `kind` | str | one of `FILE_KINDS = {bridge, deployed, marker}` |
|
|
77
|
+
| `sha256` | str / null | 64 hex chars of the file's SHA-256 at install time, or `null` for markers / pointers without content |
|
|
78
|
+
|
|
79
|
+
`kind` semantics:
|
|
80
|
+
|
|
81
|
+
- **`bridge`** — team-pointer marker like `.cursorrules` or `.windsurf/PROJECT_MANAGED_BY_AGENT_CONFIG`. Existence-tracked, content-untracked.
|
|
82
|
+
- **`deployed`** — bundle content the installer wrote (e.g. `.augment/rules/*.md`). Content-tracked via `sha256` so drift is detectable.
|
|
83
|
+
- **`marker`** — one-off sentinel (e.g. `claude-desktop` install marker). Existence-only.
|
|
84
|
+
|
|
85
|
+
### `merged_keys[]` entries
|
|
86
|
+
|
|
87
|
+
| Field | Type | Notes |
|
|
88
|
+
|---|---|---|
|
|
89
|
+
| `file` | str | repo-relative path to the shared file (e.g. `.mcp.json`) |
|
|
90
|
+
| `json_pointer` | str | RFC 6901 pointer. **Constraint:** must target an object key, never an array index. Array-index pointers shift on neighbour-tool uninstall and corrupt other packages' ownership. |
|
|
91
|
+
|
|
92
|
+
The pointer constraint is enforced at write time in P1.5; readers in v2.x
|
|
93
|
+
must reject manifests that contain array-index pointers.
|
|
94
|
+
|
|
95
|
+
## Compatibility — reader tolerance
|
|
96
|
+
|
|
97
|
+
- `read_manifest` accepts both v1 and v2 wire formats.
|
|
98
|
+
- When `pyyaml` is available, v2 round-trips fully.
|
|
99
|
+
- When `pyyaml` is missing, the manual fallback parser extracts v1-equivalent fields (top-level scalars + per-tool scalar fields) and **silently drops** v2 nested fields (`files`, `merged_keys`, `deploy_roots`). Callers that need full v2 fidelity must ensure `pyyaml` is on the path.
|
|
100
|
+
|
|
101
|
+
## Compatibility — writer behaviour
|
|
102
|
+
|
|
103
|
+
- `write_manifest(path, version, tools, *, deploy_roots=None)` always emits `schema_version: 2`.
|
|
104
|
+
- Optional v2 fields (`deploy_roots`, per-tool `files` / `merged_keys` / `status`) are emitted only when non-empty, so a v1-shaped call produces a v2 file that is structurally minimal and v1-readable for the core fields.
|
|
105
|
+
- All writes are crash-safe via [`scripts/_lib/fs_atomic.py`](../../scripts/_lib/fs_atomic.py) (`write_atomic`: tmp + fsync + rename + parent-dir fsync). See P1.0 of the multi-package roadmap.
|
|
106
|
+
|
|
107
|
+
## Determinism
|
|
108
|
+
|
|
109
|
+
Required by P1.3 (not yet enforced in v2.0 of the writer):
|
|
110
|
+
|
|
111
|
+
1. `tools[]` order = install order (no re-sort).
|
|
112
|
+
2. `files[]` order within a tool = sorted by `path` ascending.
|
|
113
|
+
3. `merged_keys[]` order within a tool = sorted by `(file, json_pointer)` ascending.
|
|
114
|
+
4. `deploy_roots[]` order = as supplied by the writer (caller-controlled).
|
|
115
|
+
|
|
116
|
+
Determinism is what lets the doctor command produce stable diffs across team members.
|
|
117
|
+
|
|
118
|
+
## Inline package tag (P5 — non-authoritative)
|
|
119
|
+
|
|
120
|
+
Deployed Markdown files may carry a frontmatter tag that records provenance for human readers:
|
|
121
|
+
|
|
122
|
+
```yaml
|
|
123
|
+
---
|
|
124
|
+
title: My rule
|
|
125
|
+
package: event4u/agent-config
|
|
126
|
+
source_path: config/rules/general.md
|
|
127
|
+
---
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
Properties:
|
|
131
|
+
|
|
132
|
+
- **Optional.** Files without a leading `---` frontmatter block are deployed as-is; no synthetic frontmatter is added (P5.1).
|
|
133
|
+
- **Human-readable only.** The lockfile remains the single source of truth for ownership, prune, and uninstall decisions. Removing or hand-editing the inline tag does **not** alter prune / uninstall semantics (P5.3).
|
|
134
|
+
- **Surfaced by doctor.** A frontmatter-bearing file whose `package:` value disagrees with this writer's identifier — or whose `package:` key has been removed — appears under the `tag-drift` category of `agent-config doctor` (P5.2). Tag-drift exit code = 1, same as other drift; fix hint points at `--force` re-install.
|
|
135
|
+
- **Idempotent.** Re-installation rewrites the same `package:` / `source_path:` values; running install twice produces byte-identical Markdown.
|
|
136
|
+
- **`source_path:` (not `source:`).** The injected provenance-path key is named `source_path:` to avoid collision with the established `source: package` origin-type marker used by 200+ rule files in this and downstream packages. The injector treats `source:` as a foreign key and never rewrites it.
|
|
137
|
+
|
|
138
|
+
Neighbour packages writing into the same project SHOULD use their own `package:` identifier so doctor can distinguish authored ownership at a glance, but they MUST still register their files in the manifest — the inline tag is a UX affordance, not a substitute for the lockfile entry.
|
package/docs/development.md
CHANGED
|
@@ -115,6 +115,43 @@ task install -- --target <dir> # Run the installer orchestrator on a target
|
|
|
115
115
|
task install-hooks # Install git hooks (pre-commit marketplace lint, pre-push sync check, chat-history bridges)
|
|
116
116
|
```
|
|
117
117
|
|
|
118
|
+
### Local dev install (no release)
|
|
119
|
+
|
|
120
|
+
Use these tasks to run the working tree as if it were a published
|
|
121
|
+
release — useful for testing changes before `task release` cuts an npm
|
|
122
|
+
version.
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
task dev:install-global # Refresh ~/.claude, ~/.cursor, ~/.augment, … from this working tree (--force)
|
|
126
|
+
task dev:link # Symlink this repo as the global @event4u/agent-config (npm link)
|
|
127
|
+
task dev:unlink # Remove the global symlink
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
**Typical flow:**
|
|
131
|
+
|
|
132
|
+
1. In this repo: `task dev:link` — once. The `agent-config` bin on PATH
|
|
133
|
+
now resolves into the working tree.
|
|
134
|
+
2. In this repo: `task dev:install-global` — every time you want
|
|
135
|
+
user-scope content (`~/.claude/rules`, `~/.cursor/`, …) refreshed.
|
|
136
|
+
3. In a consumer project that uses `@event4u/agent-config` from npm,
|
|
137
|
+
opt in to the linked dev tree:
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
cd /path/to/consumer-project
|
|
141
|
+
npm link @event4u/agent-config
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
`npx @event4u/agent-config …` and `node_modules/.bin/agent-config`
|
|
145
|
+
in that project now resolve into the dev tree. Undo with
|
|
146
|
+
`npm unlink @event4u/agent-config` (project) and `task dev:unlink`
|
|
147
|
+
(this repo).
|
|
148
|
+
|
|
149
|
+
**Caveat — npx outside a linked project:** `npx @event4u/agent-config`
|
|
150
|
+
in a directory without a linked `node_modules/@event4u/agent-config`
|
|
151
|
+
fetches the published version from the registry. Either run `npm link
|
|
152
|
+
@event4u/agent-config` in that project first, or call the global
|
|
153
|
+
`agent-config` bin directly (which `task dev:link` puts on PATH).
|
|
154
|
+
|
|
118
155
|
---
|
|
119
156
|
|
|
120
157
|
## Project Structure
|
package/docs/getting-started.md
CHANGED
|
@@ -106,7 +106,7 @@ Your agent is now:
|
|
|
106
106
|
- **Respecting your codebase** — no conflicting patterns
|
|
107
107
|
- **Following standards** — consistent code quality
|
|
108
108
|
|
|
109
|
-
This is enforced automatically by
|
|
109
|
+
This is enforced automatically by 61 rules. No configuration needed.
|
|
110
110
|
|
|
111
111
|
---
|
|
112
112
|
|
package/docs/installation.md
CHANGED
|
@@ -46,6 +46,20 @@ section below this index is reference material for advanced installs
|
|
|
46
46
|
| **Codex CLI** | `npx @event4u/agent-config init --tools=codex` | [`per-ide/codex.md`](setup/per-ide/codex.md) |
|
|
47
47
|
| **Gemini CLI** | `npx @event4u/agent-config init --tools=gemini` | [`per-ide/gemini-cli.md`](setup/per-ide/gemini-cli.md) |
|
|
48
48
|
| **GitHub Copilot** | `npx @event4u/agent-config init --tools=copilot` | [`per-ide/copilot.md`](setup/per-ide/copilot.md) |
|
|
49
|
+
| **Augment Code** | `npx @event4u/agent-config init --tools=augment` | [`per-ide/augment.md`](setup/per-ide/augment.md) |
|
|
50
|
+
| **Roo Code** | `npx @event4u/agent-config init --tools=roocode` | [`per-ide/roocode.md`](setup/per-ide/roocode.md) |
|
|
51
|
+
| **Kilo Code** | `npx @event4u/agent-config init --tools=kilocode` | [`per-ide/kilocode.md`](setup/per-ide/kilocode.md) |
|
|
52
|
+
| **Continue.dev** | `npx @event4u/agent-config init --tools=continue` | [`per-ide/continue.md`](setup/per-ide/continue.md) |
|
|
53
|
+
| **Kiro** | `npx @event4u/agent-config init --tools=kiro` | [`per-ide/kiro.md`](setup/per-ide/kiro.md) |
|
|
54
|
+
| **Zed** | `npx @event4u/agent-config init --tools=zed` | [`per-ide/zed.md`](setup/per-ide/zed.md) |
|
|
55
|
+
| **JetBrains AI** | `npx @event4u/agent-config init --tools=jetbrains --global` | [`per-ide/jetbrains.md`](setup/per-ide/jetbrains.md) |
|
|
56
|
+
| **Qoder** | `npx @event4u/agent-config init --tools=qoder --global` | [`per-ide/qoder.md`](setup/per-ide/qoder.md) |
|
|
57
|
+
| **OpenCode** | `npx @event4u/agent-config init --tools=opencode --global` | [`per-ide/opencode.md`](setup/per-ide/opencode.md) |
|
|
58
|
+
| **Trae** | `npx @event4u/agent-config init --tools=trae --global` | [`per-ide/trae.md`](setup/per-ide/trae.md) |
|
|
59
|
+
| **Antigravity** | `npx @event4u/agent-config init --tools=antigravity --global` | [`per-ide/antigravity.md`](setup/per-ide/antigravity.md) |
|
|
60
|
+
| **CodeBuddy** | `npx @event4u/agent-config init --tools=codebuddy --global` | [`per-ide/codebuddy.md`](setup/per-ide/codebuddy.md) |
|
|
61
|
+
| **Droid (Factory)** | `npx @event4u/agent-config init --tools=droid --global` | [`per-ide/droid.md`](setup/per-ide/droid.md) |
|
|
62
|
+
| **Warp** | `npx @event4u/agent-config init --tools=warp --global` | [`per-ide/warp.md`](setup/per-ide/warp.md) |
|
|
49
63
|
| **All surfaces** | `npx @event4u/agent-config init` (default) | (each page above applies) |
|
|
50
64
|
|
|
51
65
|
Combine surfaces by comma-separating: `--tools=claude-code,cursor,windsurf`.
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# Antigravity Setup
|
|
2
|
+
|
|
3
|
+
Antigravity (Google's agentic IDE) reads the Anthropic-shaped
|
|
4
|
+
markdown skill bundle from its user-scope anchor `~/.agents/`. The
|
|
5
|
+
package deploys via the universal skill convention; project-scope
|
|
6
|
+
bridge is not yet wired (Phase 2.4 anchor).
|
|
7
|
+
|
|
8
|
+
## Prerequisites
|
|
9
|
+
|
|
10
|
+
- Antigravity IDE.
|
|
11
|
+
- Node.js ≥ 18 for the install entrypoints.
|
|
12
|
+
|
|
13
|
+
## Install
|
|
14
|
+
|
|
15
|
+
Global only (canonical scope):
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
npx @event4u/agent-config init --tools=antigravity --global
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Populates:
|
|
22
|
+
|
|
23
|
+
- `~/.agents/skills/` — Anthropic-shaped skill bundle
|
|
24
|
+
- `~/.agents/rules/` — kernel + tier-1/2 rules
|
|
25
|
+
- `~/.agents/personas/` — review-lens personas
|
|
26
|
+
|
|
27
|
+
(Project-scope `--tools=antigravity` is rejected with exit code 1
|
|
28
|
+
— Antigravity has no documented project-discovery convention yet.)
|
|
29
|
+
|
|
30
|
+
## How to use
|
|
31
|
+
|
|
32
|
+
- Antigravity reads the skill bundle from `~/.agents/skills/` on
|
|
33
|
+
every session — no manual action required.
|
|
34
|
+
- Slash commands (`/work`, `/implement-ticket`, `/commit`,
|
|
35
|
+
`/create-pr`, …) ship inside the skill bundle as named skills.
|
|
36
|
+
Invoke them by name in chat.
|
|
37
|
+
- Antigravity ships an agent-orchestration surface; point it at
|
|
38
|
+
the project root so the agent can locate `AGENTS.md` and the
|
|
39
|
+
project's own `agents/` overlay.
|
|
40
|
+
|
|
41
|
+
## Verification
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
test -d ~/.agents/skills
|
|
45
|
+
test -d ~/.agents/rules
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
In Antigravity: ask *"What is this repo?"* — the answer should
|
|
49
|
+
cite the AGENTS.md emergency triage block when the workspace is
|
|
50
|
+
open.
|
|
51
|
+
|
|
52
|
+
## Troubleshooting
|
|
53
|
+
|
|
54
|
+
| Symptom | Fix |
|
|
55
|
+
|---|---|
|
|
56
|
+
| Skills not listed | Re-run `npx @event4u/agent-config init --tools=antigravity --global --force`. |
|
|
57
|
+
| `--tools=antigravity` rejected | Add `--global` (Antigravity has global-only scope). |
|
|
58
|
+
| `~/.agents/` collides with another tool | The anchor is shared by convention; coexists with other agents that use the same path. |
|
|
59
|
+
|
|
60
|
+
## Cross-references
|
|
61
|
+
|
|
62
|
+
- [`AGENTS.md`](../../../AGENTS.md) — canonical agent self-orientation.
|
|
63
|
+
- [`docs/installation.md`](../../installation.md) — install matrix index.
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# Augment Code Setup
|
|
2
|
+
|
|
3
|
+
Augment Code is the **substrate** for this package — every other tool
|
|
4
|
+
mirrors content from the canonical `.augment/` tree. The Augment
|
|
5
|
+
extension (VS Code, JetBrains) reads `.augment/rules/`,
|
|
6
|
+
`.augment/skills/`, `.augment/commands/`, `.augment/personas/`, and
|
|
7
|
+
`.augment/contexts/` directly.
|
|
8
|
+
|
|
9
|
+
## Prerequisites
|
|
10
|
+
|
|
11
|
+
- Augment Code extension: <https://www.augmentcode.com/>.
|
|
12
|
+
- Node.js ≥ 18 for the install entrypoints.
|
|
13
|
+
|
|
14
|
+
## Install
|
|
15
|
+
|
|
16
|
+
Project scope (default):
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npx @event4u/agent-config init --tools=augment
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Global scope (cross-project, deploys the full bundle to `~/.augment/`):
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
npx @event4u/agent-config init --tools=augment --global
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Populates (project):
|
|
29
|
+
|
|
30
|
+
- `.augment/rules/` — kernel (9 Iron-Law rules) + tier-1/2 routed rules
|
|
31
|
+
- `.augment/skills/` — domain skills
|
|
32
|
+
- `.augment/commands/` — slash commands
|
|
33
|
+
- `.augment/personas/` — review-lens personas
|
|
34
|
+
- `.augment/contexts/` — knowledge-layer contexts
|
|
35
|
+
- `.augment/templates/` — scaffolds for AGENTS.md, copilot-instructions, etc.
|
|
36
|
+
- `AGENTS.md` — canonical agent self-orientation
|
|
37
|
+
- `.agent-settings.yml` — per-project knobs
|
|
38
|
+
|
|
39
|
+
## How to use
|
|
40
|
+
|
|
41
|
+
- Augment auto-discovers `.augment/` on every session — no manual
|
|
42
|
+
action required.
|
|
43
|
+
- The kernel rules (always-on Iron Laws) load first; tier-1/2
|
|
44
|
+
rules are routed by the rule-router based on intent.
|
|
45
|
+
- Slash commands (`/work`, `/implement-ticket`, `/commit`,
|
|
46
|
+
`/create-pr`, `/refine-ticket`, …) are registered as Augment
|
|
47
|
+
Skills and surfaced in the agent's available-skills list.
|
|
48
|
+
- Personas are review-lens voices; invoke them per `/mode` or by
|
|
49
|
+
name inside `/work` and `/implement-ticket` plans.
|
|
50
|
+
- `.agent-settings.yml` controls per-project knobs (autonomy
|
|
51
|
+
default, cost profile, role-mode, learning opt-out).
|
|
52
|
+
|
|
53
|
+
## Verification
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
test -d .augment/rules
|
|
57
|
+
test -d .augment/skills
|
|
58
|
+
test -d .augment/commands
|
|
59
|
+
test -f AGENTS.md
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Open the Augment panel and ask *"What is this repo?"* — the answer
|
|
63
|
+
should cite the AGENTS.md emergency triage block.
|
|
64
|
+
|
|
65
|
+
## Troubleshooting
|
|
66
|
+
|
|
67
|
+
| Symptom | Fix |
|
|
68
|
+
|---|---|
|
|
69
|
+
| Skills not surfaced | Reload the Augment workspace; skills are indexed on session start. |
|
|
70
|
+
| Symlinked sub-dirs missing | `.augment/skills` is a symlink to `.agent-src/skills`; run `task sync` to rebuild. |
|
|
71
|
+
| Iron Laws not firing | Confirm `.augment/rules/` contains 9 kernel files (`task ci` validates the kernel count). |
|
|
72
|
+
|
|
73
|
+
## Cross-references
|
|
74
|
+
|
|
75
|
+
- [`AGENTS.md`](../../../AGENTS.md) — canonical agent self-orientation.
|
|
76
|
+
- [`docs/architecture.md`](../../architecture.md) — kernel + router + projection pipeline.
|
|
77
|
+
- [`docs/installation.md`](../../installation.md) — install matrix index.
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# CodeBuddy Setup
|
|
2
|
+
|
|
3
|
+
CodeBuddy (Tencent's AI coding assistant) reads the Anthropic-shaped
|
|
4
|
+
markdown skill bundle from its user-scope anchor `~/.codebuddy/`.
|
|
5
|
+
The package deploys via the universal skill convention; project-scope
|
|
6
|
+
bridge is not yet wired (Phase 2.4 anchor).
|
|
7
|
+
|
|
8
|
+
## Prerequisites
|
|
9
|
+
|
|
10
|
+
- CodeBuddy extension / CLI.
|
|
11
|
+
- Node.js ≥ 18 for the install entrypoints.
|
|
12
|
+
|
|
13
|
+
## Install
|
|
14
|
+
|
|
15
|
+
Global only (canonical scope):
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
npx @event4u/agent-config init --tools=codebuddy --global
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Populates:
|
|
22
|
+
|
|
23
|
+
- `~/.codebuddy/skills/` — Anthropic-shaped skill bundle
|
|
24
|
+
- `~/.codebuddy/rules/` — kernel + tier-1/2 rules
|
|
25
|
+
- `~/.codebuddy/personas/` — review-lens personas
|
|
26
|
+
|
|
27
|
+
(Project-scope `--tools=codebuddy` is rejected with exit code 1 —
|
|
28
|
+
CodeBuddy has no documented project-discovery convention yet.)
|
|
29
|
+
|
|
30
|
+
## How to use
|
|
31
|
+
|
|
32
|
+
- CodeBuddy reads the skill bundle from `~/.codebuddy/skills/` on
|
|
33
|
+
every session — no manual action required.
|
|
34
|
+
- Slash commands (`/work`, `/implement-ticket`, `/commit`,
|
|
35
|
+
`/create-pr`, …) ship inside the skill bundle as named skills.
|
|
36
|
+
Invoke them by name in chat.
|
|
37
|
+
- For repository-aware work, open the project root in CodeBuddy
|
|
38
|
+
so the agent can locate `AGENTS.md` and the project's own
|
|
39
|
+
`agents/` overlay.
|
|
40
|
+
|
|
41
|
+
## Verification
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
test -d ~/.codebuddy/skills
|
|
45
|
+
test -d ~/.codebuddy/rules
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
In CodeBuddy: open the chat panel and ask *"What is this repo?"*
|
|
49
|
+
— the answer should cite the AGENTS.md emergency triage block
|
|
50
|
+
when the workspace is open.
|
|
51
|
+
|
|
52
|
+
## Troubleshooting
|
|
53
|
+
|
|
54
|
+
| Symptom | Fix |
|
|
55
|
+
|---|---|
|
|
56
|
+
| Skills not listed | Re-run `npx @event4u/agent-config init --tools=codebuddy --global --force`. |
|
|
57
|
+
| `--tools=codebuddy` rejected | Add `--global` (CodeBuddy has global-only scope). |
|
|
58
|
+
| AGENTS.md not picked up | Open the project root in CodeBuddy; the agent reads `AGENTS.md` from the workspace. |
|
|
59
|
+
|
|
60
|
+
## Cross-references
|
|
61
|
+
|
|
62
|
+
- [`AGENTS.md`](../../../AGENTS.md) — canonical agent self-orientation.
|
|
63
|
+
- [`docs/installation.md`](../../installation.md) — install matrix index.
|