cfsa-antigravity 1.0.1 → 2.1.0

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 (174) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +19 -8
  3. package/package.json +46 -32
  4. package/template/.agent/instructions/commands.md +8 -32
  5. package/template/.agent/instructions/patterns.md +3 -3
  6. package/template/.agent/instructions/tech-stack.md +71 -23
  7. package/template/.agent/instructions/workflow.md +12 -1
  8. package/template/.agent/rules/completion-checklist.md +6 -0
  9. package/template/.agent/rules/security-first.md +3 -3
  10. package/template/.agent/rules/vertical-slices.md +1 -1
  11. package/template/.agent/skill-library/MANIFEST.md +26 -10
  12. package/template/.agent/skill-library/stack/auth/lucia/SKILL.md +230 -0
  13. package/template/.agent/skill-library/stack/auth/supabase-auth/SKILL.md +293 -0
  14. package/template/.agent/skill-library/stack/devops/git-workflow/SKILL.md +420 -0
  15. package/template/.agent/skill-library/stack/extensions/plasmo/SKILL.md +195 -0
  16. package/template/.agent/skill-library/stack/extensions/wxt/SKILL.md +216 -0
  17. package/template/.agent/skill-library/stack/feature-flags/flagsmith/SKILL.md +187 -0
  18. package/template/.agent/skill-library/stack/feature-flags/launchdarkly/SKILL.md +183 -0
  19. package/template/.agent/skill-library/stack/feature-flags/posthog-flags/SKILL.md +189 -0
  20. package/template/.agent/skill-library/stack/messaging/nats/SKILL.md +147 -0
  21. package/template/.agent/skill-library/stack/messaging/rabbitmq/SKILL.md +178 -0
  22. package/template/.agent/skill-library/stack/messaging/sqs/SKILL.md +187 -0
  23. package/template/.agent/skill-library/stack/mobile/kotlin-compose/SKILL.md +215 -0
  24. package/template/.agent/skill-library/stack/mobile/swiftui/SKILL.md +261 -0
  25. package/template/.agent/skill-library/stack/notifications/fcm/SKILL.md +229 -0
  26. package/template/.agent/skill-library/stack/notifications/sendgrid/SKILL.md +220 -0
  27. package/template/.agent/skill-library/stack/notifications/twilio/SKILL.md +204 -0
  28. package/template/.agent/skill-library/stack/search/algolia/SKILL.md +206 -0
  29. package/template/.agent/skill-library/stack/search/typesense/SKILL.md +189 -0
  30. package/template/.agent/skill-library/stack/storage/cloudflare-r2/SKILL.md +252 -0
  31. package/template/.agent/skill-library/stack/storage/gcs/SKILL.md +229 -0
  32. package/template/.agent/skills/accessibility/references/ia-spec-checklist.md +35 -0
  33. package/template/.agent/skills/adversarial-review/SKILL.md +1 -1
  34. package/template/.agent/skills/api-design-principles/SKILL.md +153 -21
  35. package/template/.agent/skills/api-versioning/SKILL.md +44 -298
  36. package/template/.agent/skills/api-versioning/references/typescript.md +157 -0
  37. package/template/.agent/skills/architecture-mapping/SKILL.md +16 -16
  38. package/template/.agent/skills/bootstrap-agents/SKILL.md +151 -152
  39. package/template/.agent/skills/brainstorming/SKILL.md +113 -172
  40. package/template/.agent/skills/clean-code/SKILL.md +189 -87
  41. package/template/.agent/skills/clean-code/references/typescript.md +126 -0
  42. package/template/.agent/skills/concise-planning/SKILL.md +74 -35
  43. package/template/.agent/skills/database-schema-design/SKILL.md +95 -319
  44. package/template/.agent/skills/database-schema-design/references/relational.md +228 -0
  45. package/template/.agent/skills/error-handling-patterns/SKILL.md +62 -557
  46. package/template/.agent/skills/error-handling-patterns/references/go.md +162 -0
  47. package/template/.agent/skills/error-handling-patterns/references/python.md +262 -0
  48. package/template/.agent/skills/error-handling-patterns/references/rust.md +112 -0
  49. package/template/.agent/skills/error-handling-patterns/references/typescript.md +178 -0
  50. package/template/.agent/skills/idea-extraction/SKILL.md +347 -111
  51. package/template/.agent/skills/logging-best-practices/SKILL.md +108 -767
  52. package/template/.agent/skills/logging-best-practices/references/go.md +49 -0
  53. package/template/.agent/skills/logging-best-practices/references/python.md +52 -0
  54. package/template/.agent/skills/logging-best-practices/references/typescript.md +215 -0
  55. package/template/.agent/skills/migration-management/SKILL.md +127 -311
  56. package/template/.agent/skills/migration-management/references/relational.md +214 -0
  57. package/template/.agent/skills/minimalist-surgical-development/SKILL.md +109 -43
  58. package/template/.agent/skills/parallel-feature-development/SKILL.md +34 -43
  59. package/template/.agent/skills/pipeline-rubrics/references/be-rubric.md +1 -1
  60. package/template/.agent/skills/pipeline-rubrics/references/ia-rubric.md +2 -2
  61. package/template/.agent/skills/pipeline-rubrics/references/scoring.md +1 -1
  62. package/template/.agent/skills/prd-templates/SKILL.md +23 -6
  63. package/template/.agent/skills/prd-templates/references/architecture-design-template.md +1 -1
  64. package/template/.agent/skills/prd-templates/references/be-spec-template.md +2 -2
  65. package/template/.agent/skills/prd-templates/references/decomposition-templates.md +4 -4
  66. package/template/.agent/skills/prd-templates/references/design-system-prerequisite-check.md +18 -0
  67. package/template/.agent/skills/prd-templates/references/fe-spec-template.md +1 -1
  68. package/template/.agent/skills/prd-templates/references/ideation-crosscut-template.md +57 -0
  69. package/template/.agent/skills/prd-templates/references/ideation-domain-template.md +61 -0
  70. package/template/.agent/skills/prd-templates/references/ideation-index-template.md +119 -0
  71. package/template/.agent/skills/prd-templates/references/ideation-meta-template.md +126 -0
  72. package/template/.agent/skills/prd-templates/references/operational-templates.md +1 -1
  73. package/template/.agent/skills/prd-templates/references/placeholder-workflow-mapping.md +50 -0
  74. package/template/.agent/skills/prd-templates/references/skill-loading-protocol.md +32 -0
  75. package/template/.agent/skills/prd-templates/references/slice-completion-gates.md +21 -0
  76. package/template/.agent/skills/prd-templates/references/spec-coverage-sweep.md +44 -0
  77. package/template/.agent/skills/prd-templates/references/tdd-testing-policy.md +39 -0
  78. package/template/.agent/skills/prd-templates/references/vision-template.md +31 -40
  79. package/template/.agent/skills/prompt-engineer/SKILL.md +143 -189
  80. package/template/.agent/skills/regex-patterns/SKILL.md +122 -540
  81. package/template/.agent/skills/regex-patterns/references/go.md +44 -0
  82. package/template/.agent/skills/regex-patterns/references/javascript.md +63 -0
  83. package/template/.agent/skills/regex-patterns/references/python.md +77 -0
  84. package/template/.agent/skills/regex-patterns/references/rust.md +43 -0
  85. package/template/.agent/skills/resolve-ambiguity/SKILL.md +1 -1
  86. package/template/.agent/skills/session-continuity/SKILL.md +11 -9
  87. package/template/.agent/skills/session-continuity/protocols/02-progress-generation.md +2 -2
  88. package/template/.agent/skills/session-continuity/protocols/04-pattern-extraction.md +1 -1
  89. package/template/.agent/skills/session-continuity/protocols/05-session-close.md +1 -1
  90. package/template/.agent/skills/session-continuity/protocols/09-parallel-claim.md +1 -1
  91. package/template/.agent/skills/session-continuity/protocols/10-placeholder-verification-gate.md +57 -78
  92. package/template/.agent/skills/session-continuity/protocols/11-parallel-synthesis.md +21 -0
  93. package/template/.agent/skills/skill-creator/SKILL.md +142 -529
  94. package/template/.agent/skills/spec-writing/SKILL.md +2 -2
  95. package/template/.agent/skills/tdd-workflow/SKILL.md +94 -317
  96. package/template/.agent/skills/tdd-workflow/references/typescript.md +231 -0
  97. package/template/.agent/skills/tech-stack-catalog/SKILL.md +1 -1
  98. package/template/.agent/skills/testing-strategist/SKILL.md +74 -687
  99. package/template/.agent/skills/testing-strategist/references/typescript.md +328 -0
  100. package/template/.agent/skills/verification-before-completion/SKILL.md +62 -110
  101. package/template/.agent/skills/workflow-automation/SKILL.md +140 -47
  102. package/template/.agent/skills/workflow-automation/references/inngest.md +88 -0
  103. package/template/.agent/skills/workflow-automation/references/temporal.md +64 -0
  104. package/template/.agent/workflows/audit-ambiguity-execute.md +22 -24
  105. package/template/.agent/workflows/audit-ambiguity.md +1 -1
  106. package/template/.agent/workflows/bootstrap-agents-fill.md +85 -143
  107. package/template/.agent/workflows/bootstrap-agents-provision.md +90 -122
  108. package/template/.agent/workflows/bootstrap-agents.md +2 -0
  109. package/template/.agent/workflows/create-prd-architecture.md +16 -14
  110. package/template/.agent/workflows/create-prd-compile.md +13 -14
  111. package/template/.agent/workflows/create-prd-design-system.md +3 -3
  112. package/template/.agent/workflows/create-prd-security.md +11 -13
  113. package/template/.agent/workflows/create-prd-stack.md +13 -7
  114. package/template/.agent/workflows/create-prd.md +21 -16
  115. package/template/.agent/workflows/decompose-architecture-structure.md +5 -7
  116. package/template/.agent/workflows/decompose-architecture-validate.md +20 -3
  117. package/template/.agent/workflows/decompose-architecture.md +2 -2
  118. package/template/.agent/workflows/evolve-contract.md +39 -12
  119. package/template/.agent/workflows/evolve-feature-cascade.md +1 -1
  120. package/template/.agent/workflows/evolve-feature-classify.md +4 -4
  121. package/template/.agent/workflows/evolve-feature.md +1 -1
  122. package/template/.agent/workflows/ideate-discover.md +120 -68
  123. package/template/.agent/workflows/ideate-extract.md +111 -35
  124. package/template/.agent/workflows/ideate-validate.md +129 -57
  125. package/template/.agent/workflows/ideate.md +18 -52
  126. package/template/.agent/workflows/implement-slice-setup.md +26 -24
  127. package/template/.agent/workflows/implement-slice-tdd.md +56 -117
  128. package/template/.agent/workflows/implement-slice.md +6 -4
  129. package/template/.agent/workflows/plan-phase-preflight.md +128 -0
  130. package/template/.agent/workflows/plan-phase-write.md +110 -0
  131. package/template/.agent/workflows/plan-phase.md +7 -171
  132. package/template/.agent/workflows/remediate-pipeline-assess.md +3 -3
  133. package/template/.agent/workflows/remediate-pipeline-execute.md +1 -1
  134. package/template/.agent/workflows/remediate-pipeline.md +1 -1
  135. package/template/.agent/workflows/resolve-ambiguity.md +2 -2
  136. package/template/.agent/workflows/sync-kit.md +48 -1
  137. package/template/.agent/workflows/update-architecture-map.md +22 -5
  138. package/template/.agent/workflows/validate-phase.md +30 -62
  139. package/template/.agent/workflows/verify-infrastructure.md +10 -10
  140. package/template/.agent/workflows/write-architecture-spec-deepen.md +1 -1
  141. package/template/.agent/workflows/write-architecture-spec-design.md +33 -56
  142. package/template/.agent/workflows/write-architecture-spec.md +1 -1
  143. package/template/.agent/workflows/write-be-spec-classify.md +27 -21
  144. package/template/.agent/workflows/write-be-spec-write.md +2 -1
  145. package/template/.agent/workflows/write-be-spec.md +3 -3
  146. package/template/.agent/workflows/write-fe-spec-classify.md +8 -21
  147. package/template/.agent/workflows/write-fe-spec-write.md +3 -2
  148. package/template/.agent/workflows/write-fe-spec.md +4 -2
  149. package/template/AGENTS.md +10 -10
  150. package/template/GEMINI.md +14 -12
  151. package/template/docs/README.md +30 -7
  152. package/template/docs/kit-architecture.md +127 -17
  153. package/template/docs/plans/README.md +2 -1
  154. package/template/docs/plans/ideation/.gitkeep +0 -0
  155. package/template/docs/plans/ideation/README.md +23 -0
  156. package/template/docs/plans/ideation/cross-cuts/.gitkeep +0 -0
  157. package/template/docs/plans/ideation/domains/.gitkeep +0 -0
  158. package/template/docs/plans/ideation/meta/.gitkeep +0 -0
  159. package/template/.agent/skill-library/meta/brand-guidelines/SKILL.md +0 -73
  160. package/template/.agent/skill-library/meta/regex-patterns/SKILL.md +0 -751
  161. package/template/.agent/skill-library/stack/engines/godot/SKILL.md +0 -488
  162. package/template/.agent/skill-library/stack/observability/logging-best-practices/SKILL.md +0 -168
  163. package/template/.agent/skill-library/surface/api/api-versioning/SKILL.md +0 -420
  164. package/template/.agent/skill-library/surface/api/rest-api-design/SKILL.md +0 -478
  165. package/template/.agent/skills/prompt-engineer/README.md +0 -659
  166. package/template/.agent/skills/rest-api-design/SKILL.md +0 -478
  167. package/template/.agent/skills/skill-creator/LICENSE.txt +0 -202
  168. package/template/.agent/skills/skill-creator/README.md +0 -270
  169. package/template/.agent/skills/skill-creator/references/output-patterns.md +0 -82
  170. package/template/.agent/skills/skill-creator/references/workflows.md +0 -28
  171. package/template/.agent/skills/skill-creator/scripts/init_skill.py +0 -303
  172. package/template/.agent/skills/skill-creator/scripts/package_skill.py +0 -110
  173. package/template/.agent/skills/skill-creator/scripts/quick_validate.py +0 -95
  174. /package/template/.agent/skill-library/{meta → stack/devops}/git-advanced/SKILL.md +0 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 RepairYourTech
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -10,13 +10,6 @@ A pipeline that turns a raw idea into exhaustively specified, test-driven, produ
10
10
  npx cfsa-antigravity init
