@bonesofspring/ai-rules 0.2.7 → 0.2.8
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 +18 -1
- package/README.md +4 -2
- package/bin/cli.js +2 -0
- package/package.json +1 -1
- package/presets/_shared/README.md +1 -1
- package/presets/_shared/core/meta/preset-layering.md +1 -1
- package/presets/_shared/core/meta/preset-no-cross-stack-leakage.md +6 -4
- package/presets/_shared/core/meta/preset-pr-checklist.md +1 -1
- package/presets/_shared/core/meta/preset-twin-sync.md +2 -0
- package/presets/claude/go/agents/build-verifier.md +5 -5
- package/presets/claude/go/rules/tooling-and-review/preset-layering.md +1 -1
- package/presets/claude/go/rules/tooling-and-review/preset-no-cross-stack-leakage.md +6 -8
- package/presets/claude/go/rules/tooling-and-review/preset-pr-checklist.md +1 -1
- package/presets/claude/go/rules/tooling-and-review/preset-twin-sync.md +2 -0
- package/presets/claude/go/team/fixtures/feature-full.json +5 -23
- package/presets/claude/ios-swift/agents/build-verifier.md +6 -7
- package/presets/claude/ios-swift/rules/stack/ios-app-core.md +5 -28
- package/presets/claude/ios-swift/rules/tooling-and-review/preset-layering.md +1 -1
- package/presets/claude/ios-swift/rules/tooling-and-review/preset-no-cross-stack-leakage.md +6 -4
- package/presets/claude/ios-swift/rules/tooling-and-review/preset-pr-checklist.md +1 -1
- package/presets/claude/ios-swift/rules/tooling-and-review/preset-twin-sync.md +2 -0
- package/presets/claude/java/CLAUDE.md +29 -0
- package/presets/claude/java/MCP.md +13 -0
- package/presets/claude/java/README.md +26 -0
- package/presets/claude/java/REPO_AGENTS.md +45 -0
- package/presets/claude/java/agents/README.md +32 -0
- package/presets/claude/java/agents/api-contract-reviewer.md +23 -0
- package/presets/claude/java/agents/build-verifier.md +45 -0
- package/presets/claude/java/agents/ci-investigator.md +17 -0
- package/presets/claude/java/agents/code-reviewer.md +40 -0
- package/presets/claude/java/agents/codebase-analyzer.md +28 -0
- package/presets/claude/java/agents/debugger.md +25 -0
- package/presets/claude/java/agents/feature-developer.md +43 -0
- package/presets/claude/java/agents/integration-test-generator.md +22 -0
- package/presets/claude/java/agents/integration-test-healer.md +22 -0
- package/presets/claude/java/agents/integration-test-planner.md +22 -0
- package/presets/claude/java/agents/migration-specialist.md +31 -0
- package/presets/claude/java/agents/performance-auditor.md +22 -0
- package/presets/claude/java/agents/qa-tester.md +24 -0
- package/presets/claude/java/agents/security-reviewer.md +20 -0
- package/presets/claude/java/agents/solution-architect.md +28 -0
- package/presets/claude/java/agents/task-analyst.md +25 -0
- package/presets/claude/java/agents/task-router.md +69 -0
- package/presets/claude/java/agents/tech-writer.md +15 -0
- package/presets/claude/java/agents/unit-test-generator.md +21 -0
- package/presets/claude/java/agents/unit-test-healer.md +13 -0
- package/presets/claude/java/agents/unit-test-planner.md +26 -0
- package/presets/claude/java/commands/README.md +13 -0
- package/presets/claude/java/commands/feature-continue.md +51 -0
- package/presets/claude/java/commands/feature-start.md +30 -0
- package/presets/claude/java/commands/task-continue.md +49 -0
- package/presets/claude/java/commands/task.md +49 -0
- package/presets/claude/java/commands/technical-retro.md +58 -0
- package/presets/claude/java/hooks/README.md +16 -0
- package/presets/claude/java/hooks/chain-team-phases.sh +381 -0
- package/presets/claude/java/hooks/examples/README.md +18 -0
- package/presets/claude/java/hooks/examples/format-edited.example.sh +11 -0
- package/presets/claude/java/hooks/examples/secret-guard.example.sh +10 -0
- package/presets/claude/java/hooks/examples/test-on-save.example.sh +18 -0
- package/presets/claude/java/hooks/guard-shell-command.sh +80 -0
- package/presets/claude/java/mcp.json +11 -0
- package/presets/claude/java/rules/README.md +60 -0
- package/presets/claude/java/rules/api-and-data/README.md +14 -0
- package/presets/claude/java/rules/api-and-data/adapters-driven.md +38 -0
- package/presets/claude/java/rules/api-and-data/adapters-driving.md +38 -0
- package/presets/claude/java/rules/api-and-data/api-grpc.md +29 -0
- package/presets/claude/java/rules/api-and-data/api-http.md +36 -0
- package/presets/claude/java/rules/api-and-data/messaging-adapters.md +24 -0
- package/presets/claude/java/rules/api-and-data/persistence-adapters.md +33 -0
- package/presets/claude/java/rules/architecture/README.md +16 -0
- package/presets/claude/java/rules/architecture/application-usecases.md +32 -0
- package/presets/claude/java/rules/architecture/boundaries.md +29 -0
- package/presets/claude/java/rules/architecture/composition-root.md +31 -0
- package/presets/claude/java/rules/architecture/domain-layer.md +38 -0
- package/presets/claude/java/rules/architecture/feature-delivery.md +52 -0
- package/presets/claude/java/rules/architecture/module-public-api.md +31 -0
- package/presets/claude/java/rules/architecture/ports-interfaces.md +34 -0
- package/presets/claude/java/rules/architecture/reference-features.md +34 -0
- package/presets/claude/java/rules/stack/README.md +10 -0
- package/presets/claude/java/rules/stack/java-app-core.md +32 -0
- package/presets/claude/java/rules/stack/java-conventions.md +52 -0
- package/presets/claude/java/rules/testing/README.md +11 -0
- package/presets/claude/java/rules/testing/e2e.md +22 -0
- package/presets/claude/java/rules/testing/integration.md +27 -0
- package/presets/claude/java/rules/testing/unit.md +33 -0
- package/presets/claude/java/rules/tooling-and-review/README.md +21 -0
- package/presets/claude/java/rules/tooling-and-review/agent-team-intake.md +26 -0
- package/presets/claude/java/rules/tooling-and-review/agent-team-orchestrator.md +179 -0
- package/presets/claude/java/rules/tooling-and-review/code-quality.md +83 -0
- package/presets/claude/java/rules/tooling-and-review/code-review.md +59 -0
- package/presets/claude/java/rules/tooling-and-review/design-guidance.md +110 -0
- package/presets/claude/java/rules/tooling-and-review/java-tooling.md +36 -0
- package/presets/claude/java/rules/tooling-and-review/post-change-test.md +32 -0
- package/presets/claude/java/rules/tooling-and-review/preset-layering.md +36 -0
- package/presets/claude/java/rules/tooling-and-review/preset-no-cross-stack-leakage.md +56 -0
- package/presets/claude/java/rules/tooling-and-review/preset-pr-checklist.md +39 -0
- package/presets/claude/java/rules/tooling-and-review/preset-token-budget.md +41 -0
- package/presets/claude/java/rules/tooling-and-review/preset-twin-sync.md +44 -0
- package/presets/claude/java/rules/tooling-and-review/security-java.md +29 -0
- package/presets/claude/java/rules/tooling-and-review/technical-retro.md +20 -0
- package/presets/claude/java/rules/ui-and-accessibility/README.md +5 -0
- package/presets/claude/java/skills/README.md +5 -0
- package/presets/claude/java/skills/ci-investigation/SKILL.md +11 -0
- package/presets/claude/java/skills/code-review/SKILL.md +25 -0
- package/presets/claude/java/skills/debug-investigation/SKILL.md +15 -0
- package/presets/claude/java/skills/feature-delivery/SKILL.md +30 -0
- package/presets/claude/java/skills/integration-testing/SKILL.md +15 -0
- package/presets/claude/java/skills/technical-retro/SKILL.md +54 -0
- package/presets/claude/java/skills/unit-testing/SKILL.md +14 -0
- package/presets/claude/java/skills/write-adr/SKILL.md +41 -0
- package/presets/claude/java/team/README.md +27 -0
- package/presets/claude/java/team/conventions.md +21 -0
- package/presets/claude/java/team/fixtures/bugfix-standard.json +37 -0
- package/presets/claude/java/team/fixtures/feature-full.json +25 -0
- package/presets/claude/java/team/fixtures/feature-light.json +17 -0
- package/presets/claude/next/agents/build-verifier.md +4 -4
- package/presets/claude/next/rules/tooling-and-review/preset-layering.md +1 -1
- package/presets/claude/next/rules/tooling-and-review/preset-no-cross-stack-leakage.md +6 -4
- package/presets/claude/next/rules/tooling-and-review/preset-pr-checklist.md +1 -1
- package/presets/claude/next/rules/tooling-and-review/preset-twin-sync.md +2 -0
- package/presets/cursor/go/agents/build-verifier.md +5 -5
- package/presets/cursor/go/rules/preset-layering.mdc +1 -1
- package/presets/cursor/go/rules/preset-no-cross-stack-leakage.mdc +6 -8
- package/presets/cursor/go/rules/preset-pr-checklist.mdc +1 -1
- package/presets/cursor/go/rules/preset-twin-sync.mdc +2 -0
- package/presets/cursor/go/team/fixtures/feature-full.json +5 -23
- package/presets/cursor/ios-swift/agents/build-verifier.md +6 -7
- package/presets/cursor/ios-swift/rules/ios-app-core.mdc +5 -28
- package/presets/cursor/ios-swift/rules/preset-layering.mdc +1 -1
- package/presets/cursor/ios-swift/rules/preset-no-cross-stack-leakage.mdc +6 -4
- package/presets/cursor/ios-swift/rules/preset-pr-checklist.mdc +1 -1
- package/presets/cursor/ios-swift/rules/preset-twin-sync.mdc +2 -0
- package/presets/cursor/java/AGENTS.md +37 -0
- package/presets/cursor/java/BUGBOT.md +11 -0
- package/presets/cursor/java/MCP.md +15 -0
- package/presets/cursor/java/README.md +26 -0
- package/presets/cursor/java/REPO_AGENTS.md +45 -0
- package/presets/cursor/java/agents/README.md +36 -0
- package/presets/cursor/java/agents/api-contract-reviewer.md +23 -0
- package/presets/cursor/java/agents/build-verifier.md +45 -0
- package/presets/cursor/java/agents/ci-investigator.md +17 -0
- package/presets/cursor/java/agents/code-reviewer.md +40 -0
- package/presets/cursor/java/agents/codebase-analyzer.md +28 -0
- package/presets/cursor/java/agents/debugger.md +25 -0
- package/presets/cursor/java/agents/feature-developer.md +43 -0
- package/presets/cursor/java/agents/integration-test-generator.md +22 -0
- package/presets/cursor/java/agents/integration-test-healer.md +22 -0
- package/presets/cursor/java/agents/integration-test-planner.md +22 -0
- package/presets/cursor/java/agents/migration-specialist.md +31 -0
- package/presets/cursor/java/agents/performance-auditor.md +22 -0
- package/presets/cursor/java/agents/qa-tester.md +24 -0
- package/presets/cursor/java/agents/security-reviewer.md +20 -0
- package/presets/cursor/java/agents/solution-architect.md +28 -0
- package/presets/cursor/java/agents/task-analyst.md +25 -0
- package/presets/cursor/java/agents/task-router.md +69 -0
- package/presets/cursor/java/agents/tech-writer.md +15 -0
- package/presets/cursor/java/agents/unit-test-generator.md +21 -0
- package/presets/cursor/java/agents/unit-test-healer.md +13 -0
- package/presets/cursor/java/agents/unit-test-planner.md +26 -0
- package/presets/cursor/java/commands/README.md +54 -0
- package/presets/cursor/java/commands/feature-continue.md +19 -0
- package/presets/cursor/java/commands/feature-start.md +33 -0
- package/presets/cursor/java/commands/task-continue.md +49 -0
- package/presets/cursor/java/commands/task.md +49 -0
- package/presets/cursor/java/commands/technical-retro.md +81 -0
- package/presets/cursor/java/hooks/README.md +12 -0
- package/presets/cursor/java/hooks/chain-team-phases.sh +381 -0
- package/presets/cursor/java/hooks/examples/README.md +18 -0
- package/presets/cursor/java/hooks/examples/format-edited.example.sh +11 -0
- package/presets/cursor/java/hooks/examples/secret-guard.example.sh +10 -0
- package/presets/cursor/java/hooks/examples/test-on-save.example.sh +18 -0
- package/presets/cursor/java/hooks/guard-shell-command.sh +80 -0
- package/presets/cursor/java/hooks.json +17 -0
- package/presets/cursor/java/mcp.json +11 -0
- package/presets/cursor/java/rules/README.md +97 -0
- package/presets/cursor/java/rules/adapters-driven.mdc +40 -0
- package/presets/cursor/java/rules/adapters-driving.mdc +40 -0
- package/presets/cursor/java/rules/agent-team-intake.mdc +20 -0
- package/presets/cursor/java/rules/agent-team-orchestrator.mdc +173 -0
- package/presets/cursor/java/rules/api-grpc.mdc +31 -0
- package/presets/cursor/java/rules/api-http.mdc +38 -0
- package/presets/cursor/java/rules/application-usecases.mdc +34 -0
- package/presets/cursor/java/rules/architecture-boundaries.mdc +30 -0
- package/presets/cursor/java/rules/code-quality-and-refactoring.mdc +84 -0
- package/presets/cursor/java/rules/code-review-mr.mdc +54 -0
- package/presets/cursor/java/rules/composition-root.mdc +33 -0
- package/presets/cursor/java/rules/design-guidance.mdc +112 -0
- package/presets/cursor/java/rules/domain-layer.mdc +40 -0
- package/presets/cursor/java/rules/feature-delivery-workflow.mdc +47 -0
- package/presets/cursor/java/rules/java-app-core.mdc +33 -0
- package/presets/cursor/java/rules/java-conventions.mdc +54 -0
- package/presets/cursor/java/rules/java-tooling.mdc +34 -0
- package/presets/cursor/java/rules/messaging-adapters.mdc +26 -0
- package/presets/cursor/java/rules/module-public-api.mdc +33 -0
- package/presets/cursor/java/rules/persistence-adapters.mdc +35 -0
- package/presets/cursor/java/rules/ports-interfaces.mdc +36 -0
- package/presets/cursor/java/rules/post-change-test.mdc +30 -0
- package/presets/cursor/java/rules/preset-layering.mdc +36 -0
- package/presets/cursor/java/rules/preset-no-cross-stack-leakage.mdc +56 -0
- package/presets/cursor/java/rules/preset-pr-checklist.mdc +39 -0
- package/presets/cursor/java/rules/preset-token-budget.mdc +41 -0
- package/presets/cursor/java/rules/preset-twin-sync.mdc +44 -0
- package/presets/cursor/java/rules/reference-features.mdc +36 -0
- package/presets/cursor/java/rules/security-java.mdc +31 -0
- package/presets/cursor/java/rules/technical-retro.mdc +14 -0
- package/presets/cursor/java/rules/tests-e2e.mdc +24 -0
- package/presets/cursor/java/rules/tests-integration.mdc +29 -0
- package/presets/cursor/java/rules/tests-unit.mdc +35 -0
- package/presets/cursor/java/skills/README.md +5 -0
- package/presets/cursor/java/skills/ci-investigation/SKILL.md +11 -0
- package/presets/cursor/java/skills/code-review/SKILL.md +25 -0
- package/presets/cursor/java/skills/debug-investigation/SKILL.md +15 -0
- package/presets/cursor/java/skills/feature-delivery/SKILL.md +30 -0
- package/presets/cursor/java/skills/integration-testing/SKILL.md +15 -0
- package/presets/cursor/java/skills/technical-retro/SKILL.md +54 -0
- package/presets/cursor/java/skills/unit-testing/SKILL.md +14 -0
- package/presets/cursor/java/skills/write-adr/SKILL.md +41 -0
- package/presets/cursor/java/team/README.md +31 -0
- package/presets/cursor/java/team/conventions.md +21 -0
- package/presets/cursor/java/team/fixtures/bugfix-standard.json +37 -0
- package/presets/cursor/java/team/fixtures/feature-full.json +25 -0
- package/presets/cursor/java/team/fixtures/feature-light.json +17 -0
- package/presets/cursor/next/agents/build-verifier.md +4 -4
- package/presets/cursor/next/rules/preset-layering.mdc +1 -1
- package/presets/cursor/next/rules/preset-no-cross-stack-leakage.mdc +6 -4
- package/presets/cursor/next/rules/preset-pr-checklist.mdc +1 -1
- package/presets/cursor/next/rules/preset-twin-sync.mdc +2 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: tech-writer
|
|
3
|
+
description: Technical documentation specialist. Writes feature READMEs, migration guides, ADR summaries, and changelog entries from completed task artifacts. Docs-only — never edits production application code.
|
|
4
|
+
readonly: false
|
|
5
|
+
model: fast
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
Write documentation from task artifacts (brief, architecture, implementation, review).
|
|
9
|
+
|
|
10
|
+
## Java preset / services
|
|
11
|
+
|
|
12
|
+
- Prefer module README sections for layout (`src/main/java` domain/application/adapters, `configuration/`) and how to run `mvn test` / `./gradlew test`.
|
|
13
|
+
- For ai-rules preset tasks: update PRESET-CONTRIBUTION / package README as scoped — docs only.
|
|
14
|
+
|
|
15
|
+
Do not change production `.java` business logic.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: unit-test-generator
|
|
3
|
+
description: Unit test generation specialist. Implements parameterized JUnit tests from unit-test-plan.md. Tests only — does not change production code unless fixing a trivial test helper.
|
|
4
|
+
readonly: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Generate `*Test.java` / `*Tests.java` from the plan. Prefer parameterized JUnit tests and port fakes/mocks (Mockito if present).
|
|
8
|
+
|
|
9
|
+
## Rules
|
|
10
|
+
|
|
11
|
+
- Follow `tests-unit.mdc` and skill `unit-testing`.
|
|
12
|
+
- Place tests beside packages under test.
|
|
13
|
+
- Do not add SQL/MockMvc to domain/use-case unit tests (those are integration).
|
|
14
|
+
|
|
15
|
+
## Handoff
|
|
16
|
+
|
|
17
|
+
Summarize files added; update task status. Run `mvn test` / `./gradlew test` on touched packages when feasible.
|
|
18
|
+
|
|
19
|
+
## Design guidance
|
|
20
|
+
|
|
21
|
+
- Load `design-guidance` (rule stem) when assessing structure, smells, or pattern fit.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: unit-test-healer
|
|
3
|
+
description: Unit test healer. Fixes failing or flaky JUnit unit tests after refactors while preserving behavior assertions. Tests only — minimal production changes only when tests expose a real bug.
|
|
4
|
+
readonly: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Heal failing `mvn test` / `./gradlew test` unit failures. Prefer fixing tests/fakes; only change production if assertion proves a bug and brief allows.
|
|
8
|
+
|
|
9
|
+
Follow `tests-unit.mdc`. Never introduce Playwright/XCUITest.
|
|
10
|
+
|
|
11
|
+
## Design guidance
|
|
12
|
+
|
|
13
|
+
- Load `design-guidance` (rule stem) when assessing structure, smells, or pattern fit.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: unit-test-planner
|
|
3
|
+
description: Unit test planning specialist. Creates coverage plans for domain, use cases, and mappers using parameterized JUnit 5 tests. Writes unit-test-plan.md; never edits production code.
|
|
4
|
+
readonly: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Plan **Java unit tests** (JUnit 5 `@ParameterizedTest`, AssertJ). No production edits.
|
|
8
|
+
|
|
9
|
+
## Focus
|
|
10
|
+
|
|
11
|
+
- Domain entities/VOs/invariants
|
|
12
|
+
- Application use cases with **fake/mock outbound ports** (Mockito)
|
|
13
|
+
- Pure mappers (DTO↔domain) when colocated with adapters but unit-testable without DB
|
|
14
|
+
|
|
15
|
+
## Output
|
|
16
|
+
|
|
17
|
+
`.cursor/team/tasks/<slug>/unit-test-plan.md` — cases, packages, edge cases (null/Optional, empty, Java exceptions).
|
|
18
|
+
|
|
19
|
+
## Forbidden
|
|
20
|
+
|
|
21
|
+
- Requiring real DB/network in unit plan
|
|
22
|
+
- Never use iOS XCTest / ViewModel / `@MainActor` framing
|
|
23
|
+
|
|
24
|
+
## Design guidance
|
|
25
|
+
|
|
26
|
+
- Load `design-guidance` (rule stem) when assessing structure, smells, or pattern fit.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# `.cursor/commands` (preset java)
|
|
2
|
+
|
|
3
|
+
Slash-команды копируются в `.cursor/commands/` при `ai-rules init cursor --preset java`.
|
|
4
|
+
|
|
5
|
+
## Команда агентов
|
|
6
|
+
|
|
7
|
+
| Command | Назначение |
|
|
8
|
+
|---------|------------|
|
|
9
|
+
| **`/task <описание>`** | **Главная точка входа:** router → pipeline.json → нужные роли по порядку |
|
|
10
|
+
| `/task-continue <slug>` | После human gate или паузы |
|
|
11
|
+
| `/feature-start <описание>` | Legacy: только analyst (без router) |
|
|
12
|
+
| `/feature-continue <slug>` | Alias task-continue |
|
|
13
|
+
| `/technical-retro [slug]` | Ретро; с slug — блок «Работа агентов» |
|
|
14
|
+
|
|
15
|
+
## Примеры `/task`
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
/task Добавить CancelOrder use case (domain → ports → HTTP)
|
|
19
|
+
→ analyst → developer → build-verifier → reviewer → QA (integration)
|
|
20
|
+
|
|
21
|
+
/task MockMvc CreateOrder падает на пустом body
|
|
22
|
+
→ debugger → developer → reviewer → QA (regression)
|
|
23
|
+
|
|
24
|
+
/task CI упал на mvn test / ./gradlew test / static analysis в PR #142
|
|
25
|
+
→ ci-investigator → developer → reviewer
|
|
26
|
+
|
|
27
|
+
/task Миграция на JDK 21 / обновление Spring Boot
|
|
28
|
+
→ analyst → migration-specialist → developer → reviewer → QA
|
|
29
|
+
|
|
30
|
+
/task Проверь OpenAPI drift для /orders
|
|
31
|
+
→ api-contract-reviewer (or analyst → …)
|
|
32
|
+
|
|
33
|
+
/task Покрой unit-тестами CancelOrder use case
|
|
34
|
+
→ unit-planner → unit-generator
|
|
35
|
+
|
|
36
|
+
/task Напиши README для нового adapter persistence
|
|
37
|
+
→ analyst → tech-writer
|
|
38
|
+
|
|
39
|
+
/task Сделай ревью изменений в adapters/inbound/http
|
|
40
|
+
→ reviewer only
|
|
41
|
+
|
|
42
|
+
/task Repository contract для OrderRepository
|
|
43
|
+
→ integration-test-planner → generator → healer (или QA e2e-only = integration)
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Связанные файлы
|
|
47
|
+
|
|
48
|
+
- Subagents: `../agents/` (**21** ролей, включая `task-router.md`, `codebase-analyzer.md` и `integration-test-{planner,generator,healer}`; без `accessibility-reviewer` / Playwright / XCUITest)
|
|
49
|
+
- Оркестратор: `../rules/agent-team-orchestrator.mdc`
|
|
50
|
+
- Skills: `../skills/` (`feature-delivery`, `code-review`, `debug-investigation`, `ci-investigation`, `unit-testing`, `integration-testing`, `technical-retro`)
|
|
51
|
+
- Артефакты: `../team/README.md` (`pipeline.json`, `status.json`)
|
|
52
|
+
- Hooks: `../hooks.json`, `../hooks/chain-team-phases.sh`
|
|
53
|
+
|
|
54
|
+
Создавать и редактировать команды можно через `/commands` в Cursor или напрямую в этой папке пресета.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: feature-continue
|
|
3
|
+
description: Legacy alias for /task-continue that resumes a feature pipeline after human approval or pause.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Feature continue — legacy alias
|
|
7
|
+
|
|
8
|
+
> **Предпочтительно:** `/task-continue <slug>` — то же поведение, учитывает `pipeline.json`.
|
|
9
|
+
|
|
10
|
+
Продолжение после human gate. Полная логика — в **`task-continue.md`**.
|
|
11
|
+
|
|
12
|
+
## Кратко
|
|
13
|
+
|
|
14
|
+
1. Прочитай `pipeline.json` (если есть) и `status.json`.
|
|
15
|
+
2. Сбрось `awaitingHumanGate`; определи следующий step по `pipelineIndex`.
|
|
16
|
+
3. Вызови subagent для `currentAgent`.
|
|
17
|
+
4. Hook продолжит цепочку при `autoChain: true`.
|
|
18
|
+
|
|
19
|
+
См. `task-continue.md` для деталей и таблицы handoff.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: feature-start
|
|
3
|
+
description: Legacy analyst-only feature intake. Prefer /task for new work because it uses router and dynamic pipeline.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Feature start — legacy (analyst only)
|
|
7
|
+
|
|
8
|
+
> **Предпочтительно:** `/task <описание>` — router выберет роли и порядок автоматически.
|
|
9
|
+
|
|
10
|
+
Запуск **фазы анализа** без router. Родительский агент действует как оркестратор (см. `agent-team-orchestrator.mdc`).
|
|
11
|
+
|
|
12
|
+
## Что делать
|
|
13
|
+
|
|
14
|
+
1. Извлеки описание задачи из аргументов команды (всё после `/feature-start`).
|
|
15
|
+
2. Сгенерируй **slug** (kebab-case, до 48 символов) из заголовка задачи.
|
|
16
|
+
3. Создай `.cursor/team/tasks/<slug>/` если его ещё нет — через **Write** артефакта (не Shell `mkdir`).
|
|
17
|
+
4. Запиши `.cursor/team/active-task.json` → `{ "slug": "<slug>" }`.
|
|
18
|
+
5. Опционально: минимальный `pipeline.json` с фиксированными steps (analyst → developer → reviewer → qa-tester).
|
|
19
|
+
6. Вызови subagent **task-analyst** (Task tool) с полным описанием задачи и путём к артефактам.
|
|
20
|
+
7. Дождись завершения аналитика. **Не вызывай developer** на этом этапе.
|
|
21
|
+
|
|
22
|
+
## Human gate
|
|
23
|
+
|
|
24
|
+
После аналитика:
|
|
25
|
+
|
|
26
|
+
- Покажи пользователю ссылки на `brief.md` и `decomposition.md`.
|
|
27
|
+
- Попроси проверить и утвердить или прислать правки.
|
|
28
|
+
- Для продолжения: `/task-continue <slug>` или `/feature-continue <slug>`.
|
|
29
|
+
|
|
30
|
+
## Если slug уже существует
|
|
31
|
+
|
|
32
|
+
- Если `status.json` в `awaiting_approval` — предложи ревью или continue.
|
|
33
|
+
- Если задача в работе — спроси, продолжать или начать новый slug.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: task-continue
|
|
3
|
+
description: Continue an agent-team task after a human gate, pause, or review changes request using pipeline.json and status.json.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Task continue — после human gate или паузы
|
|
7
|
+
|
|
8
|
+
Продолжение пайплайна из `pipeline.json`. Алиас по смыслу: `/feature-continue`.
|
|
9
|
+
|
|
10
|
+
## Аргументы
|
|
11
|
+
|
|
12
|
+
`<slug>` — идентификатор задачи.
|
|
13
|
+
|
|
14
|
+
## Preconditions
|
|
15
|
+
|
|
16
|
+
1. Прочитай `.cursor/team/tasks/<slug>/pipeline.json` и `status.json`.
|
|
17
|
+
2. Продолжай если:
|
|
18
|
+
- `awaitingHumanGate: true` или `state: awaiting_approval`, **или**
|
|
19
|
+
- `state: changes_requested` (после review), **или**
|
|
20
|
+
- задача прервана и нужно возобновить с `pipelineIndex`.
|
|
21
|
+
|
|
22
|
+
## Алгоритм
|
|
23
|
+
|
|
24
|
+
1. Запиши `.cursor/team/active-task.json` → `{ "slug": "<slug>" }`.
|
|
25
|
+
2. Сбрось gate: `awaitingHumanGate: false`.
|
|
26
|
+
3. Определи **следующий шаг**:
|
|
27
|
+
- После approval analyst/architect: `pipelineIndex + 1` → следующий agent в `steps`.
|
|
28
|
+
- После `changes_requested`: снова **feature-developer** (тот же index или найди developer в steps).
|
|
29
|
+
4. Обнови `status.json`:
|
|
30
|
+
```json
|
|
31
|
+
{
|
|
32
|
+
"pipelineIndex": <n>,
|
|
33
|
+
"currentAgent": "<steps[n].agent>",
|
|
34
|
+
"phase": "executing",
|
|
35
|
+
"state": "in_progress",
|
|
36
|
+
"awaitingHumanGate": false
|
|
37
|
+
}
|
|
38
|
+
```
|
|
39
|
+
5. Вызови subagent для `currentAgent` с контекстом slug и артефактов.
|
|
40
|
+
6. Hook `chain-team-phases.sh` продолжит цепочку по `pipeline.json`, если `autoChain: true`.
|
|
41
|
+
|
|
42
|
+
## Артефакты для handoff
|
|
43
|
+
|
|
44
|
+
| Agent | Прочитать |
|
|
45
|
+
|-------|-----------|
|
|
46
|
+
| feature-developer | brief.md, decomposition.md, validation-report.md (if retry), review.md (if retry), architecture.md |
|
|
47
|
+
| build-verifier | git diff, decomposition.md |
|
|
48
|
+
| code-reviewer | brief.md, validation-report.md, git diff |
|
|
49
|
+
| qa-tester | brief.md, decomposition.md, scope from pipeline step |
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: task
|
|
3
|
+
description: Route a natural-language task through the agent-team pipeline: task-router, pipeline.json, and the first planned specialist.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Task — единая точка входа (router + pipeline)
|
|
7
|
+
|
|
8
|
+
Главная команда для постановки задачи. Родительский агент = оркестратор (`agent-team-orchestrator.mdc`). Intake для work-запросов без `/task` — `agent-team-intake.mdc`.
|
|
9
|
+
|
|
10
|
+
## Аргументы
|
|
11
|
+
|
|
12
|
+
Всё после `/task` — описание задачи на естественном языке.
|
|
13
|
+
|
|
14
|
+
Примеры:
|
|
15
|
+
|
|
16
|
+
- `/task Добавить use case отмены заказа`
|
|
17
|
+
- `/task Handler падает при пустом body — пофикси`
|
|
18
|
+
- `/task CI упал на mvn test / gradlew test в PR`
|
|
19
|
+
- `/task Миграция на новый JDK / обновление Maven-Gradle модуля`
|
|
20
|
+
- `/task Покрой unit-тестами OrderService`
|
|
21
|
+
- `/task Напиши changelog для релиза фильтров`
|
|
22
|
+
- `/task Сделай ревью моих изменений в application/`
|
|
23
|
+
- `/task Напиши integration tests для persistence adapter`
|
|
24
|
+
|
|
25
|
+
## Алгоритм
|
|
26
|
+
|
|
27
|
+
1. **Slug** — kebab-case из описания (≤48 символов). Создай `.cursor/team/tasks/<slug>/` через **Write** (например сразу `status.json` или пустой placeholder) — **не** через Shell `mkdir` (песочница → `Operation not permitted`).
|
|
28
|
+
2. **Router** — вызови subagent **task-router** с описанием задачи и путём к slug.
|
|
29
|
+
3. **План** — покажи пользователю таблицу из `pipeline.json`: intent, steps, skipped, humanGates.
|
|
30
|
+
4. **Intent retro** — если `intent === "retro"`, выполни `/technical-retro` и **остановись**.
|
|
31
|
+
5. **Старт** — вызови subagent для `pipeline.steps[0].agent`:
|
|
32
|
+
- передай slug, пути к артефактам, scope из step (если есть);
|
|
33
|
+
- обнови `status.json`: `pipelineIndex: 0`, `currentAgent`, `state: in_progress`.
|
|
34
|
+
6. **Human gate** — если после текущего шага есть gate в `humanGates` (`after:<agent>`), после завершения агента **остановись** и попроси `/task-continue <slug>` (или `/feature-continue <slug>`).
|
|
35
|
+
|
|
36
|
+
## Не делать
|
|
37
|
+
|
|
38
|
+
- Не вызывать developer до router и (если в pipeline) analyst/architect.
|
|
39
|
+
- Не hardcode порядок ролей — только `pipeline.json`.
|
|
40
|
+
- Не пропускать human gate без явного continue.
|
|
41
|
+
|
|
42
|
+
## Если slug занят
|
|
43
|
+
|
|
44
|
+
- `awaitingHumanGate` / `state: awaiting_approval` → предложи ревью артефактов или `/task-continue <slug>`.
|
|
45
|
+
- `in_progress` → спроси: продолжить или новый slug.
|
|
46
|
+
|
|
47
|
+
## Legacy
|
|
48
|
+
|
|
49
|
+
`/feature-start` и `/feature-continue` остаются совместимыми; для новых задач предпочитай `/task`.
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: technical-retro
|
|
3
|
+
description: Facilitate a technical retrospective for a period, incident, release, or completed agent-team task slug.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Техническое ретро
|
|
7
|
+
|
|
8
|
+
Агент выступает как **нейтральный фасилитатор технической ретроспективы**, а не как ревьюер кода или оценщик людей. Используй skill **`technical-retro`** как основной сценарий.
|
|
9
|
+
|
|
10
|
+
## Когда включать
|
|
11
|
+
|
|
12
|
+
- Пользователь просит: «ретро», «техническое ретро», «разбор спринта/итерации», «action items после релиза».
|
|
13
|
+
- После завершения пайплайна команды агентов (`/feature-start` → `/feature-continue`).
|
|
14
|
+
- Есть контекст: период, тема (релиз, инцидент), slug задачи, заметки.
|
|
15
|
+
|
|
16
|
+
## Входные данные (собрать, не выдумывать)
|
|
17
|
+
|
|
18
|
+
Запросить при нехватке:
|
|
19
|
+
|
|
20
|
+
- **Период и фокус**.
|
|
21
|
+
- **Slug задачи** (если ретро по работе команды агентов).
|
|
22
|
+
- **Участники/роли** (если важно).
|
|
23
|
+
- **Ограничения**: время, формат (async vs синхрон).
|
|
24
|
+
|
|
25
|
+
### Артефакты команды агентов (если есть slug)
|
|
26
|
+
|
|
27
|
+
Прочитать из репозитория:
|
|
28
|
+
|
|
29
|
+
- `.cursor/team/tasks/<slug>/pipeline.json`
|
|
30
|
+
- `.cursor/team/tasks/<slug>/brief.md`
|
|
31
|
+
- `.cursor/team/tasks/<slug>/decomposition.md`
|
|
32
|
+
- `.cursor/team/tasks/<slug>/status.json`
|
|
33
|
+
- Git diff / `git status` для изменённых файлов
|
|
34
|
+
|
|
35
|
+
Не приписывать факты, которых нет в артефактах, diff или сообщении пользователя.
|
|
36
|
+
|
|
37
|
+
## Принципы фасилитации
|
|
38
|
+
|
|
39
|
+
- **Безопасность**: процесс и система, не «виноватые».
|
|
40
|
+
- **Конкретика**: от абстракций к наблюдаемым событиям.
|
|
41
|
+
- **Баланс**: позитив и зоны роста.
|
|
42
|
+
- **Action items**: владелец и срок у каждого.
|
|
43
|
+
- **Не смешивать с code review** — развести блоки, если запросили оба.
|
|
44
|
+
|
|
45
|
+
## Структура сессии (по умолчанию)
|
|
46
|
+
|
|
47
|
+
1. **Цель и рамки**.
|
|
48
|
+
2. **Сбор фактов**: хорошо / мешало / сюрпризы.
|
|
49
|
+
3. **Группировка тем** (3–7).
|
|
50
|
+
4. **Корневые причины** для 1–2 болезненных тем.
|
|
51
|
+
5. **Эксперименты** (1–3 изменения процесса).
|
|
52
|
+
6. **Action items**: что / владелец / до когда / критерий успеха.
|
|
53
|
+
|
|
54
|
+
## Блок «Работа агентов» (обязателен при slug)
|
|
55
|
+
|
|
56
|
+
Если ретро связано с пайплайном `/feature-start`:
|
|
57
|
+
|
|
58
|
+
| Вопрос | Что фиксировать |
|
|
59
|
+
|--------|-----------------|
|
|
60
|
+
| Router | Ошибка intent, лишние/пропущенные steps в pipeline |
|
|
61
|
+
| Аналитик | Ошибки в assumptions, пропущенные AC, лишние/недостающие таски |
|
|
62
|
+
| Декомпозиция | Неполное покрытие слоёв, неверный порядок, blocked-зависимости |
|
|
63
|
+
| Developer | Scope creep, пропущенные правила, lint/type gaps |
|
|
64
|
+
| Reviewer | Пропущенные дефекты, false positives, качество чеклиста |
|
|
65
|
+
| QA | Покрытие AC тестами, flakiness, пробелы в e2e планах |
|
|
66
|
+
|
|
67
|
+
**Action items** в этом блоке — на улучшение **промптов, subagents и rules** (не только кода).
|
|
68
|
+
|
|
69
|
+
## Формат ответа
|
|
70
|
+
|
|
71
|
+
- Шапка: период, фокус, slug (если есть), допущения.
|
|
72
|
+
- Повестка по этапам.
|
|
73
|
+
- Блок **«Работа агентов»** (если применимо).
|
|
74
|
+
- Темы — буллеты; спорное — **вопросы команде**.
|
|
75
|
+
- **Action items** в конце.
|
|
76
|
+
|
|
77
|
+
## Ограничения
|
|
78
|
+
|
|
79
|
+
- Не приписывать цитаты и факты без входа.
|
|
80
|
+
- Не выдавать HR‑рекомендации.
|
|
81
|
+
- Если просят только шаблон — **шаблон повестки** без выдуманного контента.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# `.cursor/hooks` (preset java)
|
|
2
|
+
|
|
3
|
+
| File | Purpose |
|
|
4
|
+
|------|---------|
|
|
5
|
+
| `guard-shell-command.sh` | Destructive git / JS package-manager mismatch; **does not** block `mvn test / ./gradlew test` / `compiler/IDE inspections` / `configured static analysis` / `repo static analysis` |
|
|
6
|
+
| `chain-team-phases.sh` | Auto-chain pipeline steps on `subagentStop` |
|
|
7
|
+
|
|
8
|
+
See root `hooks.json` for registration (`beforeShellExecution`, `subagentStop`).
|
|
9
|
+
|
|
10
|
+
## Optional cookbook
|
|
11
|
+
|
|
12
|
+
See `hooks/examples/README.md` — secret-guard / format-edited / test-on-save. **Not** in default `hooks.json`.
|