@bonesofspring/ai-rules 0.2.9 → 0.2.11

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.
Files changed (192) hide show
  1. package/CHANGELOG.md +21 -3
  2. package/README.md +3 -1
  3. package/bin/cli.js +2 -0
  4. package/package.json +1 -1
  5. package/presets/_shared/core/meta/preset-no-cross-stack-leakage.md +15 -2
  6. package/presets/_shared/core/meta/preset-token-budget.md +1 -1
  7. package/presets/_shared/core/meta/preset-twin-sync.md +2 -0
  8. package/presets/claude/go/rules/api-and-data/persistence-adapters.md +10 -7
  9. package/presets/claude/go/rules/architecture/application-usecases.md +9 -5
  10. package/presets/claude/go/rules/architecture/boundaries.md +6 -1
  11. package/presets/claude/go/rules/architecture/composition-root.md +14 -9
  12. package/presets/claude/go/rules/testing/e2e.md +8 -6
  13. package/presets/claude/go/rules/testing/integration.md +11 -5
  14. package/presets/claude/go/rules/tooling-and-review/preset-no-cross-stack-leakage.md +15 -2
  15. package/presets/claude/go/rules/tooling-and-review/preset-token-budget.md +1 -1
  16. package/presets/claude/go/rules/tooling-and-review/preset-twin-sync.md +2 -0
  17. package/presets/claude/go/rules/tooling-and-review/security-go.md +17 -5
  18. package/presets/claude/ios-swift/README.md +1 -1
  19. package/presets/claude/ios-swift/agents/build-verifier.md +1 -1
  20. package/presets/claude/ios-swift/rules/README.md +1 -1
  21. package/presets/claude/ios-swift/rules/tooling-and-review/preset-no-cross-stack-leakage.md +15 -2
  22. package/presets/claude/ios-swift/rules/tooling-and-review/preset-token-budget.md +1 -1
  23. package/presets/claude/ios-swift/rules/tooling-and-review/preset-twin-sync.md +2 -0
  24. package/presets/claude/java/agents/build-verifier.md +1 -1
  25. package/presets/claude/java/rules/README.md +1 -1
  26. package/presets/claude/java/rules/api-and-data/messaging-adapters.md +16 -9
  27. package/presets/claude/java/rules/architecture/boundaries.md +6 -1
  28. package/presets/claude/java/rules/tooling-and-review/preset-no-cross-stack-leakage.md +15 -2
  29. package/presets/claude/java/rules/tooling-and-review/preset-token-budget.md +1 -1
  30. package/presets/claude/java/rules/tooling-and-review/preset-twin-sync.md +2 -0
  31. package/presets/claude/mcp-ts/CLAUDE.md +13 -0
  32. package/presets/claude/mcp-ts/MCP.md +37 -0
  33. package/presets/claude/mcp-ts/README.md +11 -0
  34. package/presets/claude/mcp-ts/REPO_AGENTS.md +49 -0
  35. package/presets/claude/mcp-ts/agents/README.md +21 -0
  36. package/presets/claude/mcp-ts/agents/build-verifier.md +39 -0
  37. package/presets/claude/mcp-ts/agents/feature-developer.md +47 -0
  38. package/presets/claude/mcp-ts/agents/security-reviewer.md +21 -0
  39. package/presets/claude/mcp-ts/agents/solution-architect.md +23 -0
  40. package/presets/claude/mcp-ts/agents/task-analyst.md +25 -0
  41. package/presets/claude/mcp-ts/agents/task-router.md +73 -0
  42. package/presets/claude/mcp-ts/commands/README.md +11 -0
  43. package/presets/claude/mcp-ts/commands/feature-continue.md +19 -0
  44. package/presets/claude/mcp-ts/commands/feature-start.md +33 -0
  45. package/presets/claude/mcp-ts/commands/task-continue.md +49 -0
  46. package/presets/claude/mcp-ts/commands/task.md +49 -0
  47. package/presets/claude/mcp-ts/commands/technical-retro.md +81 -0
  48. package/presets/claude/mcp-ts/hooks/README.md +12 -0
  49. package/presets/claude/mcp-ts/hooks/chain-team-phases.sh +346 -0
  50. package/presets/claude/mcp-ts/hooks/examples/README.md +11 -0
  51. package/presets/claude/mcp-ts/hooks/examples/format-edited.example.sh +16 -0
  52. package/presets/claude/mcp-ts/hooks/examples/secret-guard.example.sh +10 -0
  53. package/presets/claude/mcp-ts/hooks/examples/test-on-save.example.sh +25 -0
  54. package/presets/claude/mcp-ts/hooks/guard-shell-command.sh +79 -0
  55. package/presets/claude/mcp-ts/mcp.json +11 -0
  56. package/presets/claude/mcp-ts/rules/README.md +52 -0
  57. package/presets/claude/mcp-ts/rules/api-and-data/README.md +3 -0
  58. package/presets/claude/mcp-ts/rules/api-and-data/mcp-auth-secrets.md +44 -0
  59. package/presets/claude/mcp-ts/rules/api-and-data/mcp-contract-testing.md +42 -0
  60. package/presets/claude/mcp-ts/rules/api-and-data/mcp-tool-design.md +37 -0
  61. package/presets/claude/mcp-ts/rules/api-and-data/mcp-transport-packaging.md +43 -0
  62. package/presets/claude/mcp-ts/rules/architecture/README.md +3 -0
  63. package/presets/claude/mcp-ts/rules/architecture/feature-delivery.md +45 -0
  64. package/presets/claude/mcp-ts/rules/architecture/mcp-server-boundaries.md +28 -0
  65. package/presets/claude/mcp-ts/rules/architecture/reference-features.md +33 -0
  66. package/presets/claude/mcp-ts/rules/stack/README.md +3 -0
  67. package/presets/claude/mcp-ts/rules/stack/mcp-ts-app-core.md +27 -0
  68. package/presets/claude/mcp-ts/rules/stack/mcp-ts-conventions.md +29 -0
  69. package/presets/claude/mcp-ts/rules/testing/README.md +3 -0
  70. package/presets/claude/mcp-ts/rules/testing/unit.md +30 -0
  71. package/presets/claude/mcp-ts/rules/tooling-and-review/README.md +3 -0
  72. package/presets/claude/mcp-ts/rules/tooling-and-review/agent-team-intake.md +23 -0
  73. package/presets/claude/mcp-ts/rules/tooling-and-review/agent-team-orchestrator.md +161 -0
  74. package/presets/claude/mcp-ts/rules/tooling-and-review/anti-sycophancy-discipline.md +34 -0
  75. package/presets/claude/mcp-ts/rules/tooling-and-review/code-quality.md +52 -0
  76. package/presets/claude/mcp-ts/rules/tooling-and-review/code-review.md +51 -0
  77. package/presets/claude/mcp-ts/rules/tooling-and-review/design-guidance.md +109 -0
  78. package/presets/claude/mcp-ts/rules/tooling-and-review/mcp-ts-tooling.md +31 -0
  79. package/presets/claude/mcp-ts/rules/tooling-and-review/post-change-test.md +30 -0
  80. package/presets/claude/mcp-ts/rules/tooling-and-review/preset-layering.md +36 -0
  81. package/presets/claude/mcp-ts/rules/tooling-and-review/preset-no-cross-stack-leakage.md +69 -0
  82. package/presets/claude/mcp-ts/rules/tooling-and-review/preset-pr-checklist.md +39 -0
  83. package/presets/claude/mcp-ts/rules/tooling-and-review/preset-token-budget.md +41 -0
  84. package/presets/claude/mcp-ts/rules/tooling-and-review/preset-twin-sync.md +46 -0
  85. package/presets/claude/mcp-ts/rules/tooling-and-review/security-mcp.md +52 -0
  86. package/presets/claude/mcp-ts/rules/tooling-and-review/technical-retro.md +20 -0
  87. package/presets/claude/mcp-ts/rules/ui-and-accessibility/README.md +3 -0
  88. package/presets/claude/mcp-ts/skills/README.md +12 -0
  89. package/presets/claude/mcp-ts/skills/code-review/SKILL.md +10 -0
  90. package/presets/claude/mcp-ts/skills/debug-investigation/SKILL.md +11 -0
  91. package/presets/claude/mcp-ts/skills/feature-delivery/SKILL.md +29 -0
  92. package/presets/claude/mcp-ts/skills/unit-testing/SKILL.md +16 -0
  93. package/presets/claude/mcp-ts/team/README.md +17 -0
  94. package/presets/claude/mcp-ts/team/conventions.md +14 -0
  95. package/presets/claude/mcp-ts/team/fixtures/bugfix-standard.json +32 -0
  96. package/presets/claude/mcp-ts/team/fixtures/feature-full.json +33 -0
  97. package/presets/claude/mcp-ts/team/fixtures/feature-light.json +34 -0
  98. package/presets/claude/next/agents/build-verifier.md +1 -1
  99. package/presets/claude/next/rules/tooling-and-review/preset-no-cross-stack-leakage.md +15 -2
  100. package/presets/claude/next/rules/tooling-and-review/preset-token-budget.md +1 -1
  101. package/presets/claude/next/rules/tooling-and-review/preset-twin-sync.md +2 -0
  102. package/presets/cursor/go/rules/README.md +8 -8
  103. package/presets/cursor/go/rules/application-usecases.mdc +9 -5
  104. package/presets/cursor/go/rules/architecture-boundaries.mdc +6 -0
  105. package/presets/cursor/go/rules/composition-root.mdc +14 -9
  106. package/presets/cursor/go/rules/persistence-adapters.mdc +10 -7
  107. package/presets/cursor/go/rules/preset-no-cross-stack-leakage.mdc +15 -2
  108. package/presets/cursor/go/rules/preset-token-budget.mdc +1 -1
  109. package/presets/cursor/go/rules/preset-twin-sync.mdc +2 -0
  110. package/presets/cursor/go/rules/security-go.mdc +17 -5
  111. package/presets/cursor/go/rules/tests-e2e.mdc +8 -6
  112. package/presets/cursor/go/rules/tests-integration.mdc +11 -5
  113. package/presets/cursor/ios-swift/agents/build-verifier.md +1 -1
  114. package/presets/cursor/ios-swift/rules/README.md +1 -1
  115. package/presets/cursor/ios-swift/rules/preset-no-cross-stack-leakage.mdc +15 -2
  116. package/presets/cursor/ios-swift/rules/preset-token-budget.mdc +1 -1
  117. package/presets/cursor/ios-swift/rules/preset-twin-sync.mdc +2 -0
  118. package/presets/cursor/java/README.md +1 -1
  119. package/presets/cursor/java/agents/build-verifier.md +1 -1
  120. package/presets/cursor/java/rules/README.md +4 -4
  121. package/presets/cursor/java/rules/architecture-boundaries.mdc +6 -0
  122. package/presets/cursor/java/rules/messaging-adapters.mdc +16 -10
  123. package/presets/cursor/java/rules/preset-no-cross-stack-leakage.mdc +15 -2
  124. package/presets/cursor/java/rules/preset-token-budget.mdc +1 -1
  125. package/presets/cursor/java/rules/preset-twin-sync.mdc +2 -0
  126. package/presets/cursor/mcp-ts/AGENTS.md +25 -0
  127. package/presets/cursor/mcp-ts/BUGBOT.md +9 -0
  128. package/presets/cursor/mcp-ts/MCP.md +37 -0
  129. package/presets/cursor/mcp-ts/README.md +19 -0
  130. package/presets/cursor/mcp-ts/REPO_AGENTS.md +49 -0
  131. package/presets/cursor/mcp-ts/agents/README.md +21 -0
  132. package/presets/cursor/mcp-ts/agents/build-verifier.md +39 -0
  133. package/presets/cursor/mcp-ts/agents/feature-developer.md +47 -0
  134. package/presets/cursor/mcp-ts/agents/security-reviewer.md +21 -0
  135. package/presets/cursor/mcp-ts/agents/solution-architect.md +23 -0
  136. package/presets/cursor/mcp-ts/agents/task-analyst.md +25 -0
  137. package/presets/cursor/mcp-ts/agents/task-router.md +73 -0
  138. package/presets/cursor/mcp-ts/commands/README.md +11 -0
  139. package/presets/cursor/mcp-ts/commands/feature-continue.md +19 -0
  140. package/presets/cursor/mcp-ts/commands/feature-start.md +33 -0
  141. package/presets/cursor/mcp-ts/commands/task-continue.md +49 -0
  142. package/presets/cursor/mcp-ts/commands/task.md +49 -0
  143. package/presets/cursor/mcp-ts/commands/technical-retro.md +81 -0
  144. package/presets/cursor/mcp-ts/hooks/README.md +12 -0
  145. package/presets/cursor/mcp-ts/hooks/chain-team-phases.sh +346 -0
  146. package/presets/cursor/mcp-ts/hooks/examples/README.md +11 -0
  147. package/presets/cursor/mcp-ts/hooks/examples/format-edited.example.sh +16 -0
  148. package/presets/cursor/mcp-ts/hooks/examples/secret-guard.example.sh +10 -0
  149. package/presets/cursor/mcp-ts/hooks/examples/test-on-save.example.sh +25 -0
  150. package/presets/cursor/mcp-ts/hooks/guard-shell-command.sh +79 -0
  151. package/presets/cursor/mcp-ts/hooks.json +17 -0
  152. package/presets/cursor/mcp-ts/mcp.json +11 -0
  153. package/presets/cursor/mcp-ts/rules/README.md +52 -0
  154. package/presets/cursor/mcp-ts/rules/agent-team-intake.mdc +21 -0
  155. package/presets/cursor/mcp-ts/rules/agent-team-orchestrator.mdc +159 -0
  156. package/presets/cursor/mcp-ts/rules/anti-sycophancy-discipline.mdc +35 -0
  157. package/presets/cursor/mcp-ts/rules/code-quality-and-refactoring.mdc +53 -0
  158. package/presets/cursor/mcp-ts/rules/code-review-mr.mdc +50 -0
  159. package/presets/cursor/mcp-ts/rules/design-guidance.mdc +108 -0
  160. package/presets/cursor/mcp-ts/rules/feature-delivery-workflow.mdc +43 -0
  161. package/presets/cursor/mcp-ts/rules/mcp-auth-secrets.mdc +45 -0
  162. package/presets/cursor/mcp-ts/rules/mcp-contract-testing.mdc +43 -0
  163. package/presets/cursor/mcp-ts/rules/mcp-server-boundaries.mdc +29 -0
  164. package/presets/cursor/mcp-ts/rules/mcp-tool-design.mdc +38 -0
  165. package/presets/cursor/mcp-ts/rules/mcp-transport-packaging.mdc +44 -0
  166. package/presets/cursor/mcp-ts/rules/mcp-ts-app-core.mdc +28 -0
  167. package/presets/cursor/mcp-ts/rules/mcp-ts-conventions.mdc +30 -0
  168. package/presets/cursor/mcp-ts/rules/mcp-ts-tooling.mdc +32 -0
  169. package/presets/cursor/mcp-ts/rules/post-change-test.mdc +26 -0
  170. package/presets/cursor/mcp-ts/rules/preset-layering.mdc +36 -0
  171. package/presets/cursor/mcp-ts/rules/preset-no-cross-stack-leakage.mdc +69 -0
  172. package/presets/cursor/mcp-ts/rules/preset-pr-checklist.mdc +39 -0
  173. package/presets/cursor/mcp-ts/rules/preset-token-budget.mdc +41 -0
  174. package/presets/cursor/mcp-ts/rules/preset-twin-sync.mdc +46 -0
  175. package/presets/cursor/mcp-ts/rules/reference-features.mdc +34 -0
  176. package/presets/cursor/mcp-ts/rules/security-mcp.mdc +53 -0
  177. package/presets/cursor/mcp-ts/rules/technical-retro.mdc +18 -0
  178. package/presets/cursor/mcp-ts/rules/tests-unit.mdc +31 -0
  179. package/presets/cursor/mcp-ts/skills/README.md +12 -0
  180. package/presets/cursor/mcp-ts/skills/code-review/SKILL.md +10 -0
  181. package/presets/cursor/mcp-ts/skills/debug-investigation/SKILL.md +11 -0
  182. package/presets/cursor/mcp-ts/skills/feature-delivery/SKILL.md +29 -0
  183. package/presets/cursor/mcp-ts/skills/unit-testing/SKILL.md +16 -0
  184. package/presets/cursor/mcp-ts/team/README.md +17 -0
  185. package/presets/cursor/mcp-ts/team/conventions.md +14 -0
  186. package/presets/cursor/mcp-ts/team/fixtures/bugfix-standard.json +32 -0
  187. package/presets/cursor/mcp-ts/team/fixtures/feature-full.json +33 -0
  188. package/presets/cursor/mcp-ts/team/fixtures/feature-light.json +34 -0
  189. package/presets/cursor/next/agents/build-verifier.md +1 -1
  190. package/presets/cursor/next/rules/preset-no-cross-stack-leakage.mdc +15 -2
  191. package/presets/cursor/next/rules/preset-token-budget.mdc +1 -1
  192. package/presets/cursor/next/rules/preset-twin-sync.mdc +2 -0
