paqad-ai 0.0.5 → 0.0.9

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 (199) hide show
  1. package/README.md +64 -11
  2. package/dist/cli/index.js +3772 -422
  3. package/dist/cli/index.js.map +1 -1
  4. package/dist/index.d.ts +417 -48
  5. package/dist/index.js +4225 -739
  6. package/dist/index.js.map +1 -1
  7. package/package.json +15 -17
  8. package/runtime/domains/_shared/agents/adversarial-reviewer.md +1 -1
  9. package/runtime/domains/_shared/agents/gap-detector.md +1 -1
  10. package/runtime/domains/_shared/agents/market-researcher.md +1 -1
  11. package/runtime/domains/_shared/agents/requirement-analyst.md +2 -2
  12. package/runtime/domains/_shared/agents/router.md +35 -4
  13. package/runtime/domains/_shared/agents/story-designer.md +1 -1
  14. package/runtime/domains/_shared/agents/test-planner.md +1 -1
  15. package/runtime/domains/_shared/rules/constitution.md +4 -0
  16. package/runtime/domains/_shared/skills/acceptance-criteria-gen/SKILL.md +49 -9
  17. package/runtime/domains/_shared/skills/acceptance-criteria-gen/agents/openai.yaml +3 -0
  18. package/runtime/domains/_shared/skills/acceptance-criteria-gen/references/criteria-template.md +10 -0
  19. package/runtime/domains/_shared/skills/adversarial-review/SKILL.md +53 -9
  20. package/runtime/domains/_shared/skills/adversarial-review/agents/openai.yaml +3 -0
  21. package/runtime/domains/_shared/skills/adversarial-review/references/review-dimensions.md +11 -0
  22. package/runtime/domains/_shared/skills/api-doc-maintainer/SKILL.md +46 -21
  23. package/runtime/domains/_shared/skills/api-doc-maintainer/agents/openai.yaml +3 -0
  24. package/runtime/domains/_shared/skills/api-doc-maintainer/references/api-entry-requirements.md +10 -0
  25. package/runtime/domains/_shared/skills/canonical-doc-sync/SKILL.md +52 -10
  26. package/runtime/domains/_shared/skills/canonical-doc-sync/agents/openai.yaml +3 -0
  27. package/runtime/domains/_shared/skills/canonical-doc-sync/references/drift-triage.md +9 -0
  28. package/runtime/domains/_shared/skills/diff-doc-sync/SKILL.md +66 -0
  29. package/runtime/domains/_shared/skills/diff-doc-sync/agents/openai.yaml +3 -0
  30. package/runtime/domains/_shared/skills/diff-doc-sync/references/diff-sync-rules.md +5 -0
  31. package/runtime/domains/_shared/skills/documentation-workflow/SKILL.md +52 -16
  32. package/runtime/domains/_shared/skills/documentation-workflow/agents/openai.yaml +4 -0
  33. package/runtime/domains/_shared/skills/documentation-workflow/references/workflow-stages.md +9 -0
  34. package/runtime/domains/_shared/skills/edge-case-detection/SKILL.md +49 -9
  35. package/runtime/domains/_shared/skills/edge-case-detection/agents/openai.yaml +3 -0
  36. package/runtime/domains/_shared/skills/edge-case-detection/references/edge-case-categories.md +10 -0
  37. package/runtime/domains/_shared/skills/error-catalog-maintainer/SKILL.md +45 -22
  38. package/runtime/domains/_shared/skills/error-catalog-maintainer/agents/openai.yaml +3 -0
  39. package/runtime/domains/_shared/skills/error-catalog-maintainer/references/error-entry-fields.md +11 -0
  40. package/runtime/domains/_shared/skills/existing-doc-checker/SKILL.md +53 -10
  41. package/runtime/domains/_shared/skills/existing-doc-checker/agents/openai.yaml +3 -0
  42. package/runtime/domains/_shared/skills/existing-doc-checker/references/doc-scan-order.md +8 -0
  43. package/runtime/domains/_shared/skills/glossary-maintainer/SKILL.md +50 -10
  44. package/runtime/domains/_shared/skills/glossary-maintainer/agents/openai.yaml +3 -0
  45. package/runtime/domains/_shared/skills/glossary-maintainer/references/term-guidelines.md +10 -0
  46. package/runtime/domains/_shared/skills/integration-doc-maintainer/SKILL.md +45 -21
  47. package/runtime/domains/_shared/skills/integration-doc-maintainer/agents/openai.yaml +3 -0
  48. package/runtime/domains/_shared/skills/integration-doc-maintainer/references/integration-contract-fields.md +10 -0
  49. package/runtime/domains/_shared/skills/request-classifier/SKILL.md +60 -10
  50. package/runtime/domains/_shared/skills/request-classifier/agents/openai.yaml +3 -0
  51. package/runtime/domains/_shared/skills/request-classifier/references/decision-rules.md +9 -0
  52. package/runtime/domains/_shared/skills/requirement-enrichment/SKILL.md +49 -9
  53. package/runtime/domains/_shared/skills/requirement-enrichment/agents/openai.yaml +3 -0
  54. package/runtime/domains/_shared/skills/requirement-enrichment/references/enrichment-checklist.md +9 -0
  55. package/runtime/domains/_shared/skills/scope-check/SKILL.md +63 -0
  56. package/runtime/domains/_shared/skills/scope-check/agents/openai.yaml +3 -0
  57. package/runtime/domains/_shared/skills/scope-check/references/scope-rules.md +5 -0
  58. package/runtime/domains/_shared/skills/sequence-planner/SKILL.md +54 -9
  59. package/runtime/domains/_shared/skills/sequence-planner/agents/openai.yaml +3 -0
  60. package/runtime/domains/_shared/skills/sequence-planner/references/sequencing-rules.md +11 -0
  61. package/runtime/domains/_shared/skills/session-resume/SKILL.md +69 -0
  62. package/runtime/domains/_shared/skills/session-resume/agents/openai.yaml +3 -0
  63. package/runtime/domains/_shared/skills/session-resume/references/resume-template.md +5 -0
  64. package/runtime/domains/_shared/skills/spec-diff/SKILL.md +63 -0
  65. package/runtime/domains/_shared/skills/spec-diff/agents/openai.yaml +3 -0
  66. package/runtime/domains/_shared/skills/spec-diff/references/spec-diff-rules.md +5 -0
  67. package/runtime/domains/_shared/skills/story-and-solution-writer/SKILL.md +53 -9
  68. package/runtime/domains/_shared/skills/story-and-solution-writer/agents/openai.yaml +3 -0
  69. package/runtime/domains/_shared/skills/story-and-solution-writer/references/story-template.md +10 -0
  70. package/runtime/domains/_shared/skills/test-per-ac-planner/SKILL.md +49 -9
  71. package/runtime/domains/_shared/skills/test-per-ac-planner/agents/openai.yaml +3 -0
  72. package/runtime/domains/_shared/skills/test-per-ac-planner/references/verification-mapping.md +8 -0
  73. package/runtime/domains/coding/agents/database-expert.md +1 -1
  74. package/runtime/domains/coding/agents/solution-architect.md +1 -1
  75. package/runtime/domains/coding/skills/business-logic-abuse-review/SKILL.md +61 -0
  76. package/runtime/domains/coding/skills/business-logic-abuse-review/agents/openai.yaml +3 -0
  77. package/runtime/domains/coding/skills/business-logic-abuse-review/references/abuse-cases.md +7 -0
  78. package/runtime/domains/coding/skills/database-design-review/SKILL.md +52 -12
  79. package/runtime/domains/coding/skills/database-design-review/agents/openai.yaml +3 -0
  80. package/runtime/domains/coding/skills/database-design-review/references/database-review-rubric.md +7 -0
  81. package/runtime/domains/coding/skills/dependency-advisory-triage/SKILL.md +63 -0
  82. package/runtime/domains/coding/skills/dependency-advisory-triage/agents/openai.yaml +3 -0
  83. package/runtime/domains/coding/skills/dependency-advisory-triage/references/advisory-normalization.md +5 -0
  84. package/runtime/domains/coding/skills/finding-normalizer/SKILL.md +56 -0
  85. package/runtime/domains/coding/skills/finding-normalizer/agents/openai.yaml +3 -0
  86. package/runtime/domains/coding/skills/finding-normalizer/references/finding-fields.md +5 -0
  87. package/runtime/domains/coding/skills/index-optimization/SKILL.md +52 -12
  88. package/runtime/domains/coding/skills/index-optimization/agents/openai.yaml +3 -0
  89. package/runtime/domains/coding/skills/index-optimization/references/index-review-guide.md +10 -0
  90. package/runtime/domains/coding/skills/permission-boundary-review/SKILL.md +62 -0
  91. package/runtime/domains/coding/skills/permission-boundary-review/agents/openai.yaml +3 -0
  92. package/runtime/domains/coding/skills/permission-boundary-review/references/boundary-checklist.md +5 -0
  93. package/runtime/domains/coding/skills/query-pattern-analysis/SKILL.md +51 -11
  94. package/runtime/domains/coding/skills/query-pattern-analysis/agents/openai.yaml +3 -0
  95. package/runtime/domains/coding/skills/query-pattern-analysis/references/query-risk-guide.md +8 -0
  96. package/runtime/domains/coding/skills/retest-verification/SKILL.md +60 -0
  97. package/runtime/domains/coding/skills/retest-verification/agents/openai.yaml +3 -0
  98. package/runtime/domains/coding/skills/retest-verification/references/retest-status-rules.md +5 -0
  99. package/runtime/domains/coding/skills/root-cause-analysis/SKILL.md +59 -0
  100. package/runtime/domains/coding/skills/root-cause-analysis/agents/openai.yaml +3 -0
  101. package/runtime/domains/coding/skills/root-cause-analysis/references/rca-sections.md +15 -0
  102. package/runtime/domains/coding/skills/runtime-surface-probing/SKILL.md +59 -0
  103. package/runtime/domains/coding/skills/runtime-surface-probing/agents/openai.yaml +3 -0
  104. package/runtime/domains/coding/skills/runtime-surface-probing/references/runtime-surface-checks.md +5 -0
  105. package/runtime/domains/coding/skills/ui-doc-maintainer/SKILL.md +51 -10
  106. package/runtime/domains/coding/skills/ui-doc-maintainer/agents/openai.yaml +3 -0
  107. package/runtime/domains/coding/skills/ui-doc-maintainer/references/ui-doc-fields.md +9 -0
  108. package/runtime/domains/coding/skills/user-flow-generation/SKILL.md +51 -10
  109. package/runtime/domains/coding/skills/user-flow-generation/agents/openai.yaml +3 -0
  110. package/runtime/domains/coding/skills/user-flow-generation/references/user-flow-sections.md +9 -0
  111. package/runtime/domains/coding/skills/ux-design-research/SKILL.md +52 -10
  112. package/runtime/domains/coding/skills/ux-design-research/agents/openai.yaml +3 -0
  113. package/runtime/domains/coding/skills/ux-design-research/references/research-capture-format.md +9 -0
  114. package/runtime/domains/coding/skills/ux-heuristic-evaluation/SKILL.md +51 -10
  115. package/runtime/domains/coding/skills/ux-heuristic-evaluation/agents/openai.yaml +3 -0
  116. package/runtime/domains/coding/skills/ux-heuristic-evaluation/references/heuristic-rubric.md +10 -0
  117. package/runtime/domains/coding/skills/ux-state-machine/SKILL.md +51 -10
  118. package/runtime/domains/coding/skills/ux-state-machine/agents/openai.yaml +3 -0
  119. package/runtime/domains/coding/skills/ux-state-machine/references/state-inventory-template.md +9 -0
  120. package/runtime/domains/coding/stacks/_shared/skills/regression-test-gen/SKILL.md +51 -10
  121. package/runtime/domains/coding/stacks/_shared/skills/regression-test-gen/agents/openai.yaml +3 -0
  122. package/runtime/domains/coding/stacks/_shared/skills/regression-test-gen/references/regression-layer-map.md +8 -0
  123. package/runtime/domains/coding/stacks/flutter/references/tools/flutter-quality-gate.md +4 -0
  124. package/runtime/domains/coding/stacks/laravel/capabilities/boost/mcp/boost-mcp.md +3 -0
  125. package/runtime/domains/coding/stacks/laravel/capabilities/boost/rules/boost.md +10 -0
  126. package/runtime/domains/coding/stacks/laravel/capabilities/inertia/rules/inertia.md +12 -0
  127. package/runtime/domains/coding/stacks/laravel/capabilities/react/rules/react.md +12 -0
  128. package/runtime/domains/coding/stacks/laravel/capabilities/tailwind/rules/tailwind.md +11 -0
  129. package/runtime/domains/coding/stacks/laravel/capabilities/vue/rules/vue.md +15 -0
  130. package/runtime/domains/coding/stacks/laravel/references/tools/artisan.md +2 -0
  131. package/runtime/domains/coding/stacks/laravel/references/tools/sail.md +1 -0
  132. package/runtime/domains/coding/stacks/laravel/references/tools/security-review-checklist.md +6 -0
  133. package/runtime/domains/coding/stacks/laravel/references/tools/testing.md +2 -0
  134. package/runtime/domains/coding/stacks/laravel/references/tools-catalog.md +1 -0
  135. package/runtime/domains/coding/stacks/react/capabilities/gatsby/rules/gatsby.md +7 -0
  136. package/runtime/domains/coding/stacks/react/capabilities/next/rules/next.md +7 -0
  137. package/runtime/domains/coding/stacks/react/capabilities/remix/rules/remix.md +7 -0
  138. package/runtime/domains/coding/stacks/react/capabilities/vite-spa/rules/vite-spa.md +7 -0
  139. package/runtime/domains/coding/stacks/react/references/tools/code-quality.md +10 -0
  140. package/runtime/domains/coding/stacks/react/references/tools/package-manager.md +10 -0
  141. package/runtime/domains/coding/stacks/react/references/tools/playwright.md +10 -0
  142. package/runtime/domains/coding/stacks/react/references/tools/security-review-checklist.md +6 -0
  143. package/runtime/domains/coding/stacks/react/references/tools/testing.md +16 -0
  144. package/runtime/domains/coding/stacks/react/references/tools-catalog.md +7 -0
  145. package/runtime/domains/coding/stacks/react/rules/architecture.md +7 -0
  146. package/runtime/domains/coding/stacks/react/rules/conventions/guide.md +4 -0
  147. package/runtime/domains/coding/stacks/react/rules/documentation/guide.md +4 -0
  148. package/runtime/domains/coding/stacks/react/rules/environment.md +7 -0
  149. package/runtime/domains/coding/stacks/react/rules/foundation/guide.md +4 -0
  150. package/runtime/domains/coding/stacks/react/rules/localization.md +7 -0
  151. package/runtime/domains/coding/stacks/react/rules/modules.md +7 -0
  152. package/runtime/domains/coding/stacks/react/rules/performance/guide.md +4 -0
  153. package/runtime/domains/coding/stacks/react/rules/security/guide.md +4 -0
  154. package/runtime/domains/coding/stacks/react/rules/testing/guide.md +4 -0
  155. package/runtime/domains/coding/stacks/react/rules/ui-safety.md +7 -0
  156. package/runtime/domains/coding/stacks/vue/capabilities/nuxt/rules/nuxt.md +7 -0
  157. package/runtime/domains/coding/stacks/vue/capabilities/quasar/rules/quasar.md +7 -0
  158. package/runtime/domains/coding/stacks/vue/capabilities/vite-spa/rules/vite-spa.md +7 -0
  159. package/runtime/domains/coding/stacks/vue/references/tools/code-quality.md +10 -0
  160. package/runtime/domains/coding/stacks/vue/references/tools/package-manager.md +10 -0
  161. package/runtime/domains/coding/stacks/vue/references/tools/playwright.md +10 -0
  162. package/runtime/domains/coding/stacks/vue/references/tools/security-review-checklist.md +6 -0
  163. package/runtime/domains/coding/stacks/vue/references/tools/testing.md +16 -0
  164. package/runtime/domains/coding/stacks/vue/references/tools-catalog.md +7 -0
  165. package/runtime/domains/coding/stacks/vue/rules/architecture.md +7 -0
  166. package/runtime/domains/coding/stacks/vue/rules/conventions/guide.md +4 -0
  167. package/runtime/domains/coding/stacks/vue/rules/documentation/guide.md +4 -0
  168. package/runtime/domains/coding/stacks/vue/rules/environment.md +7 -0
  169. package/runtime/domains/coding/stacks/vue/rules/foundation/guide.md +4 -0
  170. package/runtime/domains/coding/stacks/vue/rules/localization.md +7 -0
  171. package/runtime/domains/coding/stacks/vue/rules/modules.md +7 -0
  172. package/runtime/domains/coding/stacks/vue/rules/performance/guide.md +4 -0
  173. package/runtime/domains/coding/stacks/vue/rules/security/guide.md +4 -0
  174. package/runtime/domains/coding/stacks/vue/rules/testing/guide.md +4 -0
  175. package/runtime/domains/coding/stacks/vue/rules/ui-safety.md +7 -0
  176. package/runtime/hooks/block-destructive.sh +0 -0
  177. package/runtime/hooks/context-budget-check.sh +29 -0
  178. package/runtime/hooks/context-hit-tracker.sh +0 -0
  179. package/runtime/hooks/post-destructive-approved.sh +31 -0
  180. package/runtime/hooks/pre-commit-check.sh +0 -0
  181. package/runtime/hooks/pre-compact-preserve.mjs +21 -0
  182. package/runtime/hooks/pre-compact-preserve.sh +1 -12
  183. package/runtime/hooks/pre-migrate-check.sh +0 -0
  184. package/runtime/hooks/pre-write-check-spec.sh +0 -0
  185. package/runtime/hooks/reset-doc-progress.sh +51 -0
  186. package/runtime/hooks/skill-cache-check.sh +0 -0
  187. package/runtime/hooks/skill-index-gen.mjs +51 -0
  188. package/runtime/hooks/stale-doc-detector.sh +44 -0
  189. package/runtime/hooks/track-file-changes.sh +0 -0
  190. package/runtime/templates/agent-configs/agents.md.hbs +3 -1
  191. package/runtime/templates/agent-configs/claude.md.hbs +3 -1
  192. package/runtime/templates/agent-configs/gemini.md.hbs +3 -1
  193. package/runtime/templates/agent-configs/junie.md.hbs +3 -0
  194. package/runtime/templates/runner-scripts/pentest-audit-dependencies.sh.hbs +33 -0
  195. package/runtime/templates/runner-scripts/pentest-db-readonly.sh.hbs +35 -0
  196. package/runtime/templates/runner-scripts/pentest-enumerate-surface.sh.hbs +45 -0
  197. package/runtime/templates/runner-scripts/pentest-retest.sh.hbs +32 -0
  198. package/runtime/templates/runner-scripts/pentest-runtime-checks.sh.hbs +53 -0
  199. package/runtime/templates/runner-scripts/pentest-scan-secrets.sh.hbs +38 -0
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # paqad-ai
2
2
 
