@bonesofspring/ai-rules 0.2.30 → 0.2.32
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 +11 -0
- package/docs/LOCAL-OVERLAY.md +14 -0
- package/package.json +1 -1
- package/presets/_shared/core/agent-team/agent-artifact-contracts.md +6 -4
- package/presets/_shared/core/agent-team/agent-task-metrics.md +14 -1
- package/presets/_shared/core/agent-team/agent-team-orchestrator.md +3 -1
- package/presets/claude/android-kotlin/agents/accessibility-reviewer.md +2 -2
- package/presets/claude/android-kotlin/agents/api-contract-reviewer.md +2 -2
- package/presets/claude/android-kotlin/agents/build-verifier.md +1 -1
- package/presets/claude/android-kotlin/agents/ci-investigator.md +2 -2
- package/presets/claude/android-kotlin/agents/code-reviewer.md +2 -2
- package/presets/claude/android-kotlin/agents/debugger.md +2 -2
- package/presets/claude/android-kotlin/agents/feature-developer.md +2 -2
- package/presets/claude/android-kotlin/agents/migration-specialist.md +2 -2
- package/presets/claude/android-kotlin/agents/mockup-reviewer.md +2 -2
- package/presets/claude/android-kotlin/agents/openspec-author.md +2 -2
- package/presets/claude/android-kotlin/agents/performance-auditor.md +2 -2
- package/presets/claude/android-kotlin/agents/qa-tester.md +2 -2
- package/presets/claude/android-kotlin/agents/security-reviewer.md +2 -2
- package/presets/claude/android-kotlin/agents/task-analyst.md +1 -1
- package/presets/claude/android-kotlin/agents/task-router.md +1 -1
- package/presets/claude/android-kotlin/agents/tech-writer.md +2 -2
- package/presets/claude/android-kotlin/agents/unit-test-generator.md +2 -2
- package/presets/claude/android-kotlin/agents/unit-test-healer.md +2 -2
- package/presets/claude/android-kotlin/agents/unit-test-planner.md +2 -2
- package/presets/claude/android-kotlin/rules/tooling-and-review/agent-team-orchestrator.md +1 -1
- package/presets/claude/go/agents/build-verifier.md +2 -2
- package/presets/claude/go/agents/code-reviewer.md +2 -2
- package/presets/claude/go/agents/feature-developer.md +2 -2
- package/presets/claude/go/agents/openspec-author.md +2 -2
- package/presets/claude/go/agents/task-analyst.md +1 -1
- package/presets/claude/go/agents/task-router.md +1 -1
- package/presets/claude/go/rules/tooling-and-review/agent-team-orchestrator.md +3 -1
- package/presets/claude/ios-swift/agents/build-verifier.md +2 -2
- package/presets/claude/ios-swift/agents/code-reviewer.md +2 -2
- package/presets/claude/ios-swift/agents/feature-developer.md +2 -2
- package/presets/claude/ios-swift/agents/mockup-reviewer.md +2 -2
- package/presets/claude/ios-swift/agents/openspec-author.md +2 -2
- package/presets/claude/ios-swift/agents/task-analyst.md +1 -1
- package/presets/claude/ios-swift/agents/task-router.md +1 -1
- package/presets/claude/ios-swift/rules/tooling-and-review/agent-team-orchestrator.md +1 -1
- package/presets/claude/java/agents/build-verifier.md +2 -2
- package/presets/claude/java/agents/code-reviewer.md +2 -2
- package/presets/claude/java/agents/feature-developer.md +2 -2
- package/presets/claude/java/agents/openspec-author.md +2 -2
- package/presets/claude/java/agents/task-analyst.md +1 -1
- package/presets/claude/java/agents/task-router.md +1 -1
- package/presets/claude/java/rules/tooling-and-review/agent-team-orchestrator.md +3 -1
- package/presets/claude/mcp-ts/agents/build-verifier.md +2 -2
- package/presets/claude/mcp-ts/agents/feature-developer.md +2 -2
- package/presets/claude/mcp-ts/agents/task-analyst.md +1 -1
- package/presets/claude/mcp-ts/agents/task-router.md +1 -1
- package/presets/claude/mcp-ts/rules/tooling-and-review/agent-team-orchestrator.md +3 -1
- package/presets/claude/next/REPO_AGENTS.md +11 -1
- package/presets/claude/next/agents/accessibility-reviewer.md +2 -2
- package/presets/claude/next/agents/api-contract-reviewer.md +2 -2
- package/presets/claude/next/agents/build-verifier.md +3 -2
- package/presets/claude/next/agents/ci-investigator.md +2 -2
- package/presets/claude/next/agents/code-reviewer.md +3 -2
- package/presets/claude/next/agents/debugger.md +2 -2
- package/presets/claude/next/agents/feature-developer.md +3 -2
- package/presets/claude/next/agents/migration-specialist.md +2 -2
- package/presets/claude/next/agents/mockup-reviewer.md +2 -2
- package/presets/claude/next/agents/openspec-author.md +4 -2
- package/presets/claude/next/agents/performance-auditor.md +2 -2
- package/presets/claude/next/agents/qa-tester.md +2 -2
- package/presets/claude/next/agents/security-reviewer.md +2 -2
- package/presets/claude/next/agents/solution-architect.md +2 -2
- package/presets/claude/next/agents/task-analyst.md +8 -1
- package/presets/claude/next/agents/task-router.md +2 -1
- package/presets/claude/next/agents/tech-writer.md +2 -2
- package/presets/claude/next/agents/unit-test-generator.md +2 -2
- package/presets/claude/next/agents/unit-test-healer.md +2 -2
- package/presets/claude/next/agents/unit-test-planner.md +2 -2
- package/presets/claude/next/hooks/chain-team-phases.sh +46 -1
- package/presets/claude/next/rules/README.md +3 -0
- package/presets/claude/next/rules/anti-hallucination/react-next-anti-hallucination.md +10 -0
- package/presets/claude/next/rules/api-and-data/store-rtk.md +6 -0
- package/presets/claude/next/rules/architecture/feature-delivery-workflow.md +5 -1
- package/presets/claude/next/rules/architecture/product-specs-authoring.md +1 -0
- package/presets/claude/next/rules/architecture/product-specs.md +1 -0
- package/presets/claude/next/rules/architecture/reference-features.md +5 -0
- package/presets/claude/next/rules/stack/next-app-core.md +3 -0
- package/presets/claude/next/rules/stack/next-static-export.md +36 -0
- package/presets/claude/next/rules/testing/tests-e2e-structure.md +1 -0
- package/presets/claude/next/rules/testing/tests-unit.md +1 -0
- package/presets/claude/next/rules/tooling-and-review/agent-team-orchestrator.md +3 -1
- package/presets/claude/next/rules/tooling-and-review/ai-local-overlay.md +16 -2
- package/presets/claude/next/rules/tooling-and-review/code-review-mr.md +4 -0
- package/presets/claude/next/rules/tooling-and-review/mcp-usage.md +1 -0
- package/presets/claude/next/rules/tooling-and-review/post-change-lint.md +4 -0
- package/presets/claude/next/rules/tooling-and-review/security-next.md +13 -0
- package/presets/claude/next/rules/ui-and-accessibility/component-catalog-gate.md +39 -0
- package/presets/claude/next/rules/ui-and-accessibility/design-tokens-binding.md +1 -1
- package/presets/claude/next/rules/ui-and-accessibility/forms-validation.md +35 -0
- package/presets/claude/next/rules/ui-and-accessibility/react-ui.md +19 -1
- package/presets/claude/next/team/fixtures/feature-with-ux-no-figma.json +3 -4
- package/presets/claude/nuxt/agents/accessibility-reviewer.md +2 -2
- package/presets/claude/nuxt/agents/api-contract-reviewer.md +2 -2
- package/presets/claude/nuxt/agents/build-verifier.md +2 -2
- package/presets/claude/nuxt/agents/ci-investigator.md +2 -2
- package/presets/claude/nuxt/agents/code-reviewer.md +2 -2
- package/presets/claude/nuxt/agents/debugger.md +2 -2
- package/presets/claude/nuxt/agents/feature-developer.md +2 -2
- package/presets/claude/nuxt/agents/migration-specialist.md +2 -2
- package/presets/claude/nuxt/agents/mockup-reviewer.md +2 -2
- package/presets/claude/nuxt/agents/openspec-author.md +2 -2
- package/presets/claude/nuxt/agents/performance-auditor.md +2 -2
- package/presets/claude/nuxt/agents/qa-tester.md +2 -2
- package/presets/claude/nuxt/agents/security-reviewer.md +2 -2
- package/presets/claude/nuxt/agents/solution-architect.md +2 -2
- package/presets/claude/nuxt/agents/task-analyst.md +1 -1
- package/presets/claude/nuxt/agents/task-router.md +1 -1
- package/presets/claude/nuxt/agents/tech-writer.md +2 -2
- package/presets/claude/nuxt/agents/unit-test-generator.md +2 -2
- package/presets/claude/nuxt/agents/unit-test-healer.md +2 -2
- package/presets/claude/nuxt/agents/unit-test-planner.md +2 -2
- package/presets/claude/nuxt/rules/tooling-and-review/agent-team-orchestrator.md +3 -1
- package/presets/claude/php-hexagonal/agents/build-verifier.md +2 -2
- package/presets/claude/php-hexagonal/agents/code-reviewer.md +2 -2
- package/presets/claude/php-hexagonal/agents/feature-developer.md +2 -2
- package/presets/claude/php-hexagonal/agents/openspec-author.md +2 -2
- package/presets/claude/php-hexagonal/agents/task-analyst.md +1 -1
- package/presets/claude/php-hexagonal/agents/task-router.md +1 -1
- package/presets/claude/php-hexagonal/rules/tooling-and-review/agent-team-orchestrator.md +3 -1
- package/presets/claude/php-laravel/agents/build-verifier.md +2 -2
- package/presets/claude/php-laravel/agents/code-reviewer.md +2 -2
- package/presets/claude/php-laravel/agents/feature-developer.md +2 -2
- package/presets/claude/php-laravel/agents/openspec-author.md +2 -2
- package/presets/claude/php-laravel/agents/task-analyst.md +1 -1
- package/presets/claude/php-laravel/agents/task-router.md +1 -1
- package/presets/claude/php-laravel/rules/tooling-and-review/agent-team-orchestrator.md +3 -1
- package/presets/claude/svelte/agents/accessibility-reviewer.md +2 -2
- package/presets/claude/svelte/agents/api-contract-reviewer.md +2 -2
- package/presets/claude/svelte/agents/build-verifier.md +2 -2
- package/presets/claude/svelte/agents/ci-investigator.md +2 -2
- package/presets/claude/svelte/agents/code-reviewer.md +2 -2
- package/presets/claude/svelte/agents/debugger.md +2 -2
- package/presets/claude/svelte/agents/feature-developer.md +2 -2
- package/presets/claude/svelte/agents/migration-specialist.md +2 -2
- package/presets/claude/svelte/agents/mockup-reviewer.md +2 -2
- package/presets/claude/svelte/agents/openspec-author.md +2 -2
- package/presets/claude/svelte/agents/performance-auditor.md +2 -2
- package/presets/claude/svelte/agents/qa-tester.md +2 -2
- package/presets/claude/svelte/agents/security-reviewer.md +2 -2
- package/presets/claude/svelte/agents/solution-architect.md +2 -2
- package/presets/claude/svelte/agents/task-analyst.md +1 -1
- package/presets/claude/svelte/agents/task-router.md +1 -1
- package/presets/claude/svelte/agents/tech-writer.md +2 -2
- package/presets/claude/svelte/agents/unit-test-generator.md +2 -2
- package/presets/claude/svelte/agents/unit-test-healer.md +2 -2
- package/presets/claude/svelte/agents/unit-test-planner.md +2 -2
- package/presets/claude/svelte/rules/tooling-and-review/agent-team-orchestrator.md +3 -1
- package/presets/cursor/android-kotlin/agents/accessibility-reviewer.md +2 -2
- package/presets/cursor/android-kotlin/agents/api-contract-reviewer.md +2 -2
- package/presets/cursor/android-kotlin/agents/build-verifier.md +1 -1
- package/presets/cursor/android-kotlin/agents/ci-investigator.md +2 -2
- package/presets/cursor/android-kotlin/agents/code-reviewer.md +2 -2
- package/presets/cursor/android-kotlin/agents/debugger.md +2 -2
- package/presets/cursor/android-kotlin/agents/feature-developer.md +2 -2
- package/presets/cursor/android-kotlin/agents/migration-specialist.md +2 -2
- package/presets/cursor/android-kotlin/agents/mockup-reviewer.md +2 -2
- package/presets/cursor/android-kotlin/agents/openspec-author.md +2 -2
- package/presets/cursor/android-kotlin/agents/performance-auditor.md +2 -2
- package/presets/cursor/android-kotlin/agents/qa-tester.md +2 -2
- package/presets/cursor/android-kotlin/agents/security-reviewer.md +2 -2
- package/presets/cursor/android-kotlin/agents/task-analyst.md +1 -1
- package/presets/cursor/android-kotlin/agents/task-router.md +1 -1
- package/presets/cursor/android-kotlin/agents/tech-writer.md +2 -2
- package/presets/cursor/android-kotlin/agents/unit-test-generator.md +2 -2
- package/presets/cursor/android-kotlin/agents/unit-test-healer.md +2 -2
- package/presets/cursor/android-kotlin/agents/unit-test-planner.md +2 -2
- package/presets/cursor/android-kotlin/rules/agent-team-orchestrator.mdc +1 -1
- package/presets/cursor/go/agents/build-verifier.md +2 -2
- package/presets/cursor/go/agents/code-reviewer.md +2 -2
- package/presets/cursor/go/agents/feature-developer.md +2 -2
- package/presets/cursor/go/agents/openspec-author.md +2 -2
- package/presets/cursor/go/agents/task-analyst.md +1 -1
- package/presets/cursor/go/agents/task-router.md +1 -1
- package/presets/cursor/go/rules/agent-team-orchestrator.mdc +3 -1
- package/presets/cursor/ios-swift/agents/build-verifier.md +2 -2
- package/presets/cursor/ios-swift/agents/code-reviewer.md +2 -2
- package/presets/cursor/ios-swift/agents/feature-developer.md +2 -2
- package/presets/cursor/ios-swift/agents/mockup-reviewer.md +2 -2
- package/presets/cursor/ios-swift/agents/openspec-author.md +2 -2
- package/presets/cursor/ios-swift/agents/task-analyst.md +1 -1
- package/presets/cursor/ios-swift/agents/task-router.md +1 -1
- package/presets/cursor/ios-swift/rules/agent-team-orchestrator.mdc +1 -1
- package/presets/cursor/java/agents/build-verifier.md +2 -2
- package/presets/cursor/java/agents/code-reviewer.md +2 -2
- package/presets/cursor/java/agents/feature-developer.md +2 -2
- package/presets/cursor/java/agents/openspec-author.md +2 -2
- package/presets/cursor/java/agents/task-analyst.md +1 -1
- package/presets/cursor/java/agents/task-router.md +1 -1
- package/presets/cursor/java/rules/agent-team-orchestrator.mdc +3 -1
- package/presets/cursor/mcp-ts/agents/build-verifier.md +2 -2
- package/presets/cursor/mcp-ts/agents/feature-developer.md +2 -2
- package/presets/cursor/mcp-ts/agents/task-analyst.md +1 -1
- package/presets/cursor/mcp-ts/agents/task-router.md +1 -1
- package/presets/cursor/mcp-ts/rules/agent-team-orchestrator.mdc +3 -1
- package/presets/cursor/next/REPO_AGENTS.md +11 -1
- package/presets/cursor/next/agents/accessibility-reviewer.md +2 -2
- package/presets/cursor/next/agents/api-contract-reviewer.md +2 -2
- package/presets/cursor/next/agents/build-verifier.md +3 -2
- package/presets/cursor/next/agents/ci-investigator.md +2 -2
- package/presets/cursor/next/agents/code-reviewer.md +3 -2
- package/presets/cursor/next/agents/debugger.md +2 -2
- package/presets/cursor/next/agents/feature-developer.md +3 -2
- package/presets/cursor/next/agents/migration-specialist.md +2 -2
- package/presets/cursor/next/agents/mockup-reviewer.md +2 -2
- package/presets/cursor/next/agents/openspec-author.md +4 -2
- package/presets/cursor/next/agents/performance-auditor.md +2 -2
- package/presets/cursor/next/agents/qa-tester.md +2 -2
- package/presets/cursor/next/agents/security-reviewer.md +2 -2
- package/presets/cursor/next/agents/solution-architect.md +2 -2
- package/presets/cursor/next/agents/task-analyst.md +8 -1
- package/presets/cursor/next/agents/task-router.md +2 -1
- package/presets/cursor/next/agents/tech-writer.md +2 -2
- package/presets/cursor/next/agents/unit-test-generator.md +2 -2
- package/presets/cursor/next/agents/unit-test-healer.md +2 -2
- package/presets/cursor/next/agents/unit-test-planner.md +2 -2
- package/presets/cursor/next/ai-local/rules-library/agent-artifacts-no-local-paths.md +41 -8
- package/presets/cursor/next/ai-local/rules-library/agent-pipeline-gates.md +19 -0
- package/presets/cursor/next/ai-local/rules-library/analytics-events.md +18 -0
- package/presets/cursor/next/ai-local/rules-library/api-contract-source.md +14 -0
- package/presets/cursor/next/ai-local/rules-library/artifact-lifecycle.md +17 -0
- package/presets/cursor/next/ai-local/rules-library/code-style.md +68 -0
- package/presets/cursor/next/ai-local/rules-library/component-child-decomposition.md +81 -0
- package/presets/cursor/next/ai-local/rules-library/feature-flags-experiments.md +15 -0
- package/presets/cursor/next/ai-local/rules-library/mcp-required-for-ui-layout.md +1 -1
- package/presets/cursor/next/ai-local/rules-library/no-react-fc.md +46 -0
- package/presets/cursor/next/ai-local/rules-library/no-test-driven-behavior-change.md +1 -1
- package/presets/cursor/next/ai-local/rules-library/pwa-service-worker.md +15 -0
- package/presets/cursor/next/ai-local/rules-library/qa-test-cases.md +14 -0
- package/presets/cursor/next/ai-local/rules-library/router-pages.md +4 -2
- package/presets/cursor/next/ai-local/rules-library/single-source-copy-constants.md +3 -1
- package/presets/cursor/next/ai-local/rules-library/storybook-catalog-structure.md +62 -0
- package/presets/cursor/next/ai-local/rules-library/storybook-cleanup-temp-screenshots.md +40 -0
- package/presets/cursor/next/ai-local/rules-library/storybook-csf-authoring.md +100 -0
- package/presets/cursor/next/ai-local/rules-library/storybook-dev-compare-figma.md +67 -0
- package/presets/cursor/next/ai-local/rules-library/storybook-keep-tests-current.md +75 -0
- package/presets/cursor/next/ai-local/rules-library/storybook-modals.md +64 -0
- package/presets/cursor/next/ai-local/rules-library/storybook-no-app-node-modules.md +40 -0
- package/presets/cursor/next/ai-local/rules-library/storybook-ui-quality-gate.md +38 -0
- package/presets/cursor/next/ai-local/rules-library/task-levels.md +28 -0
- package/presets/cursor/next/ai-local/rules-library/ui-change-review-gate.md +14 -0
- package/presets/cursor/next/hooks/chain-team-phases.sh +46 -1
- package/presets/cursor/next/rules/README.md +4 -1
- package/presets/cursor/next/rules/agent-team-orchestrator.mdc +3 -1
- package/presets/cursor/next/rules/ai-local-overlay.mdc +16 -2
- package/presets/cursor/next/rules/code-review-mr.mdc +4 -0
- package/presets/cursor/next/rules/component-catalog-gate.mdc +38 -0
- package/presets/cursor/next/rules/design-tokens-binding.mdc +1 -1
- package/presets/cursor/next/rules/feature-delivery-workflow.mdc +5 -1
- package/presets/cursor/next/rules/forms-validation.mdc +33 -0
- package/presets/cursor/next/rules/mcp-usage.mdc +1 -0
- package/presets/cursor/next/rules/next-app-core.mdc +3 -0
- package/presets/cursor/next/rules/next-static-export.mdc +35 -0
- package/presets/cursor/next/rules/post-change-lint.mdc +4 -0
- package/presets/cursor/next/rules/product-specs-authoring.mdc +1 -0
- package/presets/cursor/next/rules/product-specs.mdc +1 -0
- package/presets/cursor/next/rules/react-next-anti-hallucination.mdc +10 -0
- package/presets/cursor/next/rules/react-ui.mdc +19 -1
- package/presets/cursor/next/rules/reference-features.mdc +5 -0
- package/presets/cursor/next/rules/security-next.mdc +12 -0
- package/presets/cursor/next/rules/store-rtk.mdc +6 -0
- package/presets/cursor/next/rules/tests-e2e-structure.mdc +1 -0
- package/presets/cursor/next/rules/tests-unit.mdc +1 -0
- package/presets/cursor/next/team/fixtures/feature-with-ux-no-figma.json +3 -4
- package/presets/cursor/nuxt/agents/accessibility-reviewer.md +2 -2
- package/presets/cursor/nuxt/agents/api-contract-reviewer.md +2 -2
- package/presets/cursor/nuxt/agents/build-verifier.md +2 -2
- package/presets/cursor/nuxt/agents/ci-investigator.md +2 -2
- package/presets/cursor/nuxt/agents/code-reviewer.md +2 -2
- package/presets/cursor/nuxt/agents/debugger.md +2 -2
- package/presets/cursor/nuxt/agents/feature-developer.md +2 -2
- package/presets/cursor/nuxt/agents/migration-specialist.md +2 -2
- package/presets/cursor/nuxt/agents/mockup-reviewer.md +2 -2
- package/presets/cursor/nuxt/agents/openspec-author.md +2 -2
- package/presets/cursor/nuxt/agents/performance-auditor.md +2 -2
- package/presets/cursor/nuxt/agents/qa-tester.md +2 -2
- package/presets/cursor/nuxt/agents/security-reviewer.md +2 -2
- package/presets/cursor/nuxt/agents/solution-architect.md +2 -2
- package/presets/cursor/nuxt/agents/task-analyst.md +1 -1
- package/presets/cursor/nuxt/agents/task-router.md +1 -1
- package/presets/cursor/nuxt/agents/tech-writer.md +2 -2
- package/presets/cursor/nuxt/agents/unit-test-generator.md +2 -2
- package/presets/cursor/nuxt/agents/unit-test-healer.md +2 -2
- package/presets/cursor/nuxt/agents/unit-test-planner.md +2 -2
- package/presets/cursor/nuxt/rules/agent-team-orchestrator.mdc +3 -1
- package/presets/cursor/php-hexagonal/agents/build-verifier.md +2 -2
- package/presets/cursor/php-hexagonal/agents/code-reviewer.md +2 -2
- package/presets/cursor/php-hexagonal/agents/feature-developer.md +2 -2
- package/presets/cursor/php-hexagonal/agents/openspec-author.md +2 -2
- package/presets/cursor/php-hexagonal/agents/task-analyst.md +1 -1
- package/presets/cursor/php-hexagonal/agents/task-router.md +1 -1
- package/presets/cursor/php-hexagonal/rules/agent-team-orchestrator.mdc +3 -1
- package/presets/cursor/php-laravel/agents/build-verifier.md +2 -2
- package/presets/cursor/php-laravel/agents/code-reviewer.md +2 -2
- package/presets/cursor/php-laravel/agents/feature-developer.md +2 -2
- package/presets/cursor/php-laravel/agents/openspec-author.md +2 -2
- package/presets/cursor/php-laravel/agents/task-analyst.md +1 -1
- package/presets/cursor/php-laravel/agents/task-router.md +1 -1
- package/presets/cursor/php-laravel/rules/agent-team-orchestrator.mdc +3 -1
- package/presets/cursor/svelte/agents/accessibility-reviewer.md +2 -2
- package/presets/cursor/svelte/agents/api-contract-reviewer.md +2 -2
- package/presets/cursor/svelte/agents/build-verifier.md +2 -2
- package/presets/cursor/svelte/agents/ci-investigator.md +2 -2
- package/presets/cursor/svelte/agents/code-reviewer.md +2 -2
- package/presets/cursor/svelte/agents/debugger.md +2 -2
- package/presets/cursor/svelte/agents/feature-developer.md +2 -2
- package/presets/cursor/svelte/agents/migration-specialist.md +2 -2
- package/presets/cursor/svelte/agents/mockup-reviewer.md +2 -2
- package/presets/cursor/svelte/agents/openspec-author.md +2 -2
- package/presets/cursor/svelte/agents/performance-auditor.md +2 -2
- package/presets/cursor/svelte/agents/qa-tester.md +2 -2
- package/presets/cursor/svelte/agents/security-reviewer.md +2 -2
- package/presets/cursor/svelte/agents/solution-architect.md +2 -2
- package/presets/cursor/svelte/agents/task-analyst.md +1 -1
- package/presets/cursor/svelte/agents/task-router.md +1 -1
- package/presets/cursor/svelte/agents/tech-writer.md +2 -2
- package/presets/cursor/svelte/agents/unit-test-generator.md +2 -2
- package/presets/cursor/svelte/agents/unit-test-healer.md +2 -2
- package/presets/cursor/svelte/agents/unit-test-planner.md +2 -2
- package/presets/cursor/svelte/rules/agent-team-orchestrator.mdc +3 -1
- package/presets/mavis/android-kotlin/adapter-map.json +1 -1
- package/presets/mavis/android-kotlin/agents/accessibility-reviewer.md +2 -2
- package/presets/mavis/android-kotlin/agents/api-contract-reviewer.md +2 -2
- package/presets/mavis/android-kotlin/agents/build-verifier.md +1 -1
- package/presets/mavis/android-kotlin/agents/ci-investigator.md +2 -2
- package/presets/mavis/android-kotlin/agents/code-reviewer.md +2 -2
- package/presets/mavis/android-kotlin/agents/debugger.md +2 -2
- package/presets/mavis/android-kotlin/agents/feature-developer.md +2 -2
- package/presets/mavis/android-kotlin/agents/migration-specialist.md +2 -2
- package/presets/mavis/android-kotlin/agents/mockup-reviewer.md +2 -2
- package/presets/mavis/android-kotlin/agents/openspec-author.md +2 -2
- package/presets/mavis/android-kotlin/agents/performance-auditor.md +2 -2
- package/presets/mavis/android-kotlin/agents/qa-tester.md +2 -2
- package/presets/mavis/android-kotlin/agents/security-reviewer.md +2 -2
- package/presets/mavis/android-kotlin/agents/task-analyst.md +1 -1
- package/presets/mavis/android-kotlin/agents/task-router.md +1 -1
- package/presets/mavis/android-kotlin/agents/tech-writer.md +2 -2
- package/presets/mavis/android-kotlin/agents/unit-test-generator.md +2 -2
- package/presets/mavis/android-kotlin/agents/unit-test-healer.md +2 -2
- package/presets/mavis/android-kotlin/agents/unit-test-planner.md +2 -2
- package/presets/mavis/android-kotlin/rules/agent-team-orchestrator.md +3 -1
- package/presets/mavis/android-kotlin/rules/code-review-mr.md +6 -6
- package/presets/mavis/go/adapter-map.json +1 -1
- package/presets/mavis/go/agents/build-verifier.md +2 -2
- package/presets/mavis/go/agents/code-reviewer.md +2 -2
- package/presets/mavis/go/agents/feature-developer.md +2 -2
- package/presets/mavis/go/agents/openspec-author.md +2 -2
- package/presets/mavis/go/agents/task-analyst.md +1 -1
- package/presets/mavis/go/agents/task-router.md +1 -1
- package/presets/mavis/go/rules/agent-team-orchestrator.md +3 -1
- package/presets/mavis/go/rules/code-quality-and-refactoring.md +1 -1
- package/presets/mavis/ios-swift/adapter-map.json +1 -1
- package/presets/mavis/ios-swift/agents/build-verifier.md +2 -2
- package/presets/mavis/ios-swift/agents/code-reviewer.md +2 -2
- package/presets/mavis/ios-swift/agents/feature-developer.md +2 -2
- package/presets/mavis/ios-swift/agents/mockup-reviewer.md +2 -2
- package/presets/mavis/ios-swift/agents/openspec-author.md +2 -2
- package/presets/mavis/ios-swift/agents/task-analyst.md +1 -1
- package/presets/mavis/ios-swift/agents/task-router.md +1 -1
- package/presets/mavis/ios-swift/rules/agent-team-orchestrator.md +3 -1
- package/presets/mavis/ios-swift/rules/code-quality-and-refactoring.md +1 -1
- package/presets/mavis/ios-swift/rules/code-review-mr.md +6 -6
- package/presets/mavis/ios-swift/rules/feature-delivery-workflow.md +14 -14
- package/presets/mavis/ios-swift/rules/reference-features.md +3 -3
- package/presets/mavis/java/adapter-map.json +1 -1
- package/presets/mavis/java/agents/build-verifier.md +2 -2
- package/presets/mavis/java/agents/code-reviewer.md +2 -2
- package/presets/mavis/java/agents/feature-developer.md +2 -2
- package/presets/mavis/java/agents/openspec-author.md +2 -2
- package/presets/mavis/java/agents/task-analyst.md +1 -1
- package/presets/mavis/java/agents/task-router.md +1 -1
- package/presets/mavis/java/rules/agent-team-orchestrator.md +3 -1
- package/presets/mavis/java/rules/code-quality-and-refactoring.md +1 -1
- package/presets/mavis/mcp-ts/adapter-map.json +1 -1
- package/presets/mavis/mcp-ts/agents/build-verifier.md +2 -2
- package/presets/mavis/mcp-ts/agents/feature-developer.md +2 -2
- package/presets/mavis/mcp-ts/agents/task-analyst.md +1 -1
- package/presets/mavis/mcp-ts/agents/task-router.md +1 -1
- package/presets/mavis/mcp-ts/rules/agent-team-orchestrator.md +3 -1
- package/presets/mavis/next/REPO_AGENTS.md +11 -1
- package/presets/mavis/next/adapter-map.json +192 -8
- package/presets/mavis/next/agents/accessibility-reviewer.md +2 -2
- package/presets/mavis/next/agents/api-contract-reviewer.md +2 -2
- package/presets/mavis/next/agents/build-verifier.md +3 -2
- package/presets/mavis/next/agents/ci-investigator.md +2 -2
- package/presets/mavis/next/agents/code-reviewer.md +3 -2
- package/presets/mavis/next/agents/debugger.md +2 -2
- package/presets/mavis/next/agents/feature-developer.md +3 -2
- package/presets/mavis/next/agents/migration-specialist.md +2 -2
- package/presets/mavis/next/agents/mockup-reviewer.md +2 -2
- package/presets/mavis/next/agents/openspec-author.md +4 -2
- package/presets/mavis/next/agents/performance-auditor.md +2 -2
- package/presets/mavis/next/agents/qa-tester.md +2 -2
- package/presets/mavis/next/agents/security-reviewer.md +2 -2
- package/presets/mavis/next/agents/solution-architect.md +2 -2
- package/presets/mavis/next/agents/task-analyst.md +8 -1
- package/presets/mavis/next/agents/task-router.md +2 -1
- package/presets/mavis/next/agents/tech-writer.md +2 -2
- package/presets/mavis/next/agents/unit-test-generator.md +2 -2
- package/presets/mavis/next/agents/unit-test-healer.md +2 -2
- package/presets/mavis/next/agents/unit-test-planner.md +2 -2
- package/presets/mavis/next/ai-local/rules-library/agent-artifacts-no-local-paths.md +41 -8
- package/presets/mavis/next/ai-local/rules-library/agent-pipeline-gates.md +19 -0
- package/presets/mavis/next/ai-local/rules-library/analytics-events.md +18 -0
- package/presets/mavis/next/ai-local/rules-library/api-contract-source.md +14 -0
- package/presets/mavis/next/ai-local/rules-library/artifact-lifecycle.md +17 -0
- package/presets/mavis/next/ai-local/rules-library/code-style.md +68 -0
- package/presets/mavis/next/ai-local/rules-library/component-child-decomposition.md +81 -0
- package/presets/mavis/next/ai-local/rules-library/feature-flags-experiments.md +15 -0
- package/presets/mavis/next/ai-local/rules-library/mcp-required-for-ui-layout.md +1 -1
- package/presets/mavis/next/ai-local/rules-library/no-react-fc.md +46 -0
- package/presets/mavis/next/ai-local/rules-library/no-test-driven-behavior-change.md +1 -1
- package/presets/mavis/next/ai-local/rules-library/pwa-service-worker.md +15 -0
- package/presets/mavis/next/ai-local/rules-library/qa-test-cases.md +14 -0
- package/presets/mavis/next/ai-local/rules-library/router-pages.md +4 -2
- package/presets/mavis/next/ai-local/rules-library/single-source-copy-constants.md +3 -1
- package/presets/mavis/next/ai-local/rules-library/storybook-catalog-structure.md +62 -0
- package/presets/mavis/next/ai-local/rules-library/storybook-cleanup-temp-screenshots.md +40 -0
- package/presets/mavis/next/ai-local/rules-library/storybook-csf-authoring.md +100 -0
- package/presets/mavis/next/ai-local/rules-library/storybook-dev-compare-figma.md +67 -0
- package/presets/mavis/next/ai-local/rules-library/storybook-keep-tests-current.md +75 -0
- package/presets/mavis/next/ai-local/rules-library/storybook-modals.md +64 -0
- package/presets/mavis/next/ai-local/rules-library/storybook-no-app-node-modules.md +40 -0
- package/presets/mavis/next/ai-local/rules-library/storybook-ui-quality-gate.md +38 -0
- package/presets/mavis/next/ai-local/rules-library/task-levels.md +28 -0
- package/presets/mavis/next/ai-local/rules-library/ui-change-review-gate.md +14 -0
- package/presets/mavis/next/hooks/chain-team-phases.sh +46 -1
- package/presets/mavis/next/rules/agent-team-orchestrator.md +3 -1
- package/presets/mavis/next/rules/ai-local-overlay.md +16 -2
- package/presets/mavis/next/rules/code-quality-and-refactoring.md +2 -2
- package/presets/mavis/next/rules/code-review-mr.md +11 -7
- package/presets/mavis/next/rules/component-catalog-gate.md +31 -0
- package/presets/mavis/next/rules/design-tokens-binding.md +1 -1
- package/presets/mavis/next/rules/feature-delivery-workflow.md +22 -18
- package/presets/mavis/next/rules/forms-validation.md +26 -0
- package/presets/mavis/next/rules/mcp-usage.md +1 -0
- package/presets/mavis/next/rules/mockup-review.md +1 -1
- package/presets/mavis/next/rules/next-app-core.md +3 -0
- package/presets/mavis/next/rules/next-static-export.md +28 -0
- package/presets/mavis/next/rules/post-change-lint.md +4 -0
- package/presets/mavis/next/rules/product-specs-authoring.md +1 -0
- package/presets/mavis/next/rules/product-specs.md +1 -0
- package/presets/mavis/next/rules/react-next-anti-hallucination.md +10 -0
- package/presets/mavis/next/rules/react-ui.md +19 -1
- package/presets/mavis/next/rules/reference-features.md +7 -2
- package/presets/mavis/next/rules/security-next.md +12 -0
- package/presets/mavis/next/rules/store-rtk.md +6 -0
- package/presets/mavis/next/rules/tests-e2e-structure.md +2 -1
- package/presets/mavis/next/rules/tests-unit.md +1 -0
- package/presets/mavis/next/team/fixtures/feature-with-ux-no-figma.json +3 -4
- package/presets/mavis/nuxt/adapter-map.json +1 -1
- package/presets/mavis/nuxt/agents/accessibility-reviewer.md +2 -2
- package/presets/mavis/nuxt/agents/api-contract-reviewer.md +2 -2
- package/presets/mavis/nuxt/agents/build-verifier.md +2 -2
- package/presets/mavis/nuxt/agents/ci-investigator.md +2 -2
- package/presets/mavis/nuxt/agents/code-reviewer.md +2 -2
- package/presets/mavis/nuxt/agents/debugger.md +2 -2
- package/presets/mavis/nuxt/agents/feature-developer.md +2 -2
- package/presets/mavis/nuxt/agents/migration-specialist.md +2 -2
- package/presets/mavis/nuxt/agents/mockup-reviewer.md +2 -2
- package/presets/mavis/nuxt/agents/openspec-author.md +2 -2
- package/presets/mavis/nuxt/agents/performance-auditor.md +2 -2
- package/presets/mavis/nuxt/agents/qa-tester.md +2 -2
- package/presets/mavis/nuxt/agents/security-reviewer.md +2 -2
- package/presets/mavis/nuxt/agents/solution-architect.md +2 -2
- package/presets/mavis/nuxt/agents/task-analyst.md +1 -1
- package/presets/mavis/nuxt/agents/task-router.md +1 -1
- package/presets/mavis/nuxt/agents/tech-writer.md +2 -2
- package/presets/mavis/nuxt/agents/unit-test-generator.md +2 -2
- package/presets/mavis/nuxt/agents/unit-test-healer.md +2 -2
- package/presets/mavis/nuxt/agents/unit-test-planner.md +2 -2
- package/presets/mavis/nuxt/rules/agent-team-orchestrator.md +3 -1
- package/presets/mavis/nuxt/rules/code-review-mr.md +6 -6
- package/presets/mavis/nuxt/rules/feature-delivery-workflow.md +15 -15
- package/presets/mavis/nuxt/rules/reference-features.md +2 -2
- package/presets/mavis/nuxt/rules/tests-e2e-structure.md +1 -1
- package/presets/mavis/php-hexagonal/adapter-map.json +1 -1
- package/presets/mavis/php-hexagonal/agents/build-verifier.md +2 -2
- package/presets/mavis/php-hexagonal/agents/code-reviewer.md +2 -2
- package/presets/mavis/php-hexagonal/agents/feature-developer.md +2 -2
- package/presets/mavis/php-hexagonal/agents/openspec-author.md +2 -2
- package/presets/mavis/php-hexagonal/agents/task-analyst.md +1 -1
- package/presets/mavis/php-hexagonal/agents/task-router.md +1 -1
- package/presets/mavis/php-hexagonal/rules/agent-team-orchestrator.md +3 -1
- package/presets/mavis/php-hexagonal/rules/code-quality-and-refactoring.md +1 -1
- package/presets/mavis/php-laravel/adapter-map.json +1 -1
- package/presets/mavis/php-laravel/agents/build-verifier.md +2 -2
- package/presets/mavis/php-laravel/agents/code-reviewer.md +2 -2
- package/presets/mavis/php-laravel/agents/feature-developer.md +2 -2
- package/presets/mavis/php-laravel/agents/openspec-author.md +2 -2
- package/presets/mavis/php-laravel/agents/task-analyst.md +1 -1
- package/presets/mavis/php-laravel/agents/task-router.md +1 -1
- package/presets/mavis/php-laravel/rules/agent-team-orchestrator.md +3 -1
- package/presets/mavis/php-laravel/rules/code-quality-and-refactoring.md +1 -1
- package/presets/mavis/svelte/adapter-map.json +1 -1
- package/presets/mavis/svelte/agents/accessibility-reviewer.md +2 -2
- package/presets/mavis/svelte/agents/api-contract-reviewer.md +2 -2
- package/presets/mavis/svelte/agents/build-verifier.md +2 -2
- package/presets/mavis/svelte/agents/ci-investigator.md +2 -2
- package/presets/mavis/svelte/agents/code-reviewer.md +2 -2
- package/presets/mavis/svelte/agents/debugger.md +2 -2
- package/presets/mavis/svelte/agents/feature-developer.md +2 -2
- package/presets/mavis/svelte/agents/migration-specialist.md +2 -2
- package/presets/mavis/svelte/agents/mockup-reviewer.md +2 -2
- package/presets/mavis/svelte/agents/openspec-author.md +2 -2
- package/presets/mavis/svelte/agents/performance-auditor.md +2 -2
- package/presets/mavis/svelte/agents/qa-tester.md +2 -2
- package/presets/mavis/svelte/agents/security-reviewer.md +2 -2
- package/presets/mavis/svelte/agents/solution-architect.md +2 -2
- package/presets/mavis/svelte/agents/task-analyst.md +1 -1
- package/presets/mavis/svelte/agents/task-router.md +1 -1
- package/presets/mavis/svelte/agents/tech-writer.md +2 -2
- package/presets/mavis/svelte/agents/unit-test-generator.md +2 -2
- package/presets/mavis/svelte/agents/unit-test-healer.md +2 -2
- package/presets/mavis/svelte/agents/unit-test-planner.md +2 -2
- package/presets/mavis/svelte/rules/agent-team-orchestrator.md +3 -1
- package/presets/mavis/svelte/rules/code-review-mr.md +6 -6
- package/presets/mavis/svelte/rules/feature-delivery-workflow.md +1 -1
- package/presets/mavis/svelte/rules/reference-features.md +2 -2
- package/presets/mavis/svelte/rules/tests-e2e-structure.md +1 -1
- package/presets/opencode/android-kotlin/adapter-map.json +1 -1
- package/presets/opencode/android-kotlin/agents/accessibility-reviewer.md +2 -2
- package/presets/opencode/android-kotlin/agents/api-contract-reviewer.md +2 -2
- package/presets/opencode/android-kotlin/agents/build-verifier.md +1 -1
- package/presets/opencode/android-kotlin/agents/ci-investigator.md +2 -2
- package/presets/opencode/android-kotlin/agents/code-reviewer.md +2 -2
- package/presets/opencode/android-kotlin/agents/debugger.md +2 -2
- package/presets/opencode/android-kotlin/agents/feature-developer.md +2 -2
- package/presets/opencode/android-kotlin/agents/migration-specialist.md +2 -2
- package/presets/opencode/android-kotlin/agents/mockup-reviewer.md +2 -2
- package/presets/opencode/android-kotlin/agents/openspec-author.md +2 -2
- package/presets/opencode/android-kotlin/agents/performance-auditor.md +2 -2
- package/presets/opencode/android-kotlin/agents/qa-tester.md +2 -2
- package/presets/opencode/android-kotlin/agents/security-reviewer.md +2 -2
- package/presets/opencode/android-kotlin/agents/task-analyst.md +1 -1
- package/presets/opencode/android-kotlin/agents/task-router.md +1 -1
- package/presets/opencode/android-kotlin/agents/tech-writer.md +2 -2
- package/presets/opencode/android-kotlin/agents/unit-test-generator.md +2 -2
- package/presets/opencode/android-kotlin/agents/unit-test-healer.md +2 -2
- package/presets/opencode/android-kotlin/agents/unit-test-planner.md +2 -2
- package/presets/opencode/android-kotlin/rules/agent-team-orchestrator.md +3 -1
- package/presets/opencode/android-kotlin/rules/code-review-mr.md +6 -6
- package/presets/opencode/go/adapter-map.json +1 -1
- package/presets/opencode/go/agents/build-verifier.md +2 -2
- package/presets/opencode/go/agents/code-reviewer.md +2 -2
- package/presets/opencode/go/agents/feature-developer.md +2 -2
- package/presets/opencode/go/agents/openspec-author.md +2 -2
- package/presets/opencode/go/agents/task-analyst.md +1 -1
- package/presets/opencode/go/agents/task-router.md +1 -1
- package/presets/opencode/go/rules/agent-team-orchestrator.md +3 -1
- package/presets/opencode/go/rules/code-quality-and-refactoring.md +1 -1
- package/presets/opencode/ios-swift/adapter-map.json +1 -1
- package/presets/opencode/ios-swift/agents/build-verifier.md +2 -2
- package/presets/opencode/ios-swift/agents/code-reviewer.md +2 -2
- package/presets/opencode/ios-swift/agents/feature-developer.md +2 -2
- package/presets/opencode/ios-swift/agents/mockup-reviewer.md +2 -2
- package/presets/opencode/ios-swift/agents/openspec-author.md +2 -2
- package/presets/opencode/ios-swift/agents/task-analyst.md +1 -1
- package/presets/opencode/ios-swift/agents/task-router.md +1 -1
- package/presets/opencode/ios-swift/rules/agent-team-orchestrator.md +3 -1
- package/presets/opencode/ios-swift/rules/code-quality-and-refactoring.md +1 -1
- package/presets/opencode/ios-swift/rules/code-review-mr.md +6 -6
- package/presets/opencode/ios-swift/rules/feature-delivery-workflow.md +14 -14
- package/presets/opencode/ios-swift/rules/reference-features.md +3 -3
- package/presets/opencode/java/adapter-map.json +1 -1
- package/presets/opencode/java/agents/build-verifier.md +2 -2
- package/presets/opencode/java/agents/code-reviewer.md +2 -2
- package/presets/opencode/java/agents/feature-developer.md +2 -2
- package/presets/opencode/java/agents/openspec-author.md +2 -2
- package/presets/opencode/java/agents/task-analyst.md +1 -1
- package/presets/opencode/java/agents/task-router.md +1 -1
- package/presets/opencode/java/rules/agent-team-orchestrator.md +3 -1
- package/presets/opencode/java/rules/code-quality-and-refactoring.md +1 -1
- package/presets/opencode/mcp-ts/adapter-map.json +1 -1
- package/presets/opencode/mcp-ts/agents/build-verifier.md +2 -2
- package/presets/opencode/mcp-ts/agents/feature-developer.md +2 -2
- package/presets/opencode/mcp-ts/agents/task-analyst.md +1 -1
- package/presets/opencode/mcp-ts/agents/task-router.md +1 -1
- package/presets/opencode/mcp-ts/rules/agent-team-orchestrator.md +3 -1
- package/presets/opencode/next/REPO_AGENTS.md +11 -1
- package/presets/opencode/next/adapter-map.json +192 -8
- package/presets/opencode/next/agents/accessibility-reviewer.md +2 -2
- package/presets/opencode/next/agents/api-contract-reviewer.md +2 -2
- package/presets/opencode/next/agents/build-verifier.md +3 -2
- package/presets/opencode/next/agents/ci-investigator.md +2 -2
- package/presets/opencode/next/agents/code-reviewer.md +3 -2
- package/presets/opencode/next/agents/debugger.md +2 -2
- package/presets/opencode/next/agents/feature-developer.md +3 -2
- package/presets/opencode/next/agents/migration-specialist.md +2 -2
- package/presets/opencode/next/agents/mockup-reviewer.md +2 -2
- package/presets/opencode/next/agents/openspec-author.md +4 -2
- package/presets/opencode/next/agents/performance-auditor.md +2 -2
- package/presets/opencode/next/agents/qa-tester.md +2 -2
- package/presets/opencode/next/agents/security-reviewer.md +2 -2
- package/presets/opencode/next/agents/solution-architect.md +2 -2
- package/presets/opencode/next/agents/task-analyst.md +8 -1
- package/presets/opencode/next/agents/task-router.md +2 -1
- package/presets/opencode/next/agents/tech-writer.md +2 -2
- package/presets/opencode/next/agents/unit-test-generator.md +2 -2
- package/presets/opencode/next/agents/unit-test-healer.md +2 -2
- package/presets/opencode/next/agents/unit-test-planner.md +2 -2
- package/presets/opencode/next/ai-local/rules-library/agent-artifacts-no-local-paths.md +41 -8
- package/presets/opencode/next/ai-local/rules-library/agent-pipeline-gates.md +19 -0
- package/presets/opencode/next/ai-local/rules-library/analytics-events.md +18 -0
- package/presets/opencode/next/ai-local/rules-library/api-contract-source.md +14 -0
- package/presets/opencode/next/ai-local/rules-library/artifact-lifecycle.md +17 -0
- package/presets/opencode/next/ai-local/rules-library/code-style.md +68 -0
- package/presets/opencode/next/ai-local/rules-library/component-child-decomposition.md +81 -0
- package/presets/opencode/next/ai-local/rules-library/feature-flags-experiments.md +15 -0
- package/presets/opencode/next/ai-local/rules-library/mcp-required-for-ui-layout.md +1 -1
- package/presets/opencode/next/ai-local/rules-library/no-react-fc.md +46 -0
- package/presets/opencode/next/ai-local/rules-library/no-test-driven-behavior-change.md +1 -1
- package/presets/opencode/next/ai-local/rules-library/pwa-service-worker.md +15 -0
- package/presets/opencode/next/ai-local/rules-library/qa-test-cases.md +14 -0
- package/presets/opencode/next/ai-local/rules-library/router-pages.md +4 -2
- package/presets/opencode/next/ai-local/rules-library/single-source-copy-constants.md +3 -1
- package/presets/opencode/next/ai-local/rules-library/storybook-catalog-structure.md +62 -0
- package/presets/opencode/next/ai-local/rules-library/storybook-cleanup-temp-screenshots.md +40 -0
- package/presets/opencode/next/ai-local/rules-library/storybook-csf-authoring.md +100 -0
- package/presets/opencode/next/ai-local/rules-library/storybook-dev-compare-figma.md +67 -0
- package/presets/opencode/next/ai-local/rules-library/storybook-keep-tests-current.md +75 -0
- package/presets/opencode/next/ai-local/rules-library/storybook-modals.md +64 -0
- package/presets/opencode/next/ai-local/rules-library/storybook-no-app-node-modules.md +40 -0
- package/presets/opencode/next/ai-local/rules-library/storybook-ui-quality-gate.md +38 -0
- package/presets/opencode/next/ai-local/rules-library/task-levels.md +28 -0
- package/presets/opencode/next/ai-local/rules-library/ui-change-review-gate.md +14 -0
- package/presets/opencode/next/hooks/chain-team-phases.sh +46 -1
- package/presets/opencode/next/rules/agent-team-orchestrator.md +3 -1
- package/presets/opencode/next/rules/ai-local-overlay.md +16 -2
- package/presets/opencode/next/rules/code-quality-and-refactoring.md +2 -2
- package/presets/opencode/next/rules/code-review-mr.md +11 -7
- package/presets/opencode/next/rules/component-catalog-gate.md +31 -0
- package/presets/opencode/next/rules/design-tokens-binding.md +1 -1
- package/presets/opencode/next/rules/feature-delivery-workflow.md +22 -18
- package/presets/opencode/next/rules/forms-validation.md +26 -0
- package/presets/opencode/next/rules/mcp-usage.md +1 -0
- package/presets/opencode/next/rules/mockup-review.md +1 -1
- package/presets/opencode/next/rules/next-app-core.md +3 -0
- package/presets/opencode/next/rules/next-static-export.md +28 -0
- package/presets/opencode/next/rules/post-change-lint.md +4 -0
- package/presets/opencode/next/rules/product-specs-authoring.md +1 -0
- package/presets/opencode/next/rules/product-specs.md +1 -0
- package/presets/opencode/next/rules/react-next-anti-hallucination.md +10 -0
- package/presets/opencode/next/rules/react-ui.md +19 -1
- package/presets/opencode/next/rules/reference-features.md +7 -2
- package/presets/opencode/next/rules/security-next.md +12 -0
- package/presets/opencode/next/rules/store-rtk.md +6 -0
- package/presets/opencode/next/rules/tests-e2e-structure.md +2 -1
- package/presets/opencode/next/rules/tests-unit.md +1 -0
- package/presets/opencode/next/team/fixtures/feature-with-ux-no-figma.json +3 -4
- package/presets/opencode/nuxt/adapter-map.json +1 -1
- package/presets/opencode/nuxt/agents/accessibility-reviewer.md +2 -2
- package/presets/opencode/nuxt/agents/api-contract-reviewer.md +2 -2
- package/presets/opencode/nuxt/agents/build-verifier.md +2 -2
- package/presets/opencode/nuxt/agents/ci-investigator.md +2 -2
- package/presets/opencode/nuxt/agents/code-reviewer.md +2 -2
- package/presets/opencode/nuxt/agents/debugger.md +2 -2
- package/presets/opencode/nuxt/agents/feature-developer.md +2 -2
- package/presets/opencode/nuxt/agents/migration-specialist.md +2 -2
- package/presets/opencode/nuxt/agents/mockup-reviewer.md +2 -2
- package/presets/opencode/nuxt/agents/openspec-author.md +2 -2
- package/presets/opencode/nuxt/agents/performance-auditor.md +2 -2
- package/presets/opencode/nuxt/agents/qa-tester.md +2 -2
- package/presets/opencode/nuxt/agents/security-reviewer.md +2 -2
- package/presets/opencode/nuxt/agents/solution-architect.md +2 -2
- package/presets/opencode/nuxt/agents/task-analyst.md +1 -1
- package/presets/opencode/nuxt/agents/task-router.md +1 -1
- package/presets/opencode/nuxt/agents/tech-writer.md +2 -2
- package/presets/opencode/nuxt/agents/unit-test-generator.md +2 -2
- package/presets/opencode/nuxt/agents/unit-test-healer.md +2 -2
- package/presets/opencode/nuxt/agents/unit-test-planner.md +2 -2
- package/presets/opencode/nuxt/rules/agent-team-orchestrator.md +3 -1
- package/presets/opencode/nuxt/rules/code-review-mr.md +6 -6
- package/presets/opencode/nuxt/rules/feature-delivery-workflow.md +15 -15
- package/presets/opencode/nuxt/rules/reference-features.md +2 -2
- package/presets/opencode/nuxt/rules/tests-e2e-structure.md +1 -1
- package/presets/opencode/php-hexagonal/adapter-map.json +1 -1
- package/presets/opencode/php-hexagonal/agents/build-verifier.md +2 -2
- package/presets/opencode/php-hexagonal/agents/code-reviewer.md +2 -2
- package/presets/opencode/php-hexagonal/agents/feature-developer.md +2 -2
- package/presets/opencode/php-hexagonal/agents/openspec-author.md +2 -2
- package/presets/opencode/php-hexagonal/agents/task-analyst.md +1 -1
- package/presets/opencode/php-hexagonal/agents/task-router.md +1 -1
- package/presets/opencode/php-hexagonal/rules/agent-team-orchestrator.md +3 -1
- package/presets/opencode/php-hexagonal/rules/code-quality-and-refactoring.md +1 -1
- package/presets/opencode/php-laravel/adapter-map.json +1 -1
- package/presets/opencode/php-laravel/agents/build-verifier.md +2 -2
- package/presets/opencode/php-laravel/agents/code-reviewer.md +2 -2
- package/presets/opencode/php-laravel/agents/feature-developer.md +2 -2
- package/presets/opencode/php-laravel/agents/openspec-author.md +2 -2
- package/presets/opencode/php-laravel/agents/task-analyst.md +1 -1
- package/presets/opencode/php-laravel/agents/task-router.md +1 -1
- package/presets/opencode/php-laravel/rules/agent-team-orchestrator.md +3 -1
- package/presets/opencode/php-laravel/rules/code-quality-and-refactoring.md +1 -1
- package/presets/opencode/svelte/adapter-map.json +1 -1
- package/presets/opencode/svelte/agents/accessibility-reviewer.md +2 -2
- package/presets/opencode/svelte/agents/api-contract-reviewer.md +2 -2
- package/presets/opencode/svelte/agents/build-verifier.md +2 -2
- package/presets/opencode/svelte/agents/ci-investigator.md +2 -2
- package/presets/opencode/svelte/agents/code-reviewer.md +2 -2
- package/presets/opencode/svelte/agents/debugger.md +2 -2
- package/presets/opencode/svelte/agents/feature-developer.md +2 -2
- package/presets/opencode/svelte/agents/migration-specialist.md +2 -2
- package/presets/opencode/svelte/agents/mockup-reviewer.md +2 -2
- package/presets/opencode/svelte/agents/openspec-author.md +2 -2
- package/presets/opencode/svelte/agents/performance-auditor.md +2 -2
- package/presets/opencode/svelte/agents/qa-tester.md +2 -2
- package/presets/opencode/svelte/agents/security-reviewer.md +2 -2
- package/presets/opencode/svelte/agents/solution-architect.md +2 -2
- package/presets/opencode/svelte/agents/task-analyst.md +1 -1
- package/presets/opencode/svelte/agents/task-router.md +1 -1
- package/presets/opencode/svelte/agents/tech-writer.md +2 -2
- package/presets/opencode/svelte/agents/unit-test-generator.md +2 -2
- package/presets/opencode/svelte/agents/unit-test-healer.md +2 -2
- package/presets/opencode/svelte/agents/unit-test-planner.md +2 -2
- package/presets/opencode/svelte/rules/agent-team-orchestrator.md +3 -1
- package/presets/opencode/svelte/rules/code-review-mr.md +6 -6
- package/presets/opencode/svelte/rules/feature-delivery-workflow.md +1 -1
- package/presets/opencode/svelte/rules/reference-features.md +2 -2
- package/presets/opencode/svelte/rules/tests-e2e-structure.md +1 -1
- package/scripts/check-generated-drift.mjs +42 -2
- package/scripts/check-local-overlay.sh +39 -0
- package/scripts/fixtures/cli-golden/claude/next.json +44 -41
- package/scripts/fixtures/cli-golden/cursor/next.json +69 -46
- package/scripts/fixtures/cli-golden/mavis/android-kotlin.json +21 -21
- package/scripts/fixtures/cli-golden/mavis/go.json +8 -8
- package/scripts/fixtures/cli-golden/mavis/ios-swift.json +12 -12
- package/scripts/fixtures/cli-golden/mavis/java.json +8 -8
- package/scripts/fixtures/cli-golden/mavis/mcp-ts.json +5 -5
- package/scripts/fixtures/cli-golden/mavis/next.json +70 -47
- package/scripts/fixtures/cli-golden/mavis/nuxt.json +25 -25
- package/scripts/fixtures/cli-golden/mavis/php-hexagonal.json +8 -8
- package/scripts/fixtures/cli-golden/mavis/php-laravel.json +8 -8
- package/scripts/fixtures/cli-golden/mavis/svelte.json +25 -25
- package/scripts/fixtures/cli-golden/opencode/android-kotlin.json +21 -21
- package/scripts/fixtures/cli-golden/opencode/go.json +8 -8
- package/scripts/fixtures/cli-golden/opencode/ios-swift.json +12 -12
- package/scripts/fixtures/cli-golden/opencode/java.json +8 -8
- package/scripts/fixtures/cli-golden/opencode/mcp-ts.json +5 -5
- package/scripts/fixtures/cli-golden/opencode/next.json +70 -47
- package/scripts/fixtures/cli-golden/opencode/nuxt.json +25 -25
- package/scripts/fixtures/cli-golden/opencode/php-hexagonal.json +8 -8
- package/scripts/fixtures/cli-golden/opencode/php-laravel.json +8 -8
- package/scripts/fixtures/cli-golden/opencode/svelte.json +25 -25
- package/scripts/lib/generate-adapter-common.mjs +17 -0
- package/scripts/lib/generate-mavis-adapter.mjs +9 -3
- package/scripts/lib/generate-opencode-adapter.mjs +9 -3
|
@@ -84,8 +84,8 @@ Load requestable rule `mcp-usage` when verifying third-party library APIs (Conte
|
|
|
84
84
|
|
|
85
85
|
## Artifact contract
|
|
86
86
|
|
|
87
|
-
- **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the manifest
|
|
88
|
-
- **Owned outputs:** `migration-plan.md`; upsert only the manifest
|
|
87
|
+
- **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the items in `manifest.artifacts[]` for brief/decomposition and stack/version context from the repo.
|
|
88
|
+
- **Owned outputs:** `migration-plan.md`; upsert only the entry in `manifest.artifacts[]` assigned by handoff (`artifactOutputId`; fallback `migration-plan`) and preserve all foreign items in `manifest.artifacts[]`.
|
|
89
89
|
- **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
|
|
90
90
|
- **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
|
|
91
91
|
|
|
@@ -74,8 +74,8 @@ Standalone FAIL must **not** set `changes_requested`. Embedded FAIL is a FAIL-on
|
|
|
74
74
|
|
|
75
75
|
## Artifact contract
|
|
76
76
|
|
|
77
|
-
- **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the manifest
|
|
78
|
-
- **Owned outputs:** `mockup-review.md`; upsert only the manifest
|
|
77
|
+
- **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the items in `manifest.artifacts[]` for routing + analysis when present (standalone may have only the prompt + URL).
|
|
78
|
+
- **Owned outputs:** `mockup-review.md`; upsert only the entry in `manifest.artifacts[]` assigned by handoff (`artifactOutputId`; fallback `mockup-review`) and preserve all foreign items in `manifest.artifacts[]`.
|
|
79
79
|
- **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed`, `changes_requested`, or `blocked` per the table above. Bind it to the supplied `attemptId` when present.
|
|
80
80
|
- **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
|
|
81
81
|
|
|
@@ -145,8 +145,8 @@ If `scope` carries multiple phases (e.g. `openspec:<change-id>:propose+apply`),
|
|
|
145
145
|
|
|
146
146
|
## Artifact contract
|
|
147
147
|
|
|
148
|
-
- **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the manifest
|
|
149
|
-
- **Owned outputs:** `openspec/changes/<change-id>/**` (proposal.md, design.md, tasks.md, .openspec.yaml, specs/<capability>/spec.md delta) plus the team slot `openspec-change.md` in `.ai.local/team/tasks/<slug>/` when the orchestrator asks for a summary handoff. Preserve all foreign
|
|
148
|
+
- **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the items in `manifest.artifacts[]` for brief/decomposition and available architecture/migration/review artifacts.
|
|
149
|
+
- **Owned outputs:** `openspec/changes/<change-id>/**` (proposal.md, design.md, tasks.md, .openspec.yaml, specs/<capability>/spec.md delta) plus the team slot `openspec-change.md` in `.ai.local/team/tasks/<slug>/` when the orchestrator asks for a summary handoff. Preserve all foreign items in `manifest.artifacts[]`; upsert only the entry in `manifest.artifacts[]` assigned by handoff (`artifactOutputId`; fallback `openspec-change`).
|
|
150
150
|
- **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths under `openspec/changes/<change-id>/**`, attach `openspec validate <change-id> --type change --strict` exit code + deltas-only summary, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
|
|
151
151
|
- **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
|
|
152
152
|
|
|
@@ -83,8 +83,8 @@ If Chrome DevTools MCP is ready and the app is running, use it for console/netwo
|
|
|
83
83
|
|
|
84
84
|
## Artifact contract
|
|
85
85
|
|
|
86
|
-
- **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the manifest
|
|
87
|
-
- **Owned outputs:** `perf-report.md`; upsert only the manifest
|
|
86
|
+
- **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the items in `manifest.artifacts[]` for brief when present and the scoped git diff / routes under audit.
|
|
87
|
+
- **Owned outputs:** `perf-report.md`; upsert only the entry in `manifest.artifacts[]` assigned by handoff (`artifactOutputId`; fallback `perf-report`) and preserve all foreign items in `manifest.artifacts[]`.
|
|
88
88
|
- **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
|
|
89
89
|
- **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
|
|
90
90
|
|
|
@@ -59,8 +59,8 @@ When the task is mostly e2e, prefer invoking the dedicated `playwright-test-plan
|
|
|
59
59
|
|
|
60
60
|
## Artifact contract
|
|
61
61
|
|
|
62
|
-
- **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the manifest
|
|
63
|
-
- **Owned outputs:** changed/added test paths (and any QA notes written under the slug dir); upsert only the manifest
|
|
62
|
+
- **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the items in `manifest.artifacts[]` for brief/decomposition, reviewer notes when present, and prior implementation/validation artifacts.
|
|
63
|
+
- **Owned outputs:** changed/added test paths (and any QA notes written under the slug dir); upsert only the entry in `manifest.artifacts[]` assigned by handoff (`artifactOutputId`; fallback `qa-tester`) and preserve all foreign items in `manifest.artifacts[]`.
|
|
64
64
|
- **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
|
|
65
65
|
- **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
|
|
66
66
|
|
|
@@ -73,8 +73,8 @@ PASS | PASS_WITH_NOTES | FAIL
|
|
|
73
73
|
|
|
74
74
|
## Artifact contract
|
|
75
75
|
|
|
76
|
-
- **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the manifest
|
|
77
|
-
- **Owned outputs:** `security-review.md`; upsert only the manifest
|
|
76
|
+
- **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the items in `manifest.artifacts[]` for brief/decomposition, prior `review.md` when present, and the scoped git diff.
|
|
77
|
+
- **Owned outputs:** `security-review.md`; upsert only the entry in `manifest.artifacts[]` assigned by handoff (`artifactOutputId`; fallback `security-review`) and preserve all foreign items in `manifest.artifacts[]`.
|
|
78
78
|
- **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `changes_requested`. Bind it to the supplied `attemptId` when present.
|
|
79
79
|
- **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
|
|
80
80
|
|
|
@@ -83,8 +83,8 @@ Load requestable rule `mcp-usage` when verifying third-party library APIs (Conte
|
|
|
83
83
|
|
|
84
84
|
## Artifact contract
|
|
85
85
|
|
|
86
|
-
- **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the manifest
|
|
87
|
-
- **Owned outputs:** `architecture.md`; upsert only the manifest
|
|
86
|
+
- **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the items in `manifest.artifacts[]` for brief/decomposition and applicable prior analysis artifacts.
|
|
87
|
+
- **Owned outputs:** `architecture.md`; upsert only the entry in `manifest.artifacts[]` assigned by handoff (`artifactOutputId`; fallback `architecture`) and preserve all foreign items in `manifest.artifacts[]`.
|
|
88
88
|
- **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
|
|
89
89
|
- **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
|
|
90
90
|
|
|
@@ -190,6 +190,6 @@ If the prompt/brief has a tracker URL (Linear/Jira/Notion/…) and that MCP is r
|
|
|
190
190
|
## Artifact contract
|
|
191
191
|
|
|
192
192
|
- **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume `pipeline.json`, the manifest routing entry, user-approved decisions, and any authoritative architecture/approval entries.
|
|
193
|
-
- **Owned outputs:** `brief.md` and `decomposition.md` (plus `ux-design.md` when produced); upsert only the manifest
|
|
193
|
+
- **Owned outputs:** `brief.md` and `decomposition.md` (plus `ux-design.md` when produced); upsert only the entry in `manifest.artifacts[]` assigned by handoff (`artifactOutputId`; fallback `analysis`) and preserve all foreign items in `manifest.artifacts[]`.
|
|
194
194
|
- **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
|
|
195
195
|
- **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
|
|
@@ -202,6 +202,6 @@ Return the routing receipt to the orchestrator. The orchestration runtime/hook e
|
|
|
202
202
|
## Artifact contract
|
|
203
203
|
|
|
204
204
|
- **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume the user request and any existing authoritative task/decision entries.
|
|
205
|
-
- **Owned outputs:** `pipeline.json` and the routing manifest
|
|
205
|
+
- **Owned outputs:** `pipeline.json` and the routing entry in `manifest.artifacts[]`; upsert only the entry in `manifest.artifacts[]` assigned by handoff (`artifactOutputId`; fallback `routing`) and preserve all foreign items in `manifest.artifacts[]`.
|
|
206
206
|
- **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
|
|
207
207
|
- **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
|
|
@@ -77,8 +77,8 @@ Post-delivery: when behavior or public docs changed and `docs/specs/` is in play
|
|
|
77
77
|
|
|
78
78
|
## Artifact contract
|
|
79
79
|
|
|
80
|
-
- **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the manifest
|
|
81
|
-
- **Owned outputs:** `documentation.md` (and any explicitly requested docs paths); upsert only the manifest
|
|
80
|
+
- **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the items in `manifest.artifacts[]` for brief/decomposition and available architecture/migration/review artifacts.
|
|
81
|
+
- **Owned outputs:** `documentation.md` (and any explicitly requested docs paths); upsert only the entry in `manifest.artifacts[]` assigned by handoff (`artifactOutputId`; fallback `documentation`) and preserve all foreign items in `manifest.artifacts[]`.
|
|
82
82
|
- **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
|
|
83
83
|
- **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
|
|
84
84
|
|
|
@@ -47,8 +47,8 @@ Run affected unit tests from repository root when feasible. Report files changed
|
|
|
47
47
|
|
|
48
48
|
## Artifact contract
|
|
49
49
|
|
|
50
|
-
- **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the manifest
|
|
51
|
-
- **Owned outputs:** generated/updated `*.spec.ts` paths; upsert only the manifest
|
|
50
|
+
- **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the items in `manifest.artifacts[]` for `unit-test-plan.md`, brief/decomposition when present, and target modules.
|
|
51
|
+
- **Owned outputs:** generated/updated `*.spec.ts` paths; upsert only the entry in `manifest.artifacts[]` assigned by handoff (`artifactOutputId`; fallback `unit-test-generator`) and preserve all foreign items in `manifest.artifacts[]`.
|
|
52
52
|
- **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
|
|
53
53
|
- **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
|
|
54
54
|
|
|
@@ -48,8 +48,8 @@ Report root cause, files changed, validation result, and remaining risk.
|
|
|
48
48
|
|
|
49
49
|
## Artifact contract
|
|
50
50
|
|
|
51
|
-
- **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the manifest
|
|
52
|
-
- **Owned outputs:** healed `*.spec.ts` paths (and minimal production fixes only when evidenced); upsert only the manifest
|
|
51
|
+
- **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the items in `manifest.artifacts[]` for failing test evidence, `unit-test-plan.md` when present, and recent diff.
|
|
52
|
+
- **Owned outputs:** healed `*.spec.ts` paths (and minimal production fixes only when evidenced); upsert only the entry in `manifest.artifacts[]` assigned by handoff (`artifactOutputId`; fallback `unit-test-healer`) and preserve all foreign items in `manifest.artifacts[]`.
|
|
53
53
|
- **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
|
|
54
54
|
- **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
|
|
55
55
|
|
|
@@ -72,8 +72,8 @@ Test titles in the plan must follow Russian capitalization rules from `tests-uni
|
|
|
72
72
|
|
|
73
73
|
## Artifact contract
|
|
74
74
|
|
|
75
|
-
- **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the manifest
|
|
76
|
-
- **Owned outputs:** `unit-test-plan.md`; upsert only the manifest
|
|
75
|
+
- **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the items in `manifest.artifacts[]` for brief/decomposition and target modules under `**`.
|
|
76
|
+
- **Owned outputs:** `unit-test-plan.md`; upsert only the entry in `manifest.artifacts[]` assigned by handoff (`artifactOutputId`; fallback `unit-test-planner`) and preserve all foreign items in `manifest.artifacts[]`.
|
|
77
77
|
- **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
|
|
78
78
|
- **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
|
|
79
79
|
|
|
@@ -109,7 +109,7 @@ Each slug has one `artifact-manifest.json` at `.ai.local/team/tasks/<slug>/`. Th
|
|
|
109
109
|
|
|
110
110
|
- Read the manifest before broad prior-artifact discovery. Each step receives authoritative input entry IDs, owns named output entry IDs, and finishes with one terminal receipt linked to AC/task IDs.
|
|
111
111
|
- Markdown remains detailed evidence; the manifest points to authoritative paths and records producer, status, timestamps, outcome, and evidence paths.
|
|
112
|
-
- Agents upsert only
|
|
112
|
+
- Agents upsert only the items they own in `manifest.artifacts[]` and preserve all foreign items in that array. Parallel agents use distinct IDs; the parent/orchestrator serializes manifest merges. The top-level array key is `artifacts` — not `entries`; see `agent-artifact-contracts.md` for the schema callout.
|
|
113
113
|
- The orchestration runtime/hook is the single writer for `status.json` lifecycle fields and `metrics.json`. Agents read status for eligibility but never rewrite unrelated state, gate, retry, attempt, timestamp, or metrics fields.
|
|
114
114
|
- Missing/stale manifests are reported as a handoff gap; fall back to `brief.md`, `decomposition.md`, and `pipeline.json` rather than inventing authority.
|
|
115
115
|
|
|
@@ -145,6 +145,8 @@ Each slug has one `artifact-manifest.json` at `.ai.local/team/tasks/<slug>/`. Th
|
|
|
145
145
|
| `awaiting_approval` | Human gate; wait for `/task-continue` |
|
|
146
146
|
| `changes_requested` | Reviewer blocked; re-run developer (`retryAfterFix`) |
|
|
147
147
|
| `validation_failed` | build-verifier failed; re-run developer then build-verifier |
|
|
148
|
+
| `blocked` | Pipeline / step cannot proceed (e.g. `pipeline_parse_error`, completion of a parallel step whose producer's receipt was missing — see `agent-artifact-contracts.md` § Completion receipts) |
|
|
149
|
+
| `awaiting_artifact_receipt` | Producer stopped but the bound or assigned-output receipt was missing or stale; hook keeps the attempt active and does not advance. See `agent-artifact-contracts.md` (Schema field name + Receipt binding) for the silent-bug class that lands here. |
|
|
148
150
|
|
|
149
151
|
On each `subagentStop`, the hook reconciles `status.state` from the completing producer's terminal `artifact-manifest.json` receipt (`completed` \| `changes_requested` \| `validation_failed`) when agents left lifecycle fields untouched. Parent orchestrators must wait for that handoff before invoking the next step.
|
|
150
152
|
|
|
@@ -45,9 +45,9 @@ On-demand rule for review flows. **Procedure and output format:** skill `code-re
|
|
|
45
45
|
|
|
46
46
|
### Checklist references
|
|
47
47
|
|
|
48
|
-
- Architecture layers: `architecture-boundaries.
|
|
49
|
-
- Imports: `public-imports.
|
|
50
|
-
- UI: `svelte-ui.
|
|
51
|
-
- Security: `security-sveltekit.
|
|
52
|
-
- Tests: `tests-unit.
|
|
53
|
-
- Lint gate before final report: `post-change-lint.
|
|
48
|
+
- Architecture layers: `architecture-boundaries.md`, `svelte-app-core.md`; network: `http-client.md`
|
|
49
|
+
- Imports: `public-imports.md`, `layer-barrel-exports.md`
|
|
50
|
+
- UI: `svelte-ui.md`
|
|
51
|
+
- Security: `security-sveltekit.md`
|
|
52
|
+
- Tests: `tests-unit.md`, `playwright-agents.md`, `tests-e2e-structure.md`
|
|
53
|
+
- Lint gate before final report: `post-change-lint.md`
|
|
@@ -52,7 +52,7 @@ Filled in the stack adapter: concrete globs/paths and `.mdc` / topic `.md` names
|
|
|
52
52
|
|
|
53
53
|
When the prompt or `brief.md` contains a `figma.com` URL, **mockup review** (`mockup-reviewer` / skill `mockup-review`) must complete — or the user must continue past FAIL/`BLOCKED_MCP` via `/task-continue` — **before UI implementation**. Non-UI tasks no-op this gate. When required-signal and **no** `figma.com`, **`ux-design.md`** (on the analysis manifest entry) must exist and not be `INCOMPLETE` before UI work — else **blocked**, hand back to `task-analyst`. Parallel to the mockup gate.
|
|
54
54
|
|
|
55
|
-
Typical feature with backend data and shared state. Layer details — `architecture-boundaries.
|
|
55
|
+
Typical feature with backend data and shared state. Layer details — `architecture-boundaries.md`, `svelte-app-core.md`.
|
|
56
56
|
|
|
57
57
|
Canonical paths: `src/routes/**`, `src/lib/{components,stores,api,clients,types}/**`, `tests/e2e/**`. Aliases: `$lib` preferred; `@/` if configured. State: `store-svelte` (runes primary; legacy stores secondary).
|
|
58
58
|
|
|
@@ -77,6 +77,6 @@ Post-init gotchas / patterns / decisions: **`.ai.local/conventions.md`** (shared
|
|
|
77
77
|
|
|
78
78
|
## Related rules
|
|
79
79
|
|
|
80
|
-
- `code-quality-and-refactoring.
|
|
81
|
-
- `feature-delivery-workflow.
|
|
80
|
+
- `code-quality-and-refactoring.md` — repeat patterns; no deep-import.
|
|
81
|
+
- `feature-delivery-workflow.md` — layer order.
|
|
82
82
|
- skill `feature-delivery` — end-to-end scenario.
|
|
@@ -84,5 +84,5 @@ Bad (no capital after period; or wrong locale for configured ESLint):
|
|
|
84
84
|
- `PREFIX-XXX` example: `OrderHistory` → `OH`, `BillingReport` → `BR`.
|
|
85
85
|
- Russian example: `test('OH-001 Отображается список заказов', async ({ page }) => { ... })` <!-- i18n-keep: E5 --> (Order list is displayed).
|
|
86
86
|
- Page object example filename: `OrderHistoryPage.ts`.
|
|
87
|
-
- Cross-reference: See also **`playwright-agents.
|
|
87
|
+
- Cross-reference: See also **`playwright-agents.md`**.
|
|
88
88
|
- `## Stack notes` content is stripped by `scripts/check-shared-core-drift.sh` before byte-comparing this file against `_shared/core/testing/testing-principles.md`; keep prose above (core content) verbatim against the core file.
|
|
@@ -45,6 +45,42 @@ function sha256File(filePath) {
|
|
|
45
45
|
return crypto.createHash('sha256').update(fs.readFileSync(filePath)).digest('hex');
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
+
/**
|
|
49
|
+
* Generated rule bodies must not point at sibling rules via `.mdc` — the target
|
|
50
|
+
* trees ship `.md` only (e.g. `feature-delivery-workflow.md` referencing
|
|
51
|
+
* `store-rtk.mdc`). Embed-mode bodies preserve Cursor `## Stack notes` prose, so
|
|
52
|
+
* this is easy to regress. Only stems that exist as sibling `.md` are flagged.
|
|
53
|
+
*/
|
|
54
|
+
function findDanglingMdcRefs(rulesRoot) {
|
|
55
|
+
const issues = [];
|
|
56
|
+
if (!fs.existsSync(rulesRoot)) {
|
|
57
|
+
return issues;
|
|
58
|
+
}
|
|
59
|
+
const stems = new Set(
|
|
60
|
+
fs
|
|
61
|
+
.readdirSync(rulesRoot)
|
|
62
|
+
.filter((name) => name.endsWith('.md'))
|
|
63
|
+
.map((name) => name.slice(0, -'.md'.length)),
|
|
64
|
+
);
|
|
65
|
+
const refRe = /(?<![\w./-])([a-z][\w-]*)\.mdc\b/g;
|
|
66
|
+
for (const name of fs.readdirSync(rulesRoot)) {
|
|
67
|
+
if (!name.endsWith('.md')) {
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
// Author meta-rules describe the Cursor `.mdc` SoT; `.mdc` refs there are intentional.
|
|
71
|
+
if (name.startsWith('preset-')) {
|
|
72
|
+
continue;
|
|
73
|
+
}
|
|
74
|
+
const text = fs.readFileSync(path.join(rulesRoot, name), 'utf8');
|
|
75
|
+
for (const match of text.matchAll(refRe)) {
|
|
76
|
+
if (stems.has(match[1])) {
|
|
77
|
+
issues.push(`${name}: dangling .mdc reference to sibling rule '${match[1]}.mdc'`);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return issues;
|
|
82
|
+
}
|
|
83
|
+
|
|
48
84
|
function compareTrees(expectedRoot, actualRoot, label, drift) {
|
|
49
85
|
const expected = walkRelative(expectedRoot);
|
|
50
86
|
const actual = walkRelative(actualRoot);
|
|
@@ -66,8 +102,7 @@ function compareTrees(expectedRoot, actualRoot, label, drift) {
|
|
|
66
102
|
|
|
67
103
|
const tempRoot = fs.mkdtempSync(path.join(os.tmpdir(), 'ai-rules-generated-drift-'));
|
|
68
104
|
const drift = [];
|
|
69
|
-
try {
|
|
70
|
-
fs.mkdirSync(path.join(tempRoot, 'presets'), { recursive: true });
|
|
105
|
+
try { fs.mkdirSync(path.join(tempRoot, 'presets'), { recursive: true });
|
|
71
106
|
fs.cpSync(path.join(presetsRoot, 'cursor'), path.join(tempRoot, 'presets', 'cursor'), {
|
|
72
107
|
recursive: true,
|
|
73
108
|
});
|
|
@@ -88,6 +123,11 @@ try {
|
|
|
88
123
|
`${platform}/${stack}`,
|
|
89
124
|
drift,
|
|
90
125
|
);
|
|
126
|
+
drift.push(
|
|
127
|
+
...findDanglingMdcRefs(path.join(presetsRoot, platform, stack, 'rules')).map(
|
|
128
|
+
(issue) => `${platform}/${stack}/${issue}`,
|
|
129
|
+
),
|
|
130
|
+
);
|
|
91
131
|
}
|
|
92
132
|
}
|
|
93
133
|
} finally {
|
|
@@ -235,6 +235,45 @@ if not offenders:
|
|
|
235
235
|
print(" OK: no `team/conventions` references in any form; conventions templates present")
|
|
236
236
|
print()
|
|
237
237
|
|
|
238
|
+
# --- Seed glob contract (next) -------------------------------------------
|
|
239
|
+
# Staged-inactive seeds under `ai-local/rules-library/` ship globs for the
|
|
240
|
+
# CONSUMER layout. The next stack mandates `app/src/**`, so a bare `src/` glob
|
|
241
|
+
# never activates — the rule silently no-ops. Guard the seed set.
|
|
242
|
+
print("=== seed globs (next) ===")
|
|
243
|
+
SEED_ROOT_PREFIXES = (
|
|
244
|
+
"app/",
|
|
245
|
+
"storybook/",
|
|
246
|
+
".ai.local/",
|
|
247
|
+
"docs/",
|
|
248
|
+
"openspec/",
|
|
249
|
+
"packages/",
|
|
250
|
+
)
|
|
251
|
+
bad_seed_globs: list[str] = []
|
|
252
|
+
next_seed_dir = presets / "cursor" / "next" / "ai-local" / "rules-library"
|
|
253
|
+
if next_seed_dir.is_dir():
|
|
254
|
+
for path in sorted(next_seed_dir.glob("*.md")):
|
|
255
|
+
text = path.read_text(encoding="utf-8")
|
|
256
|
+
for line in text.splitlines():
|
|
257
|
+
if not re.match(r"^glob(s)?\s*:", line):
|
|
258
|
+
continue
|
|
259
|
+
value = line.split(":", 1)[1].strip()
|
|
260
|
+
if value == "always":
|
|
261
|
+
continue
|
|
262
|
+
for glob in (part.strip() for part in re.split(r",(?![^{]*\})", value)):
|
|
263
|
+
if not glob or glob.startswith("*"):
|
|
264
|
+
continue
|
|
265
|
+
if not glob.startswith(SEED_ROOT_PREFIXES):
|
|
266
|
+
bad_seed_globs.append(f"{path.name}: `{glob}`")
|
|
267
|
+
for issue in bad_seed_globs:
|
|
268
|
+
print(
|
|
269
|
+
"FAIL: seed glob must start with app/ (or storybook/.ai.local/docs/openspec): "
|
|
270
|
+
f"{issue}"
|
|
271
|
+
)
|
|
272
|
+
failed += len(bad_seed_globs)
|
|
273
|
+
if not bad_seed_globs:
|
|
274
|
+
print(" OK: next seeds use consumer-layout globs")
|
|
275
|
+
print()
|
|
276
|
+
|
|
238
277
|
if failed:
|
|
239
278
|
print(f"Result: FAIL ({failed} issue(s) across {sum(1 for v in stack_failed.values() if v > 0)} stack(s))")
|
|
240
279
|
sys.exit(1)
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
".ai.local/team/fixtures/feature-full.json": "1110b152cdcb5508e8ce4179aa2e760f7f7c66569ba081d6bdf0a49a0a449470",
|
|
11
11
|
".ai.local/team/fixtures/feature-light.json": "618ac9da9527d688ec7dac849eafb869ae342ec890d0e7c73c1e57c0f8fb5a1b",
|
|
12
12
|
".ai.local/team/fixtures/feature-with-figma-url.json": "8aec2ac11ba552bc9135721678af58c73ca5a74b3038c5f4dc878b1080ade9be",
|
|
13
|
-
".ai.local/team/fixtures/feature-with-ux-no-figma.json": "
|
|
13
|
+
".ai.local/team/fixtures/feature-with-ux-no-figma.json": "78e0d14218a3dc0d23edd6ea6fbf96b0392ffd8b9744f8b45b6aed14b98c43d0",
|
|
14
14
|
".ai.local/team/fixtures/memlog.example.md": "53d281ddd383e0337b038a0dc6dd4e14f84743066a1a99bf45fc2e7064cce222",
|
|
15
15
|
".ai.local/team/fixtures/metrics-scenarios/tasks/human-gate/metrics.json": "6642b2ae310cdb89eb80fce7bb01d69a428c9ca8072651af7397f4f19eb0a724",
|
|
16
16
|
".ai.local/team/fixtures/metrics-scenarios/tasks/missing-ledger/status.json": "c27b87afa3c82d7d0d4b0e8385b8ebb245e17c10e3fe00f94938141f5843e9d7",
|
|
@@ -25,95 +25,98 @@
|
|
|
25
25
|
".claude/CLAUDE.md": "2adbeb71dbadbaefeb4f7576e6ce5db395f7bfd566b665532e156265f9457293",
|
|
26
26
|
".claude/MCP.md": "a40a7f9cd8a11a031a5fb3f2e4ccdb6cb2186461600146765d3255990e6133d0",
|
|
27
27
|
".claude/agents/README.md": "98fd8018a96eb924977217f81eb9cf966e88dee151b60af2c7c94ae2a8b32730",
|
|
28
|
-
".claude/agents/accessibility-reviewer.md": "
|
|
29
|
-
".claude/agents/api-contract-reviewer.md": "
|
|
30
|
-
".claude/agents/build-verifier.md": "
|
|
31
|
-
".claude/agents/ci-investigator.md": "
|
|
32
|
-
".claude/agents/code-reviewer.md": "
|
|
28
|
+
".claude/agents/accessibility-reviewer.md": "0458052fb565978f1572a9cdb05ff76d76ef9a30a0695d5dcc4cbd8d0855fd50",
|
|
29
|
+
".claude/agents/api-contract-reviewer.md": "f79ffdcb0ef82f634224e70ab625b7b6c50b7596ddd6a349b40b44d1d813e4bd",
|
|
30
|
+
".claude/agents/build-verifier.md": "00ce6acfbebe453271e1d45d8e5403616b65a16f9dab1bff6fcdd6086ddb4360",
|
|
31
|
+
".claude/agents/ci-investigator.md": "88c04c8e2f8f04c2d1acb9ac04e554252d7fa2db5a67423032858561bfdd6ff7",
|
|
32
|
+
".claude/agents/code-reviewer.md": "3c7496f6ff33f1b1c99d8a4f965fbc5216c8ab205abbe6c9d8492746ee9ba617",
|
|
33
33
|
".claude/agents/codebase-analyzer.md": "73810a9283924c64d14eb2e6e9a515c8edf03fbdacb1f58cda5725b3dd17cc8b",
|
|
34
|
-
".claude/agents/debugger.md": "
|
|
35
|
-
".claude/agents/feature-developer.md": "
|
|
36
|
-
".claude/agents/migration-specialist.md": "
|
|
37
|
-
".claude/agents/mockup-reviewer.md": "
|
|
38
|
-
".claude/agents/openspec-author.md": "
|
|
39
|
-
".claude/agents/performance-auditor.md": "
|
|
34
|
+
".claude/agents/debugger.md": "201895766073b626a7d3694cbeb28cd04cb0a407baba54c96ffe9c4ed8a9b737",
|
|
35
|
+
".claude/agents/feature-developer.md": "a9e663c0f89e4b4eceffcdd0b0b2da39c709084d3d841924ac8600e12a02590c",
|
|
36
|
+
".claude/agents/migration-specialist.md": "8f334cf59b2e46a28e501e42aa68fb72d08702943046ecd3cfd72a1a20989676",
|
|
37
|
+
".claude/agents/mockup-reviewer.md": "a9cf91311aa26905631af62f457ec76f329b9b239fa8d2552d22dd78cba2e3a2",
|
|
38
|
+
".claude/agents/openspec-author.md": "2cdf40edf0860b328859067c1dda145f3c918d9d438ee0eb46a771c52256716b",
|
|
39
|
+
".claude/agents/performance-auditor.md": "5b20c9d24dc1a69b4a9532916e488ca05d41bf3ac00fdd095aeaf68a9648da5b",
|
|
40
40
|
".claude/agents/playwright-test-generator.md": "b52015503915632f6562091c468589e8d9441b8f1f99c0a1434b2c0cb1cf0af2",
|
|
41
41
|
".claude/agents/playwright-test-healer.md": "54ff2800f93fe67fa63f32a1183d13818f69a669fe60c7f8297c1e7c6272bca4",
|
|
42
42
|
".claude/agents/playwright-test-planner.md": "23937e4eea308eea970859a40c02accdf7cb974f2b79505bd7b9408796506aab",
|
|
43
|
-
".claude/agents/qa-tester.md": "
|
|
44
|
-
".claude/agents/security-reviewer.md": "
|
|
45
|
-
".claude/agents/solution-architect.md": "
|
|
46
|
-
".claude/agents/task-analyst.md": "
|
|
47
|
-
".claude/agents/task-router.md": "
|
|
48
|
-
".claude/agents/tech-writer.md": "
|
|
49
|
-
".claude/agents/unit-test-generator.md": "
|
|
50
|
-
".claude/agents/unit-test-healer.md": "
|
|
51
|
-
".claude/agents/unit-test-planner.md": "
|
|
43
|
+
".claude/agents/qa-tester.md": "1e17916566bc9666d2f0403315dcf5bafa5df316b69009385fa26f1191a1fdc8",
|
|
44
|
+
".claude/agents/security-reviewer.md": "7ee50623115fd5ac5c0dccd6213627edf21fa30cf9842cf4bc384b1b52dc6d30",
|
|
45
|
+
".claude/agents/solution-architect.md": "09a8a8b3aec392db1cb9295afc537b2620d97885d1d4a83ff1a1dfdfccfaa930",
|
|
46
|
+
".claude/agents/task-analyst.md": "ea4c1ce928d32508864297cc0a86295d6eb1dfb26b2e902b920eafa5760365c2",
|
|
47
|
+
".claude/agents/task-router.md": "480117a53d780baf3946a66c764d9a81e170d363bcc636a2fdafb28a60e3f815",
|
|
48
|
+
".claude/agents/tech-writer.md": "13a2a12f8209209531271d38d987c26e279021fc053affb59fa6fc699d7a445e",
|
|
49
|
+
".claude/agents/unit-test-generator.md": "dad7636b2fc46ed306c86203f5541ede6127d0afa60ec84ff2159e03c3e22b60",
|
|
50
|
+
".claude/agents/unit-test-healer.md": "66804a932416c9f3d01b29a01700fab48e6481e5625db62d9b4df4c4ac17584a",
|
|
51
|
+
".claude/agents/unit-test-planner.md": "9931282e10cdf374cd147a19b4929a0db80fa3f07774674cf6c1d71bbdd2b48d",
|
|
52
52
|
".claude/commands/README.md": "30574717de5deb51a4f5bbe8da7373e560403cc4710acaf0c730d27dd1cf964f",
|
|
53
53
|
".claude/commands/spec-start.md": "4c6ca849ea2d8835a9cc0902a4e39749510db1021fbc0b1a623a46c9644afbf1",
|
|
54
54
|
".claude/commands/task-continue.md": "8c2bec3c204c25910e8fc349c571778275905380e90d8bd02c0092c83ecfe6f6",
|
|
55
55
|
".claude/commands/task.md": "4db4b9245e7d5d0d56fb06d86196502aa8fa6487c747c2c103d09da27b02941e",
|
|
56
56
|
".claude/commands/technical-retro.md": "6195206cc687645fadcbe011306f6c62f1d082508c9182d880e5e4485d17214c",
|
|
57
57
|
".claude/hooks/README.md": "61a608772430bd8b1f95c0bff19fd7e1c0b554a0f0ea16b56f95a6a1b521ae60",
|
|
58
|
-
".claude/hooks/chain-team-phases.sh": "
|
|
58
|
+
".claude/hooks/chain-team-phases.sh": "86d24436aad31e5ef1fde3eeafa399a02457cf51ed609a9d876347af93556232",
|
|
59
59
|
".claude/hooks/examples/README.md": "c5bdc1398bdaad95a15051d75c9f896f5c4991d66641982e675db648e9591813",
|
|
60
60
|
".claude/hooks/examples/format-edited.example.sh": "fd4df1d6c2a5673f963febd4f3f21ec8c42899645bdc53144d713c66b2affc76",
|
|
61
61
|
".claude/hooks/examples/secret-guard.example.sh": "51cbc95c3a1b64dfc5b19901932b4e3a047ade9332451282f254bf5f8d45a58f",
|
|
62
62
|
".claude/hooks/examples/test-on-save.example.sh": "ae185e383811e2f8f89ae5f631993705c06fc8cf7216cf8f0862a5b55c64ca2a",
|
|
63
63
|
".claude/hooks/guard-shell-command.sh": "31e1451148c17aedbcc2e9f372e50f079624f2624fb93505ba74850543749c75",
|
|
64
|
-
".claude/rules/README.md": "
|
|
65
|
-
".claude/rules/anti-hallucination/react-next-anti-hallucination.md": "
|
|
64
|
+
".claude/rules/README.md": "fc53a029835b93b232b107fb9930facce73b02f85a0ed6702f85064004b471f2",
|
|
65
|
+
".claude/rules/anti-hallucination/react-next-anti-hallucination.md": "275e6325605d39171b896e33d5d0c90bdf0e091bfa915890e904c0cde0f286e1",
|
|
66
66
|
".claude/rules/api-and-data/README.md": "1caace24921f00d60a58bea551988abd15c32f13a2711ae799ce1e689b838de2",
|
|
67
67
|
".claude/rules/api-and-data/api-services.md": "30b50d49c4281c4e0f9169d453c285f7dfc828d9991520e0c204101b5b634cb9",
|
|
68
68
|
".claude/rules/api-and-data/http-client.md": "437a97b8b533b6df8ae29d346f68a86e49fa0a66fe7ad3bec4b3874403ea6c09",
|
|
69
|
-
".claude/rules/api-and-data/store-rtk.md": "
|
|
69
|
+
".claude/rules/api-and-data/store-rtk.md": "fabad917c372a20c1e54fdb155a4eca106da6af7b4e71e8c6f87e706ebe0a09b",
|
|
70
70
|
".claude/rules/architecture/README.md": "289158e67b7048545c69efdb4d5e03cc721dbf23d66e0cfe5830093d281d2326",
|
|
71
71
|
".claude/rules/architecture/architecture-boundaries-ui.md": "fefaf65f6893d087064a14602bdac7a13f8ca7dafec5af286ecc7d0ec4e332ba",
|
|
72
72
|
".claude/rules/architecture/architecture-boundaries.md": "05214891d47a286761390afb7109a6d7c10d715f84aca2d0df98960075b78b57",
|
|
73
|
-
".claude/rules/architecture/feature-delivery-workflow.md": "
|
|
73
|
+
".claude/rules/architecture/feature-delivery-workflow.md": "bccbe54efe6c699c8e8833fc7161e31250d30a7c8f7e011b637adb34475a3755",
|
|
74
74
|
".claude/rules/architecture/layer-barrel-exports.md": "c0339a15b5c161bde70107b9dbbd02817d603dcd00d84b43cdd72528c63b4c22",
|
|
75
|
-
".claude/rules/architecture/product-specs-authoring.md": "
|
|
76
|
-
".claude/rules/architecture/product-specs.md": "
|
|
75
|
+
".claude/rules/architecture/product-specs-authoring.md": "88d4e112d158a22e4eb12fa076f4f338139643aa12c68a8e4bf4197ab99ca93e",
|
|
76
|
+
".claude/rules/architecture/product-specs.md": "547051fa5308584a7884e03ed03c0ed0c92ebbb245cbaaa7f83c6403173a378d",
|
|
77
77
|
".claude/rules/architecture/public-imports.md": "da67712b2bb2462967d0869555fb145063fd7ecce53e4b0a08ffc7e53ffac6f3",
|
|
78
|
-
".claude/rules/architecture/reference-features.md": "
|
|
78
|
+
".claude/rules/architecture/reference-features.md": "6e4c78725ca6c501fa5638ed5e9d787c755efc74fc552db7dba4dd4fb8ad4769",
|
|
79
79
|
".claude/rules/stack/README.md": "8dda2a6cacc3346300ea445bcb87d157c898fabdc820ca202667b915f9088de2",
|
|
80
80
|
".claude/rules/stack/arrow-functions.md": "4e382cc791c2d057431830baccff4f7043c4a39424370fe2fa0c57c62a646ea4",
|
|
81
81
|
".claude/rules/stack/navigation-router-ui.md": "8cabe15ed92ae9574c152dd1c001f4771ac1e1d287b0d2f2b12b7f84ddd5fa73",
|
|
82
82
|
".claude/rules/stack/navigation-router.md": "67e2198e7100fe96764acf47810839f8c169b118a2da71ecc172f1569a2571d6",
|
|
83
|
-
".claude/rules/stack/next-app-core.md": "
|
|
83
|
+
".claude/rules/stack/next-app-core.md": "d3e4e44291af48c8628b5d37864aaf3e6e3af492000f01b766a2d5cd4d359692",
|
|
84
84
|
".claude/rules/stack/next-app-router.md": "bb5b0a77fdd17f6643cdf825732e985fa41beea410fe5d6060bc259e507c4446",
|
|
85
|
+
".claude/rules/stack/next-static-export.md": "f9dd3307229e5be58bc13072ba8ceca17aceffc5db89d8882ee2a83e03896445",
|
|
85
86
|
".claude/rules/stack/no-type-assertion.md": "6fb33fa61bceea2fad7cde3361d82c9655b6fd84d43d863033d039b78e6af210",
|
|
86
87
|
".claude/rules/stack/types-jsdoc.md": "1c9b63c5c2230ef7dc8fbb224cecb7b0a99d2235ae17f720b5a92fcd0291ffc5",
|
|
87
88
|
".claude/rules/testing/README.md": "0018e4e37f60352fafac64cad74209aedf88e9129d9bbbd3016a6cb36efe7e0a",
|
|
88
89
|
".claude/rules/testing/playwright-agents.md": "c1d5ce31222bd2dc4ccebea2be79180fe1632a69eedaca1cbf37604b7e783219",
|
|
89
|
-
".claude/rules/testing/tests-e2e-structure.md": "
|
|
90
|
-
".claude/rules/testing/tests-unit.md": "
|
|
90
|
+
".claude/rules/testing/tests-e2e-structure.md": "62ad7b10aad5b0c57888f409e643b1fd34142de3101fea44cd54ac82030ced41",
|
|
91
|
+
".claude/rules/testing/tests-unit.md": "5cb7e5069b36a19a36ace4b359fd77c55cfc4f17223ffaabe14ffdfb18bd8f08",
|
|
91
92
|
".claude/rules/tooling-and-review/README.md": "27a956fa7fa68c58cd17a9b598580b06cb2241aadef29e3b647a31ab418d99ec",
|
|
92
93
|
".claude/rules/tooling-and-review/agent-team-intake.md": "e05a5879d587a9c4774e9e36cfcadca5664eedaabe02051745fb6c87a6143e42",
|
|
93
|
-
".claude/rules/tooling-and-review/agent-team-orchestrator.md": "
|
|
94
|
-
".claude/rules/tooling-and-review/ai-local-overlay.md": "
|
|
94
|
+
".claude/rules/tooling-and-review/agent-team-orchestrator.md": "04bc26f758ff5e303e49e908dba98902485afd29ee3864be5c76b51c33871f26",
|
|
95
|
+
".claude/rules/tooling-and-review/ai-local-overlay.md": "8146c33d2c56a8029045a21f87df4f1a3ea4b3d59be2fb90dbf9323ca940485c",
|
|
95
96
|
".claude/rules/tooling-and-review/anti-sycophancy-discipline.md": "6d359631dde6dbe6588397aa1108752cfdad9764d90d6d9da31606a463b72226",
|
|
96
97
|
".claude/rules/tooling-and-review/code-quality.md": "fc764e9fbf7101475fc709a4610d09758a3a959f2fe82d3d1a487f2c8556c1b4",
|
|
97
|
-
".claude/rules/tooling-and-review/code-review-mr.md": "
|
|
98
|
+
".claude/rules/tooling-and-review/code-review-mr.md": "902e13e1394e4a41d5d8dd4dedc51a0c7bfcabc7a87479bb7c8432328efd2963",
|
|
98
99
|
".claude/rules/tooling-and-review/design-guidance.md": "6eb8a48f9d9f69896c047c9418577e47eda6d2ad6bf18b3dff761c6de675f7d3",
|
|
99
|
-
".claude/rules/tooling-and-review/mcp-usage.md": "
|
|
100
|
+
".claude/rules/tooling-and-review/mcp-usage.md": "a5f17c8bc75ea34a56a0406f13081036600afb8031c03da98453febdce9afc56",
|
|
100
101
|
".claude/rules/tooling-and-review/mockup-review.md": "42e9007a00015f812a049edd2a934ed3caf7d1e0ff8500120ab761379ecd4237",
|
|
101
102
|
".claude/rules/tooling-and-review/package-manager.md": "1e80459ac986a61eee45a6d0aef67177aa449279784848397c32ac0511b0c208",
|
|
102
|
-
".claude/rules/tooling-and-review/post-change-lint.md": "
|
|
103
|
+
".claude/rules/tooling-and-review/post-change-lint.md": "600819e8b51430c0df46cafe80111b1a3e6f525b2ff76c643d06fc4d79f71668",
|
|
103
104
|
".claude/rules/tooling-and-review/preset-layering.md": "006b9ea97f55d039debc16847ac9b0bfae6b26b56f44e812081ddd65760289ca",
|
|
104
105
|
".claude/rules/tooling-and-review/preset-no-cross-stack-leakage.md": "01e045b7f6f5a472581804499ec97dc4296264da90e3a6e3a25807501a300dad",
|
|
105
106
|
".claude/rules/tooling-and-review/preset-pr-checklist.md": "769addcfbde87d6681291ee038ff57842e03a4634dbc90f2562fb95efd5fc625",
|
|
106
107
|
".claude/rules/tooling-and-review/preset-token-budget.md": "bc22059a066d3ba21d8813f5e50d5cc9eef3a28860372d122d31b50977438e18",
|
|
107
108
|
".claude/rules/tooling-and-review/preset-twin-sync.md": "bdd98171bc8218fdd84834aa8051e8c899f87bb1063f9a5fd539af1154cb618f",
|
|
108
|
-
".claude/rules/tooling-and-review/security-next.md": "
|
|
109
|
+
".claude/rules/tooling-and-review/security-next.md": "9d51252401790c79f63623e4a37c417a15461dc68a2358decb6b29dcdd12ba53",
|
|
109
110
|
".claude/rules/tooling-and-review/technical-retro.md": "45e059219204712dbaaeda860b553eb557a539ff164e425ff4181da43c86f24a",
|
|
110
111
|
".claude/rules/tooling-and-review/ux-design.md": "df354f533cb2c3593758a68d2e276d9fa89f9ae15d408fb94b49040a3545be6c",
|
|
111
112
|
".claude/rules/ui-and-accessibility/README.md": "a3f6fed71b29b82c107014461f7546c341fea7f2c46a39e99181816b57e979d2",
|
|
113
|
+
".claude/rules/ui-and-accessibility/component-catalog-gate.md": "ff4baa8c478423dcb07207463fde80bd957ca0b3822cb437967e57042ea256f8",
|
|
112
114
|
".claude/rules/ui-and-accessibility/css-property-order.md": "1f3ed3e5891adb0114e203e26a4ad86c12d0bfeeadb7d425104e92fd5bf20dc1",
|
|
113
|
-
".claude/rules/ui-and-accessibility/design-tokens-binding.md": "
|
|
115
|
+
".claude/rules/ui-and-accessibility/design-tokens-binding.md": "e8de5136a2a530e6f1036429a8643926546507d2ac1d6d2da96673092392063f",
|
|
116
|
+
".claude/rules/ui-and-accessibility/forms-validation.md": "6a4ab1e42f4e2799b5f7636c0a7562e4f15ba711d21c3c5e65d752e9aedf660d",
|
|
114
117
|
".claude/rules/ui-and-accessibility/no-props-spread.md": "60aa9ca9c94db981bcceb05a090734e540644febfa88f4e40089f5d16a8a5d7f",
|
|
115
118
|
".claude/rules/ui-and-accessibility/react-a11y-coding.md": "8709f43c13f7071b2cd645c29b171de218551c3895479901efa1a817585b245d",
|
|
116
|
-
".claude/rules/ui-and-accessibility/react-ui.md": "
|
|
119
|
+
".claude/rules/ui-and-accessibility/react-ui.md": "c61a53e4c8f16ca443561bb8311b61fc5fa47b79fd30397a59479262b2b37ee3",
|
|
117
120
|
".claude/settings.json": "930a46deffc5aee8161328b29ca7122d32a8434415988462f3be6578fcf5036f",
|
|
118
121
|
".claude/skills/README.md": "1aeac616a5270d0ce6be132a3dff3e0bbca1371191503f0ecf3eeeeea5b4e9f3",
|
|
119
122
|
".claude/skills/ci-investigation/SKILL.md": "b13ed9de0716671b7d192dc2ba7fec139466a933b52f25c075623dcdef38b399",
|
|
@@ -130,7 +133,7 @@
|
|
|
130
133
|
".claude/skills/ux-design/SKILL.md": "74b70875ba3d41ffb8401c42bc8c9e442e73b36c6a6b0d8d9d2aae0a6017479c",
|
|
131
134
|
".claude/skills/write-adr/SKILL.md": "607d70eff78d6a7b67b783237721fdc42eaa5170cb6175882e7e2a4adf132242",
|
|
132
135
|
".mcp.json": "f68a14db68a491a982975a3e6cc985057072a68eebdcedf33d8ac2a4a3b284ca",
|
|
133
|
-
"AGENTS.md": "
|
|
136
|
+
"AGENTS.md": "c29c284ba6b5e847c885fd7eda026c3bf48ae3700426f5d99449bdeb1c728434",
|
|
134
137
|
"docs/specs/INDEX.md": "cab59f2093e6aaa376246a56d53e4268cb59070a6b10e87a94895192c35f422d",
|
|
135
138
|
"docs/specs/_templates/feature.md": "83c47b90334c555fb5144749837e2ddfe1cae5bb89031f885ba98671075d59e7",
|
|
136
139
|
"docs/specs/_templates/page.md": "a668c584e28edd52afaf3f9f8f898a75e43cb82fa12822c7a016033441e12e54"
|