@bonesofspring/ai-rules 0.2.28 → 0.2.30
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 +5 -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/agents/code-reviewer.md +35 -0
- package/presets/claude/next/agents/feature-developer.md +12 -0
- package/presets/claude/next/agents/mockup-reviewer.md +27 -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 +3 -2
- package/presets/claude/next/rules/architecture/feature-delivery-workflow.md +17 -0
- package/presets/claude/next/rules/tooling-and-review/ai-local-overlay.md +0 -5
- package/presets/claude/next/rules/tooling-and-review/code-review-mr.md +10 -0
- package/presets/claude/next/rules/tooling-and-review/mockup-review.md +9 -0
- package/presets/claude/next/rules/tooling-and-review/preset-pr-checklist.md +2 -2
- package/presets/claude/next/rules/ui-and-accessibility/design-tokens-binding.md +42 -0
- package/presets/claude/next/rules/ui-and-accessibility/react-ui.md +1 -0
- package/presets/claude/next/settings.json +23 -0
- package/presets/claude/next/skills/code-review/SKILL.md +1 -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/agents/code-reviewer.md +35 -0
- package/presets/cursor/next/agents/feature-developer.md +22 -0
- package/presets/cursor/next/agents/mockup-reviewer.md +27 -1
- package/presets/cursor/next/rules/README.md +3 -1
- package/presets/cursor/next/rules/code-review-mr.mdc +10 -0
- package/presets/cursor/next/rules/design-tokens-binding.mdc +41 -0
- package/presets/cursor/next/rules/feature-delivery-workflow.mdc +17 -0
- package/presets/cursor/next/rules/mockup-review.mdc +9 -0
- package/presets/cursor/next/rules/preset-pr-checklist.mdc +2 -2
- package/presets/cursor/next/rules/react-ui.mdc +1 -0
- package/presets/cursor/next/skills/code-review/SKILL.md +1 -0
- 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 +9 -1
- package/presets/mavis/next/agents/code-reviewer.md +35 -0
- package/presets/mavis/next/agents/feature-developer.md +22 -0
- package/presets/mavis/next/agents/mockup-reviewer.md +27 -1
- package/presets/mavis/next/rules/code-review-mr.md +10 -0
- package/presets/mavis/next/rules/design-tokens-binding.md +35 -0
- package/presets/mavis/next/rules/feature-delivery-workflow.md +17 -0
- package/presets/mavis/next/rules/mockup-review.md +9 -0
- package/presets/mavis/next/rules/preset-pr-checklist.md +2 -2
- package/presets/mavis/next/rules/react-ui.md +1 -0
- package/presets/mavis/next/skills/code-review/SKILL.md +1 -0
- 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 +9 -1
- package/presets/opencode/next/agents/code-reviewer.md +35 -0
- package/presets/opencode/next/agents/feature-developer.md +22 -0
- package/presets/opencode/next/agents/mockup-reviewer.md +27 -1
- package/presets/opencode/next/rules/code-review-mr.md +10 -0
- package/presets/opencode/next/rules/design-tokens-binding.md +35 -0
- package/presets/opencode/next/rules/feature-delivery-workflow.md +17 -0
- package/presets/opencode/next/rules/mockup-review.md +9 -0
- package/presets/opencode/next/rules/preset-pr-checklist.md +2 -2
- package/presets/opencode/next/rules/react-ui.md +1 -0
- package/presets/opencode/next/skills/code-review/SKILL.md +1 -0
- 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 +19 -18
- package/scripts/fixtures/cli-golden/cursor/next.json +12 -11
- 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 +12 -11
- 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 +12 -11
- 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
|
@@ -30,7 +30,7 @@ Checklist for PRs that touch `packages/ai-rules/presets/**` (and dogfood `.curso
|
|
|
30
30
|
- [ ] **README:** stack `rules/README.md` core→stack mapping / catalog updated if stems added
|
|
31
31
|
- [ ] **CHANGELOG / package README:** note when public preset paths or install surface change
|
|
32
32
|
- [ ] **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`.
|
|
33
|
-
- [ ] **Dogfood:** run `packages/ai-rules/scripts/sync-dogfood-cursor.sh`
|
|
33
|
+
- [ ] **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
|
|
34
34
|
- [ ] **shared-core drift:** for embed-mode stems, run `packages/ai-rules/scripts/check-shared-core-drift.sh` (or document intentional fork)
|
|
35
35
|
|
|
36
36
|
## Pointers
|
|
@@ -40,6 +40,6 @@ Checklist for PRs that touch `packages/ai-rules/presets/**` (and dogfood `.curso
|
|
|
40
40
|
- Budget: `preset-token-budget`
|
|
41
41
|
- Leakage: `preset-no-cross-stack-leakage`
|
|
42
42
|
- Validation: stack `agents/build-verifier.md` → preset-structure section
|
|
43
|
-
- Dogfood scripts: `packages/ai-rules/scripts/sync-dogfood-cursor.sh`, `sync-dogfood-mavis.sh`, `sync-dogfood-opencode.sh`
|
|
43
|
+
- Dogfood scripts: `packages/ai-rules/scripts/sync-dogfood-cursor.sh`, `sync-dogfood-claude.sh`, `sync-dogfood-mavis.sh`, `sync-dogfood-opencode.sh`
|
|
44
44
|
- Drift script: `packages/ai-rules/scripts/check-shared-core-drift.sh`
|
|
45
45
|
- Orchestrator: when editing presets, load this checklist + twin-sync
|
|
@@ -97,6 +97,7 @@ For a reusable component:
|
|
|
97
97
|
- **Forbidden** to import another component's `styles` (`../Other/styles`, `../../styles`). Allowed: `./styles`, shared primitives from `@/ui/components/...` or design-system packages.
|
|
98
98
|
- CSS / `styled` order — Stylelint idiomatic-order: `css-property-order-stylelint.mdc` (loads on `styles.ts` / `.css`).
|
|
99
99
|
- For visuals use **the style stack and tokens already in the project** (variables, theme, shared classes, design package).
|
|
100
|
+
- **Token binding (Figma → repo):** typography, color, spacing, radius, shadow, and imagery must bind to the project token module and the design system (`@sds/tokens-*` / `@sds/brand-colors` / DS components like `Text variant="…"`, `@sds/icon`, `next/image`). Raw `#…` / `rgb(…)` / `px` where a token exists is a finding. The full discipline — including the per-element parity checklist and the developer self-check vs Figma — is in **`design-tokens-binding.mdc`**. When a Figma reference exists, the `mockup-review.md` `## Design contract` section is the binding table; use it.
|
|
100
101
|
- Avoid:
|
|
101
102
|
- inline styles except simple cases;
|
|
102
103
|
- duplicating styling already covered by shared primitives;
|
|
@@ -20,6 +20,7 @@ Use the local repository as the source of truth: `git status`, `git diff`, task
|
|
|
20
20
|
7. **Reuse lens:** flag new helpers that duplicate existing utilities; prefer adjacent shared modules over copy-paste.
|
|
21
21
|
8. **Efficiency lens:** unnecessary work, sequential ops that should be parallel, hot-path bloat, no-op store updates, overly broad reads.
|
|
22
22
|
9. Report validation gaps: lint, stylelint, type-check, or relevant tests not run.
|
|
23
|
+
10. **UI / Figma parity (when the diff touches UI/layout AND a Figma reference exists):** perform a detailed, pixel-accurate comparison of the implementation against the mockup across **every project viewport** (mockup-review AC-8 / Stack notes set and the repo’s Storybook viewport toolbar). Figma frames via Figma MCP `get_screenshot`; the running app via Playwright MCP / Chrome DevTools MCP at the matching width. Compare **per element** — typography, color, spacing, imagery, states, structure/responsive, auto-layout intent — bound to the `mockup-review.md` `## Design contract` and the `design-tokens-binding` discipline (`@sds/tokens-*` / DS components; raw `#…` / `px` where a token exists is a finding). Emit a `## Figma parity (UI)` section in `review.md`. **Storybook visual baselines are not a substitute.** Missing or `unable_to_compare` parity on a UI MR with a Figma reference → `REQUEST_CHANGES`. Unbound raw values → `blocker` / `important`.
|
|
23
24
|
|
|
24
25
|
## Output
|
|
25
26
|
|
|
@@ -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.
|
|
@@ -30,7 +30,7 @@ Checklist for PRs that touch `packages/ai-rules/presets/**` (and dogfood `.curso
|
|
|
30
30
|
- [ ] **README:** stack `rules/README.md` core→stack mapping / catalog updated if stems added
|
|
31
31
|
- [ ] **CHANGELOG / package README:** note when public preset paths or install surface change
|
|
32
32
|
- [ ] **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`.
|
|
33
|
-
- [ ] **Dogfood:** run `packages/ai-rules/scripts/sync-dogfood-cursor.sh`
|
|
33
|
+
- [ ] **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
|
|
34
34
|
- [ ] **shared-core drift:** for embed-mode stems, run `packages/ai-rules/scripts/check-shared-core-drift.sh` (or document intentional fork)
|
|
35
35
|
|
|
36
36
|
## Pointers
|
|
@@ -40,6 +40,6 @@ Checklist for PRs that touch `packages/ai-rules/presets/**` (and dogfood `.curso
|
|
|
40
40
|
- Budget: `preset-token-budget`
|
|
41
41
|
- Leakage: `preset-no-cross-stack-leakage`
|
|
42
42
|
- Validation: stack `agents/build-verifier.md` → preset-structure section
|
|
43
|
-
- Dogfood scripts: `packages/ai-rules/scripts/sync-dogfood-cursor.sh`, `sync-dogfood-mavis.sh`, `sync-dogfood-opencode.sh`
|
|
43
|
+
- Dogfood scripts: `packages/ai-rules/scripts/sync-dogfood-cursor.sh`, `sync-dogfood-claude.sh`, `sync-dogfood-mavis.sh`, `sync-dogfood-opencode.sh`
|
|
44
44
|
- Drift script: `packages/ai-rules/scripts/check-shared-core-drift.sh`
|
|
45
45
|
- Orchestrator: when editing presets, load this checklist + twin-sync
|
|
@@ -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.
|
|
@@ -30,7 +30,7 @@ Checklist for PRs that touch `packages/ai-rules/presets/**` (and dogfood `.curso
|
|
|
30
30
|
- [ ] **README:** stack `rules/README.md` core→stack mapping / catalog updated if stems added
|
|
31
31
|
- [ ] **CHANGELOG / package README:** note when public preset paths or install surface change
|
|
32
32
|
- [ ] **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`.
|
|
33
|
-
- [ ] **Dogfood:** run `packages/ai-rules/scripts/sync-dogfood-cursor.sh`
|
|
33
|
+
- [ ] **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
|
|
34
34
|
- [ ] **shared-core drift:** for embed-mode stems, run `packages/ai-rules/scripts/check-shared-core-drift.sh` (or document intentional fork)
|
|
35
35
|
|
|
36
36
|
## Pointers
|
|
@@ -40,6 +40,6 @@ Checklist for PRs that touch `packages/ai-rules/presets/**` (and dogfood `.curso
|
|
|
40
40
|
- Budget: `preset-token-budget`
|
|
41
41
|
- Leakage: `preset-no-cross-stack-leakage`
|
|
42
42
|
- Validation: stack `agents/build-verifier.md` → preset-structure section
|
|
43
|
-
- Dogfood scripts: `packages/ai-rules/scripts/sync-dogfood-cursor.sh`, `sync-dogfood-mavis.sh`, `sync-dogfood-opencode.sh`
|
|
43
|
+
- Dogfood scripts: `packages/ai-rules/scripts/sync-dogfood-cursor.sh`, `sync-dogfood-claude.sh`, `sync-dogfood-mavis.sh`, `sync-dogfood-opencode.sh`
|
|
44
44
|
- Drift script: `packages/ai-rules/scripts/check-shared-core-drift.sh`
|
|
45
45
|
- Orchestrator: when editing presets, load this checklist + twin-sync
|
|
@@ -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.
|
|
@@ -30,7 +30,7 @@ Checklist for PRs that touch `packages/ai-rules/presets/**` (and dogfood `.curso
|
|
|
30
30
|
- [ ] **README:** stack `rules/README.md` core→stack mapping / catalog updated if stems added
|
|
31
31
|
- [ ] **CHANGELOG / package README:** note when public preset paths or install surface change
|
|
32
32
|
- [ ] **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`.
|
|
33
|
-
- [ ] **Dogfood:** run `packages/ai-rules/scripts/sync-dogfood-cursor.sh`
|
|
33
|
+
- [ ] **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
|
|
34
34
|
- [ ] **shared-core drift:** for embed-mode stems, run `packages/ai-rules/scripts/check-shared-core-drift.sh` (or document intentional fork)
|
|
35
35
|
|
|
36
36
|
## Pointers
|
|
@@ -40,6 +40,6 @@ Checklist for PRs that touch `packages/ai-rules/presets/**` (and dogfood `.curso
|
|
|
40
40
|
- Budget: `preset-token-budget`
|
|
41
41
|
- Leakage: `preset-no-cross-stack-leakage`
|
|
42
42
|
- Validation: stack `agents/build-verifier.md` → preset-structure section
|
|
43
|
-
- Dogfood scripts: `packages/ai-rules/scripts/sync-dogfood-cursor.sh`, `sync-dogfood-mavis.sh`, `sync-dogfood-opencode.sh`
|
|
43
|
+
- Dogfood scripts: `packages/ai-rules/scripts/sync-dogfood-cursor.sh`, `sync-dogfood-claude.sh`, `sync-dogfood-mavis.sh`, `sync-dogfood-opencode.sh`
|
|
44
44
|
- Drift script: `packages/ai-rules/scripts/check-shared-core-drift.sh`
|
|
45
45
|
- Orchestrator: when editing presets, load this checklist + twin-sync
|
|
@@ -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.
|
|
@@ -30,7 +30,7 @@ Checklist for PRs that touch `packages/ai-rules/presets/**` (and dogfood `.curso
|
|
|
30
30
|
- [ ] **README:** stack `rules/README.md` core→stack mapping / catalog updated if stems added
|
|
31
31
|
- [ ] **CHANGELOG / package README:** note when public preset paths or install surface change
|
|
32
32
|
- [ ] **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`.
|
|
33
|
-
- [ ] **Dogfood:** run `packages/ai-rules/scripts/sync-dogfood-cursor.sh`
|
|
33
|
+
- [ ] **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
|
|
34
34
|
- [ ] **shared-core drift:** for embed-mode stems, run `packages/ai-rules/scripts/check-shared-core-drift.sh` (or document intentional fork)
|
|
35
35
|
|
|
36
36
|
## Pointers
|
|
@@ -40,6 +40,6 @@ Checklist for PRs that touch `packages/ai-rules/presets/**` (and dogfood `.curso
|
|
|
40
40
|
- Budget: `preset-token-budget`
|
|
41
41
|
- Leakage: `preset-no-cross-stack-leakage`
|
|
42
42
|
- Validation: stack `agents/build-verifier.md` → preset-structure section
|
|
43
|
-
- Dogfood scripts: `packages/ai-rules/scripts/sync-dogfood-cursor.sh`, `sync-dogfood-mavis.sh`, `sync-dogfood-opencode.sh`
|
|
43
|
+
- Dogfood scripts: `packages/ai-rules/scripts/sync-dogfood-cursor.sh`, `sync-dogfood-claude.sh`, `sync-dogfood-mavis.sh`, `sync-dogfood-opencode.sh`
|
|
44
44
|
- Drift script: `packages/ai-rules/scripts/check-shared-core-drift.sh`
|
|
45
45
|
- Orchestrator: when editing presets, load this checklist + twin-sync
|
package/presets/mavis/README.md
CHANGED
|
@@ -16,3 +16,5 @@ node scripts/generate-mavis.mjs --stack next
|
|
|
16
16
|
```
|
|
17
17
|
|
|
18
18
|
Consumer guide: [`docs/MAVIS.md`](../../docs/MAVIS.md). Floor: [`docs/MAVIS-COMPATIBILITY.md`](../../docs/MAVIS-COMPATIBILITY.md). Gates: `check-mavis-platform-contract.mjs`, `check-mavis-adapter-map.mjs`.
|
|
19
|
+
|
|
20
|
+
`freshInit` is **unknown** (`mcode init` is TTY-only; a live first `init mavis` is not verified). MCP is `fallback-manual-import`: after init, import `.mavis/mcp.json` in the MiniMax Code UI. Do not write `~/.minimax/**`. `nativeProjectRules` stays **unknown** — entry files reinforce the four root-entry rules; do not claim `alwaysApply`.
|
|
@@ -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
|
|
@@ -89,4 +96,6 @@ npx @bonesofspring/ai-rules init mavis --preset android-kotlin
|
|
|
89
96
|
Copies rules, commands, agents, hooks, skills, `MAVIS.md` → `.mavis/AGENTS.md`,
|
|
90
97
|
`MCP.md`, `mcp.json` → `.mavis/mcp.json`, plus `REPO_AGENTS.md` → root `AGENTS.md`.
|
|
91
98
|
Seeds `.ai.local/team/`.
|
|
99
|
+
`freshInit` is `unknown`: `mcode init` is TTY-only and a live first `init mavis` is not verified.
|
|
100
|
+
MCP mode is `fallback-manual-import`: import `.mavis/mcp.json` in the MiniMax Code UI. Do not write `~/.minimax/**`.
|
|
92
101
|
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": "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
|
|
@@ -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
|
|
@@ -65,4 +72,6 @@ npx @bonesofspring/ai-rules init mavis --preset go
|
|
|
65
72
|
Copies rules, commands, agents, hooks, skills, `MAVIS.md` → `.mavis/AGENTS.md`,
|
|
66
73
|
`MCP.md`, `mcp.json` → `.mavis/mcp.json`, plus `REPO_AGENTS.md` → root `AGENTS.md`.
|
|
67
74
|
Seeds `.ai.local/team/`.
|
|
75
|
+
`freshInit` is `unknown`: `mcode init` is TTY-only and a live first `init mavis` is not verified.
|
|
76
|
+
MCP mode is `fallback-manual-import`: import `.mavis/mcp.json` in the MiniMax Code UI. Do not write `~/.minimax/**`.
|
|
68
77
|
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": "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
|
|
@@ -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
|
|
@@ -89,4 +96,6 @@ npx @bonesofspring/ai-rules init mavis --preset ios-swift
|
|
|
89
96
|
Copies rules, commands, agents, hooks, skills, `MAVIS.md` → `.mavis/AGENTS.md`,
|
|
90
97
|
`MCP.md`, `mcp.json` → `.mavis/mcp.json`, plus `REPO_AGENTS.md` → root `AGENTS.md`.
|
|
91
98
|
Seeds `.ai.local/team/`.
|
|
99
|
+
`freshInit` is `unknown`: `mcode init` is TTY-only and a live first `init mavis` is not verified.
|
|
100
|
+
MCP mode is `fallback-manual-import`: import `.mavis/mcp.json` in the MiniMax Code UI. Do not write `~/.minimax/**`.
|
|
92
101
|
Import MCP from `.mavis/mcp.json` in the MiniMax Code UI.
|
|
@@ -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": "mavis",
|
|
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
|
|
@@ -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 java
|
|
|
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.
|
|
@@ -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": "mavis",
|
|
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
|
|
@@ -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
|
|
@@ -64,4 +71,6 @@ npx @bonesofspring/ai-rules init mavis --preset mcp-ts
|
|
|
64
71
|
Copies rules, commands, agents, hooks, skills, `MAVIS.md` → `.mavis/AGENTS.md`,
|
|
65
72
|
`MCP.md`, `mcp.json` → `.mavis/mcp.json`, plus `REPO_AGENTS.md` → root `AGENTS.md`.
|
|
66
73
|
Seeds `.ai.local/team/`.
|
|
74
|
+
`freshInit` is `unknown`: `mcode init` is TTY-only and a live first `init mavis` is not verified.
|
|
75
|
+
MCP mode is `fallback-manual-import`: import `.mavis/mcp.json` in the MiniMax Code UI. Do not write `~/.minimax/**`.
|
|
67
76
|
Import MCP from `.mavis/mcp.json` 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": "mcp-ts",
|
|
5
5
|
"semanticSource": "cursor/mcp-ts",
|
|
6
|
-
"sourceRevision": "
|
|
6
|
+
"sourceRevision": "008356a19bf3609e33b39cb6a5397384b45078380661e6b944b1f86ced6aae7d",
|
|
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
|
|
@@ -78,5 +85,7 @@ npx @bonesofspring/ai-rules init mavis --preset next
|
|
|
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`, `react-performance` (on-demand). Import MCP from `.mavis/mcp.json`
|
|
82
91
|
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": "next",
|
|
5
5
|
"semanticSource": "cursor/next",
|
|
6
|
-
"sourceRevision": "
|
|
6
|
+
"sourceRevision": "be3247c939b52878a3d3d93245cd63c02e259418104111458f04ef0b737e5d27",
|
|
7
7
|
"entries": [
|
|
8
8
|
{
|
|
9
9
|
"source": "AGENTS.md",
|
|
@@ -490,6 +490,14 @@
|
|
|
490
490
|
"reason": "Requestable Cursor rule: referenced from entry files; not claimed as MiniMax auto-load",
|
|
491
491
|
"sharedCoreStem": "quality/design-guidance.md"
|
|
492
492
|
},
|
|
493
|
+
{
|
|
494
|
+
"source": "rules/design-tokens-binding.mdc",
|
|
495
|
+
"target": "rules/design-tokens-binding.md",
|
|
496
|
+
"category": "rules",
|
|
497
|
+
"disposition": "transform",
|
|
498
|
+
"loadMode": "referenced",
|
|
499
|
+
"reason": "Requestable Cursor rule: referenced from entry files; not claimed as MiniMax auto-load"
|
|
500
|
+
},
|
|
493
501
|
{
|
|
494
502
|
"source": "rules/feature-delivery-workflow.mdc",
|
|
495
503
|
"target": "rules/feature-delivery-workflow.md",
|