3
- `paqad-ai` is a documentation-first AI agency framework for Laravel and Flutter workflows. It scaffolds project rules, documentation, registries, health checks, and agent-facing entry files so teams can run a consistent workflow across Claude Code, Codex CLI, Gemini CLI, and Junie.
3
+ `paqad-ai` is a documentation-first AI agency framework for Laravel, Flutter, React, and Vue workflows. It scaffolds project rules, documentation, registries, health checks, and agent-facing entry files so teams can run a consistent workflow across Claude Code, Codex CLI, Gemini CLI, and Junie.
4
4
 
5
5
  ## About paqad-ai
6
6
 
@@ -30,6 +30,11 @@ Junie support is intentionally limited to the documented repo-managed surface:
30
30
 
31
31
  ## Installation
32
32
 
33
+ Prerequisites:
34
+
35
+ - Node.js 25 or newer
36
+ - pnpm 10 or newer for local development
37
+
33
38
  Install globally:
34
39
 
35
40
  ```bash
@@ -62,14 +67,25 @@ Refresh framework-managed artifacts:
62
67
  paqad-ai update --project-root .
63
68
  ```
64
69
 
70
+ ## Quality Gates
71
+
72
+ Local and CI verification use the same `pnpm run ci` pipeline:
73
+
74
+ ```bash
75
+ pnpm run ci
76
+ ```
77
+
78
+ This runs typecheck, lint, formatting checks, test coverage, and build validation. Coverage thresholds are enforced at 90% for statements, branches, functions, and lines.
79
+
65
80
  ## What paqad-ai Generates