@@ -0,0 +1,18 @@
1
+ ---
2
+ description: Technical retrospective facilitator (on-demand /technical-retro)
3
+ alwaysApply: false
4
+ ---
5
+
6
+ <!-- shared-core: review/technical-retro.md -->
7
+
8
+ # Техническое ретро — rule alias
9
+
10
+ Полный сценарий (включая блок **«Работа агентов»** для slug из team tasks) — в slash-команде:
11
+
12
+ **`commands/technical-retro.md`** → `/technical-retro`
13
+
14
+ Используй rule только если command недоступен. Не дублируй содержимое command в ответе — следуй command-файлу и skill `technical-retro`.
15
+
16
+ ## Stack notes
17
+
18
+ - **Phase 1:** skill `technical-retro` is not shipped — follow `commands/technical-retro.md` only; do not fail if the skill is absent (Phase 2 may add the skill).
@@ -0,0 +1,31 @@
1
+ ---
2
+ description: Unit testing conventions for MCP handlers and schemas
3
+ globs:
4
+ - **/*.{test,spec}.{ts,tsx,js}
5
+ - **/__tests__/**/*
6
+ alwaysApply: false
7
+ ---
8
+
9
+ # Unit tests (MCP)
10
+
11
+ - Table-driven tests for schema parse failures and handler outcomes.
12
+ - Test **pure** handler logic with fakes for FS/network capabilities — no live MCP client required.
13
+ - Cover invalid inputs that schemas should reject **before** side effects.
14
+ - Prefer repository runner (Vitest/Jest/node:test) discovered via tooling rules.
15
+
16
+ ## Required shapes (when capability applies)
17
+
18
+ - `schema.parse` / Zod: valid input; missing field; wrong type; empty string where non-empty required.
19
+ - Path tools: reject `../` escape and symlink-outside-root (fake FS); accept in-root relative paths.
20
+ - URL/fetch tools: deny blocked hosts (metadata IP, link-local) when allowlist is in play.
21
+ - Auth-sensitive handlers: assert secrets never appear in returned content or thrown messages.
22
+
23
+ ## Forbidden smells
24
+
25
+ - Hitting real external APIs in unit tests without an explicit integration harness and AC.
26
+ - Asserting on unstable SDK private fields.
27
+ - Browser e2e frameworks (Playwright) as the unit gate.
28
+
29
+ ## Naming
30
+
31
+ - `toolName.validInput`, `toolName.rejectsPathTraversal`, `schema.parse.*` — follow repo style.
@@ -0,0 +1,12 @@
1
+ # Skills (mcp-ts Phase 1)
2
+
3
+ | Skill | Use |
4
+ |-------|-----|
5
+ | `feature-delivery` | End-to-end MCP feature flow |
6
+ | `unit-testing` | Schema/handler unit tests |
7
+ | `code-review` | Diff review checklist |
8
+ | `debug-investigation` | Bug investigation |
9
+
10
+ Phase 2 may add `ci-investigation`, `technical-retro`, `write-adr`, `mcp-contract-testing` skills.
11
+
12
+ Until then: `/technical-retro` uses `commands/technical-retro.md` (no skill required); review-only uses skill `code-review` on the parent (no `code-reviewer` agent).
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: code-review
3
+ description: Reviews MCP TypeScript diffs for boundaries, schema contracts, capability scope, and secrets. Use for MR review or when code-review workflow is requested.
4
+ ---
5
+
6
+ # Code review (mcp-ts)
7
+
8
+ 1. Follow `code-review-mr.mdc`, `mcp-server-boundaries.mdc`, `mcp-tool-design.mdc`, `security-mcp.mdc`.
9
+ 2. Flag monolithic entry files, schema/protocol mismatches, unscopeed capabilities, secret leakage.
10
+ 3. Phase 1: security-reviewer covers threat model; no separate `code-reviewer` agent yet — parent may apply this skill directly.
@@ -0,0 +1,11 @@
1
+ ---
2
+ name: debug-investigation
3
+ description: Investigates MCP server bugs with runtime evidence — schema failures, handler errors, transport startup. Use for failing tests or incorrect tool behavior.
4
+ ---
5
+
6
+ # Debug investigation (mcp-ts)
7
+
8
+ 1. Reproduce with unit/contract fixtures before changing code.
9
+ 2. Check schema validation vs handler logic vs registration wiring.
10
+ 3. Prefer repository tests over ad-hoc Inspector-only claims.
11
+ 4. Load `anti-sycophancy-discipline` — report what was verified.
@@ -0,0 +1,29 @@
1
+ ---
2
+ name: feature-delivery
3
+ description: Delivers TypeScript MCP server features end-to-end across contracts, schemas, handlers, registration, tests, and package validation. Use when implementing or extending a feature, especially through /task or feature-developer.
4
+ ---
5
+
6
+ # Feature Delivery (mcp-ts)
7
+
8
+ 1. Read brief, AC, and decomposition.
9
+ 2. Follow `feature-delivery-workflow.mdc` + `reference-features.mdc`: contract → schema → handler → register → unit/contract tests → package validation.
10
+ 3. Keep transport/lifecycle in the entry module; tools stay in registration modules.
11
+ 4. After TS edits: **invoke** `post-change-test.mdc` (+ `mcp-ts-tooling.mdc`).
12
+
13
+ ## Do / Don't
14
+
15
+ - **Do** Zod-first authoring with JSON Schema-compatible protocol contracts.
16
+ - **Don't** invent SDK APIs; use VERIFY markers / Context7.
17
+ - **Don't** use Playwright, XCUITest, Next lint, or Go tools as this stack's gate.
18
+
19
+ ## Scope discipline
20
+
21
+ Implement only the current AC / decomposition task. See `feature-developer` → **Zero improvisation**.
22
+
23
+ ## Handoff
24
+
25
+ Summarize by layer + validation. Update `.cursor/team/tasks/<slug>/status.json`.
26
+
27
+ ## Design guidance
28
+
29
+ - Load `design-guidance` (rule stem) when assessing structure, smells, or pattern fit.
@@ -0,0 +1,16 @@
1
+ ---
2
+ name: unit-testing
3
+ description: Plans and writes unit tests for MCP schemas and handlers using the repository test runner. Use for schema/handler coverage and fixing failing unit tests.
4
+ ---
5
+
6
+ # Unit testing (mcp-ts)
7
+
8
+ 1. Prefer table-driven tests for schema reject/accept and handler outcomes.
9
+ 2. Fake FS/network capabilities — no live MCP client required for unit scope.
10
+ 3. Follow `tests-unit.mdc` and `mcp-contract-testing.mdc`.
11
+ 4. Discover runner via `mcp-ts-tooling` (Vitest/Jest/node:test).
12
+
13
+ ## Out of scope (Phase 1)
14
+
15
+ - Dedicated `contract-test-*` agents (Phase 2).
16
+ - Browser e2e (Playwright) — forbidden.
@@ -0,0 +1,17 @@
1
+ # Team artifacts (mcp-ts)
2
+
3
+ | Path | Purpose |
4
+ |------|---------|
5
+ | `tasks/<slug>/` | Pipeline artifacts (`brief.md`, `status.json`, …) |
6
+ | `fixtures/` | Example pipelines for dogfood |
7
+ | `conventions.md` | Living gotchas (consumer-owned) |
8
+
9
+ Phase 1 agents: see `agents/README.md`.
10
+
11
+ ## Fixture policy (Phase 1)
12
+
13
+ `team/fixtures/*.json` may list in `skipped[]` **only** agents that exist in the Phase 1 roster:
14
+
15
+ `task-router`, `task-analyst`, `solution-architect`, `feature-developer`, `build-verifier`, `security-reviewer`.
16
+
17
+ Do **not** name Phase 2 agents (`contract-test-*`, `debugger`, Playwright stems, etc.) in fixture JSON — even as skips. Defer those until the agents ship.
@@ -0,0 +1,14 @@
1
+ # Team conventions (mcp-ts)
2
+
3
+ Fill after init with living gotchas for this MCP server repo.
4
+
5
+ ## Suggested topics
6
+
7
+ - Package manager + test/typecheck scripts actually used
8
+ - SDK version pin and VERIFY notes
9
+ - stdio entry / `bin` packaging
10
+ - Capability allowlists (FS roots, outbound hosts)
11
+
12
+ ## Fixture policy
13
+
14
+ Phase 1 fixtures: `skipped[]` may name only Phase 1 roster agents (see `team/README.md`).
@@ -0,0 +1,32 @@
1
+ {
2
+ "slug": "example-schema-bugfix",
3
+ "intent": "bugfix",
4
+ "profile": "standard",
5
+ "summary": "Fix schema validation rejecting valid tool input",
6
+ "steps": [
7
+ {
8
+ "agent": "task-analyst",
9
+ "label": "Reproduce + AC"
10
+ },
11
+ {
12
+ "agent": "feature-developer",
13
+ "label": "Fix schema/handler + tests"
14
+ },
15
+ {
16
+ "agent": "build-verifier",
17
+ "label": "typecheck + tests"
18
+ }
19
+ ],
20
+ "humanGates": [],
21
+ "autoChain": true,
22
+ "skipped": [
23
+ {
24
+ "agent": "security-reviewer",
25
+ "reason": "Proven schema/style-only bugfix — no auth/**, secrets, or FS/net capability change (document skip; otherwise route security-reviewer)"
26
+ },
27
+ {
28
+ "agent": "solution-architect",
29
+ "reason": "Localized schema bugfix"
30
+ }
31
+ ]
32
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "slug": "example-add-tool-full",
3
+ "intent": "feature",
4
+ "profile": "full",
5
+ "summary": "Add MCP tool with schema, handler, registration, and tests",
6
+ "steps": [
7
+ {
8
+ "agent": "task-analyst",
9
+ "label": "Brief + decomposition"
10
+ },
11
+ {
12
+ "agent": "feature-developer",
13
+ "label": "contract→schema→handler→register→test→package"
14
+ },
15
+ {
16
+ "agent": "build-verifier",
17
+ "label": "typecheck + tests"
18
+ },
19
+ {
20
+ "agent": "security-reviewer",
21
+ "label": "Capability / secrets review",
22
+ "model": "strong"
23
+ }
24
+ ],
25
+ "humanGates": ["after:task-analyst"],
26
+ "autoChain": true,
27
+ "skipped": [
28
+ {
29
+ "agent": "solution-architect",
30
+ "reason": "Straightforward tool add; architecture spike not required"
31
+ }
32
+ ]
33
+ }
@@ -0,0 +1,34 @@
1
+ {
2
+ "slug": "example-add-tool-light",
3
+ "intent": "feature",
4
+ "profile": "light",
5
+ "summary": "Add a single MCP tool with explicit AC",
6
+ "steps": [
7
+ {
8
+ "agent": "feature-developer",
9
+ "label": "Implement tool schema/handler/register",
10
+ "model": "cheap"
11
+ },
12
+ {
13
+ "agent": "build-verifier",
14
+ "label": "typecheck + tests",
15
+ "model": "cheap"
16
+ }
17
+ ],
18
+ "humanGates": [],
19
+ "autoChain": true,
20
+ "skipped": [
21
+ {
22
+ "agent": "task-analyst",
23
+ "reason": "Explicit AC and single-tool scope"
24
+ },
25
+ {
26
+ "agent": "security-reviewer",
27
+ "reason": "Light profile valid only with no FS/net/auth expansion — otherwise use standard/full and include security-reviewer"
28
+ },
29
+ {
30
+ "agent": "solution-architect",
31
+ "reason": "Light profile — no architecture spike"
32
+ }
33
+ ]
34
+ }
@@ -37,7 +37,7 @@ When validating **preset packaging** changes (paths under `packages/ai-rules/pre
37
37
  3. **Mapping / README:** `claude/next/rules/README.md` must include a Cursor→Claude mapping table; stack `rules/README.md` should document core→stack mapping when `_shared` consumers exist.
38
38
  4. **shared-core consumers:** if `_shared/core/**` changed, every file with matching `<!-- shared-core: … -->` in this PR must be updated (or intentional fork documented in validation-report).
39
39
  5. **Twin presence:** Cursor rule change without Claude twin same PR → **FAIL** (next, ios-swift, go, and java). Domain twin body ≥15 lines; thin aliases (`agent-team-intake`, `technical-retro`) may be shorter.
40
- 6. **Session-start body budget (soft→document, FAIL if grossly over):** sum body lines of the **3** intended always-on / session-start rules ≤ **120** (stretch ≤100); do **not** include `**/README.md`. Record the sum in validation-report.
40
+ 6. **Session-start body budget (soft→document, FAIL if grossly over):** sum body lines of the **3** intended always-on / session-start rules ≤ **140** (stretch ≤120); do **not** include `**/README.md`. Record the sum in validation-report.
41
41
  7. **Embed drift (hard in `check:preset-structure`):** run `packages/ai-rules/scripts/check-shared-core-drift.sh` with `AI_RULES_DRIFT_FAIL=1` (bundled by the structure orchestrator). Lineage stems are excluded from body equality.
42
42
  8. **Dogfood (monorepo soft):** if root `.cursor/` is in the PR, prefer sync via `packages/ai-rules/scripts/sync-dogfood-cursor.sh`; mass deletion of tracked dogfood without migration doc → note as risk / FAIL for maintainers.
43
43
 
@@ -17,7 +17,8 @@ alwaysApply: false
17
17
 
18
18
  - `next` must not require iOS-only agents/tooling (`xcuitest-*`, `xcodebuild` as required handoff, Keychain-only rules).
19
19
  - `ios-swift` must not ship Playwright handoffs or Next lint recipes as required commands.
20
- - `go` / `java` must not ship Playwright, XCUITest, Next lint recipes, or `xcodebuild`/`SwiftLint` as required handoffs.
20
+ - `go` / `java` / `mcp-ts` must not ship Playwright, XCUITest, Next lint recipes, or `xcodebuild`/`SwiftLint` as required handoffs.
21
+ - `mcp-ts` must not ship Go tool commands (`go test`, `go vet`, `golangci-lint`) or `integration-test-*` agents as required delivery gates.
21
22
  - Shared core must not embed stack paths (`app/src/**`, `Features/**`, `playwright`, `xcodebuild`).
22
23
 
23
24
  ## Forbidden in ios-swift hooks/agents (FAIL)
@@ -46,6 +47,18 @@ Shared backend-stack bans (both `go` and `java`):
46
47
 
47
48
  Required instead: `integration-test-*`; build-verifier / `post-change-test` plus stack tooling — `go-tooling` (`go test`, `go vet`) or `java-tooling` (`mvn test` / `./gradlew test`).
48
49
 
50
+ ## Forbidden in mcp-ts hooks/agents (FAIL)
51
+
52
+ Same UI/mobile bans as backend stacks, plus:
53
+
54
+ - `playwright-test-`, `playwright-agents`, `playwright-e2e`, `user-playwright`, `app/__tests__/e2e`
55
+ - Positive yarn recipes `lint:js` / `lint:css` as required gates
56
+ - `xcuitest-test-`, `xcodebuild`, `SwiftLint` as required handoffs
57
+ - Go tool commands as required MCP delivery gates: `go test`, `go vet`, `golangci-lint`
58
+ - Agent files: `playwright-test-*`, `xcuitest-test-*`, `integration-test-*`, `accessibility-reviewer`
59
+
60
+ Required instead: package-manager–discovered typecheck/test (`mcp-ts-tooling`, `post-change-test`); Phase 1 gates `build-verifier` + `security-reviewer`.
61
+
49
62
  ## Soft / document
50
63
 
51
64
  - Mentioning the other stack in **docs** comparing presets is OK.
@@ -53,4 +66,4 @@ Required instead: `integration-test-*`; build-verifier / `post-change-test` plus
53
66
 
54
67
  ## Chain fork
55
68
 
56
- `hooks/chain-team-phases.sh` must differ **byte-wise** pairwise among `next`, `ios-swift`, `go`, and `java` (per platform).
69
+ `hooks/chain-team-phases.sh` must differ **byte-wise** pairwise among `next`, `ios-swift`, `go`, `java`, and `mcp-ts` (per platform).
@@ -22,7 +22,7 @@ alwaysApply: false
22
22
 
23
23
  **Claude Option A (README exclusion):** when counting Claude rules without `paths:` / session-start, **exclude `**/README.md`** (topic indexes are not session-start rules). The intended session-start trio remains **exactly 3**; body budget sums **only those 3** rules.
24
24
 
25
- Session-start body budget (где задокументировано): ≤120 строк суммарно (stretch ≤100).
25
+ Session-start body budget (где задокументировано): ≤140 строк суммарно (stretch ≤120).
26
26
 
27
27
  ## Meta / author rules
28
28
 
@@ -21,6 +21,7 @@ Cursor `.mdc` — **SoT per stack**. Claude topic `.md` — derived twin.
21
21
  | `ios-swift` | `presets/cursor/ios-swift/rules/*.mdc` | `presets/claude/ios-swift/rules/<topic>/` | Keep in `claude/ios-swift/rules/README.md` |
22
22
  | `go` | `presets/cursor/go/rules/*.mdc` | `presets/claude/go/rules/<topic>/` | Keep in `claude/go/rules/README.md` |
23
23
  | `java` | `presets/cursor/java/rules/*.mdc` | `presets/claude/java/rules/<topic>/` | Keep in `claude/java/rules/README.md` |
24
+ | `mcp-ts` | `presets/cursor/mcp-ts/rules/*.mdc` | `presets/claude/mcp-ts/rules/<topic>/` | Keep in `claude/mcp-ts/rules/README.md` |
24
25
 
25
26
  ## Same-PR checklist
26
27
 
@@ -40,5 +41,6 @@ Cursor `.mdc` — **SoT per stack**. Claude topic `.md` — derived twin.
40
41
  - **ios-swift:** missing Claude twin for a changed Cursor rule → **FAIL**.
41
42
  - **go:** missing Claude twin for a changed Cursor rule → **FAIL** (same as next / ios-swift; mapping table required).
42
43
  - **java:** missing Claude twin for a changed Cursor rule → **FAIL** (same as next / ios-swift / go; mapping table required).
44
+ - **mcp-ts:** missing Claude twin for a changed Cursor rule → **FAIL** (same as next / ios-swift / go / java; mapping table required).
43
45
 
44
46
  Dogfood: sync packages → root `.cursor/` after Cursor SoT changes (not the reverse). Use `packages/ai-rules/scripts/sync-dogfood-cursor.sh`.