@bonesofspring/ai-rules 0.2.1 → 0.2.2
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/README.md +10 -20
- package/bin/cli.js +73 -260
- package/package.json +4 -13
- package/presets/claude/ios-swift/CLAUDE.md +27 -0
- package/presets/claude/ios-swift/README.md +29 -0
- package/presets/claude/ios-swift/commands/README.md +3 -0
- package/presets/claude/ios-swift/rules/README.md +44 -0
- package/presets/claude/ios-swift/rules/api-and-data/README.md +9 -0
- package/presets/claude/ios-swift/rules/api-and-data/networking.md +49 -0
- package/presets/claude/ios-swift/rules/architecture/README.md +10 -0
- package/presets/claude/ios-swift/rules/architecture/boundaries.md +33 -0
- package/presets/claude/ios-swift/rules/architecture/feature-delivery.md +60 -0
- package/presets/claude/ios-swift/rules/stack/README.md +10 -0
- package/presets/claude/ios-swift/rules/stack/ios-app-core.md +42 -0
- package/presets/claude/ios-swift/rules/stack/swift-conventions.md +51 -0
- package/presets/claude/ios-swift/rules/testing/README.md +10 -0
- package/presets/claude/ios-swift/rules/testing/ui.md +41 -0
- package/presets/claude/ios-swift/rules/testing/unit.md +41 -0
- package/presets/claude/ios-swift/rules/tooling-and-review/README.md +11 -0
- package/presets/claude/ios-swift/rules/tooling-and-review/code-quality.md +38 -0
- package/presets/claude/ios-swift/rules/tooling-and-review/code-review.md +41 -0
- package/presets/claude/ios-swift/rules/tooling-and-review/post-change-build.md +31 -0
- package/presets/claude/ios-swift/rules/ui-and-accessibility/README.md +10 -0
- package/presets/claude/ios-swift/rules/ui-and-accessibility/swiftui.md +61 -0
- package/presets/claude/ios-swift/rules/ui-and-accessibility/viewmodels.md +43 -0
- package/presets/claude/next/CLAUDE.md +5 -33
- package/presets/claude/next/README.md +0 -10
- package/presets/claude/next/agents/README.md +0 -126
- package/presets/claude/next/agents/playwright-test-generator.md +65 -16
- package/presets/claude/next/agents/playwright-test-healer.md +51 -16
- package/presets/claude/next/agents/playwright-test-planner.md +55 -15
- package/presets/claude/next/commands/README.md +2 -10
- package/presets/claude/next/hooks/README.md +2 -5
- package/presets/claude/next/rules/README.md +11 -29
- package/presets/claude/next/rules/api-and-data/README.md +1 -7
- package/presets/claude/next/rules/architecture/README.md +2 -10
- package/presets/claude/next/rules/stack/README.md +1 -10
- package/presets/claude/next/rules/testing/README.md +1 -9
- package/presets/claude/next/rules/tooling-and-review/README.md +1 -14
- package/presets/claude/next/rules/ui-and-accessibility/README.md +1 -7
- package/presets/claude/next/skills/README.md +1 -11
- package/presets/cursor/ios-swift/README.md +17 -0
- package/presets/cursor/ios-swift/commands/README.md +3 -0
- package/presets/cursor/ios-swift/rules/README.md +33 -0
- package/presets/cursor/ios-swift/rules/architecture-boundaries.mdc +34 -0
- package/presets/cursor/ios-swift/rules/code-quality-and-refactoring.mdc +39 -0
- package/presets/cursor/ios-swift/rules/code-review-mr.mdc +42 -0
- package/presets/cursor/ios-swift/rules/feature-delivery-workflow.mdc +61 -0
- package/presets/cursor/ios-swift/rules/ios-app-core.mdc +43 -0
- package/presets/cursor/ios-swift/rules/networking-services.mdc +49 -0
- package/presets/cursor/ios-swift/rules/post-change-build.mdc +32 -0
- package/presets/cursor/ios-swift/rules/state-and-viewmodels.mdc +43 -0
- package/presets/cursor/ios-swift/rules/swift-conventions.mdc +51 -0
- package/presets/cursor/ios-swift/rules/swiftui-ui.mdc +61 -0
- package/presets/cursor/ios-swift/rules/tests-ui.mdc +41 -0
- package/presets/cursor/ios-swift/rules/tests-unit.mdc +41 -0
- package/presets/cursor/next/commands/README.md +1 -49
- package/presets/cursor/next/rules/README.md +0 -67
- package/presets/cursor/next/rules/api-services.mdc +10 -12
- package/presets/cursor/next/rules/architecture-boundaries.mdc +12 -31
- package/presets/cursor/next/rules/code-quality-and-refactoring.mdc +4 -5
- package/presets/cursor/next/rules/code-review-mr.mdc +40 -21
- package/presets/cursor/next/rules/next-app-core.mdc +61 -18
- package/presets/cursor/next/rules/no-props-spread.mdc +4 -27
- package/presets/cursor/next/rules/playwright-agents.mdc +1 -2
- package/presets/cursor/next/rules/react-ui.mdc +3 -33
- package/presets/cursor/next/rules/store-rtk.mdc +6 -13
- package/presets/cursor/next/rules/tests-unit.mdc +10 -30
- package/CHANGELOG.md +0 -22
- package/CONTRIBUTING.md +0 -102
- package/fragments/BUGBOT.md +0 -23
- package/presets/claude/next/BUGBOT.md +0 -16
- package/presets/claude/next/agents/accessibility-reviewer.md +0 -65
- package/presets/claude/next/agents/api-contract-reviewer.md +0 -69
- package/presets/claude/next/agents/build-verifier.md +0 -64
- package/presets/claude/next/agents/ci-investigator.md +0 -62
- package/presets/claude/next/agents/code-reviewer.md +0 -62
- package/presets/claude/next/agents/debugger.md +0 -63
- package/presets/claude/next/agents/feature-developer.md +0 -27
- package/presets/claude/next/agents/migration-specialist.md +0 -69
- package/presets/claude/next/agents/performance-auditor.md +0 -68
- package/presets/claude/next/agents/qa-tester.md +0 -56
- package/presets/claude/next/agents/security-reviewer.md +0 -64
- package/presets/claude/next/agents/solution-architect.md +0 -70
- package/presets/claude/next/agents/task-analyst.md +0 -109
- package/presets/claude/next/agents/task-router.md +0 -94
- package/presets/claude/next/agents/tech-writer.md +0 -60
- package/presets/claude/next/agents/unit-test-generator.md +0 -37
- package/presets/claude/next/agents/unit-test-healer.md +0 -38
- package/presets/claude/next/agents/unit-test-planner.md +0 -62
- package/presets/claude/next/commands/feature-continue.md +0 -51
- package/presets/claude/next/commands/feature-start.md +0 -30
- package/presets/claude/next/commands/task-continue.md +0 -49
- package/presets/claude/next/commands/task.md +0 -50
- package/presets/claude/next/commands/technical-retro.md +0 -58
- package/presets/claude/next/hooks/chain-team-phases.sh +0 -342
- package/presets/claude/next/hooks/guard-shell-command.sh +0 -77
- package/presets/claude/next/hooks.json +0 -17
- package/presets/claude/next/rules/api-and-data/api-services.md +0 -57
- package/presets/claude/next/rules/api-and-data/http-client.md +0 -40
- package/presets/claude/next/rules/api-and-data/store-rtk.md +0 -65
- package/presets/claude/next/rules/architecture/api-public-imports.md +0 -8
- package/presets/claude/next/rules/architecture/architecture-boundaries-ui.md +0 -15
- package/presets/claude/next/rules/architecture/architecture-boundaries.md +0 -75
- package/presets/claude/next/rules/architecture/feature-delivery-workflow.md +0 -79
- package/presets/claude/next/rules/architecture/layer-barrel-exports.md +0 -58
- package/presets/claude/next/rules/architecture/public-imports.md +0 -46
- package/presets/claude/next/rules/architecture/reference-features.md +0 -37
- package/presets/claude/next/rules/architecture/types-public-imports.md +0 -8
- package/presets/claude/next/rules/stack/arrow-functions.md +0 -45
- package/presets/claude/next/rules/stack/navigation-router-ui.md +0 -15
- package/presets/claude/next/rules/stack/navigation-router.md +0 -62
- package/presets/claude/next/rules/stack/next-app-core.md +0 -33
- package/presets/claude/next/rules/stack/next-app-router.md +0 -36
- package/presets/claude/next/rules/stack/no-type-assertion.md +0 -59
- package/presets/claude/next/rules/stack/types-jsdoc.md +0 -37
- package/presets/claude/next/rules/testing/playwright-agents.md +0 -74
- package/presets/claude/next/rules/testing/tests-e2e-structure.md +0 -52
- package/presets/claude/next/rules/testing/tests-unit.md +0 -66
- package/presets/claude/next/rules/tooling-and-review/agent-team-intake.md +0 -15
- package/presets/claude/next/rules/tooling-and-review/agent-team-orchestrator.md +0 -140
- package/presets/claude/next/rules/tooling-and-review/code-quality.md +0 -42
- package/presets/claude/next/rules/tooling-and-review/code-review-mr.md +0 -30
- package/presets/claude/next/rules/tooling-and-review/package-manager.md +0 -11
- package/presets/claude/next/rules/tooling-and-review/post-change-lint.md +0 -33
- package/presets/claude/next/rules/ui-and-accessibility/css-property-order.md +0 -14
- package/presets/claude/next/rules/ui-and-accessibility/no-props-spread.md +0 -57
- package/presets/claude/next/rules/ui-and-accessibility/react-a11y-coding.md +0 -37
- package/presets/claude/next/rules/ui-and-accessibility/react-ui.md +0 -91
- package/presets/claude/next/skills/ci-investigation/SKILL.md +0 -36
- package/presets/claude/next/skills/code-review/SKILL.md +0 -26
- package/presets/claude/next/skills/debug-investigation/SKILL.md +0 -28
- package/presets/claude/next/skills/feature-delivery/SKILL.md +0 -15
- package/presets/claude/next/skills/playwright-e2e/SKILL.md +0 -31
- package/presets/claude/next/skills/technical-retro/SKILL.md +0 -40
- package/presets/claude/next/skills/unit-testing/SKILL.md +0 -32
- package/presets/claude/next/team/README.md +0 -47
- package/presets/claude/next/team/fixtures/bugfix-standard.json +0 -15
- package/presets/claude/next/team/fixtures/feature-full.json +0 -16
- package/presets/claude/next/team/fixtures/feature-light.json +0 -17
- package/presets/claude/next/team/tasks/.gitkeep +0 -1
- package/presets/cursor/next/AGENTS.md +0 -36
- package/presets/cursor/next/BUGBOT.md +0 -16
- package/presets/cursor/next/agents/README.md +0 -159
- package/presets/cursor/next/agents/accessibility-reviewer.md +0 -67
- package/presets/cursor/next/agents/api-contract-reviewer.md +0 -71
- package/presets/cursor/next/agents/build-verifier.md +0 -66
- package/presets/cursor/next/agents/ci-investigator.md +0 -64
- package/presets/cursor/next/agents/code-reviewer.md +0 -64
- package/presets/cursor/next/agents/debugger.md +0 -64
- package/presets/cursor/next/agents/feature-developer.md +0 -27
- package/presets/cursor/next/agents/migration-specialist.md +0 -71
- package/presets/cursor/next/agents/performance-auditor.md +0 -70
- package/presets/cursor/next/agents/playwright-test-generator.md +0 -26
- package/presets/cursor/next/agents/playwright-test-healer.md +0 -26
- package/presets/cursor/next/agents/playwright-test-planner.md +0 -28
- package/presets/cursor/next/agents/qa-tester.md +0 -57
- package/presets/cursor/next/agents/security-reviewer.md +0 -66
- package/presets/cursor/next/agents/solution-architect.md +0 -71
- package/presets/cursor/next/agents/task-analyst.md +0 -112
- package/presets/cursor/next/agents/task-router.md +0 -95
- package/presets/cursor/next/agents/tech-writer.md +0 -62
- package/presets/cursor/next/agents/unit-test-generator.md +0 -39
- package/presets/cursor/next/agents/unit-test-healer.md +0 -40
- package/presets/cursor/next/agents/unit-test-planner.md +0 -64
- package/presets/cursor/next/commands/feature-continue.md +0 -19
- package/presets/cursor/next/commands/feature-start.md +0 -33
- package/presets/cursor/next/commands/task-continue.md +0 -49
- package/presets/cursor/next/commands/task.md +0 -50
- package/presets/cursor/next/commands/technical-retro.md +0 -81
- package/presets/cursor/next/hooks/README.md +0 -8
- package/presets/cursor/next/hooks/chain-team-phases.sh +0 -380
- package/presets/cursor/next/hooks/guard-shell-command.sh +0 -77
- package/presets/cursor/next/hooks.json +0 -17
- package/presets/cursor/next/rules/agent-team-intake.mdc +0 -14
- package/presets/cursor/next/rules/agent-team-orchestrator.mdc +0 -139
- package/presets/cursor/next/rules/api-public-imports.mdc +0 -8
- package/presets/cursor/next/rules/architecture-boundaries-ui.mdc +0 -15
- package/presets/cursor/next/rules/arrow-functions.mdc +0 -46
- package/presets/cursor/next/rules/css-property-order-stylelint.mdc +0 -16
- package/presets/cursor/next/rules/feature-delivery-workflow.mdc +0 -76
- package/presets/cursor/next/rules/http-client.mdc +0 -42
- package/presets/cursor/next/rules/layer-barrel-exports.mdc +0 -59
- package/presets/cursor/next/rules/navigation-router-stack.mdc +0 -62
- package/presets/cursor/next/rules/navigation-router-ui.mdc +0 -16
- package/presets/cursor/next/rules/next-app-router.mdc +0 -36
- package/presets/cursor/next/rules/no-cross-component-styles-import.mdc +0 -8
- package/presets/cursor/next/rules/no-type-assertion-as-import-export.mdc +0 -60
- package/presets/cursor/next/rules/package-manager.mdc +0 -16
- package/presets/cursor/next/rules/post-change-lint.mdc +0 -38
- package/presets/cursor/next/rules/public-imports.mdc +0 -48
- package/presets/cursor/next/rules/react-a11y-coding.mdc +0 -37
- package/presets/cursor/next/rules/reference-features.mdc +0 -39
- package/presets/cursor/next/rules/technical-retro.mdc +0 -12
- package/presets/cursor/next/rules/types-jsdoc.mdc +0 -42
- package/presets/cursor/next/rules/types-public-imports.mdc +0 -8
- package/presets/cursor/next/skills/README.md +0 -15
- package/presets/cursor/next/skills/ci-investigation/SKILL.md +0 -36
- package/presets/cursor/next/skills/code-review/SKILL.md +0 -26
- package/presets/cursor/next/skills/debug-investigation/SKILL.md +0 -28
- package/presets/cursor/next/skills/feature-delivery/SKILL.md +0 -15
- package/presets/cursor/next/skills/playwright-e2e/SKILL.md +0 -31
- package/presets/cursor/next/skills/technical-retro/SKILL.md +0 -40
- package/presets/cursor/next/skills/unit-testing/SKILL.md +0 -32
- package/presets/cursor/next/team/README.md +0 -105
- package/presets/cursor/next/team/fixtures/bugfix-standard.json +0 -15
- package/presets/cursor/next/team/fixtures/feature-full.json +0 -16
- package/presets/cursor/next/team/fixtures/feature-light.json +0 -17
- package/presets/cursor/next/team/tasks/.gitkeep +0 -0
- package/scripts/README.md +0 -84
- package/scripts/golden-prompts.json +0 -276
- package/scripts/preset-manifest.json +0 -72
- package/scripts/regression-results/.gitkeep +0 -0
- package/scripts/validate-preset.sh +0 -484
package/scripts/README.md
DELETED
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
# Preset validation scripts
|
|
2
|
-
|
|
3
|
-
Static regression checks for `presets/cursor/next` and `presets/claude/next`.
|
|
4
|
-
|
|
5
|
-
## Quick start
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
cd packages/ai-rules
|
|
9
|
-
|
|
10
|
-
# Full static validation (no LLM)
|
|
11
|
-
./scripts/validate-preset.sh
|
|
12
|
-
|
|
13
|
-
# + init smoke into temp dirs
|
|
14
|
-
./scripts/validate-preset.sh --init-smoke
|
|
15
|
-
|
|
16
|
-
# Validate golden-prompts.json (agent names, schema)
|
|
17
|
-
./scripts/validate-preset.sh --check-golden
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
Or via npm:
|
|
21
|
-
|
|
22
|
-
```bash
|
|
23
|
-
yarn validate
|
|
24
|
-
yarn validate:init
|
|
25
|
-
yarn validate:golden
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
## Router regression (manual + semi-auto)
|
|
29
|
-
|
|
30
|
-
Golden prompts live in `golden-prompts.json` — one case per `task-router` intent (+ light/full variants).
|
|
31
|
-
|
|
32
|
-
### 1. Print checklist
|
|
33
|
-
|
|
34
|
-
```bash
|
|
35
|
-
./scripts/validate-preset.sh --print-golden
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
### 2. Run in Cursor (fresh chat each)
|
|
39
|
-
|
|
40
|
-
For each row, run `/task <prompt>`. After **task-router** finishes, copy `pipeline.json` from `.cursor/team/tasks/<slug>/` to:
|
|
41
|
-
|
|
42
|
-
```
|
|
43
|
-
scripts/regression-results/<id>.json
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
Use the `id` from golden-prompts (e.g. `feature-standard.json`).
|
|
47
|
-
|
|
48
|
-
### 3. Compare outputs
|
|
49
|
-
|
|
50
|
-
```bash
|
|
51
|
-
mkdir -p scripts/regression-results
|
|
52
|
-
./scripts/validate-preset.sh --check-golden --compare-pipeline scripts/regression-results/
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
The compare step checks:
|
|
56
|
-
|
|
57
|
-
- `intent`, `firstAgent`
|
|
58
|
-
- `requiredSequence` (ordered subsequence — extra steps allowed)
|
|
59
|
-
- `mustNotInclude`
|
|
60
|
-
- `stepConstraints` (`skipIf`)
|
|
61
|
-
- `humanGates`
|
|
62
|
-
|
|
63
|
-
`profile` mismatches are warnings (router may omit explicit profile when default applies).
|
|
64
|
-
|
|
65
|
-
### 4. Commit baseline (optional)
|
|
66
|
-
|
|
67
|
-
When router behavior intentionally changes, update `golden-prompts.json` and refresh committed `regression-results/` snapshots.
|
|
68
|
-
|
|
69
|
-
## Files
|
|
70
|
-
|
|
71
|
-
| File | Purpose |
|
|
72
|
-
|------|---------|
|
|
73
|
-
| `validate-preset.sh` | Main validator |
|
|
74
|
-
| `preset-manifest.json` | Always-on lists, rule pairs, UI glob rules, BUGBOT sync |
|
|
75
|
-
| `golden-prompts.json` | Expected router outcomes per intent |
|
|
76
|
-
| `regression-results/.gitkeep` | Placeholder for manual run outputs |
|
|
77
|
-
|
|
78
|
-
## What is NOT automated
|
|
79
|
-
|
|
80
|
-
- LLM routing quality (flaky by model/temperature)
|
|
81
|
-
- Behavioral golden tasks on a real Next.js repo
|
|
82
|
-
- Token cost of path-scoped rules on real file edits
|
|
83
|
-
|
|
84
|
-
Those stay manual / scheduled regression on a dogfood project.
|
|
@@ -1,276 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 1,
|
|
3
|
-
"description": "Golden prompts for task-router regression. Run manually via /task or semi-auto with validate-preset.sh --check-golden.",
|
|
4
|
-
"prompts": [
|
|
5
|
-
{
|
|
6
|
-
"id": "feature-standard",
|
|
7
|
-
"prompt": "Добавь фильтр по дате в Order History",
|
|
8
|
-
"intent": "feature",
|
|
9
|
-
"profile": "standard",
|
|
10
|
-
"firstAgent": "task-analyst",
|
|
11
|
-
"requiredSequence": [
|
|
12
|
-
"task-analyst",
|
|
13
|
-
"feature-developer",
|
|
14
|
-
"build-verifier",
|
|
15
|
-
"code-reviewer"
|
|
16
|
-
],
|
|
17
|
-
"mustInclude": ["build-verifier"],
|
|
18
|
-
"mustNotInclude": [],
|
|
19
|
-
"humanGates": ["after:task-analyst"],
|
|
20
|
-
"notes": "Default feature path; qa-tester optional unless e2e AC explicit."
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
"id": "feature-full",
|
|
24
|
-
"prompt": "Реализуй оплату картой: UI, API сервис, store и e2e сценарии checkout",
|
|
25
|
-
"intent": "feature",
|
|
26
|
-
"profile": "full",
|
|
27
|
-
"firstAgent": "task-analyst",
|
|
28
|
-
"requiredSequence": [
|
|
29
|
-
"task-analyst",
|
|
30
|
-
"feature-developer",
|
|
31
|
-
"build-verifier",
|
|
32
|
-
"code-reviewer",
|
|
33
|
-
"qa-tester"
|
|
34
|
-
],
|
|
35
|
-
"mustInclude": ["build-verifier", "qa-tester"],
|
|
36
|
-
"mustNotInclude": [],
|
|
37
|
-
"humanGates": ["after:task-analyst"],
|
|
38
|
-
"notes": "Cross-layer + e2e AC → full profile with qa-tester."
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
"id": "feature-light",
|
|
42
|
-
"prompt": "Исправь typo в тексте кнопки Submit в OrderHistoryButton — один файл app/src/ui/components/OrderHistoryButton/OrderHistoryButton.tsx, AC: label «Отправить»",
|
|
43
|
-
"intent": "feature",
|
|
44
|
-
"profile": "light",
|
|
45
|
-
"firstAgent": "feature-developer",
|
|
46
|
-
"requiredSequence": ["feature-developer", "build-verifier"],
|
|
47
|
-
"mustInclude": ["build-verifier"],
|
|
48
|
-
"mustNotInclude": ["task-analyst"],
|
|
49
|
-
"humanGates": [],
|
|
50
|
-
"notes": "Explicit single-file AC → light; skip analyst."
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
"id": "bugfix-standard",
|
|
54
|
-
"prompt": "Order History падает при пустом списке — пофикси regression",
|
|
55
|
-
"intent": "bugfix",
|
|
56
|
-
"profile": "standard",
|
|
57
|
-
"firstAgent": "debugger",
|
|
58
|
-
"requiredSequence": [
|
|
59
|
-
"debugger",
|
|
60
|
-
"feature-developer",
|
|
61
|
-
"build-verifier",
|
|
62
|
-
"code-reviewer"
|
|
63
|
-
],
|
|
64
|
-
"mustInclude": ["debugger", "build-verifier"],
|
|
65
|
-
"mustNotInclude": [],
|
|
66
|
-
"humanGates": [],
|
|
67
|
-
"stepConstraints": [
|
|
68
|
-
{
|
|
69
|
-
"agent": "feature-developer",
|
|
70
|
-
"skipIf": "debugger.fixed"
|
|
71
|
-
}
|
|
72
|
-
],
|
|
73
|
-
"notes": "Bugfix standard; qa-tester(regression) optional per router."
|
|
74
|
-
},
|
|
75
|
-
{
|
|
76
|
-
"id": "bugfix-light",
|
|
77
|
-
"prompt": "Просто поправь null-check в mapper — один файл, явный AC, без архитектурного риска",
|
|
78
|
-
"intent": "bugfix",
|
|
79
|
-
"profile": "light",
|
|
80
|
-
"firstAgent": "debugger",
|
|
81
|
-
"requiredSequence": ["debugger", "build-verifier"],
|
|
82
|
-
"mustInclude": ["build-verifier"],
|
|
83
|
-
"mustNotInclude": ["task-analyst", "code-reviewer"],
|
|
84
|
-
"humanGates": [],
|
|
85
|
-
"notes": "Light bugfix may skip developer when debugger.fixed."
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
"id": "ci-fix",
|
|
89
|
-
"prompt": "CI упал на type-check в PR — красный пайплайн",
|
|
90
|
-
"intent": "ci-fix",
|
|
91
|
-
"profile": "standard",
|
|
92
|
-
"firstAgent": "ci-investigator",
|
|
93
|
-
"requiredSequence": [
|
|
94
|
-
"ci-investigator",
|
|
95
|
-
"feature-developer",
|
|
96
|
-
"build-verifier",
|
|
97
|
-
"code-reviewer"
|
|
98
|
-
],
|
|
99
|
-
"mustInclude": ["ci-investigator", "build-verifier"],
|
|
100
|
-
"mustNotInclude": ["task-analyst"],
|
|
101
|
-
"humanGates": [],
|
|
102
|
-
"stepConstraints": [
|
|
103
|
-
{
|
|
104
|
-
"agent": "feature-developer",
|
|
105
|
-
"skipIf": "ci-investigator.resolved"
|
|
106
|
-
}
|
|
107
|
-
]
|
|
108
|
-
},
|
|
109
|
-
{
|
|
110
|
-
"id": "migration",
|
|
111
|
-
"prompt": "Миграция HTTP-клиента на fetch — upgrade major version",
|
|
112
|
-
"intent": "migration",
|
|
113
|
-
"profile": "standard",
|
|
114
|
-
"firstAgent": "task-analyst",
|
|
115
|
-
"requiredSequence": [
|
|
116
|
-
"task-analyst",
|
|
117
|
-
"migration-specialist",
|
|
118
|
-
"feature-developer",
|
|
119
|
-
"build-verifier",
|
|
120
|
-
"code-reviewer"
|
|
121
|
-
],
|
|
122
|
-
"mustInclude": ["migration-specialist", "build-verifier"],
|
|
123
|
-
"mustNotInclude": [],
|
|
124
|
-
"humanGates": ["after:migration-specialist"]
|
|
125
|
-
},
|
|
126
|
-
{
|
|
127
|
-
"id": "perf-audit",
|
|
128
|
-
"prompt": "Страница Order History медленно грузится — perf audit bundle и LCP",
|
|
129
|
-
"intent": "perf-audit",
|
|
130
|
-
"profile": "light",
|
|
131
|
-
"firstAgent": "performance-auditor",
|
|
132
|
-
"requiredSequence": ["performance-auditor"],
|
|
133
|
-
"mustInclude": ["performance-auditor"],
|
|
134
|
-
"mustNotInclude": ["feature-developer", "build-verifier"],
|
|
135
|
-
"humanGates": []
|
|
136
|
-
},
|
|
137
|
-
{
|
|
138
|
-
"id": "a11y",
|
|
139
|
-
"prompt": "Проверь a11y формы логина — WCAG и keyboard navigation",
|
|
140
|
-
"intent": "a11y",
|
|
141
|
-
"profile": "standard",
|
|
142
|
-
"firstAgent": "task-analyst",
|
|
143
|
-
"requiredSequence": [
|
|
144
|
-
"task-analyst",
|
|
145
|
-
"feature-developer",
|
|
146
|
-
"build-verifier",
|
|
147
|
-
"accessibility-reviewer",
|
|
148
|
-
"code-reviewer"
|
|
149
|
-
],
|
|
150
|
-
"mustInclude": ["accessibility-reviewer", "build-verifier"],
|
|
151
|
-
"mustNotInclude": [],
|
|
152
|
-
"humanGates": ["after:task-analyst"]
|
|
153
|
-
},
|
|
154
|
-
{
|
|
155
|
-
"id": "review-only",
|
|
156
|
-
"prompt": "Сделай ревью моих изменений в store/orders — review MR diff",
|
|
157
|
-
"intent": "review-only",
|
|
158
|
-
"profile": "light",
|
|
159
|
-
"firstAgent": "code-reviewer",
|
|
160
|
-
"requiredSequence": ["code-reviewer"],
|
|
161
|
-
"mustInclude": ["code-reviewer"],
|
|
162
|
-
"mustNotInclude": ["feature-developer", "build-verifier", "task-analyst"],
|
|
163
|
-
"humanGates": []
|
|
164
|
-
},
|
|
165
|
-
{
|
|
166
|
-
"id": "test-only",
|
|
167
|
-
"prompt": "Покрой тестами модуль payments — unit и e2e, без изменения прод-кода",
|
|
168
|
-
"intent": "test-only",
|
|
169
|
-
"profile": "standard",
|
|
170
|
-
"firstAgent": "task-analyst",
|
|
171
|
-
"requiredSequence": ["task-analyst", "qa-tester"],
|
|
172
|
-
"mustInclude": ["qa-tester"],
|
|
173
|
-
"mustNotInclude": ["feature-developer"],
|
|
174
|
-
"humanGates": ["after:task-analyst"]
|
|
175
|
-
},
|
|
176
|
-
{
|
|
177
|
-
"id": "unit-only-plan",
|
|
178
|
-
"prompt": "Покрой unit-тестами mapper payments в api/services",
|
|
179
|
-
"intent": "unit-only",
|
|
180
|
-
"profile": "standard",
|
|
181
|
-
"firstAgent": "unit-test-planner",
|
|
182
|
-
"requiredSequence": ["unit-test-planner", "unit-test-generator"],
|
|
183
|
-
"mustInclude": ["unit-test-planner"],
|
|
184
|
-
"mustNotInclude": ["feature-developer", "qa-tester"],
|
|
185
|
-
"humanGates": ["after:unit-test-planner"],
|
|
186
|
-
"notes": "New unit coverage → planner then generator."
|
|
187
|
-
},
|
|
188
|
-
{
|
|
189
|
-
"id": "unit-only-heal",
|
|
190
|
-
"prompt": "Почини unit тест OrderHistoryMapper.spec.ts — падает после рефактора",
|
|
191
|
-
"intent": "unit-only",
|
|
192
|
-
"profile": "standard",
|
|
193
|
-
"firstAgent": "unit-test-healer",
|
|
194
|
-
"requiredSequence": ["unit-test-healer"],
|
|
195
|
-
"mustInclude": ["unit-test-healer"],
|
|
196
|
-
"mustNotInclude": ["unit-test-planner", "feature-developer"],
|
|
197
|
-
"humanGates": [],
|
|
198
|
-
"notes": "Broken existing unit → healer path, no planner gate."
|
|
199
|
-
},
|
|
200
|
-
{
|
|
201
|
-
"id": "e2e-only-plan",
|
|
202
|
-
"prompt": "Напиши e2e для сценария оплаты — playwright browser test",
|
|
203
|
-
"intent": "e2e-only",
|
|
204
|
-
"profile": "standard",
|
|
205
|
-
"firstAgent": "playwright-test-planner",
|
|
206
|
-
"requiredSequence": [
|
|
207
|
-
"playwright-test-planner",
|
|
208
|
-
"playwright-test-generator"
|
|
209
|
-
],
|
|
210
|
-
"mustInclude": ["playwright-test-planner"],
|
|
211
|
-
"mustNotInclude": ["feature-developer", "qa-tester"],
|
|
212
|
-
"humanGates": ["after:playwright-test-planner"]
|
|
213
|
-
},
|
|
214
|
-
{
|
|
215
|
-
"id": "e2e-only-heal",
|
|
216
|
-
"prompt": "Почини e2e checkout.spec.ts — flaky playwright test",
|
|
217
|
-
"intent": "e2e-only",
|
|
218
|
-
"profile": "standard",
|
|
219
|
-
"firstAgent": "playwright-test-healer",
|
|
220
|
-
"requiredSequence": ["playwright-test-healer"],
|
|
221
|
-
"mustInclude": ["playwright-test-healer"],
|
|
222
|
-
"mustNotInclude": ["playwright-test-planner", "feature-developer"],
|
|
223
|
-
"humanGates": []
|
|
224
|
-
},
|
|
225
|
-
{
|
|
226
|
-
"id": "docs-only",
|
|
227
|
-
"prompt": "Напиши changelog для релиза фильтров и migration guide",
|
|
228
|
-
"intent": "docs-only",
|
|
229
|
-
"profile": "standard",
|
|
230
|
-
"firstAgent": "task-analyst",
|
|
231
|
-
"requiredSequence": ["task-analyst", "tech-writer"],
|
|
232
|
-
"mustInclude": ["tech-writer"],
|
|
233
|
-
"mustNotInclude": ["feature-developer", "build-verifier"],
|
|
234
|
-
"humanGates": ["after:task-analyst"]
|
|
235
|
-
},
|
|
236
|
-
{
|
|
237
|
-
"id": "refactor",
|
|
238
|
-
"prompt": "Рефакторинг store/orders без изменения поведения — почисти дубли",
|
|
239
|
-
"intent": "refactor",
|
|
240
|
-
"profile": "standard",
|
|
241
|
-
"firstAgent": "task-analyst",
|
|
242
|
-
"requiredSequence": [
|
|
243
|
-
"task-analyst",
|
|
244
|
-
"feature-developer",
|
|
245
|
-
"build-verifier",
|
|
246
|
-
"code-reviewer"
|
|
247
|
-
],
|
|
248
|
-
"mustInclude": ["build-verifier"],
|
|
249
|
-
"mustNotInclude": [],
|
|
250
|
-
"humanGates": ["after:task-analyst"]
|
|
251
|
-
},
|
|
252
|
-
{
|
|
253
|
-
"id": "spike",
|
|
254
|
-
"prompt": "Исследуй spike: можно ли перейти на React Server Components для Order History?",
|
|
255
|
-
"intent": "spike",
|
|
256
|
-
"profile": "standard",
|
|
257
|
-
"firstAgent": "task-analyst",
|
|
258
|
-
"requiredSequence": ["task-analyst", "solution-architect"],
|
|
259
|
-
"mustInclude": ["solution-architect"],
|
|
260
|
-
"mustNotInclude": ["feature-developer", "build-verifier"],
|
|
261
|
-
"humanGates": ["after:solution-architect"]
|
|
262
|
-
},
|
|
263
|
-
{
|
|
264
|
-
"id": "retro",
|
|
265
|
-
"prompt": "Сделай ретро по задаче order-history-date-filter — postmortem",
|
|
266
|
-
"intent": "retro",
|
|
267
|
-
"noPipeline": true,
|
|
268
|
-
"firstAgent": null,
|
|
269
|
-
"requiredSequence": [],
|
|
270
|
-
"mustInclude": [],
|
|
271
|
-
"mustNotInclude": ["feature-developer", "task-analyst"],
|
|
272
|
-
"humanGates": [],
|
|
273
|
-
"notes": "Orchestrator runs /technical-retro; no pipeline.json steps."
|
|
274
|
-
}
|
|
275
|
-
]
|
|
276
|
-
}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 1,
|
|
3
|
-
"alwaysOnCursor": [
|
|
4
|
-
"next-app-core.mdc",
|
|
5
|
-
"code-quality-and-refactoring.mdc",
|
|
6
|
-
"post-change-lint.mdc",
|
|
7
|
-
"package-manager.mdc"
|
|
8
|
-
],
|
|
9
|
-
"alwaysOnClaude": [
|
|
10
|
-
"stack/next-app-core.md",
|
|
11
|
-
"tooling-and-review/code-quality.md",
|
|
12
|
-
"tooling-and-review/post-change-lint.md",
|
|
13
|
-
"tooling-and-review/package-manager.md"
|
|
14
|
-
],
|
|
15
|
-
"alwaysOnMaxBytes": 12288,
|
|
16
|
-
"rulePairs": [
|
|
17
|
-
["architecture-boundaries.mdc", "architecture/architecture-boundaries.md"],
|
|
18
|
-
["architecture-boundaries-ui.mdc", "architecture/architecture-boundaries-ui.md"],
|
|
19
|
-
["layer-barrel-exports.mdc", "architecture/layer-barrel-exports.md"],
|
|
20
|
-
["navigation-router-stack.mdc", "stack/navigation-router.md"],
|
|
21
|
-
["navigation-router-ui.mdc", "stack/navigation-router-ui.md"],
|
|
22
|
-
["react-ui.mdc", "ui-and-accessibility/react-ui.md"],
|
|
23
|
-
["code-review-mr.mdc", "tooling-and-review/code-review-mr.md"],
|
|
24
|
-
["agent-team-orchestrator.mdc", "tooling-and-review/agent-team-orchestrator.md"],
|
|
25
|
-
["public-imports.mdc", "architecture/public-imports.md"],
|
|
26
|
-
["feature-delivery-workflow.mdc", "architecture/feature-delivery-workflow.md"],
|
|
27
|
-
["next-app-core.mdc", "stack/next-app-core.md"],
|
|
28
|
-
["post-change-lint.mdc", "tooling-and-review/post-change-lint.md"],
|
|
29
|
-
["package-manager.mdc", "tooling-and-review/package-manager.md"],
|
|
30
|
-
["code-quality-and-refactoring.mdc", "tooling-and-review/code-quality.md"]
|
|
31
|
-
],
|
|
32
|
-
"syncedRootFiles": [
|
|
33
|
-
{
|
|
34
|
-
"source": "fragments/BUGBOT.md",
|
|
35
|
-
"targets": ["presets/cursor/next/BUGBOT.md", "presets/claude/next/BUGBOT.md"]
|
|
36
|
-
}
|
|
37
|
-
],
|
|
38
|
-
"parityDirs": ["agents", "skills", "team/fixtures"],
|
|
39
|
-
"uiGlobChecks": [
|
|
40
|
-
{
|
|
41
|
-
"id": "architecture-boundaries-no-ui",
|
|
42
|
-
"file": "architecture-boundaries.mdc",
|
|
43
|
-
"mustNotMatch": "app/src/ui"
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
"id": "architecture-boundaries-ui-scoped",
|
|
47
|
-
"file": "architecture-boundaries-ui.mdc",
|
|
48
|
-
"mustMatch": "app/src/ui"
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
"id": "layer-barrel-index-only",
|
|
52
|
-
"file": "layer-barrel-exports.mdc",
|
|
53
|
-
"mustMatch": "index.ts",
|
|
54
|
-
"mustNotMatch": "app/src/ui/\\*\\*"
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
"id": "navigation-router-stack-app-only",
|
|
58
|
-
"file": "navigation-router-stack.mdc",
|
|
59
|
-
"mustMatch": "app/src/app",
|
|
60
|
-
"mustNotMatch": "app/src/ui"
|
|
61
|
-
},
|
|
62
|
-
{
|
|
63
|
-
"id": "navigation-router-ui-tsx",
|
|
64
|
-
"file": "navigation-router-ui.mdc",
|
|
65
|
-
"mustMatch": "app/src/ui/\\*\\*/\\*\\.tsx"
|
|
66
|
-
}
|
|
67
|
-
],
|
|
68
|
-
"wideGlobDenylist": [
|
|
69
|
-
"architecture-boundaries.mdc",
|
|
70
|
-
"navigation-router-stack.mdc"
|
|
71
|
-
]
|
|
72
|
-
}
|
|
File without changes
|