66
81
 
67
- Depending on the detected stack and selected options, `paqad-ai` can generate:
82
+ Depending on the detected stack profile and selected providers, `paqad-ai` can generate:
68
83
 
69
84
  - adapter entry files such as `CLAUDE.md`, `AGENTS.md`, `GEMINI.md`, and `.junie/AGENTS.md`
70
85
  - project profile and onboarding metadata under `.agency/`
71
86
  - project rules under `docs/rules/`
72
87
  - module scaffolds and registries under `docs/`
88
+ - stack docs under `docs/framework/stack/`
73
89
  - design-system and architecture guidance
74
90
  - stack-aware MCP configuration for supported adapters
75
91
  - runnable project health-check scripts
@@ -114,26 +130,63 @@ Runs full project onboarding and generates the framework-managed scaffold.
114
130
  paqad-ai onboard --project-root .
115
131
  ```
116
132
 
117
- Examples:
133
+ When run without flags in an interactive terminal, `onboard` prompts for:
134
+
135
+ 1. **Providers** — multi-select: Codex, Claude Code, Gemini, Junie (one or more required).
136
+ 2. **Domain** — currently `coding` is the primary shipped workflow.
137
+ 3. **Manifest-driven stack scan** — `composer.json`, `package.json`, lockfiles, and supported config files are scanned first.
138
+ 4. **Fallback stack details** — only shown when detection is missing or ambiguous. Laravel asks for Inertia, Frontend (None / React.js / Vue.js), Tailwind, Boost. React asks for app type and Tailwind. Vue asks for app type and Tailwind.
139
+
140
+ Examples (non-interactive / CI):
118
141
 
119
142
  ```bash