11
11
  ```
12
12
 
13
- Or install globally:
14
-
15
- ```bash
16
- npm install -g cfsa-antigravity
17
- cfsa-antigravity init
18
- ```
19
-
20
13
  This installs the `.agent/` folder, `docs/` structure, and agent config files into your project.
21
14
 
22
15
  ## CLI
@@ -37,6 +30,20 @@ This installs the `.agent/` folder, `docs/` structure, and agent config files in
37
30
 
38
31
  The pipeline tells you what to run next at every step. You never have to guess.
39
32
 
33
+ ## Keeping Up to Date
34
+
35
+ The kit evolves independently of your project. To pull improvements into an existing project:
36
+
37
+ ```
38
+ /sync-kit
39
+ ```
40
+
41
+ This performs a **semantic merge** — it applies new workflows, skills, and rules from the upstream kit while preserving your project-specific values (tech stack, validation commands, filled placeholders). It will never overwrite your project decisions.
42
+
43
+ - First sync does a full comparison; subsequent syncs are incremental (commit-scoped)
44
+ - Tracks sync state in `.agent/kit-sync.md` so it knows what changed since last update
45
+ - Flags any structural migrations needed (e.g., ideation format changes)
46
+
40
47
  ## Documentation
41
48
 
42
49
  | Document | Contents |
@@ -52,6 +59,10 @@ The pipeline tells you what to run next at every step. You never have to guess.
52
59
  4. **Progressive decision locking** — each stage locks decisions for downstream
53
60
  5. **TDD as the implementation contract** — Red → Green → Refactor, every slice
54
61
 
62
+ ## Contributing
63
+
64
+ See [CONTRIBUTING.md](CONTRIBUTING.md) for how to set up, make changes, and submit PRs.
65
+
55
66
  ## License
56
67
 
57
- MIT
68
+ [MIT](LICENSE)
package/package.json CHANGED
@@ -1,34 +1,48 @@
1
1
  {
2
- "name": "cfsa-antigravity",
3
- "version": "1.0.1",
4
- "description": "CFSA Pipeline — Constraint-First Specification Architecture for AI agents. Production-grade from line one.",
5
- "bin": {
6
- "cfsa-antigravity": "./bin/cli.mjs"
7
- },
8
- "files": [
9
- "bin/",
10
- "template/"
11
- ],
12
- "keywords": [
13
- "ai",
14
- "agent",
15
- "cfsa",
16
- "specification",
17
- "pipeline",
18
- "tdd",
19
- "antigravity",
20
- "production",
21
- "workflows",
22
- "skills"
23
- ],
24
- "author": "RepairYourTech",
25
- "license": "MIT",
26
- "repository": {
27
- "type": "git",
28
- "url": "https://github.com/RepairYourTech/cfsa-antigravity"
29
- },
30
- "homepage": "https://github.com/RepairYourTech/cfsa-antigravity#readme",
31
- "engines": {
32
- "node": ">=18.0.0"
33
- }
2
+ "name": "cfsa-antigravity",
3
+ "version": "2.1.0",
4
+ "description": "CFSA Pipeline — Constraint-First Specification Architecture for AI agents. Production-grade from line one.",
5
+ "scripts": {
6
+ "changeset": "changeset",
7
+ "version": "changeset version",
8
+ "build": "./scripts/build-template.sh",
9
+ "check": "./scripts/check-template-integrity.sh",
10
+ "prepare": "husky || true"
11
+ },
12
+ "bin": {
13
+ "cfsa-antigravity": "./bin/cli.mjs"
14
+ },
15
+ "files": [
16
+ "bin/",
17
+ "template/"
18
+ ],
19
+ "keywords": [
20
+ "ai",
21
+ "agent",
22
+ "cfsa",
23
+ "specification",
24
+ "pipeline",
25
+ "tdd",
26
+ "antigravity",
27
+ "production",
28
+ "workflows",
29
+ "skills"
30
+ ],
31
+ "author": "RepairYourTech",
32
+ "license": "MIT",
33
+ "repository": {
34
+ "type": "git",
35
+ "url": "https://github.com/RepairYourTech/cfsa-antigravity"
36
+ },
37
+ "homepage": "https://github.com/RepairYourTech/cfsa-antigravity#readme",
38
+ "engines": {
39
+ "node": ">=18.0.0"
40
+ },
41
+ "devDependencies": {
42
+ "@changesets/changelog-github": "^0.6.0",
43
+ "@changesets/cli": "^2.30.0",
44
+ "@commitlint/cli": "^20.4.4",
45
+ "@commitlint/config-conventional": "^20.4.4",
46
+ "husky": "^9.1.7"
47
+ }
34
48
  }
@@ -2,44 +2,20 @@
2
2
 
3
3
  <!--
4
4
  THIS FILE IS A TEMPLATE.
5
- The /bootstrap-agents workflow will fill in your project-specific commands.
6
- Replace {{PLACEHOLDERS}} with your actual commands.
5
+ The /bootstrap-agents workflow fills per-surface command sections below.
6
+ For single-surface projects, one flat section is written.
7
+ For multi-surface projects, one section per surface.
7
8
  -->
8
9
 
9
- ## Package Manager: {{PACKAGE_MANAGER}}
10
+ <!-- Bootstrap writes command sections here. Each surface from the map gets its own section. -->
11
+ <!-- Single-surface projects get a flat layout (no surface header). -->
10
12
 
11
- ## Development
12
-
13
- ```bash
14
- {{DEV_COMMAND}} # Start dev server
15
- ```
16
-
17
- ## Testing
18
-
19
- ```bash
20
- {{TEST_COMMAND}} # Run all tests
21
- {{TEST_WATCH_COMMAND}} # Watch mode
22
- {{TEST_COVERAGE_COMMAND}} # With coverage report
23
- ```
24
-
25
- ## Linting & Formatting
26
-
27
- ```bash
28
- {{LINT_COMMAND}} # Lint check
29
- {{LINT_FIX_COMMAND}} # Lint with auto-fix
30
- {{FORMAT_COMMAND}} # Format check
31
- {{TYPE_CHECK_COMMAND}} # TypeScript type validation
32
- ```
33
-
34
- ## Build & Preview
35
-
36
- ```bash
37
- {{BUILD_COMMAND}} # Production build
38
- {{PREVIEW_COMMAND}} # Preview production build locally
39
- ```
13
+ {{COMMAND_SECTIONS}}
40
14
 
41
15
  ## Validation (run after every code change)
42
16
 
17
+ The validation command runs all checks for the primary surface. For multi-surface projects, run each surface's validation command.
18
+
43
19
  // turbo
44
20
  ```bash
