@bonesofspring/ai-rules 0.2.28 → 0.2.29
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/CHANGELOG.md +7 -0
- package/README.md +1 -1
- package/docs/MAVIS-COMPATIBILITY.md +10 -6
- package/docs/MAVIS.md +15 -6
- package/docs/OPENCODE-COMPATIBILITY.md +2 -2
- package/docs/OPENCODE.md +1 -1
- package/package.json +1 -1
- package/presets/_shared/core/meta/preset-pr-checklist.md +2 -2
- package/presets/claude/android-kotlin/CLAUDE.md +3 -1
- package/presets/claude/android-kotlin/REPO_AGENTS.md +1 -1
- package/presets/claude/android-kotlin/hooks/README.md +6 -5
- package/presets/claude/android-kotlin/hooks/chain-team-phases.sh +18 -0
- package/presets/claude/android-kotlin/hooks/examples/README.md +2 -0
- package/presets/claude/android-kotlin/hooks/guard-shell-command.sh +32 -9
- package/presets/claude/android-kotlin/rules/README.md +1 -1
- package/presets/claude/android-kotlin/rules/tooling-and-review/ai-local-overlay.md +0 -5
- package/presets/claude/android-kotlin/rules/tooling-and-review/preset-pr-checklist.md +2 -2
- package/presets/claude/android-kotlin/settings.json +23 -0
- package/presets/claude/go/CLAUDE.md +3 -1
- package/presets/claude/go/REPO_AGENTS.md +1 -1
- package/presets/claude/go/hooks/README.md +6 -5
- package/presets/claude/go/hooks/chain-team-phases.sh +18 -0
- package/presets/claude/go/hooks/examples/README.md +2 -0
- package/presets/claude/go/hooks/guard-shell-command.sh +32 -9
- package/presets/claude/go/rules/README.md +1 -1
- package/presets/claude/go/rules/tooling-and-review/ai-local-overlay.md +0 -5
- package/presets/claude/go/rules/tooling-and-review/preset-pr-checklist.md +2 -2
- package/presets/claude/go/settings.json +23 -0
- package/presets/claude/ios-swift/CLAUDE.md +3 -1
- package/presets/claude/ios-swift/REPO_AGENTS.md +1 -1
- package/presets/claude/ios-swift/hooks/README.md +6 -5
- package/presets/claude/ios-swift/hooks/chain-team-phases.sh +18 -0
- package/presets/claude/ios-swift/hooks/examples/README.md +2 -0
- package/presets/claude/ios-swift/hooks/guard-shell-command.sh +32 -9
- package/presets/claude/ios-swift/rules/README.md +1 -1
- package/presets/claude/ios-swift/rules/tooling-and-review/ai-local-overlay.md +0 -5
- package/presets/claude/ios-swift/rules/tooling-and-review/preset-pr-checklist.md +2 -2
- package/presets/claude/ios-swift/settings.json +23 -0
- package/presets/claude/java/CLAUDE.md +3 -1
- package/presets/claude/java/REPO_AGENTS.md +1 -1
- package/presets/claude/java/hooks/README.md +6 -5
- package/presets/claude/java/hooks/chain-team-phases.sh +18 -0
- package/presets/claude/java/hooks/examples/README.md +2 -0
- package/presets/claude/java/hooks/guard-shell-command.sh +32 -9
- package/presets/claude/java/rules/README.md +1 -1
- package/presets/claude/java/rules/tooling-and-review/ai-local-overlay.md +0 -5
- package/presets/claude/java/rules/tooling-and-review/preset-pr-checklist.md +2 -2
- package/presets/claude/java/settings.json +23 -0
- package/presets/claude/mcp-ts/CLAUDE.md +3 -1
- package/presets/claude/mcp-ts/REPO_AGENTS.md +1 -1
- package/presets/claude/mcp-ts/hooks/README.md +8 -3
- package/presets/claude/mcp-ts/hooks/chain-team-phases.sh +18 -0
- package/presets/claude/mcp-ts/hooks/examples/README.md +5 -0
- package/presets/claude/mcp-ts/hooks/guard-shell-command.sh +32 -9
- package/presets/claude/mcp-ts/rules/README.md +1 -1
- package/presets/claude/mcp-ts/rules/tooling-and-review/ai-local-overlay.md +0 -5
- package/presets/claude/mcp-ts/rules/tooling-and-review/preset-pr-checklist.md +2 -2
- package/presets/claude/mcp-ts/settings.json +23 -0
- package/presets/claude/next/CLAUDE.md +3 -1
- package/presets/claude/next/REPO_AGENTS.md +1 -1
- package/presets/claude/next/hooks/README.md +10 -1
- package/presets/claude/next/hooks/chain-team-phases.sh +18 -0
- package/presets/claude/next/hooks/examples/README.md +2 -0
- package/presets/claude/next/hooks/guard-shell-command.sh +32 -9
- package/presets/claude/next/rules/README.md +1 -1
- package/presets/claude/next/rules/tooling-and-review/ai-local-overlay.md +0 -5
- package/presets/claude/next/rules/tooling-and-review/preset-pr-checklist.md +2 -2
- package/presets/claude/next/settings.json +23 -0
- package/presets/claude/nuxt/CLAUDE.md +3 -1
- package/presets/claude/nuxt/REPO_AGENTS.md +1 -1
- package/presets/claude/nuxt/hooks/README.md +7 -4
- package/presets/claude/nuxt/hooks/chain-team-phases.sh +18 -0
- package/presets/claude/nuxt/hooks/examples/README.md +2 -0
- package/presets/claude/nuxt/hooks/guard-shell-command.sh +32 -9
- package/presets/claude/nuxt/rules/README.md +1 -1
- package/presets/claude/nuxt/rules/tooling-and-review/ai-local-overlay.md +0 -5
- package/presets/claude/nuxt/rules/tooling-and-review/preset-pr-checklist.md +2 -2
- package/presets/claude/nuxt/settings.json +23 -0
- package/presets/claude/php-hexagonal/CLAUDE.md +3 -1
- package/presets/claude/php-hexagonal/REPO_AGENTS.md +1 -1
- package/presets/claude/php-hexagonal/hooks/README.md +6 -5
- package/presets/claude/php-hexagonal/hooks/chain-team-phases.sh +18 -0
- package/presets/claude/php-hexagonal/hooks/examples/README.md +3 -1
- package/presets/claude/php-hexagonal/hooks/guard-shell-command.sh +32 -9
- package/presets/claude/php-hexagonal/rules/README.md +1 -1
- package/presets/claude/php-hexagonal/rules/tooling-and-review/ai-local-overlay.md +0 -5
- package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-pr-checklist.md +2 -2
- package/presets/claude/php-hexagonal/settings.json +23 -0
- package/presets/claude/php-laravel/CLAUDE.md +6 -0
- package/presets/claude/php-laravel/REPO_AGENTS.md +1 -1
- package/presets/claude/php-laravel/hooks/README.md +6 -5
- package/presets/claude/php-laravel/hooks/chain-team-phases.sh +18 -0
- package/presets/claude/php-laravel/hooks/examples/README.md +3 -1
- package/presets/claude/php-laravel/hooks/guard-shell-command.sh +32 -9
- package/presets/claude/php-laravel/rules/README.md +1 -1
- package/presets/claude/php-laravel/rules/tooling-and-review/ai-local-overlay.md +0 -5
- package/presets/claude/php-laravel/rules/tooling-and-review/preset-pr-checklist.md +2 -2
- package/presets/claude/php-laravel/settings.json +23 -0
- package/presets/claude/svelte/CLAUDE.md +3 -1
- package/presets/claude/svelte/REPO_AGENTS.md +1 -1
- package/presets/claude/svelte/hooks/README.md +7 -4
- package/presets/claude/svelte/hooks/chain-team-phases.sh +18 -0
- package/presets/claude/svelte/hooks/examples/README.md +2 -0
- package/presets/claude/svelte/hooks/guard-shell-command.sh +32 -9
- package/presets/claude/svelte/rules/README.md +1 -1
- package/presets/claude/svelte/rules/tooling-and-review/ai-local-overlay.md +0 -5
- package/presets/claude/svelte/rules/tooling-and-review/preset-pr-checklist.md +2 -2
- package/presets/claude/svelte/settings.json +23 -0
- package/presets/cursor/android-kotlin/REPO_AGENTS.md +1 -1
- package/presets/cursor/android-kotlin/rules/preset-pr-checklist.mdc +2 -2
- package/presets/cursor/go/REPO_AGENTS.md +1 -1
- package/presets/cursor/go/rules/preset-pr-checklist.mdc +2 -2
- package/presets/cursor/ios-swift/REPO_AGENTS.md +1 -1
- package/presets/cursor/ios-swift/rules/preset-pr-checklist.mdc +2 -2
- package/presets/cursor/java/REPO_AGENTS.md +1 -1
- package/presets/cursor/java/rules/preset-pr-checklist.mdc +2 -2
- package/presets/cursor/mcp-ts/REPO_AGENTS.md +1 -1
- package/presets/cursor/mcp-ts/rules/preset-pr-checklist.mdc +2 -2
- package/presets/cursor/next/REPO_AGENTS.md +1 -1
- package/presets/cursor/next/rules/preset-pr-checklist.mdc +2 -2
- package/presets/cursor/nuxt/REPO_AGENTS.md +1 -1
- package/presets/cursor/nuxt/rules/preset-pr-checklist.mdc +2 -2
- package/presets/cursor/php-hexagonal/REPO_AGENTS.md +1 -1
- package/presets/cursor/php-hexagonal/rules/preset-pr-checklist.mdc +2 -2
- package/presets/cursor/php-laravel/REPO_AGENTS.md +1 -1
- package/presets/cursor/php-laravel/rules/preset-pr-checklist.mdc +2 -2
- package/presets/cursor/svelte/REPO_AGENTS.md +1 -1
- package/presets/cursor/svelte/rules/preset-pr-checklist.mdc +2 -2
- package/presets/mavis/README.md +2 -0
- package/presets/mavis/android-kotlin/MAVIS.md +10 -1
- package/presets/mavis/android-kotlin/REPO_AGENTS.md +1 -1
- package/presets/mavis/android-kotlin/adapter-map.json +1 -1
- package/presets/mavis/android-kotlin/rules/preset-pr-checklist.md +2 -2
- package/presets/mavis/go/MAVIS.md +10 -1
- package/presets/mavis/go/REPO_AGENTS.md +1 -1
- package/presets/mavis/go/adapter-map.json +1 -1
- package/presets/mavis/go/rules/preset-pr-checklist.md +2 -2
- package/presets/mavis/ios-swift/MAVIS.md +10 -1
- package/presets/mavis/ios-swift/REPO_AGENTS.md +1 -1
- package/presets/mavis/ios-swift/adapter-map.json +1 -1
- package/presets/mavis/ios-swift/rules/preset-pr-checklist.md +2 -2
- package/presets/mavis/java/MAVIS.md +10 -1
- package/presets/mavis/java/REPO_AGENTS.md +1 -1
- package/presets/mavis/java/adapter-map.json +1 -1
- package/presets/mavis/java/rules/preset-pr-checklist.md +2 -2
- package/presets/mavis/mcp-ts/MAVIS.md +10 -1
- package/presets/mavis/mcp-ts/REPO_AGENTS.md +1 -1
- package/presets/mavis/mcp-ts/adapter-map.json +1 -1
- package/presets/mavis/mcp-ts/rules/preset-pr-checklist.md +2 -2
- package/presets/mavis/next/MAVIS.md +10 -1
- package/presets/mavis/next/REPO_AGENTS.md +1 -1
- package/presets/mavis/next/adapter-map.json +1 -1
- package/presets/mavis/next/rules/preset-pr-checklist.md +2 -2
- package/presets/mavis/nuxt/MAVIS.md +10 -1
- package/presets/mavis/nuxt/REPO_AGENTS.md +1 -1
- package/presets/mavis/nuxt/adapter-map.json +1 -1
- package/presets/mavis/nuxt/rules/preset-pr-checklist.md +2 -2
- package/presets/mavis/php-hexagonal/MAVIS.md +10 -1
- package/presets/mavis/php-hexagonal/REPO_AGENTS.md +1 -1
- package/presets/mavis/php-hexagonal/adapter-map.json +1 -1
- package/presets/mavis/php-hexagonal/rules/preset-pr-checklist.md +2 -2
- package/presets/mavis/php-laravel/MAVIS.md +10 -1
- package/presets/mavis/php-laravel/REPO_AGENTS.md +1 -1
- package/presets/mavis/php-laravel/adapter-map.json +1 -1
- package/presets/mavis/php-laravel/rules/preset-pr-checklist.md +2 -2
- package/presets/mavis/platform-contract.json +4 -4
- package/presets/mavis/svelte/MAVIS.md +10 -1
- package/presets/mavis/svelte/REPO_AGENTS.md +1 -1
- package/presets/mavis/svelte/adapter-map.json +1 -1
- package/presets/mavis/svelte/rules/preset-pr-checklist.md +2 -2
- package/presets/opencode/README.md +1 -1
- package/presets/opencode/android-kotlin/OPENCODE.md +8 -1
- package/presets/opencode/android-kotlin/REPO_AGENTS.md +1 -1
- package/presets/opencode/android-kotlin/adapter-map.json +1 -1
- package/presets/opencode/android-kotlin/rules/preset-pr-checklist.md +2 -2
- package/presets/opencode/go/OPENCODE.md +8 -1
- package/presets/opencode/go/REPO_AGENTS.md +1 -1
- package/presets/opencode/go/adapter-map.json +1 -1
- package/presets/opencode/go/rules/preset-pr-checklist.md +2 -2
- package/presets/opencode/ios-swift/OPENCODE.md +8 -1
- package/presets/opencode/ios-swift/REPO_AGENTS.md +1 -1
- package/presets/opencode/ios-swift/adapter-map.json +1 -1
- package/presets/opencode/ios-swift/rules/preset-pr-checklist.md +2 -2
- package/presets/opencode/java/OPENCODE.md +8 -1
- package/presets/opencode/java/REPO_AGENTS.md +1 -1
- package/presets/opencode/java/adapter-map.json +1 -1
- package/presets/opencode/java/rules/preset-pr-checklist.md +2 -2
- package/presets/opencode/mcp-ts/OPENCODE.md +8 -1
- package/presets/opencode/mcp-ts/REPO_AGENTS.md +1 -1
- package/presets/opencode/mcp-ts/adapter-map.json +1 -1
- package/presets/opencode/mcp-ts/rules/preset-pr-checklist.md +2 -2
- package/presets/opencode/next/OPENCODE.md +8 -1
- package/presets/opencode/next/REPO_AGENTS.md +1 -1
- package/presets/opencode/next/adapter-map.json +1 -1
- package/presets/opencode/next/rules/preset-pr-checklist.md +2 -2
- package/presets/opencode/nuxt/OPENCODE.md +8 -1
- package/presets/opencode/nuxt/REPO_AGENTS.md +1 -1
- package/presets/opencode/nuxt/adapter-map.json +1 -1
- package/presets/opencode/nuxt/rules/preset-pr-checklist.md +2 -2
- package/presets/opencode/php-hexagonal/OPENCODE.md +8 -1
- package/presets/opencode/php-hexagonal/REPO_AGENTS.md +1 -1
- package/presets/opencode/php-hexagonal/adapter-map.json +1 -1
- package/presets/opencode/php-hexagonal/rules/preset-pr-checklist.md +2 -2
- package/presets/opencode/php-laravel/OPENCODE.md +8 -1
- package/presets/opencode/php-laravel/REPO_AGENTS.md +1 -1
- package/presets/opencode/php-laravel/adapter-map.json +1 -1
- package/presets/opencode/php-laravel/rules/preset-pr-checklist.md +2 -2
- package/presets/opencode/platform-contract.json +1 -1
- package/presets/opencode/svelte/OPENCODE.md +8 -1
- package/presets/opencode/svelte/REPO_AGENTS.md +1 -1
- package/presets/opencode/svelte/adapter-map.json +1 -1
- package/presets/opencode/svelte/rules/preset-pr-checklist.md +2 -2
- package/scripts/check-local-overlay.sh +40 -4
- package/scripts/check-mavis-local-overlay.mjs +23 -0
- package/scripts/check-mavis-platform-contract.mjs +5 -2
- package/scripts/check-opencode-local-overlay.mjs +19 -0
- package/scripts/check-opencode-platform-contract.mjs +5 -2
- package/scripts/check-preset-token-budget.sh +7 -0
- package/scripts/fixtures/cli-golden/claude/next.json +10 -10
- package/scripts/fixtures/cli-golden/cursor/next.json +2 -2
- package/scripts/fixtures/cli-golden/mavis/android-kotlin.json +3 -3
- package/scripts/fixtures/cli-golden/mavis/go.json +3 -3
- package/scripts/fixtures/cli-golden/mavis/ios-swift.json +3 -3
- package/scripts/fixtures/cli-golden/mavis/java.json +3 -3
- package/scripts/fixtures/cli-golden/mavis/mcp-ts.json +3 -3
- package/scripts/fixtures/cli-golden/mavis/next.json +3 -3
- package/scripts/fixtures/cli-golden/mavis/nuxt.json +3 -3
- package/scripts/fixtures/cli-golden/mavis/php-hexagonal.json +3 -3
- package/scripts/fixtures/cli-golden/mavis/php-laravel.json +3 -3
- package/scripts/fixtures/cli-golden/mavis/svelte.json +3 -3
- package/scripts/fixtures/cli-golden/opencode/android-kotlin.json +3 -3
- package/scripts/fixtures/cli-golden/opencode/go.json +3 -3
- package/scripts/fixtures/cli-golden/opencode/ios-swift.json +3 -3
- package/scripts/fixtures/cli-golden/opencode/java.json +3 -3
- package/scripts/fixtures/cli-golden/opencode/mcp-ts.json +3 -3
- package/scripts/fixtures/cli-golden/opencode/next.json +3 -3
- package/scripts/fixtures/cli-golden/opencode/nuxt.json +3 -3
- package/scripts/fixtures/cli-golden/opencode/php-hexagonal.json +3 -3
- package/scripts/fixtures/cli-golden/opencode/php-laravel.json +3 -3
- package/scripts/fixtures/cli-golden/opencode/svelte.json +3 -3
- package/scripts/lib/generate-mavis-adapter.mjs +10 -1
- package/scripts/lib/generate-opencode-adapter.mjs +8 -1
- package/scripts/sync-claude-settings.mjs +25 -0
- package/scripts/sync-dogfood-claude.sh +62 -0
- package/scripts/test-mavis-orchestration.mjs +3 -2
|
@@ -14,7 +14,9 @@ Do not write `~/.minimax/**`.
|
|
|
14
14
|
- Roles: `mcode exec --file .mavis/agents/<role>.md --output-format json`.
|
|
15
15
|
- Commands: natural-language procedures in `.mavis/commands/`, or
|
|
16
16
|
`mcode exec --file .mavis/commands/task.md "<task>"`.
|
|
17
|
-
- After a producer receipt, run `
|
|
17
|
+
- After a producer receipt, run the chain by hand (`projectHooks` is `manual`, not auto-registered):
|
|
18
|
+
`printf '%s\n' '{"status":"completed"}' | bash .mavis/hooks/chain-team-phases.sh`.
|
|
19
|
+
Procedures: `mcode exec --file .mavis/commands/<name>.md`. Roles: `mcode exec --file .mavis/agents/<role>.md`.
|
|
18
20
|
Agents must not write lifecycle fields in `status.json` / `metrics.json`.
|
|
19
21
|
|
|
20
22
|
## Essential rules (read every turn)
|
|
@@ -24,6 +26,11 @@ Do not write `~/.minimax/**`.
|
|
|
24
26
|
- `.mavis/rules/code-quality-and-refactoring.md`
|
|
25
27
|
- `.mavis/rules/ai-local-overlay.md`
|
|
26
28
|
|
|
29
|
+
Every turn, probe `ls -la .ai.local`, then apply `.ai.local/rules/*.md` and
|
|
30
|
+
`.ai.local/conventions.md`. Acknowledge `Using .ai.local: <rule-name>`.
|
|
31
|
+
Guide: `docs/LOCAL-OVERLAY.md`. These essential rules are a prompt contract.
|
|
32
|
+
`nativeProjectRules` is `unknown` — do not claim engine `alwaysApply`.
|
|
33
|
+
|
|
27
34
|
See `.mavis/rules/README.md` for the full catalog and loading strategy.
|
|
28
35
|
|
|
29
36
|
## Harness wiring
|
|
@@ -78,5 +85,7 @@ npx @bonesofspring/ai-rules init mavis --preset nuxt
|
|
|
78
85
|
Copies rules, commands, agents, hooks, skills, `MAVIS.md` → `.mavis/AGENTS.md`,
|
|
79
86
|
`MCP.md`, `mcp.json` → `.mavis/mcp.json`, plus `REPO_AGENTS.md` → root `AGENTS.md`.
|
|
80
87
|
Seeds `.ai.local/team/`.
|
|
88
|
+
`freshInit` is `unknown`: `mcode init` is TTY-only and a live first `init mavis` is not verified.
|
|
89
|
+
MCP mode is `fallback-manual-import`: import `.mavis/mcp.json` in the MiniMax Code UI. Do not write `~/.minimax/**`.
|
|
81
90
|
Skills: `write-adr`, `vue-performance` (on-demand). Import MCP from `.mavis/mcp.json`
|
|
82
91
|
in the MiniMax Code UI.
|
|
@@ -72,4 +72,4 @@ A `.ai.local/` directory MAY exist at the repo root or at any nesting depth in m
|
|
|
72
72
|
|
|
73
73
|
Plain markdown rules under `.ai.local/rules/*.md` are read by the agent with higher priority than preset rules. Living gotchas live in `.ai.local/conventions.md`.
|
|
74
74
|
|
|
75
|
-
Authoring guide: `docs/LOCAL-OVERLAY.md` in the `@bonesofspring/ai-rules` package. The `ai-local-overlay` rule
|
|
75
|
+
On every turn, probe `ls -la .ai.local`, apply `.ai.local/rules/*.md` and `.ai.local/conventions.md`, and acknowledge `Using .ai.local: <rule-name>`. Authoring guide: `docs/LOCAL-OVERLAY.md` in the `@bonesofspring/ai-rules` package. The `ai-local-overlay` rule is always-on on Cursor and session-start on Claude (no `paths:`). Mavis and OpenCode have no native `alwaysApply`; this section plus the platform entry's essential-rules list is the reinforcement.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"platform": "mavis",
|
|
4
4
|
"stack": "nuxt",
|
|
5
5
|
"semanticSource": "cursor/nuxt",
|
|
6
|
-
"sourceRevision": "
|
|
6
|
+
"sourceRevision": "f7f0e3abbcd5d9c3a51bc16d2c1e1ed8d6cae98351f48f74fc9984e1e374675d",
|
|
7
7
|
"entries": [
|
|
8
8
|
{
|
|
9
9
|
"source": "AGENTS.md",
|
|
@@ -21,7 +21,7 @@ Checklist for PRs that touch `packages/ai-rules/presets/**` (and dogfood `.curso
|
|
|
21
21
|
- [ ] **README:** stack `rules/README.md` core→stack mapping / catalog updated if stems added
|
|
22
22
|
- [ ] **CHANGELOG / package README:** note when public preset paths or install surface change
|
|
23
23
|
- [ ] **i18n anchors:** kept-marked Cyrillic fragments in `tests-unit.md(c)` stay consistent with their English counterparts. Run `packages/ai-rules/scripts/check-preset-i18n.sh`.
|
|
24
|
-
- [ ] **Dogfood:** run `packages/ai-rules/scripts/sync-dogfood-cursor.sh`
|
|
24
|
+
- [ ] **Dogfood:** run `packages/ai-rules/scripts/sync-dogfood-cursor.sh`, `sync-dogfood-claude.sh`, `sync-dogfood-mavis.sh`, and `sync-dogfood-opencode.sh` when those platforms changed, or document an intentional skip, when maintaining this monorepo
|
|
25
25
|
- [ ] **shared-core drift:** for embed-mode stems, run `packages/ai-rules/scripts/check-shared-core-drift.sh` (or document intentional fork)
|
|
26
26
|
|
|
27
27
|
## Pointers
|
|
@@ -31,6 +31,6 @@ Checklist for PRs that touch `packages/ai-rules/presets/**` (and dogfood `.curso
|
|
|
31
31
|
- Budget: `preset-token-budget`
|
|
32
32
|
- Leakage: `preset-no-cross-stack-leakage`
|
|
33
33
|
- Validation: stack `agents/build-verifier.md` → preset-structure section
|
|
34
|
-
- Dogfood scripts: `packages/ai-rules/scripts/sync-dogfood-cursor.sh`, `sync-dogfood-mavis.sh`, `sync-dogfood-opencode.sh`
|
|
34
|
+
- Dogfood scripts: `packages/ai-rules/scripts/sync-dogfood-cursor.sh`, `sync-dogfood-claude.sh`, `sync-dogfood-mavis.sh`, `sync-dogfood-opencode.sh`
|
|
35
35
|
- Drift script: `packages/ai-rules/scripts/check-shared-core-drift.sh`
|
|
36
36
|
- Orchestrator: when editing presets, load this checklist + twin-sync
|
|
@@ -14,7 +14,9 @@ Do not write `~/.minimax/**`.
|
|
|
14
14
|
- Roles: `mcode exec --file .mavis/agents/<role>.md --output-format json`.
|
|
15
15
|
- Commands: natural-language procedures in `.mavis/commands/`, or
|
|
16
16
|
`mcode exec --file .mavis/commands/task.md "<task>"`.
|
|
17
|
-
- After a producer receipt, run `
|
|
17
|
+
- After a producer receipt, run the chain by hand (`projectHooks` is `manual`, not auto-registered):
|
|
18
|
+
`printf '%s\n' '{"status":"completed"}' | bash .mavis/hooks/chain-team-phases.sh`.
|
|
19
|
+
Procedures: `mcode exec --file .mavis/commands/<name>.md`. Roles: `mcode exec --file .mavis/agents/<role>.md`.
|
|
18
20
|
Agents must not write lifecycle fields in `status.json` / `metrics.json`.
|
|
19
21
|
|
|
20
22
|
## Essential rules (read every turn)
|
|
@@ -24,6 +26,11 @@ Do not write `~/.minimax/**`.
|
|
|
24
26
|
- `.mavis/rules/code-quality-and-refactoring.md`
|
|
25
27
|
- `.mavis/rules/ai-local-overlay.md`
|
|
26
28
|
|
|
29
|
+
Every turn, probe `ls -la .ai.local`, then apply `.ai.local/rules/*.md` and
|
|
30
|
+
`.ai.local/conventions.md`. Acknowledge `Using .ai.local: <rule-name>`.
|
|
31
|
+
Guide: `docs/LOCAL-OVERLAY.md`. These essential rules are a prompt contract.
|
|
32
|
+
`nativeProjectRules` is `unknown` — do not claim engine `alwaysApply`.
|
|
33
|
+
|
|
27
34
|
See `.mavis/rules/README.md` for the full catalog and loading strategy.
|
|
28
35
|
|
|
29
36
|
## Harness wiring
|
|
@@ -66,4 +73,6 @@ npx @bonesofspring/ai-rules init mavis --preset php-hexagonal
|
|
|
66
73
|
Copies rules, commands, agents, hooks, skills, `MAVIS.md` → `.mavis/AGENTS.md`,
|
|
67
74
|
`MCP.md`, `mcp.json` → `.mavis/mcp.json`, plus `REPO_AGENTS.md` → root `AGENTS.md`.
|
|
68
75
|
Seeds `.ai.local/team/`.
|
|
76
|
+
`freshInit` is `unknown`: `mcode init` is TTY-only and a live first `init mavis` is not verified.
|
|
77
|
+
MCP mode is `fallback-manual-import`: import `.mavis/mcp.json` in the MiniMax Code UI. Do not write `~/.minimax/**`.
|
|
69
78
|
Import MCP from `.mavis/mcp.json` in the MiniMax Code UI.
|
|
@@ -70,4 +70,4 @@ A `.ai.local/` directory MAY exist at the repo root or at any nesting depth in m
|
|
|
70
70
|
|
|
71
71
|
Plain markdown rules under `.ai.local/rules/*.md` are read by the agent with higher priority than preset rules. Living gotchas live in `.ai.local/conventions.md`.
|
|
72
72
|
|
|
73
|
-
Authoring guide: `docs/LOCAL-OVERLAY.md` in the `@bonesofspring/ai-rules` package. The `ai-local-overlay` rule
|
|
73
|
+
On every turn, probe `ls -la .ai.local`, apply `.ai.local/rules/*.md` and `.ai.local/conventions.md`, and acknowledge `Using .ai.local: <rule-name>`. Authoring guide: `docs/LOCAL-OVERLAY.md` in the `@bonesofspring/ai-rules` package. The `ai-local-overlay` rule is always-on on Cursor and session-start on Claude (no `paths:`). Mavis and OpenCode have no native `alwaysApply`; this section plus the platform entry's essential-rules list is the reinforcement.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"platform": "mavis",
|
|
4
4
|
"stack": "php-hexagonal",
|
|
5
5
|
"semanticSource": "cursor/php-hexagonal",
|
|
6
|
-
"sourceRevision": "
|
|
6
|
+
"sourceRevision": "024d2f6c371002d6a02c2c92d52ee17c3d9aea24991f692b1581a06ed7734f5c",
|
|
7
7
|
"entries": [
|
|
8
8
|
{
|
|
9
9
|
"source": "AGENTS.md",
|
|
@@ -21,7 +21,7 @@ Checklist for PRs that touch `packages/ai-rules/presets/**` (and dogfood `.curso
|
|
|
21
21
|
- [ ] **README:** stack `rules/README.md` core→stack mapping / catalog updated if stems added
|
|
22
22
|
- [ ] **CHANGELOG / package README:** note when public preset paths or install surface change
|
|
23
23
|
- [ ] **i18n anchors:** kept-marked Cyrillic fragments in `tests-unit.md(c)` stay consistent with their English counterparts. Run `packages/ai-rules/scripts/check-preset-i18n.sh`.
|
|
24
|
-
- [ ] **Dogfood:** run `packages/ai-rules/scripts/sync-dogfood-cursor.sh`
|
|
24
|
+
- [ ] **Dogfood:** run `packages/ai-rules/scripts/sync-dogfood-cursor.sh`, `sync-dogfood-claude.sh`, `sync-dogfood-mavis.sh`, and `sync-dogfood-opencode.sh` when those platforms changed, or document an intentional skip, when maintaining this monorepo
|
|
25
25
|
- [ ] **shared-core drift:** for embed-mode stems, run `packages/ai-rules/scripts/check-shared-core-drift.sh` (or document intentional fork)
|
|
26
26
|
|
|
27
27
|
## Pointers
|
|
@@ -31,6 +31,6 @@ Checklist for PRs that touch `packages/ai-rules/presets/**` (and dogfood `.curso
|
|
|
31
31
|
- Budget: `preset-token-budget`
|
|
32
32
|
- Leakage: `preset-no-cross-stack-leakage`
|
|
33
33
|
- Validation: stack `agents/build-verifier.md` → preset-structure section
|
|
34
|
-
- Dogfood scripts: `packages/ai-rules/scripts/sync-dogfood-cursor.sh`, `sync-dogfood-mavis.sh`, `sync-dogfood-opencode.sh`
|
|
34
|
+
- Dogfood scripts: `packages/ai-rules/scripts/sync-dogfood-cursor.sh`, `sync-dogfood-claude.sh`, `sync-dogfood-mavis.sh`, `sync-dogfood-opencode.sh`
|
|
35
35
|
- Drift script: `packages/ai-rules/scripts/check-shared-core-drift.sh`
|
|
36
36
|
- Orchestrator: when editing presets, load this checklist + twin-sync
|
|
@@ -14,7 +14,9 @@ Do not write `~/.minimax/**`.
|
|
|
14
14
|
- Roles: `mcode exec --file .mavis/agents/<role>.md --output-format json`.
|
|
15
15
|
- Commands: natural-language procedures in `.mavis/commands/`, or
|
|
16
16
|
`mcode exec --file .mavis/commands/task.md "<task>"`.
|
|
17
|
-
- After a producer receipt, run `
|
|
17
|
+
- After a producer receipt, run the chain by hand (`projectHooks` is `manual`, not auto-registered):
|
|
18
|
+
`printf '%s\n' '{"status":"completed"}' | bash .mavis/hooks/chain-team-phases.sh`.
|
|
19
|
+
Procedures: `mcode exec --file .mavis/commands/<name>.md`. Roles: `mcode exec --file .mavis/agents/<role>.md`.
|
|
18
20
|
Agents must not write lifecycle fields in `status.json` / `metrics.json`.
|
|
19
21
|
|
|
20
22
|
## Essential rules (read every turn)
|
|
@@ -24,6 +26,11 @@ Do not write `~/.minimax/**`.
|
|
|
24
26
|
- `.mavis/rules/code-quality-and-refactoring.md`
|
|
25
27
|
- `.mavis/rules/ai-local-overlay.md`
|
|
26
28
|
|
|
29
|
+
Every turn, probe `ls -la .ai.local`, then apply `.ai.local/rules/*.md` and
|
|
30
|
+
`.ai.local/conventions.md`. Acknowledge `Using .ai.local: <rule-name>`.
|
|
31
|
+
Guide: `docs/LOCAL-OVERLAY.md`. These essential rules are a prompt contract.
|
|
32
|
+
`nativeProjectRules` is `unknown` — do not claim engine `alwaysApply`.
|
|
33
|
+
|
|
27
34
|
See `.mavis/rules/README.md` for the full catalog and loading strategy.
|
|
28
35
|
|
|
29
36
|
## Harness wiring
|
|
@@ -66,4 +73,6 @@ npx @bonesofspring/ai-rules init mavis --preset php-laravel
|
|
|
66
73
|
Copies rules, commands, agents, hooks, skills, `MAVIS.md` → `.mavis/AGENTS.md`,
|
|
67
74
|
`MCP.md`, `mcp.json` → `.mavis/mcp.json`, plus `REPO_AGENTS.md` → root `AGENTS.md`.
|
|
68
75
|
Seeds `.ai.local/team/`.
|
|
76
|
+
`freshInit` is `unknown`: `mcode init` is TTY-only and a live first `init mavis` is not verified.
|
|
77
|
+
MCP mode is `fallback-manual-import`: import `.mavis/mcp.json` in the MiniMax Code UI. Do not write `~/.minimax/**`.
|
|
69
78
|
Import MCP from `.mavis/mcp.json` in the MiniMax Code UI.
|
|
@@ -71,4 +71,4 @@ A `.ai.local/` directory MAY exist at the repo root or at any nesting depth in m
|
|
|
71
71
|
|
|
72
72
|
Plain markdown rules under `.ai.local/rules/*.md` are read by the agent with higher priority than preset rules. Living gotchas live in `.ai.local/conventions.md`.
|
|
73
73
|
|
|
74
|
-
Authoring guide: `docs/LOCAL-OVERLAY.md` in the `@bonesofspring/ai-rules` package. The `ai-local-overlay` rule
|
|
74
|
+
On every turn, probe `ls -la .ai.local`, apply `.ai.local/rules/*.md` and `.ai.local/conventions.md`, and acknowledge `Using .ai.local: <rule-name>`. Authoring guide: `docs/LOCAL-OVERLAY.md` in the `@bonesofspring/ai-rules` package. The `ai-local-overlay` rule is always-on on Cursor and session-start on Claude (no `paths:`). Mavis and OpenCode have no native `alwaysApply`; this section plus the platform entry's essential-rules list is the reinforcement.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"platform": "mavis",
|
|
4
4
|
"stack": "php-laravel",
|
|
5
5
|
"semanticSource": "cursor/php-laravel",
|
|
6
|
-
"sourceRevision": "
|
|
6
|
+
"sourceRevision": "79fe8a7f094030719cb421ad283f548b993ec8d198b7e4656d0d3ef30c9c33b0",
|
|
7
7
|
"entries": [
|
|
8
8
|
{
|
|
9
9
|
"source": "AGENTS.md",
|
|
@@ -21,7 +21,7 @@ Checklist for PRs that touch `packages/ai-rules/presets/**` (and dogfood `.curso
|
|
|
21
21
|
- [ ] **README:** stack `rules/README.md` core→stack mapping / catalog updated if stems added
|
|
22
22
|
- [ ] **CHANGELOG / package README:** note when public preset paths or install surface change
|
|
23
23
|
- [ ] **i18n anchors:** kept-marked Cyrillic fragments in `tests-unit.md(c)` stay consistent with their English counterparts. Run `packages/ai-rules/scripts/check-preset-i18n.sh`.
|
|
24
|
-
- [ ] **Dogfood:** run `packages/ai-rules/scripts/sync-dogfood-cursor.sh`
|
|
24
|
+
- [ ] **Dogfood:** run `packages/ai-rules/scripts/sync-dogfood-cursor.sh`, `sync-dogfood-claude.sh`, `sync-dogfood-mavis.sh`, and `sync-dogfood-opencode.sh` when those platforms changed, or document an intentional skip, when maintaining this monorepo
|
|
25
25
|
- [ ] **shared-core drift:** for embed-mode stems, run `packages/ai-rules/scripts/check-shared-core-drift.sh` (or document intentional fork)
|
|
26
26
|
|
|
27
27
|
## Pointers
|
|
@@ -31,6 +31,6 @@ Checklist for PRs that touch `packages/ai-rules/presets/**` (and dogfood `.curso
|
|
|
31
31
|
- Budget: `preset-token-budget`
|
|
32
32
|
- Leakage: `preset-no-cross-stack-leakage`
|
|
33
33
|
- Validation: stack `agents/build-verifier.md` → preset-structure section
|
|
34
|
-
- Dogfood scripts: `packages/ai-rules/scripts/sync-dogfood-cursor.sh`, `sync-dogfood-mavis.sh`, `sync-dogfood-opencode.sh`
|
|
34
|
+
- Dogfood scripts: `packages/ai-rules/scripts/sync-dogfood-cursor.sh`, `sync-dogfood-claude.sh`, `sync-dogfood-mavis.sh`, `sync-dogfood-opencode.sh`
|
|
35
35
|
- Drift script: `packages/ai-rules/scripts/check-shared-core-drift.sh`
|
|
36
36
|
- Orchestrator: when editing presets, load this checklist + twin-sync
|
|
@@ -100,12 +100,12 @@
|
|
|
100
100
|
"nativePath": null
|
|
101
101
|
},
|
|
102
102
|
"nativeWorkspaceSkills": {
|
|
103
|
-
"status": "
|
|
103
|
+
"status": "manual",
|
|
104
104
|
"evidence": "docs/MAVIS-COMPATIBILITY.md",
|
|
105
105
|
"nativePath": null
|
|
106
106
|
},
|
|
107
107
|
"nativeWorkspaceAgents": {
|
|
108
|
-
"status": "
|
|
108
|
+
"status": "manual",
|
|
109
109
|
"evidence": "docs/MAVIS-COMPATIBILITY.md",
|
|
110
110
|
"nativePath": null
|
|
111
111
|
},
|
|
@@ -115,12 +115,12 @@
|
|
|
115
115
|
"nativePath": null
|
|
116
116
|
},
|
|
117
117
|
"projectHooks": {
|
|
118
|
-
"status": "
|
|
118
|
+
"status": "manual",
|
|
119
119
|
"evidence": "docs/MAVIS-COMPATIBILITY.md",
|
|
120
120
|
"nativePath": null
|
|
121
121
|
},
|
|
122
122
|
"slashCommands": {
|
|
123
|
-
"status": "
|
|
123
|
+
"status": "manual",
|
|
124
124
|
"evidence": "docs/MAVIS-COMPATIBILITY.md",
|
|
125
125
|
"nativePath": null
|
|
126
126
|
},
|
|
@@ -14,7 +14,9 @@ Do not write `~/.minimax/**`.
|
|
|
14
14
|
- Roles: `mcode exec --file .mavis/agents/<role>.md --output-format json`.
|
|
15
15
|
- Commands: natural-language procedures in `.mavis/commands/`, or
|
|
16
16
|
`mcode exec --file .mavis/commands/task.md "<task>"`.
|
|
17
|
-
- After a producer receipt, run `
|
|
17
|
+
- After a producer receipt, run the chain by hand (`projectHooks` is `manual`, not auto-registered):
|
|
18
|
+
`printf '%s\n' '{"status":"completed"}' | bash .mavis/hooks/chain-team-phases.sh`.
|
|
19
|
+
Procedures: `mcode exec --file .mavis/commands/<name>.md`. Roles: `mcode exec --file .mavis/agents/<role>.md`.
|
|
18
20
|
Agents must not write lifecycle fields in `status.json` / `metrics.json`.
|
|
19
21
|
|
|
20
22
|
## Essential rules (read every turn)
|
|
@@ -24,6 +26,11 @@ Do not write `~/.minimax/**`.
|
|
|
24
26
|
- `.mavis/rules/code-quality-and-refactoring.md`
|
|
25
27
|
- `.mavis/rules/ai-local-overlay.md`
|
|
26
28
|
|
|
29
|
+
Every turn, probe `ls -la .ai.local`, then apply `.ai.local/rules/*.md` and
|
|
30
|
+
`.ai.local/conventions.md`. Acknowledge `Using .ai.local: <rule-name>`.
|
|
31
|
+
Guide: `docs/LOCAL-OVERLAY.md`. These essential rules are a prompt contract.
|
|
32
|
+
`nativeProjectRules` is `unknown` — do not claim engine `alwaysApply`.
|
|
33
|
+
|
|
27
34
|
See `.mavis/rules/README.md` for the full catalog and loading strategy.
|
|
28
35
|
|
|
29
36
|
## Harness wiring
|
|
@@ -78,5 +85,7 @@ npx @bonesofspring/ai-rules init mavis --preset svelte
|
|
|
78
85
|
Copies rules, commands, agents, hooks, skills, `MAVIS.md` → `.mavis/AGENTS.md`,
|
|
79
86
|
`MCP.md`, `mcp.json` → `.mavis/mcp.json`, plus `REPO_AGENTS.md` → root `AGENTS.md`.
|
|
80
87
|
Seeds `.ai.local/team/`.
|
|
88
|
+
`freshInit` is `unknown`: `mcode init` is TTY-only and a live first `init mavis` is not verified.
|
|
89
|
+
MCP mode is `fallback-manual-import`: import `.mavis/mcp.json` in the MiniMax Code UI. Do not write `~/.minimax/**`.
|
|
81
90
|
Skills: `write-adr`, `svelte-performance` (on-demand). Import MCP from `.mavis/mcp.json`
|
|
82
91
|
in the MiniMax Code UI.
|
|
@@ -72,4 +72,4 @@ A `.ai.local/` directory MAY exist at the repo root or at any nesting depth in m
|
|
|
72
72
|
|
|
73
73
|
Plain markdown rules under `.ai.local/rules/*.md` are read by the agent with higher priority than preset rules. Living gotchas live in `.ai.local/conventions.md`.
|
|
74
74
|
|
|
75
|
-
Authoring guide: `docs/LOCAL-OVERLAY.md` in the `@bonesofspring/ai-rules` package. The `ai-local-overlay` rule
|
|
75
|
+
On every turn, probe `ls -la .ai.local`, apply `.ai.local/rules/*.md` and `.ai.local/conventions.md`, and acknowledge `Using .ai.local: <rule-name>`. Authoring guide: `docs/LOCAL-OVERLAY.md` in the `@bonesofspring/ai-rules` package. The `ai-local-overlay` rule is always-on on Cursor and session-start on Claude (no `paths:`). Mavis and OpenCode have no native `alwaysApply`; this section plus the platform entry's essential-rules list is the reinforcement.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"platform": "mavis",
|
|
4
4
|
"stack": "svelte",
|
|
5
5
|
"semanticSource": "cursor/svelte",
|
|
6
|
-
"sourceRevision": "
|
|
6
|
+
"sourceRevision": "e2647db5026c557c38d7dcfdc4595afac8832b3459c75ab3f663568d8dbc0289",
|
|
7
7
|
"entries": [
|
|
8
8
|
{
|
|
9
9
|
"source": "AGENTS.md",
|
|
@@ -21,7 +21,7 @@ Checklist for PRs that touch `packages/ai-rules/presets/**` (and dogfood `.curso
|
|
|
21
21
|
- [ ] **README:** stack `rules/README.md` core→stack mapping / catalog updated if stems added
|
|
22
22
|
- [ ] **CHANGELOG / package README:** note when public preset paths or install surface change
|
|
23
23
|
- [ ] **i18n anchors:** kept-marked Cyrillic fragments in `tests-unit.md(c)` stay consistent with their English counterparts. Run `packages/ai-rules/scripts/check-preset-i18n.sh`.
|
|
24
|
-
- [ ] **Dogfood:** run `packages/ai-rules/scripts/sync-dogfood-cursor.sh`
|
|
24
|
+
- [ ] **Dogfood:** run `packages/ai-rules/scripts/sync-dogfood-cursor.sh`, `sync-dogfood-claude.sh`, `sync-dogfood-mavis.sh`, and `sync-dogfood-opencode.sh` when those platforms changed, or document an intentional skip, when maintaining this monorepo
|
|
25
25
|
- [ ] **shared-core drift:** for embed-mode stems, run `packages/ai-rules/scripts/check-shared-core-drift.sh` (or document intentional fork)
|
|
26
26
|
|
|
27
27
|
## Pointers
|
|
@@ -31,6 +31,6 @@ Checklist for PRs that touch `packages/ai-rules/presets/**` (and dogfood `.curso
|
|
|
31
31
|
- Budget: `preset-token-budget`
|
|
32
32
|
- Leakage: `preset-no-cross-stack-leakage`
|
|
33
33
|
- Validation: stack `agents/build-verifier.md` → preset-structure section
|
|
34
|
-
- Dogfood scripts: `packages/ai-rules/scripts/sync-dogfood-cursor.sh`, `sync-dogfood-mavis.sh`, `sync-dogfood-opencode.sh`
|
|
34
|
+
- Dogfood scripts: `packages/ai-rules/scripts/sync-dogfood-cursor.sh`, `sync-dogfood-claude.sh`, `sync-dogfood-mavis.sh`, `sync-dogfood-opencode.sh`
|
|
35
35
|
- Drift script: `packages/ai-rules/scripts/check-shared-core-drift.sh`
|
|
36
36
|
- Orchestrator: when editing presets, load this checklist + twin-sync
|
|
@@ -8,7 +8,7 @@ Consumer: native **`.opencode/{agents,skills,commands}`**, lazy `.opencode/rules
|
|
|
8
8
|
_shared/core → cursor/<stack> → opencode/<stack>
|
|
9
9
|
```
|
|
10
10
|
|
|
11
|
-
Chain: `bash .opencode/hooks/chain-team-phases.sh` after receipts (no `hooks.json
|
|
11
|
+
Chain: `projectHooks` is **manual** — `printf '%s\n' '{"status":"completed"}' | bash .opencode/hooks/chain-team-phases.sh` after receipts (no `hooks.json`, no plugin). `nativeProjectRules` is **no-equivalent**.
|
|
12
12
|
|
|
13
13
|
```bash
|
|
14
14
|
npx @bonesofspring/ai-rules init opencode --preset next
|
|
@@ -12,7 +12,9 @@ Root `AGENTS.md` is native always-on. Read it first, then this file.
|
|
|
12
12
|
- Other rules: lazy `Read` `.opencode/rules/<stem>.md` when the task matches.
|
|
13
13
|
- Agents: native `@name` / Task from `.opencode/agents/`.
|
|
14
14
|
- Commands: native `/task` from `.opencode/commands/`.
|
|
15
|
-
- After a producer receipt, run `
|
|
15
|
+
- After a producer receipt, run the chain by hand (`projectHooks` is `manual`; this preset ships no plugin):
|
|
16
|
+
`printf '%s\n' '{"status":"completed"}' | bash .opencode/hooks/chain-team-phases.sh`.
|
|
17
|
+
Slash commands are native (`/task` from `.opencode/commands/`). Do not assume `SubagentStop` auto-chain.
|
|
16
18
|
Agents must not write lifecycle fields in `status.json` / `metrics.json`.
|
|
17
19
|
|
|
18
20
|
## Essential rules (read every turn)
|
|
@@ -22,6 +24,11 @@ Root `AGENTS.md` is native always-on. Read it first, then this file.
|
|
|
22
24
|
- `.opencode/rules/code-quality-and-refactoring.md`
|
|
23
25
|
- `.opencode/rules/ai-local-overlay.md`
|
|
24
26
|
|
|
27
|
+
Every turn, probe `ls -la .ai.local`, then apply `.ai.local/rules/*.md` and
|
|
28
|
+
`.ai.local/conventions.md`. Acknowledge `Using .ai.local: <rule-name>`.
|
|
29
|
+
Guide: `docs/LOCAL-OVERLAY.md`. These essential rules are a prompt contract.
|
|
30
|
+
`nativeProjectRules` is `no-equivalent` — do not claim engine `alwaysApply`.
|
|
31
|
+
|
|
25
32
|
See `.opencode/rules/README.md` for the full catalog and loading strategy.
|
|
26
33
|
|
|
27
34
|
## Harness wiring
|
|
@@ -71,4 +71,4 @@ A `.ai.local/` directory MAY exist at the repo root or at any nesting depth in m
|
|
|
71
71
|
|
|
72
72
|
Plain markdown rules under `.ai.local/rules/*.md` are read by the agent with higher priority than preset rules. Living gotchas live in `.ai.local/conventions.md`.
|
|
73
73
|
|
|
74
|
-
Authoring guide: `docs/LOCAL-OVERLAY.md` in the `@bonesofspring/ai-rules` package. The `ai-local-overlay` rule
|
|
74
|
+
On every turn, probe `ls -la .ai.local`, apply `.ai.local/rules/*.md` and `.ai.local/conventions.md`, and acknowledge `Using .ai.local: <rule-name>`. Authoring guide: `docs/LOCAL-OVERLAY.md` in the `@bonesofspring/ai-rules` package. The `ai-local-overlay` rule is always-on on Cursor and session-start on Claude (no `paths:`). Mavis and OpenCode have no native `alwaysApply`; this section plus the platform entry's essential-rules list is the reinforcement.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"platform": "opencode",
|
|
4
4
|
"stack": "android-kotlin",
|
|
5
5
|
"semanticSource": "cursor/android-kotlin",
|
|
6
|
-
"sourceRevision": "
|
|
6
|
+
"sourceRevision": "6e09f86a97133b60a3818076d68660709ce3b9119175f1e00ef160b3bc747def",
|
|
7
7
|
"entries": [
|
|
8
8
|
{
|
|
9
9
|
"source": "AGENTS.md",
|
|
@@ -21,7 +21,7 @@ Checklist for PRs that touch `packages/ai-rules/presets/**` (and dogfood `.curso
|
|
|
21
21
|
- [ ] **README:** stack `rules/README.md` core→stack mapping / catalog updated if stems added
|
|
22
22
|
- [ ] **CHANGELOG / package README:** note when public preset paths or install surface change
|
|
23
23
|
- [ ] **i18n anchors:** kept-marked Cyrillic fragments in `tests-unit.md(c)` stay consistent with their English counterparts. Run `packages/ai-rules/scripts/check-preset-i18n.sh`.
|
|
24
|
-
- [ ] **Dogfood:** run `packages/ai-rules/scripts/sync-dogfood-cursor.sh`
|
|
24
|
+
- [ ] **Dogfood:** run `packages/ai-rules/scripts/sync-dogfood-cursor.sh`, `sync-dogfood-claude.sh`, `sync-dogfood-mavis.sh`, and `sync-dogfood-opencode.sh` when those platforms changed, or document an intentional skip, when maintaining this monorepo
|
|
25
25
|
- [ ] **shared-core drift:** for embed-mode stems, run `packages/ai-rules/scripts/check-shared-core-drift.sh` (or document intentional fork)
|
|
26
26
|
|
|
27
27
|
## Pointers
|
|
@@ -31,6 +31,6 @@ Checklist for PRs that touch `packages/ai-rules/presets/**` (and dogfood `.curso
|
|
|
31
31
|
- Budget: `preset-token-budget`
|
|
32
32
|
- Leakage: `preset-no-cross-stack-leakage`
|
|
33
33
|
- Validation: stack `agents/build-verifier.md` → preset-structure section
|
|
34
|
-
- Dogfood scripts: `packages/ai-rules/scripts/sync-dogfood-cursor.sh`, `sync-dogfood-mavis.sh`, `sync-dogfood-opencode.sh`
|
|
34
|
+
- Dogfood scripts: `packages/ai-rules/scripts/sync-dogfood-cursor.sh`, `sync-dogfood-claude.sh`, `sync-dogfood-mavis.sh`, `sync-dogfood-opencode.sh`
|
|
35
35
|
- Drift script: `packages/ai-rules/scripts/check-shared-core-drift.sh`
|
|
36
36
|
- Orchestrator: when editing presets, load this checklist + twin-sync
|
|
@@ -12,7 +12,9 @@ Root `AGENTS.md` is native always-on. Read it first, then this file.
|
|
|
12
12
|
- Other rules: lazy `Read` `.opencode/rules/<stem>.md` when the task matches.
|
|
13
13
|
- Agents: native `@name` / Task from `.opencode/agents/`.
|
|
14
14
|
- Commands: native `/task` from `.opencode/commands/`.
|
|
15
|
-
- After a producer receipt, run `
|
|
15
|
+
- After a producer receipt, run the chain by hand (`projectHooks` is `manual`; this preset ships no plugin):
|
|
16
|
+
`printf '%s\n' '{"status":"completed"}' | bash .opencode/hooks/chain-team-phases.sh`.
|
|
17
|
+
Slash commands are native (`/task` from `.opencode/commands/`). Do not assume `SubagentStop` auto-chain.
|
|
16
18
|
Agents must not write lifecycle fields in `status.json` / `metrics.json`.
|
|
17
19
|
|
|
18
20
|
## Essential rules (read every turn)
|
|
@@ -22,6 +24,11 @@ Root `AGENTS.md` is native always-on. Read it first, then this file.
|
|
|
22
24
|
- `.opencode/rules/code-quality-and-refactoring.md`
|
|
23
25
|
- `.opencode/rules/ai-local-overlay.md`
|
|
24
26
|
|
|
27
|
+
Every turn, probe `ls -la .ai.local`, then apply `.ai.local/rules/*.md` and
|
|
28
|
+
`.ai.local/conventions.md`. Acknowledge `Using .ai.local: <rule-name>`.
|
|
29
|
+
Guide: `docs/LOCAL-OVERLAY.md`. These essential rules are a prompt contract.
|
|
30
|
+
`nativeProjectRules` is `no-equivalent` — do not claim engine `alwaysApply`.
|
|
31
|
+
|
|
25
32
|
See `.opencode/rules/README.md` for the full catalog and loading strategy.
|
|
26
33
|
|
|
27
34
|
## Harness wiring
|
|
@@ -71,4 +71,4 @@ A `.ai.local/` directory MAY exist at the repo root or at any nesting depth in m
|
|
|
71
71
|
|
|
72
72
|
Plain markdown rules under `.ai.local/rules/*.md` are read by the agent with higher priority than preset rules. Living gotchas live in `.ai.local/conventions.md`.
|
|
73
73
|
|
|
74
|
-
Authoring guide: `docs/LOCAL-OVERLAY.md` in the `@bonesofspring/ai-rules` package. The `ai-local-overlay` rule
|
|
74
|
+
On every turn, probe `ls -la .ai.local`, apply `.ai.local/rules/*.md` and `.ai.local/conventions.md`, and acknowledge `Using .ai.local: <rule-name>`. Authoring guide: `docs/LOCAL-OVERLAY.md` in the `@bonesofspring/ai-rules` package. The `ai-local-overlay` rule is always-on on Cursor and session-start on Claude (no `paths:`). Mavis and OpenCode have no native `alwaysApply`; this section plus the platform entry's essential-rules list is the reinforcement.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"platform": "opencode",
|
|
4
4
|
"stack": "go",
|
|
5
5
|
"semanticSource": "cursor/go",
|
|
6
|
-
"sourceRevision": "
|
|
6
|
+
"sourceRevision": "082c8aec1536c91c49993c58c6f9ad587da93c4a5bbef82b7b73eece4402eab9",
|
|
7
7
|
"entries": [
|
|
8
8
|
{
|
|
9
9
|
"source": "AGENTS.md",
|
|
@@ -21,7 +21,7 @@ Checklist for PRs that touch `packages/ai-rules/presets/**` (and dogfood `.curso
|
|
|
21
21
|
- [ ] **README:** stack `rules/README.md` core→stack mapping / catalog updated if stems added
|
|
22
22
|
- [ ] **CHANGELOG / package README:** note when public preset paths or install surface change
|
|
23
23
|
- [ ] **i18n anchors:** kept-marked Cyrillic fragments in `tests-unit.md(c)` stay consistent with their English counterparts. Run `packages/ai-rules/scripts/check-preset-i18n.sh`.
|
|
24
|
-
- [ ] **Dogfood:** run `packages/ai-rules/scripts/sync-dogfood-cursor.sh`
|
|
24
|
+
- [ ] **Dogfood:** run `packages/ai-rules/scripts/sync-dogfood-cursor.sh`, `sync-dogfood-claude.sh`, `sync-dogfood-mavis.sh`, and `sync-dogfood-opencode.sh` when those platforms changed, or document an intentional skip, when maintaining this monorepo
|
|
25
25
|
- [ ] **shared-core drift:** for embed-mode stems, run `packages/ai-rules/scripts/check-shared-core-drift.sh` (or document intentional fork)
|
|
26
26
|
|
|
27
27
|
## Pointers
|
|
@@ -31,6 +31,6 @@ Checklist for PRs that touch `packages/ai-rules/presets/**` (and dogfood `.curso
|
|
|
31
31
|
- Budget: `preset-token-budget`
|
|
32
32
|
- Leakage: `preset-no-cross-stack-leakage`
|
|
33
33
|
- Validation: stack `agents/build-verifier.md` → preset-structure section
|
|
34
|
-
- Dogfood scripts: `packages/ai-rules/scripts/sync-dogfood-cursor.sh`, `sync-dogfood-mavis.sh`, `sync-dogfood-opencode.sh`
|
|
34
|
+
- Dogfood scripts: `packages/ai-rules/scripts/sync-dogfood-cursor.sh`, `sync-dogfood-claude.sh`, `sync-dogfood-mavis.sh`, `sync-dogfood-opencode.sh`
|
|
35
35
|
- Drift script: `packages/ai-rules/scripts/check-shared-core-drift.sh`
|
|
36
36
|
- Orchestrator: when editing presets, load this checklist + twin-sync
|
|
@@ -12,7 +12,9 @@ Root `AGENTS.md` is native always-on. Read it first, then this file.
|
|
|
12
12
|
- Other rules: lazy `Read` `.opencode/rules/<stem>.md` when the task matches.
|
|
13
13
|
- Agents: native `@name` / Task from `.opencode/agents/`.
|
|
14
14
|
- Commands: native `/task` from `.opencode/commands/`.
|
|
15
|
-
- After a producer receipt, run `
|
|
15
|
+
- After a producer receipt, run the chain by hand (`projectHooks` is `manual`; this preset ships no plugin):
|
|
16
|
+
`printf '%s\n' '{"status":"completed"}' | bash .opencode/hooks/chain-team-phases.sh`.
|
|
17
|
+
Slash commands are native (`/task` from `.opencode/commands/`). Do not assume `SubagentStop` auto-chain.
|
|
16
18
|
Agents must not write lifecycle fields in `status.json` / `metrics.json`.
|
|
17
19
|
|
|
18
20
|
## Essential rules (read every turn)
|
|
@@ -22,6 +24,11 @@ Root `AGENTS.md` is native always-on. Read it first, then this file.
|
|
|
22
24
|
- `.opencode/rules/code-quality-and-refactoring.md`
|
|
23
25
|
- `.opencode/rules/ai-local-overlay.md`
|
|
24
26
|
|
|
27
|
+
Every turn, probe `ls -la .ai.local`, then apply `.ai.local/rules/*.md` and
|
|
28
|
+
`.ai.local/conventions.md`. Acknowledge `Using .ai.local: <rule-name>`.
|
|
29
|
+
Guide: `docs/LOCAL-OVERLAY.md`. These essential rules are a prompt contract.
|
|
30
|
+
`nativeProjectRules` is `no-equivalent` — do not claim engine `alwaysApply`.
|
|
31
|
+
|
|
25
32
|
See `.opencode/rules/README.md` for the full catalog and loading strategy.
|
|
26
33
|
|
|
27
34
|
## Harness wiring
|
|
@@ -69,4 +69,4 @@ A `.ai.local/` directory MAY exist at the repo root or at any nesting depth in m
|
|
|
69
69
|
|
|
70
70
|
Plain markdown rules under `.ai.local/rules/*.md` are read by the agent with higher priority than preset rules. Living gotchas live in `.ai.local/conventions.md`.
|
|
71
71
|
|
|
72
|
-
Authoring guide: `docs/LOCAL-OVERLAY.md` in the `@bonesofspring/ai-rules` package. The `ai-local-overlay` rule
|
|
72
|
+
On every turn, probe `ls -la .ai.local`, apply `.ai.local/rules/*.md` and `.ai.local/conventions.md`, and acknowledge `Using .ai.local: <rule-name>`. Authoring guide: `docs/LOCAL-OVERLAY.md` in the `@bonesofspring/ai-rules` package. The `ai-local-overlay` rule is always-on on Cursor and session-start on Claude (no `paths:`). Mavis and OpenCode have no native `alwaysApply`; this section plus the platform entry's essential-rules list is the reinforcement.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"platform": "opencode",
|
|
4
4
|
"stack": "ios-swift",
|
|
5
5
|
"semanticSource": "cursor/ios-swift",
|
|
6
|
-
"sourceRevision": "
|
|
6
|
+
"sourceRevision": "6109fce820397ca0bc6b9a2f09290049e4a0e88a5c8dfb5267f52ff8b46f30e5",
|
|
7
7
|
"entries": [
|
|
8
8
|
{
|
|
9
9
|
"source": "AGENTS.md",
|
|
@@ -21,7 +21,7 @@ Checklist for PRs that touch `packages/ai-rules/presets/**` (and dogfood `.curso
|
|
|
21
21
|
- [ ] **README:** stack `rules/README.md` core→stack mapping / catalog updated if stems added
|
|
22
22
|
- [ ] **CHANGELOG / package README:** note when public preset paths or install surface change
|
|
23
23
|
- [ ] **i18n anchors:** kept-marked Cyrillic fragments in `tests-unit.md(c)` stay consistent with their English counterparts. Run `packages/ai-rules/scripts/check-preset-i18n.sh`.
|
|
24
|
-
- [ ] **Dogfood:** run `packages/ai-rules/scripts/sync-dogfood-cursor.sh`
|
|
24
|
+
- [ ] **Dogfood:** run `packages/ai-rules/scripts/sync-dogfood-cursor.sh`, `sync-dogfood-claude.sh`, `sync-dogfood-mavis.sh`, and `sync-dogfood-opencode.sh` when those platforms changed, or document an intentional skip, when maintaining this monorepo
|
|
25
25
|
- [ ] **shared-core drift:** for embed-mode stems, run `packages/ai-rules/scripts/check-shared-core-drift.sh` (or document intentional fork)
|
|
26
26
|
|
|
27
27
|
## Pointers
|
|
@@ -31,6 +31,6 @@ Checklist for PRs that touch `packages/ai-rules/presets/**` (and dogfood `.curso
|
|
|
31
31
|
- Budget: `preset-token-budget`
|
|
32
32
|
- Leakage: `preset-no-cross-stack-leakage`
|
|
33
33
|
- Validation: stack `agents/build-verifier.md` → preset-structure section
|
|
34
|
-
- Dogfood scripts: `packages/ai-rules/scripts/sync-dogfood-cursor.sh`, `sync-dogfood-mavis.sh`, `sync-dogfood-opencode.sh`
|
|
34
|
+
- Dogfood scripts: `packages/ai-rules/scripts/sync-dogfood-cursor.sh`, `sync-dogfood-claude.sh`, `sync-dogfood-mavis.sh`, `sync-dogfood-opencode.sh`
|
|
35
35
|
- Drift script: `packages/ai-rules/scripts/check-shared-core-drift.sh`
|
|
36
36
|
- Orchestrator: when editing presets, load this checklist + twin-sync
|
|
@@ -12,7 +12,9 @@ Root `AGENTS.md` is native always-on. Read it first, then this file.
|
|
|
12
12
|
- Other rules: lazy `Read` `.opencode/rules/<stem>.md` when the task matches.
|
|
13
13
|
- Agents: native `@name` / Task from `.opencode/agents/`.
|
|
14
14
|
- Commands: native `/task` from `.opencode/commands/`.
|
|
15
|
-
- After a producer receipt, run `
|
|
15
|
+
- After a producer receipt, run the chain by hand (`projectHooks` is `manual`; this preset ships no plugin):
|
|
16
|
+
`printf '%s\n' '{"status":"completed"}' | bash .opencode/hooks/chain-team-phases.sh`.
|
|
17
|
+
Slash commands are native (`/task` from `.opencode/commands/`). Do not assume `SubagentStop` auto-chain.
|
|
16
18
|
Agents must not write lifecycle fields in `status.json` / `metrics.json`.
|
|
17
19
|
|
|
18
20
|
## Essential rules (read every turn)
|
|
@@ -22,6 +24,11 @@ Root `AGENTS.md` is native always-on. Read it first, then this file.
|
|
|
22
24
|
- `.opencode/rules/code-quality-and-refactoring.md`
|
|
23
25
|
- `.opencode/rules/ai-local-overlay.md`
|
|
24
26
|
|
|
27
|
+
Every turn, probe `ls -la .ai.local`, then apply `.ai.local/rules/*.md` and
|
|
28
|
+
`.ai.local/conventions.md`. Acknowledge `Using .ai.local: <rule-name>`.
|
|
29
|
+
Guide: `docs/LOCAL-OVERLAY.md`. These essential rules are a prompt contract.
|
|
30
|
+
`nativeProjectRules` is `no-equivalent` — do not claim engine `alwaysApply`.
|
|
31
|
+
|
|
25
32
|
See `.opencode/rules/README.md` for the full catalog and loading strategy.
|
|
26
33
|
|
|
27
34
|
## Harness wiring
|
|
@@ -69,4 +69,4 @@ A `.ai.local/` directory MAY exist at the repo root or at any nesting depth in m
|
|
|
69
69
|
|
|
70
70
|
Plain markdown rules under `.ai.local/rules/*.md` are read by the agent with higher priority than preset rules. Living gotchas live in `.ai.local/conventions.md`.
|
|
71
71
|
|
|
72
|
-
Authoring guide: `docs/LOCAL-OVERLAY.md` in the `@bonesofspring/ai-rules` package. The `ai-local-overlay` rule
|
|
72
|
+
On every turn, probe `ls -la .ai.local`, apply `.ai.local/rules/*.md` and `.ai.local/conventions.md`, and acknowledge `Using .ai.local: <rule-name>`. Authoring guide: `docs/LOCAL-OVERLAY.md` in the `@bonesofspring/ai-rules` package. The `ai-local-overlay` rule is always-on on Cursor and session-start on Claude (no `paths:`). Mavis and OpenCode have no native `alwaysApply`; this section plus the platform entry's essential-rules list is the reinforcement.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"platform": "opencode",
|
|
4
4
|
"stack": "java",
|
|
5
5
|
"semanticSource": "cursor/java",
|
|
6
|
-
"sourceRevision": "
|
|
6
|
+
"sourceRevision": "644b4a47fead34d4c5745a9290e800b99b6948a174edcf5c74621999068dd14e",
|
|
7
7
|
"entries": [
|
|
8
8
|
{
|
|
9
9
|
"source": "AGENTS.md",
|
|
@@ -21,7 +21,7 @@ Checklist for PRs that touch `packages/ai-rules/presets/**` (and dogfood `.curso
|
|
|
21
21
|
- [ ] **README:** stack `rules/README.md` core→stack mapping / catalog updated if stems added
|
|
22
22
|
- [ ] **CHANGELOG / package README:** note when public preset paths or install surface change
|
|
23
23
|
- [ ] **i18n anchors:** kept-marked Cyrillic fragments in `tests-unit.md(c)` stay consistent with their English counterparts. Run `packages/ai-rules/scripts/check-preset-i18n.sh`.
|
|
24
|
-
- [ ] **Dogfood:** run `packages/ai-rules/scripts/sync-dogfood-cursor.sh`
|
|
24
|
+
- [ ] **Dogfood:** run `packages/ai-rules/scripts/sync-dogfood-cursor.sh`, `sync-dogfood-claude.sh`, `sync-dogfood-mavis.sh`, and `sync-dogfood-opencode.sh` when those platforms changed, or document an intentional skip, when maintaining this monorepo
|
|
25
25
|
- [ ] **shared-core drift:** for embed-mode stems, run `packages/ai-rules/scripts/check-shared-core-drift.sh` (or document intentional fork)
|
|
26
26
|
|
|
27
27
|
## Pointers
|
|
@@ -31,6 +31,6 @@ Checklist for PRs that touch `packages/ai-rules/presets/**` (and dogfood `.curso
|
|
|
31
31
|
- Budget: `preset-token-budget`
|
|
32
32
|
- Leakage: `preset-no-cross-stack-leakage`
|
|
33
33
|
- Validation: stack `agents/build-verifier.md` → preset-structure section
|
|
34
|
-
- Dogfood scripts: `packages/ai-rules/scripts/sync-dogfood-cursor.sh`, `sync-dogfood-mavis.sh`, `sync-dogfood-opencode.sh`
|
|
34
|
+
- Dogfood scripts: `packages/ai-rules/scripts/sync-dogfood-cursor.sh`, `sync-dogfood-claude.sh`, `sync-dogfood-mavis.sh`, `sync-dogfood-opencode.sh`
|
|
35
35
|
- Drift script: `packages/ai-rules/scripts/check-shared-core-drift.sh`
|
|
36
36
|
- Orchestrator: when editing presets, load this checklist + twin-sync
|
|
@@ -12,7 +12,9 @@ Root `AGENTS.md` is native always-on. Read it first, then this file.
|
|
|
12
12
|
- Other rules: lazy `Read` `.opencode/rules/<stem>.md` when the task matches.
|
|
13
13
|
- Agents: native `@name` / Task from `.opencode/agents/`.
|
|
14
14
|
- Commands: native `/task` from `.opencode/commands/`.
|
|
15
|
-
- After a producer receipt, run `
|
|
15
|
+
- After a producer receipt, run the chain by hand (`projectHooks` is `manual`; this preset ships no plugin):
|
|
16
|
+
`printf '%s\n' '{"status":"completed"}' | bash .opencode/hooks/chain-team-phases.sh`.
|
|
17
|
+
Slash commands are native (`/task` from `.opencode/commands/`). Do not assume `SubagentStop` auto-chain.
|
|
16
18
|
Agents must not write lifecycle fields in `status.json` / `metrics.json`.
|
|
17
19
|
|
|
18
20
|
## Essential rules (read every turn)
|
|
@@ -22,6 +24,11 @@ Root `AGENTS.md` is native always-on. Read it first, then this file.
|
|
|
22
24
|
- `.opencode/rules/code-quality-and-refactoring.md`
|
|
23
25
|
- `.opencode/rules/ai-local-overlay.md`
|
|
24
26
|
|
|
27
|
+
Every turn, probe `ls -la .ai.local`, then apply `.ai.local/rules/*.md` and
|
|
28
|
+
`.ai.local/conventions.md`. Acknowledge `Using .ai.local: <rule-name>`.
|
|
29
|
+
Guide: `docs/LOCAL-OVERLAY.md`. These essential rules are a prompt contract.
|
|
30
|
+
`nativeProjectRules` is `no-equivalent` — do not claim engine `alwaysApply`.
|
|
31
|
+
|
|
25
32
|
See `.opencode/rules/README.md` for the full catalog and loading strategy.
|
|
26
33
|
|
|
27
34
|
## Harness wiring
|
|
@@ -72,4 +72,4 @@ A `.ai.local/` directory MAY exist at the repo root or at any nesting depth in m
|
|
|
72
72
|
|
|
73
73
|
Plain markdown rules under `.ai.local/rules/*.md` are read by the agent with higher priority than preset rules. Living gotchas live in `.ai.local/conventions.md`.
|
|
74
74
|
|
|
75
|
-
Authoring guide: `docs/LOCAL-OVERLAY.md` in the `@bonesofspring/ai-rules` package. The `ai-local-overlay` rule
|
|
75
|
+
On every turn, probe `ls -la .ai.local`, apply `.ai.local/rules/*.md` and `.ai.local/conventions.md`, and acknowledge `Using .ai.local: <rule-name>`. Authoring guide: `docs/LOCAL-OVERLAY.md` in the `@bonesofspring/ai-rules` package. The `ai-local-overlay` rule is always-on on Cursor and session-start on Claude (no `paths:`). Mavis and OpenCode have no native `alwaysApply`; this section plus the platform entry's essential-rules list is the reinforcement.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"platform": "opencode",
|
|
4
4
|
"stack": "mcp-ts",
|
|
5
5
|
"semanticSource": "cursor/mcp-ts",
|
|
6
|
-
"sourceRevision": "
|
|
6
|
+
"sourceRevision": "008356a19bf3609e33b39cb6a5397384b45078380661e6b944b1f86ced6aae7d",
|
|
7
7
|
"entries": [
|
|
8
8
|
{
|
|
9
9
|
"source": "AGENTS.md",
|