120
- paqad-ai onboard --project-root . --domain coding --stack laravel --capability boost
121
- paqad-ai onboard --project-root . --domain coding --stack flutter
143
+ # Laravel with React and Tailwind, Claude Code only
144
+ paqad-ai onboard --project-root . --stack laravel --capability react tailwind --providers claude-code
145
+
146
+ # Flutter with all providers
147
+ paqad-ai onboard --project-root . --stack flutter
148
+
149
+ # Next.js with Tailwind
150
+ paqad-ai onboard --project-root . --stack react --capability next tailwind
151
+
152
+ # Plain Laravel
153
+ paqad-ai onboard --project-root . --stack laravel
122
154
  ```
123
155
 
124
156
  Options:
125
157
 
126
158
  - `--project-root <path>`: target project directory. Defaults to the current working directory.
127
159
  - `--domain <domain>`: force the target domain. Current values are `coding` and `content`.
128
- - `--stack <stack>`: force the target stack. Current values are `laravel`, `flutter`, and `short-video`.
129
- - `--capability <capability...>`: add one or more capabilities such as `boost`.
160
+ - `--stack <stack>`: fallback/manual override for the target stack. Values: `laravel`, `flutter`, `react`, `vue`, `short-video`.
161
+ - `--capability <capability...>`: fallback/manual trait override `inertia`, `react`, `vue`, `tailwind`, `boost`, `next`, `remix`, `vite-spa`, `gatsby`, `nuxt`, `quasar`.
162
+ - `--providers <provider...>`: one or more providers — `codex-cli`, `claude-code`, `gemini-cli`, `junie`.
163
+
164
+ Supported capabilities per stack:
165
+
166
+ | Stack | Capabilities |
167
+ | ------- | ------------------------------------------------- |
168
+ | Laravel | `inertia`, `react`, `vue`, `tailwind`, `boost` |
169
+ | Flutter | _(none)_ |
170
+ | React | `next`, `remix`, `vite-spa`, `gatsby`, `tailwind` |
171
+ | Vue | `nuxt`, `vite-spa`, `quasar`, `tailwind` |
172
+
173
+ Notes:
174
+
175
+ - `react` and `vue` are mutually exclusive. Select only one frontend framework.
176
+ - Standalone React and Vue projects are supported directly; Laravel continues to use `react` and `vue` as capabilities when paired with backend-driven frontend code.
177
+ - Standalone React/Vue onboarding copies the selected sub-stack rule bundle, so `next`, `remix`, `vite-spa`, `gatsby`, `nuxt`, and `quasar` each bring their own project rules when selected.
178
+ - Laravel testing commands now detect Pest and PHPUnit from Composer dependencies and write the matching defaults into the generated project profile.
179
+ - Docker, Docker Compose, and Laravel Sail are detected as environment traits and mirrored into `.agency/stack-snapshot.json` and `docs/framework/stack/`.
180
+ - Stack truth is stored canonically in `.agency/stack-snapshot.json` and mirrored for humans under `docs/framework/stack/`.
181
+ - If no `--providers` flag is passed in a non-interactive context, files for all four providers are generated.
182
+ - Onboarding is idempotent: running it twice with the same selections produces the same output.
130
183
 
131
184
  Behavior:
132
185
 
133
186
  - runs project detection
134
- - resolves rules, agents, skills, MCP configs, templates, and scripts
135
- - generates adapter entry files including Junie support
136
- - writes `.agency/project-profile.yaml`, `.agency/onboarding-manifest.json`, and related framework artifacts
187
+ - resolves rules, agents, skills, MCP configs, templates, and scripts from the detected stack profile plus any fallback/manual overrides
188
+ - generates provider-specific entry files only for the selected providers
189
+ - writes `.agency/project-profile.yaml`, `.agency/onboarding-manifest.json`, `.agency/stack-snapshot.json`, `.agency/stack-drift.json`, and related framework artifacts
137
190
 
138
191
  ### `doctor`
139
192
 
@@ -177,7 +230,7 @@ Options:
177
230
  Behavior:
178
231
 
179
232
  - refreshes design-system docs when enabled
180
- - refreshes stack introspection snapshots when enabled
233
+ - refreshes stack introspection snapshots and `docs/framework/stack/**` when enabled
181
234
  - when no specific refresh flags are passed, both refresh paths run
182
235
 
183
236
  ### `update`