45
21
  {{VALIDATION_COMMAND}}
@@ -9,9 +9,9 @@
9
9
  ## TypeScript → skills: `clean-code`, `typescript-advanced-patterns`
10
10
  - **Strict mode** everywhere — `strict: true` in tsconfig
11
11
  - **Explicit types** — No `any`, no implicit returns
12
- - **Zod validation** — All API inputs validated with Zod schemas
12
+ - **{{CONTRACT_LIBRARY}} validation** — All API inputs validated with {{CONTRACT_LIBRARY}} schemas
13
13
  - **Self-documenting** — Clear naming over comments
14
- - **Zod inference** — Derive TypeScript types from Zod schemas with `z.infer<typeof schema>`
14
+ - **{{CONTRACT_LIBRARY}} inference** — Derive types from {{CONTRACT_LIBRARY}} schemas (e.g., `z.infer<typeof schema>` for Zod, type inference for Pydantic)
15
15
 
16
16
  ## File Organization → skill: `clean-code`
17
17
  - **File size limits** — Per-type limits (enforced by extensibility rule): 200 lines for components (.tsx), 300 for utilities (.ts), 150 for schemas (.schema.ts), 400 for tests (.test.ts), 100 for config files
@@ -24,7 +24,7 @@
24
24
  > ⚠️ **Framework component patterns not yet configured.** Run /bootstrap-agents with FRAMEWORK_PATTERNS to fill this section. Until then, follow the framework's official documentation for component conventions and apply the naming and file organisation rules above.
