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.
- package/LICENSE +21 -0
- package/README.md +19 -8
- package/package.json +46 -32
- package/template/.agent/instructions/commands.md +8 -32
- package/template/.agent/instructions/patterns.md +3 -3
- package/template/.agent/instructions/tech-stack.md +71 -23
- package/template/.agent/instructions/workflow.md +12 -1
- package/template/.agent/rules/completion-checklist.md +6 -0
- package/template/.agent/rules/security-first.md +3 -3
- package/template/.agent/rules/vertical-slices.md +1 -1
- package/template/.agent/skill-library/MANIFEST.md +26 -10
- package/template/.agent/skill-library/stack/auth/lucia/SKILL.md +230 -0
- package/template/.agent/skill-library/stack/auth/supabase-auth/SKILL.md +293 -0
- package/template/.agent/skill-library/stack/devops/git-workflow/SKILL.md +420 -0
- package/template/.agent/skill-library/stack/extensions/plasmo/SKILL.md +195 -0
- package/template/.agent/skill-library/stack/extensions/wxt/SKILL.md +216 -0
- package/template/.agent/skill-library/stack/feature-flags/flagsmith/SKILL.md +187 -0
- package/template/.agent/skill-library/stack/feature-flags/launchdarkly/SKILL.md +183 -0
- package/template/.agent/skill-library/stack/feature-flags/posthog-flags/SKILL.md +189 -0
- package/template/.agent/skill-library/stack/messaging/nats/SKILL.md +147 -0
- package/template/.agent/skill-library/stack/messaging/rabbitmq/SKILL.md +178 -0
- package/template/.agent/skill-library/stack/messaging/sqs/SKILL.md +187 -0
- package/template/.agent/skill-library/stack/mobile/kotlin-compose/SKILL.md +215 -0
- package/template/.agent/skill-library/stack/mobile/swiftui/SKILL.md +261 -0
- package/template/.agent/skill-library/stack/notifications/fcm/SKILL.md +229 -0
- package/template/.agent/skill-library/stack/notifications/sendgrid/SKILL.md +220 -0
- package/template/.agent/skill-library/stack/notifications/twilio/SKILL.md +204 -0
- package/template/.agent/skill-library/stack/search/algolia/SKILL.md +206 -0
- package/template/.agent/skill-library/stack/search/typesense/SKILL.md +189 -0
- package/template/.agent/skill-library/stack/storage/cloudflare-r2/SKILL.md +252 -0
- package/template/.agent/skill-library/stack/storage/gcs/SKILL.md +229 -0
- package/template/.agent/skills/accessibility/references/ia-spec-checklist.md +35 -0
- package/template/.agent/skills/adversarial-review/SKILL.md +1 -1
- package/template/.agent/skills/api-design-principles/SKILL.md +153 -21
- package/template/.agent/skills/api-versioning/SKILL.md +44 -298
- package/template/.agent/skills/api-versioning/references/typescript.md +157 -0
- package/template/.agent/skills/architecture-mapping/SKILL.md +16 -16
- package/template/.agent/skills/bootstrap-agents/SKILL.md +151 -152
- package/template/.agent/skills/brainstorming/SKILL.md +113 -172
- package/template/.agent/skills/clean-code/SKILL.md +189 -87
- package/template/.agent/skills/clean-code/references/typescript.md +126 -0
- package/template/.agent/skills/concise-planning/SKILL.md +74 -35
- package/template/.agent/skills/database-schema-design/SKILL.md +95 -319
- package/template/.agent/skills/database-schema-design/references/relational.md +228 -0
- package/template/.agent/skills/error-handling-patterns/SKILL.md +62 -557
- package/template/.agent/skills/error-handling-patterns/references/go.md +162 -0
- package/template/.agent/skills/error-handling-patterns/references/python.md +262 -0
- package/template/.agent/skills/error-handling-patterns/references/rust.md +112 -0
- package/template/.agent/skills/error-handling-patterns/references/typescript.md +178 -0
- package/template/.agent/skills/idea-extraction/SKILL.md +347 -111
- package/template/.agent/skills/logging-best-practices/SKILL.md +108 -767
- package/template/.agent/skills/logging-best-practices/references/go.md +49 -0
- package/template/.agent/skills/logging-best-practices/references/python.md +52 -0
- package/template/.agent/skills/logging-best-practices/references/typescript.md +215 -0
- package/template/.agent/skills/migration-management/SKILL.md +127 -311
- package/template/.agent/skills/migration-management/references/relational.md +214 -0
- package/template/.agent/skills/minimalist-surgical-development/SKILL.md +109 -43
- package/template/.agent/skills/parallel-feature-development/SKILL.md +34 -43
- package/template/.agent/skills/pipeline-rubrics/references/be-rubric.md +1 -1
- package/template/.agent/skills/pipeline-rubrics/references/ia-rubric.md +2 -2
- package/template/.agent/skills/pipeline-rubrics/references/scoring.md +1 -1
- package/template/.agent/skills/prd-templates/SKILL.md +23 -6
- package/template/.agent/skills/prd-templates/references/architecture-design-template.md +1 -1
- package/template/.agent/skills/prd-templates/references/be-spec-template.md +2 -2
- package/template/.agent/skills/prd-templates/references/decomposition-templates.md +4 -4
- package/template/.agent/skills/prd-templates/references/design-system-prerequisite-check.md +18 -0
- package/template/.agent/skills/prd-templates/references/fe-spec-template.md +1 -1
- package/template/.agent/skills/prd-templates/references/ideation-crosscut-template.md +57 -0
- package/template/.agent/skills/prd-templates/references/ideation-domain-template.md +61 -0
- package/template/.agent/skills/prd-templates/references/ideation-index-template.md +119 -0
- package/template/.agent/skills/prd-templates/references/ideation-meta-template.md +126 -0
- package/template/.agent/skills/prd-templates/references/operational-templates.md +1 -1
- package/template/.agent/skills/prd-templates/references/placeholder-workflow-mapping.md +50 -0
- package/template/.agent/skills/prd-templates/references/skill-loading-protocol.md +32 -0
- package/template/.agent/skills/prd-templates/references/slice-completion-gates.md +21 -0
- package/template/.agent/skills/prd-templates/references/spec-coverage-sweep.md +44 -0
- package/template/.agent/skills/prd-templates/references/tdd-testing-policy.md +39 -0
- package/template/.agent/skills/prd-templates/references/vision-template.md +31 -40
- package/template/.agent/skills/prompt-engineer/SKILL.md +143 -189
- package/template/.agent/skills/regex-patterns/SKILL.md +122 -540
- package/template/.agent/skills/regex-patterns/references/go.md +44 -0
- package/template/.agent/skills/regex-patterns/references/javascript.md +63 -0
- package/template/.agent/skills/regex-patterns/references/python.md +77 -0
- package/template/.agent/skills/regex-patterns/references/rust.md +43 -0
- package/template/.agent/skills/resolve-ambiguity/SKILL.md +1 -1
- package/template/.agent/skills/session-continuity/SKILL.md +11 -9
- package/template/.agent/skills/session-continuity/protocols/02-progress-generation.md +2 -2
- package/template/.agent/skills/session-continuity/protocols/04-pattern-extraction.md +1 -1
- package/template/.agent/skills/session-continuity/protocols/05-session-close.md +1 -1
- package/template/.agent/skills/session-continuity/protocols/09-parallel-claim.md +1 -1
- package/template/.agent/skills/session-continuity/protocols/10-placeholder-verification-gate.md +57 -78
- package/template/.agent/skills/session-continuity/protocols/11-parallel-synthesis.md +21 -0
- package/template/.agent/skills/skill-creator/SKILL.md +142 -529
- package/template/.agent/skills/spec-writing/SKILL.md +2 -2
- package/template/.agent/skills/tdd-workflow/SKILL.md +94 -317
- package/template/.agent/skills/tdd-workflow/references/typescript.md +231 -0
- package/template/.agent/skills/tech-stack-catalog/SKILL.md +1 -1
- package/template/.agent/skills/testing-strategist/SKILL.md +74 -687
- package/template/.agent/skills/testing-strategist/references/typescript.md +328 -0
- package/template/.agent/skills/verification-before-completion/SKILL.md +62 -110
- package/template/.agent/skills/workflow-automation/SKILL.md +140 -47
- package/template/.agent/skills/workflow-automation/references/inngest.md +88 -0
- package/template/.agent/skills/workflow-automation/references/temporal.md +64 -0
- package/template/.agent/workflows/audit-ambiguity-execute.md +22 -24
- package/template/.agent/workflows/audit-ambiguity.md +1 -1
- package/template/.agent/workflows/bootstrap-agents-fill.md +85 -143
- package/template/.agent/workflows/bootstrap-agents-provision.md +90 -122
- package/template/.agent/workflows/bootstrap-agents.md +2 -0
- package/template/.agent/workflows/create-prd-architecture.md +16 -14
- package/template/.agent/workflows/create-prd-compile.md +13 -14
- package/template/.agent/workflows/create-prd-design-system.md +3 -3
- package/template/.agent/workflows/create-prd-security.md +11 -13
- package/template/.agent/workflows/create-prd-stack.md +13 -7
- package/template/.agent/workflows/create-prd.md +21 -16
- package/template/.agent/workflows/decompose-architecture-structure.md +5 -7
- package/template/.agent/workflows/decompose-architecture-validate.md +20 -3
- package/template/.agent/workflows/decompose-architecture.md +2 -2
- package/template/.agent/workflows/evolve-contract.md +39 -12
- package/template/.agent/workflows/evolve-feature-cascade.md +1 -1
- package/template/.agent/workflows/evolve-feature-classify.md +4 -4
- package/template/.agent/workflows/evolve-feature.md +1 -1
- package/template/.agent/workflows/ideate-discover.md +120 -68
- package/template/.agent/workflows/ideate-extract.md +111 -35
- package/template/.agent/workflows/ideate-validate.md +129 -57
- package/template/.agent/workflows/ideate.md +18 -52
- package/template/.agent/workflows/implement-slice-setup.md +26 -24
- package/template/.agent/workflows/implement-slice-tdd.md +56 -117
- package/template/.agent/workflows/implement-slice.md +6 -4
- package/template/.agent/workflows/plan-phase-preflight.md +128 -0
- package/template/.agent/workflows/plan-phase-write.md +110 -0
- package/template/.agent/workflows/plan-phase.md +7 -171
- package/template/.agent/workflows/remediate-pipeline-assess.md +3 -3
- package/template/.agent/workflows/remediate-pipeline-execute.md +1 -1
- package/template/.agent/workflows/remediate-pipeline.md +1 -1
- package/template/.agent/workflows/resolve-ambiguity.md +2 -2
- package/template/.agent/workflows/sync-kit.md +48 -1
- package/template/.agent/workflows/update-architecture-map.md +22 -5
- package/template/.agent/workflows/validate-phase.md +30 -62
- package/template/.agent/workflows/verify-infrastructure.md +10 -10
- package/template/.agent/workflows/write-architecture-spec-deepen.md +1 -1
- package/template/.agent/workflows/write-architecture-spec-design.md +33 -56
- package/template/.agent/workflows/write-architecture-spec.md +1 -1
- package/template/.agent/workflows/write-be-spec-classify.md +27 -21
- package/template/.agent/workflows/write-be-spec-write.md +2 -1
- package/template/.agent/workflows/write-be-spec.md +3 -3
- package/template/.agent/workflows/write-fe-spec-classify.md +8 -21
- package/template/.agent/workflows/write-fe-spec-write.md +3 -2
- package/template/.agent/workflows/write-fe-spec.md +4 -2
- package/template/AGENTS.md +10 -10
- package/template/GEMINI.md +14 -12
- package/template/docs/README.md +30 -7
- package/template/docs/kit-architecture.md +127 -17
- package/template/docs/plans/README.md +2 -1
- package/template/docs/plans/ideation/.gitkeep +0 -0
- package/template/docs/plans/ideation/README.md +23 -0
- package/template/docs/plans/ideation/cross-cuts/.gitkeep +0 -0
- package/template/docs/plans/ideation/domains/.gitkeep +0 -0
- package/template/docs/plans/ideation/meta/.gitkeep +0 -0
- package/template/.agent/skill-library/meta/brand-guidelines/SKILL.md +0 -73
- package/template/.agent/skill-library/meta/regex-patterns/SKILL.md +0 -751
- package/template/.agent/skill-library/stack/engines/godot/SKILL.md +0 -488
- package/template/.agent/skill-library/stack/observability/logging-best-practices/SKILL.md +0 -168
- package/template/.agent/skill-library/surface/api/api-versioning/SKILL.md +0 -420
- package/template/.agent/skill-library/surface/api/rest-api-design/SKILL.md +0 -478
- package/template/.agent/skills/prompt-engineer/README.md +0 -659
- package/template/.agent/skills/rest-api-design/SKILL.md +0 -478
- package/template/.agent/skills/skill-creator/LICENSE.txt +0 -202
- package/template/.agent/skills/skill-creator/README.md +0 -270
- package/template/.agent/skills/skill-creator/references/output-patterns.md +0 -82
- package/template/.agent/skills/skill-creator/references/workflows.md +0 -28
- package/template/.agent/skills/skill-creator/scripts/init_skill.py +0 -303
- package/template/.agent/skills/skill-creator/scripts/package_skill.py +0 -110
- package/template/.agent/skills/skill-creator/scripts/quick_validate.py +0 -95
- /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
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
"
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
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
|
|
6
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
- **
|
|
12
|
+
- **{{CONTRACT_LIBRARY}} validation** — All API inputs validated with {{CONTRACT_LIBRARY}} schemas
|
|
13
13
|
- **Self-documenting** — Clear naming over comments
|
|
14
|
-
- **
|
|
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** —
|
|
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
|
|
6
|
-
|
|
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
|
|
9
|
+
## Surface Stack Map
|
|
10
10
|
|
|
11
|
-
**
|
|
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
|
-
|
|
13
|
+
### How Workflows Use This Map
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
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
|
-
|
|
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
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
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 /
|
|
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
|
-
|
|
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** |
|
|
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
|
|
25
|
-
- **Every** form validates client-side with
|
|
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
|
|
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*` |
|
|
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/
|
|
265
|
-
| `GAME_ENGINE` | `*unity*` | `stack/
|
|
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` |
|
|
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
|
-
|
|
|
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 |
|