25
25
 
26
26
  ## API & Data → skill: `rest-api-design`
27
- - **Input validation** — Zod schemas on every endpoint
27
+ - **Input validation** — {{CONTRACT_LIBRARY}} schemas on every endpoint
28
28
  - **Error format** — Consistent: `{ success: boolean, data?: T, error?: { code, message } }`
29
29
  - **No magic strings** — Constants and enums for repeated values
30
30
  - **Rate limiting** — On all public-facing endpoints
@@ -2,39 +2,87 @@
2
2
 
3
3
  <!--
4
4
  THIS FILE IS A TEMPLATE.
5
- The /bootstrap-agents workflow will fill in your project-specific stack.
6
- Sections marked with {{PLACEHOLDER}} will be replaced.
5
+ The /bootstrap-agents workflow fills the Surface Stack Map and Global Settings below.
6
+ Empty cells are marked with (not applicable) or ⚠️ (not yet resolved).
7
7
  -->
8
8
 
9
- ## Stack Summary
9
+ ## Surface Stack Map
10
10
 
11
- **{{TECH_STACK_SUMMARY}}**
11
+ The surface stack map is the **single source of truth** for all per-surface stack decisions and cross-cutting project-wide skills. Every workflow that needs to load skills or run commands resolves them from this map — NOT from scattered placeholders.
12
12
 
13
- ## Core Decisions
13
+ ### How Workflows Use This Map
14
14
 
15
- | Axis | Decision |
16
- |------|----------|
17
- | **Frontend framework** | {{FRONTEND_FRAMEWORK}} |
18
- | **Backend runtime** | {{BACKEND_RUNTIME}} |
19
- | **Database** | {{DATABASE}} |
20
- | **Auth provider** | {{AUTH_PROVIDER}} |
21
- | **Hosting** | {{HOSTING}} |
22
- | **CDN / Assets** | {{CDN_ASSETS}} |
23
- | **CI/CD** | {{CICD}} |
24
- | **Monitoring** | {{MONITORING}} |
15
+ **Surface-aware workflows** (spec-writing, implementation):
16
+ 1. Determine the shard/slice's surface from its directory path or surface tag
17
+ 2. Look up the row for that surface in the Per-Surface table below
18
+ 3. Load all skills listed in the required column(s) — cells are comma-separated lists
19
+ 4. Skip cells marked `—` (not applicable for this surface)
25
20
 
26
- ## Development Tooling
21
+ **Cross-cutting workflows** (validation, infrastructure verification):
22
+ 1. Read the Cross-Cutting Skills table below
23
+ 2. Load all skills listed in the required category
27
24
 
28
- | Tool | Value |
29
- |------|-------|
30
- | Package manager | {{PACKAGE_MANAGER}} |
31
- | Test runner | {{TEST_RUNNER}} |
32
- | Linter | {{LINTER}} |
33
- | Type checker | {{TYPE_CHECKER}} |
25
+ **Single-surface projects**: The Per-Surface table has exactly one row. All lookups resolve identically to a flat scalar model. No conditional logic needed.
26
+
27
+ ### Per-Surface Skills
28
+
29
+ Each cell is a comma-separated list of skill directory names from `.agent/skills/`. Use `—` for "not applicable."
30
+
31
+ <!-- Bootstrap fills this table. One row per confirmed surface + a `shared` row for cross-surface backend. -->
32
+
33
+ | Surface | Languages | BE Frameworks | FE Frameworks | FE Design | ORMs | State Mgmt | Databases | Unit Tests | E2E Tests | Test Cmd | Validation Cmd | Lint Cmd | Build Cmd | Dev Cmd | Package Mgr |
34
+ |---------|-----------|---------------|---------------|-----------|------|------------|-----------|------------|-----------|----------|----------------|----------|-----------|---------|-------------|
35
+ | {{SURFACE_ROW}} |
36
+
37
+ > **Multi-value cells**: A surface can list multiple skills per column (e.g., `tailwind, vanilla-css` or `supabase, surrealdb, pglite`). Workflows iterate and load ALL listed skills.
38
+
39
+ > **Shared row**: The `shared` surface represents cross-surface backend infrastructure (API layer, shared database, etc.). Shards in `docs/plans/shared/` resolve against this row.
40
+
41
+ ### Cross-Cutting Skills
42
+
43
+ Project-wide skills that don't vary per surface. Each value column is also comma-separated.
44
+
45
+ <!-- Bootstrap fills this table from project-wide tech stack decisions. -->
46
+
47
+ | Category | Skills |
48
+ |----------|--------|
49
+ | Auth | {{AUTH}} |
50
+ | CI/CD | {{CI_CD}} |
51
+ | Hosting | {{HOSTING}} |
52
+ | Security | {{SECURITY}} |
53
+ | API Design | {{API_DESIGN}} |
54
+ | Accessibility | {{ACCESSIBILITY}} |
55
+ | Contract Library | {{CONTRACT_LIBRARY}} |
56
+
57
+ ### Map Verification
58
+
59
+ A valid surface stack map must satisfy:
60
+ 1. **At least one row** in the Per-Surface table (even single-surface projects)
61
+ 2. **Languages column is never empty** — every surface has at least one language
62
+ 3. **Test Cmd column is never empty** — every surface must be testable
63
+ 4. **No `⚠️` cells** — all skill resolution must be complete before implementation begins
64
+
65
+ Verification gates in `plan-phase` and `implement-slice` check these conditions. See `.agent/skills/session-continuity/protocols/10-placeholder-verification-gate.md` for the full verification procedure.
66
+
67
+ ---
68
+
69
+ ## Global Settings
70
+
71
+ <!-- These are project-wide values, not per-surface. Bootstrap fills them. -->
72
+
73
+ | Setting | Value |
74
+ |---------|-------|
75
+ | Project Name | {{PROJECT_NAME}} |
76
+ | Description | {{DESCRIPTION}} |
77
+ | Stack Summary | {{TECH_STACK_SUMMARY}} |
78
+ | Surfaces | {{SURFACES}} |
79
+ | Architecture Doc | {{ARCHITECTURE_DOC}} |
80
+
81
+ ---
34
82
 
35
83
  ## Installed Skills
36
84
 
37
- <!-- Updated by /create-prd after skill discovery -->
85
+ <!-- Updated by /bootstrap-agents-provision after skill discovery and provisioning -->
38
86
  {{INSTALLED_SKILLS}}
39
87
 
40
88
  ## Reference
@@ -6,6 +6,7 @@ Before taking any action on a task:
6
6
  - Read the agent config file at project root (`AGENTS.md` for Antigravity, `GEMINI.md` for Gemini CLI, or equivalent for your agent)
7
7
  - Read relevant `.agent/instructions/` files for the task type
8
8
  - Check [Engineering Standards](../../docs/plans/ENGINEERING-STANDARDS.md) for quality bar — if this file doesn't exist yet, the pipeline hasn't reached /create-prd; run /ideate then /create-prd first
9
+ - **Session Resumption**: If `.agent/progress/index.md` exists, read `.agent/skills/session-continuity/protocols/01-session-resumption.md` and follow the **Session Resumption Protocol** to load cross-session context and identify the resumption point
9
10
 
10
11
  ## 2. Check Skills
11
12
  - Scan `.agent/skills/` for applicable skills
@@ -27,11 +28,21 @@ Before taking any action on a task:
27
28
  ## 4. Validate (MANDATORY)
28
29
  After **every** code change, run:
29
30
  ```bash
30
- {{VALIDATION_COMMAND}}
31
+ See `.agent/instructions/commands.md` for the validation command.
31
32
  ```
32
33
 
33
34
  Do NOT mark a task complete until all validations pass.
34
35
 
36
+ ## 5. Learn (MANDATORY)
37
+
38
+ After completing a workflow or substantial task:
39
+
40
+ - **Pattern Extraction**: Read `.agent/skills/session-continuity/protocols/04-pattern-extraction.md` and follow the **Pattern Extraction Protocol**. Reflect on what worked, what didn't, and log reusable patterns to `memory/patterns.md`. Skip only if the task was trivial (routine, nothing new learned).
41
+ - **Session Close**: Read `.agent/skills/session-continuity/protocols/05-session-close.md` and follow the **Session Close Protocol**. Write a session log to `.agent/progress/sessions/` so the next session can resume cleanly.
42
+
43
+ > These steps are **not optional**. They are what differentiate a pipeline that gets
44
+ > smarter over time from one that repeats the same mistakes.
45
+
35
46
  ## Principles
36
47
 
37
48
  - **Ask before assuming** — Clarify ambiguous requirements
@@ -38,6 +38,11 @@ A unit of work is only DONE when:
38
38
  - Overall progress fractions updated
39
39
  4. **The Locks**: All task claims (`[!]` flags and `files:` blocks) are removed.
40
40
  5. **The Memory**: Blockers and patterns are logged to `.agent/progress/memory/`.
41
+ - Follow `.agent/skills/session-continuity/protocols/04-pattern-extraction.md` — reflect on what worked, what didn't, classify, and write to `memory/patterns.md`
42
+ - Log any new blockers or resolutions to `memory/blockers.md`
43
+ - If decisions were made using Protocol 6 (Decision Effect Analysis), verify they're recorded in `memory/decisions.md`
44
+ 6. **The Session Log**: A session close log exists in `.agent/progress/sessions/`.
45
+ - Follow `.agent/skills/session-continuity/protocols/05-session-close.md` — write what was accomplished, deferred, and where the next session should start
41
46
 
42
47
  ## Enforcement
43
48
 
@@ -46,3 +51,4 @@ updating progress files, **you may not skip it**.
46
51
 
47
52
  If you skip the progress tracking steps, you have failed the task, regardless of how
48
53
  good the code is.
54
+
@@ -14,15 +14,15 @@ trigger: always_on
14
14
  | Rule | Implementation |
15
15
  |------|---------------|
16
16
  | **No PII in AI payloads** | User data (email, name, DOB, payment info) is NEVER included in AI model requests |
17
- | **PII fields tagged in schemas** | Zod schemas mark sensitive fields with `.describe('PII')` for automated auditing |
17
+ | **PII fields tagged in schemas** | {{CONTRACT_LIBRARY}} schemas mark sensitive fields for automated auditing |
18
18
  | **No PII in logs** | Structured logging with automatic PII redaction |
19
19
  | **No PII in error messages** | Error responses never include user data — use IDs and codes only |
20
20
  | **Encrypted at rest** | All PII fields encrypted in database |
21
21
 
22
22
  ## Input Validation
23
23
 
24
- - **Every** API endpoint validates input with Zod — no exceptions
25
- - **Every** form validates client-side with Zod AND server-side with the same schema
24
+ - **Every** API endpoint validates input with {{CONTRACT_LIBRARY}} — no exceptions
25
+ - **Every** form validates client-side with {{CONTRACT_LIBRARY}} AND server-side with the same schema
26
26
  - **No** raw user input reaches a database query — always parameterized
27
27
  - **No** user input is rendered as HTML — always escaped
28
28
  - **Rate limiting** — Every public-facing endpoint must have rate limiting configured. No exceptions. Use the project's configured rate limiting utility (see `patterns.md` for the approach). Unauthenticated endpoints must have stricter limits than authenticated ones.
@@ -25,7 +25,7 @@ trigger: always_on
25
25
  A feature slice is complete when:
26
26
 
27
27
  - [ ] Data layer: schema defined, permissions set, seed data exists
28
- - [ ] API layer: endpoints exist, validated with Zod, tested
28
+ - [ ] API layer: endpoints exist, validated with {{CONTRACT_LIBRARY}}, tested
29
29
  - [ ] User-facing: component renders, handles loading/error/empty states
30
30
  - [ ] Admin: can create/read/update/delete the resource
31
31
  - [ ] Tests pass at all levels (contract, unit, integration, E2E)
@@ -75,6 +75,8 @@ When a stack key matches a value pattern (case-insensitive), install the listed
75
75
  | `API_LAYER` | `*trpc*` | `stack/api/trpc` | `trpc` |
76
76
  | `API_LAYER` | `*graphql*` | `stack/api/graphql` | `graphql` |
77
77
 
78
+ > **`{{API_DESIGN_SKILL}}` provision**: When `API_LAYER` is set, bootstrap fills `{{API_DESIGN_SKILL}}` with the matching API skill name (e.g., `trpc`, `graphql`). When `API_LAYER` is not set (REST is the default API style), `{{API_DESIGN_SKILL}}` defaults to `api-design-principles` (pre-installed). This replaces the former hardcoded `rest-api-design` reference.
79
+
78
80
  ### ORM / Data Layer
79
81
 
80
82
  | Stack Key | Value Pattern | Library Path | Installed As |
@@ -164,7 +166,7 @@ Note: `DESIGN_DIRECTION` does not copy a skill from the library — it fills pla
164
166
  |-----------|--------------|-------------|-------------|
165
167
  | `OBSERVABILITY` | `*opentelemetry*` OR `*otel*` | `stack/observability/opentelemetry` | `opentelemetry` |
166
168
  | `OBSERVABILITY` | `*distributed-tracing*` OR `*jaeger*` OR `*zipkin*` | `stack/observability/distributed-tracing` | `distributed-tracing` |
167
- | `OBSERVABILITY` | `*structured-logging*` OR `*pino*` OR `*winston*` | `stack/observability/logging-best-practices` | `logging-best-practices` |
169
+ | `OBSERVABILITY` | `*structured-logging*` OR `*pino*` OR `*winston*` | Pre-installed: `.agent/skills/logging-best-practices` | `logging-best-practices` (pre-installed) |
168
170
  | `OBSERVABILITY` | `*python*` | `stack/observability/python-observability` | `python-observability` |
169
171
  | `OBSERVABILITY` | `*datadog*` | `stack/observability/datadog` | `datadog` |
170
172
  | `OBSERVABILITY` | `*prometheus*` OR `*grafana*` | `stack/observability/prometheus-grafana` | `prometheus-grafana` |
@@ -218,7 +220,13 @@ Note: `DESIGN_DIRECTION` does not copy a skill from the library — it fills pla
218
220
  | Stack Key | Value Pattern | Library Path | Installed As |
219
221
  |-----------|--------------|-------------|-------------|
220
222
  | `CI_CD` | `*github*` | `stack/devops/github-actions` | `github-actions` |
223
+ | `CI_CD` | `*github*` | `stack/devops/git-workflow` | `git-workflow` |
224
+ | `CI_CD` | `*github*` | `stack/devops/git-advanced` | `git-advanced` |
221
225
  | `CI_CD` | `*terraform*` | `stack/devops/terraform` | `terraform` |
226
+ | `CI_CD` | `*gitlab*` | `stack/devops/git-workflow` | `git-workflow` |
227
+ | `CI_CD` | `*gitlab*` | `stack/devops/git-advanced` | `git-advanced` |
228
+ | `CI_CD` | `*bitbucket*` | `stack/devops/git-workflow` | `git-workflow` |
229
+ | `CI_CD` | `*bitbucket*` | `stack/devops/git-advanced` | `git-advanced` |
222
230
 
223
231
  ### DevOps / Infrastructure
224
232
 
@@ -232,6 +240,7 @@ Note: `DESIGN_DIRECTION` does not copy a skill from the library — it fills pla
232
240
  | Stack Key | Value Pattern | Library Path | Installed As |
233
241
  |-----------|--------------|-------------|-------------|
234
242
  | `MOBILE_FRAMEWORK` | `*expo*` OR `*react-native*` OR `*react native*` | `stack/mobile/react-native` | `react-native` |
243
+ | `MOBILE_FRAMEWORK` | `*expo*` | `stack/mobile/expo-react-native` | `expo-react-native` |
235
244
  | `MOBILE_FRAMEWORK` | `*flutter*` | `stack/mobile/flutter` | `flutter` |
236
245
  | `MOBILE_FRAMEWORK` | `*swiftui*` OR `*swift*` | `stack/mobile/swiftui` | `swiftui` |
237
246
  | `MOBILE_FRAMEWORK` | `*kotlin*` OR `*compose*` OR `*jetpack*` | `stack/mobile/kotlin-compose` | `kotlin-compose` |
@@ -261,10 +270,8 @@ Note: `DESIGN_DIRECTION` does not copy a skill from the library — it fills pla
261
270
 
262
271
  | Stack Key | Value Pattern | Library Path | Installed As |
263
272
  |-----------|--------------|-------------|-------------|
264
- | `GAME_ENGINE` | `*godot*` | `stack/engines/godot` | `godot` |
265
- | `GAME_ENGINE` | `*unity*` | `stack/engines/unity` | `unity` |
266
- | `GAME_ENGINE` | `*unreal*` OR `*ue5*` | `stack/engines/unreal` | `unreal` |
267
- | `GAME_ENGINE` | `*bevy*` | `stack/engines/bevy` | `bevy` |
273
+ | `GAME_ENGINE` | `*godot*` | `stack/gamedev/godot` | `godot` |
274
+ | `GAME_ENGINE` | `*unity*` | `stack/gamedev/unity` | `unity` |
268
275
 
269
276
  ### Security
270
277
 
@@ -353,7 +360,7 @@ When the project includes a surface type, install the listed skills.
353
360
  | `api` | `surface/api/api-caching` | `api-caching` |
354
361
  | `api` | `surface/api/api-documentation-openapi` | `api-documentation-openapi` |
355
362
  | `api` | `surface/api/webhook-design` | `webhook-design` |
356
- | `api` | `surface/api/rest-api-design` | `rest-api-design` |
363
+ | `api` | Pre-installed: `.agent/skills/api-design-principles` | `api-design-principles` (pre-installed) |
357
364
  | `api` | `surface/api/api-security-checklist` | `api-security-checklist` |
358
365
  | `api` | `stack/security/input-sanitization` | `input-sanitization` |
359
366
 
@@ -411,7 +418,7 @@ These skills are NOT auto-installed. Install via `/find-skills` or manually copy
411
418
  | `meta/mcp-builder` | Building MCP servers |
412
419
  | `meta/tmux-processes` | Long-lived process management via tmux |
413
420
  | `meta/using-tmux-for-interactive-commands` | Interactive CLI tools via tmux |
414
- | `meta/brand-guidelines` | Brand color and typography application |
421
+ | Pre-installed: `.agent/skills/brand-guidelines` | Brand color and typography application (pre-installed) |
415
422
  | `meta/product-marketing-context` | Marketing context document generator — run first before any SEO or CRO skill |
416
423
 
417
424
  ---
@@ -467,14 +474,23 @@ To add a new skill to the library:
467
474
  | `EMAIL` | Email service | Resend |
468
475
  | `QUEUE` | Job queue | Inngest, BullMQ |
469
476
  | `REALTIME` | Realtime communication | Socket.io |
470
- | `SEARCH` | Search engine | Meilisearch |
477
+ | `SEARCH` | Search engine | Meilisearch, Algolia, Typesense, Elasticsearch |
471
478
  | `CMS` | Content management | Payload CMS, WordPress, Shopify |
472
- | `STORAGE` | File/object storage | AWS S3 |
479
+ | `STORAGE` | File/object storage | AWS S3, Cloudflare R2, Google Cloud Storage |
473
480
  | `CI_CD` | CI/CD pipeline | GitHub Actions, Terraform |
474
- | `MOBILE_FRAMEWORK` | Mobile framework | Expo, React Native |
481
+ | `MOBILE_FRAMEWORK` | Mobile framework | Expo, React Native, Flutter, SwiftUI, Kotlin/Compose |
475
482
  | `LANGUAGE` | Programming language | TypeScript, Python, Rust, Go, C/C++, Java, Kotlin, JavaScript, GDScript, Bash |
483
+ | `MESSAGE_BROKER` | Message broker/queue | Kafka, RabbitMQ, NATS, AWS SQS |
484
+ | `NOTIFICATIONS` | Notification service | Twilio, FCM, SendGrid |
485
+ | `BROWSER_EXTENSION` | Browser extension framework | WXT, Plasmo, Chrome Extension |
486
+ | `VSCODE_EXTENSION` | VS Code extension | VS Code Extension |
487
+ | `FEATURE_FLAGS` | Feature flag service | LaunchDarkly, PostHog, Flagsmith |
488
+ | `DATABASE_ANALYTICS` | Analytics database | ClickHouse |
476
489
  | `3D_FRAMEWORK` | 3D rendering | Three.js, React Three Fiber |
477
490
  | `GAME_ENGINE` | Game engine | Godot, Unity |
478
491
  | `SECURITY` | Security focus area | OWASP, Crypto, CSP/CORS, Dependency Auditing, Input Sanitization |
479
492
  | `SECURITY_SKILLS` | Accumulated list of all provisioned security skills (comma-separated, auto-filled by bootstrap) | e.g., `owasp-web-security,csp-cors-headers,input-sanitization,dependency-auditing` |
493
+ | `API_DESIGN_SKILL` | API design skill for the project's API style (auto-filled by bootstrap, defaults to `api-design-principles`) | `api-design-principles`, `trpc`, `graphql` |
480
494
  | `DESIGN_DIRECTION` | Confirmed visual design direction | Minimal/Functional, Editorial, Luxury/Refined, Playful/Expressive, Technical/Brutalist, Cinematic/Immersive, or Hybrid |
495
+ | `CDN_ASSETS` | CDN provider for static assets (no skill provisioned — handled by `HOSTING_SKILL`) | Cloudflare, AWS CloudFront, Vercel Edge |
496
+ | `BACKEND_RUNTIME` | Backend runtime environment (no skill provisioned — handled by `LANGUAGE_SKILL` and `BACKEND_FRAMEWORK_SKILL`) | Node.js, Bun, Deno, Python |