@girardmedia/bootspring 1.2.0 → 2.0.3

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 (253) hide show
  1. package/README.md +107 -14
  2. package/bin/bootspring.js +166 -27
  3. package/cli/agent.js +189 -17
  4. package/cli/analyze.js +499 -0
  5. package/cli/audit.js +557 -0
  6. package/cli/auth.js +495 -38
  7. package/cli/billing.js +302 -0
  8. package/cli/build.js +695 -0
  9. package/cli/business.js +109 -26
  10. package/cli/checkpoint-utils.js +168 -0
  11. package/cli/checkpoint.js +639 -0
  12. package/cli/cloud-sync.js +447 -0
  13. package/cli/content.js +198 -0
  14. package/cli/context.js +1 -1
  15. package/cli/deploy.js +543 -0
  16. package/cli/fundraise.js +112 -50
  17. package/cli/github-cmd.js +435 -0
  18. package/cli/health.js +477 -0
  19. package/cli/init.js +84 -13
  20. package/cli/legal.js +107 -95
  21. package/cli/log.js +2 -2
  22. package/cli/loop.js +976 -73
  23. package/cli/manager.js +711 -0
  24. package/cli/metrics.js +480 -0
  25. package/cli/monitor.js +812 -0
  26. package/cli/onboard.js +521 -0
  27. package/cli/orchestrator.js +12 -24
  28. package/cli/prd.js +594 -0
  29. package/cli/preseed-start.js +1483 -0
  30. package/cli/preseed.js +2302 -0
  31. package/cli/project.js +436 -0
  32. package/cli/quality.js +233 -0
  33. package/cli/security.js +913 -0
  34. package/cli/seed.js +1441 -5
  35. package/cli/skill.js +273 -211
  36. package/cli/suggest.js +989 -0
  37. package/cli/switch.js +453 -0
  38. package/cli/visualize.js +527 -0
  39. package/cli/watch.js +769 -0
  40. package/cli/workspace.js +607 -0
  41. package/core/analyze-workflow.js +1134 -0
  42. package/core/api-client.js +535 -22
  43. package/core/audit-workflow.js +1350 -0
  44. package/core/build-orchestrator.js +480 -0
  45. package/core/build-state.js +577 -0
  46. package/core/checkpoint-engine.js +408 -0
  47. package/core/config.js +1109 -26
  48. package/core/context-loader.js +21 -1
  49. package/core/deploy-workflow.js +836 -0
  50. package/core/entitlements.js +93 -22
  51. package/core/github-sync.js +610 -0
  52. package/core/index.js +8 -1
  53. package/core/ingest.js +1111 -0
  54. package/core/metrics-engine.js +768 -0
  55. package/core/onboard-workflow.js +1007 -0
  56. package/core/preseed-workflow.js +934 -0
  57. package/core/preseed.js +1617 -0
  58. package/core/project-context.js +325 -0
  59. package/core/project-state.js +694 -0
  60. package/core/r2-sync.js +583 -0
  61. package/core/scaffold.js +525 -7
  62. package/core/session.js +258 -0
  63. package/core/task-extractor.js +758 -0
  64. package/core/telemetry.js +28 -6
  65. package/core/tier-enforcement.js +737 -0
  66. package/core/utils.js +38 -14
  67. package/generators/questionnaire.js +15 -12
  68. package/generators/sections/ai.js +7 -7
  69. package/generators/sections/content.js +300 -0
  70. package/generators/sections/index.js +3 -0
  71. package/generators/sections/plugins.js +7 -6
  72. package/generators/templates/build-planning.template.js +596 -0
  73. package/generators/templates/content.template.js +819 -0
  74. package/generators/templates/index.js +2 -1
  75. package/hooks/git-autopilot.js +1250 -0
  76. package/hooks/index.js +9 -0
  77. package/intelligence/agent-collab.js +2057 -0
  78. package/intelligence/auto-suggest.js +634 -0
  79. package/intelligence/content-gen.js +1589 -0
  80. package/intelligence/cross-project.js +1647 -0
  81. package/intelligence/index.js +184 -0
  82. package/intelligence/learning/insights.json +517 -7
  83. package/intelligence/learning/pattern-learner.js +1008 -14
  84. package/intelligence/memory/decision-tracker.js +1431 -31
  85. package/intelligence/memory/decisions.jsonl +0 -0
  86. package/intelligence/orchestrator.js +2896 -1
  87. package/intelligence/prd.js +92 -1
  88. package/intelligence/recommendation-weights.json +14 -2
  89. package/intelligence/recommendations.js +463 -9
  90. package/intelligence/workflow-composer.js +1451 -0
  91. package/marketplace/index.d.ts +324 -0
  92. package/marketplace/index.js +1921 -0
  93. package/mcp/contracts/mcp-contract.v1.json +342 -4
  94. package/mcp/registry.js +680 -3
  95. package/mcp/response-formatter.js +23 -0
  96. package/mcp/tools/assist-tool.js +78 -4
  97. package/mcp/tools/autopilot-tool.js +408 -0
  98. package/mcp/tools/content-tool.js +571 -0
  99. package/mcp/tools/dashboard-tool.js +251 -5
  100. package/mcp/tools/mvp-tool.js +344 -0
  101. package/mcp/tools/plugin-tool.js +23 -1
  102. package/mcp/tools/prd-tool.js +579 -0
  103. package/mcp/tools/seed-tool.js +447 -0
  104. package/mcp/tools/skill-tool.js +43 -14
  105. package/mcp/tools/suggest-tool.js +147 -0
  106. package/package.json +15 -6
  107. package/agents/README.md +0 -93
  108. package/agents/ai-integration-expert/context.md +0 -386
  109. package/agents/api-expert/context.md +0 -416
  110. package/agents/architecture-expert/context.md +0 -454
  111. package/agents/auth-expert/context.md +0 -399
  112. package/agents/backend-expert/context.md +0 -483
  113. package/agents/business-strategy-expert/context.md +0 -180
  114. package/agents/code-review-expert/context.md +0 -365
  115. package/agents/competitive-analysis-expert/context.md +0 -239
  116. package/agents/data-modeling-expert/context.md +0 -352
  117. package/agents/database-expert/context.md +0 -250
  118. package/agents/devops-expert/context.md +0 -446
  119. package/agents/email-expert/context.md +0 -379
  120. package/agents/financial-expert/context.md +0 -213
  121. package/agents/frontend-expert/context.md +0 -364
  122. package/agents/fundraising-expert/context.md +0 -257
  123. package/agents/growth-expert/context.md +0 -249
  124. package/agents/index.js +0 -140
  125. package/agents/investor-relations-expert/context.md +0 -266
  126. package/agents/legal-expert/context.md +0 -284
  127. package/agents/marketing-expert/context.md +0 -236
  128. package/agents/monitoring-expert/context.md +0 -362
  129. package/agents/operations-expert/context.md +0 -279
  130. package/agents/partnerships-expert/context.md +0 -286
  131. package/agents/payment-expert/context.md +0 -340
  132. package/agents/performance-expert/context.md +0 -377
  133. package/agents/private-equity-expert/context.md +0 -246
  134. package/agents/railway-expert/context.md +0 -284
  135. package/agents/research-expert/context.md +0 -245
  136. package/agents/sales-expert/context.md +0 -241
  137. package/agents/security-expert/context.md +0 -343
  138. package/agents/testing-expert/context.md +0 -414
  139. package/agents/ui-ux-expert/context.md +0 -448
  140. package/agents/vercel-expert/context.md +0 -426
  141. package/skills/index.js +0 -787
  142. package/skills/patterns/README.md +0 -163
  143. package/skills/patterns/ai/agents.md +0 -281
  144. package/skills/patterns/ai/claude.md +0 -138
  145. package/skills/patterns/ai/embeddings.md +0 -150
  146. package/skills/patterns/ai/rag.md +0 -266
  147. package/skills/patterns/ai/streaming.md +0 -170
  148. package/skills/patterns/ai/structured-output.md +0 -162
  149. package/skills/patterns/ai/tools.md +0 -154
  150. package/skills/patterns/analytics/tracking.md +0 -220
  151. package/skills/patterns/api/errors.md +0 -296
  152. package/skills/patterns/api/graphql.md +0 -440
  153. package/skills/patterns/api/middleware.md +0 -279
  154. package/skills/patterns/api/openapi.md +0 -285
  155. package/skills/patterns/api/rate-limiting.md +0 -231
  156. package/skills/patterns/api/route-handler.md +0 -217
  157. package/skills/patterns/api/server-action.md +0 -249
  158. package/skills/patterns/api/versioning.md +0 -443
  159. package/skills/patterns/api/webhooks.md +0 -247
  160. package/skills/patterns/auth/clerk.md +0 -132
  161. package/skills/patterns/auth/mfa.md +0 -313
  162. package/skills/patterns/auth/nextauth.md +0 -140
  163. package/skills/patterns/auth/oauth.md +0 -237
  164. package/skills/patterns/auth/rbac.md +0 -152
  165. package/skills/patterns/auth/session-management.md +0 -367
  166. package/skills/patterns/auth/session.md +0 -120
  167. package/skills/patterns/database/audit.md +0 -177
  168. package/skills/patterns/database/migrations.md +0 -177
  169. package/skills/patterns/database/pagination.md +0 -230
  170. package/skills/patterns/database/pooling.md +0 -357
  171. package/skills/patterns/database/prisma.md +0 -180
  172. package/skills/patterns/database/relations.md +0 -187
  173. package/skills/patterns/database/seeding.md +0 -246
  174. package/skills/patterns/database/soft-delete.md +0 -153
  175. package/skills/patterns/database/transactions.md +0 -162
  176. package/skills/patterns/deployment/ci-cd.md +0 -231
  177. package/skills/patterns/deployment/docker.md +0 -188
  178. package/skills/patterns/deployment/monitoring.md +0 -387
  179. package/skills/patterns/deployment/vercel.md +0 -160
  180. package/skills/patterns/email/resend.md +0 -143
  181. package/skills/patterns/email/templates.md +0 -245
  182. package/skills/patterns/email/transactional.md +0 -503
  183. package/skills/patterns/email/verification.md +0 -176
  184. package/skills/patterns/files/download.md +0 -243
  185. package/skills/patterns/files/upload.md +0 -239
  186. package/skills/patterns/i18n/nextintl.md +0 -188
  187. package/skills/patterns/logging/structured.md +0 -292
  188. package/skills/patterns/notifications/email-queue.md +0 -248
  189. package/skills/patterns/notifications/push.md +0 -279
  190. package/skills/patterns/payments/checkout.md +0 -303
  191. package/skills/patterns/payments/invoices.md +0 -287
  192. package/skills/patterns/payments/portal.md +0 -245
  193. package/skills/patterns/payments/stripe.md +0 -272
  194. package/skills/patterns/payments/subscriptions.md +0 -300
  195. package/skills/patterns/payments/usage.md +0 -279
  196. package/skills/patterns/performance/caching.md +0 -276
  197. package/skills/patterns/performance/code-splitting.md +0 -233
  198. package/skills/patterns/performance/edge.md +0 -254
  199. package/skills/patterns/performance/isr.md +0 -266
  200. package/skills/patterns/performance/lazy-loading.md +0 -281
  201. package/skills/patterns/realtime/sse.md +0 -327
  202. package/skills/patterns/realtime/websockets.md +0 -336
  203. package/skills/patterns/search/filtering.md +0 -329
  204. package/skills/patterns/search/fulltext.md +0 -260
  205. package/skills/patterns/security/audit-logging.md +0 -444
  206. package/skills/patterns/security/csrf.md +0 -234
  207. package/skills/patterns/security/headers.md +0 -252
  208. package/skills/patterns/security/sanitization.md +0 -258
  209. package/skills/patterns/security/secrets.md +0 -261
  210. package/skills/patterns/security/validation.md +0 -268
  211. package/skills/patterns/security/xss.md +0 -229
  212. package/skills/patterns/seo/metadata.md +0 -252
  213. package/skills/patterns/state/context.md +0 -349
  214. package/skills/patterns/state/react-query.md +0 -313
  215. package/skills/patterns/state/url-state.md +0 -482
  216. package/skills/patterns/state/zustand.md +0 -262
  217. package/skills/patterns/testing/api.md +0 -259
  218. package/skills/patterns/testing/component.md +0 -233
  219. package/skills/patterns/testing/coverage.md +0 -207
  220. package/skills/patterns/testing/fixtures.md +0 -225
  221. package/skills/patterns/testing/integration.md +0 -436
  222. package/skills/patterns/testing/mocking.md +0 -177
  223. package/skills/patterns/testing/playwright.md +0 -162
  224. package/skills/patterns/testing/snapshot.md +0 -175
  225. package/skills/patterns/testing/vitest.md +0 -307
  226. package/skills/patterns/ui/accordions.md +0 -395
  227. package/skills/patterns/ui/cards.md +0 -299
  228. package/skills/patterns/ui/dropdowns.md +0 -476
  229. package/skills/patterns/ui/empty-states.md +0 -320
  230. package/skills/patterns/ui/forms.md +0 -405
  231. package/skills/patterns/ui/inputs.md +0 -319
  232. package/skills/patterns/ui/layouts.md +0 -282
  233. package/skills/patterns/ui/loading.md +0 -291
  234. package/skills/patterns/ui/modals.md +0 -338
  235. package/skills/patterns/ui/navigation.md +0 -374
  236. package/skills/patterns/ui/tables.md +0 -407
  237. package/skills/patterns/ui/toasts.md +0 -300
  238. package/skills/patterns/ui/tooltips.md +0 -396
  239. package/skills/patterns/utils/dates.md +0 -435
  240. package/skills/patterns/utils/errors.md +0 -451
  241. package/skills/patterns/utils/formatting.md +0 -345
  242. package/skills/patterns/utils/validation.md +0 -434
  243. package/templates/bootspring.config.js +0 -83
  244. package/templates/business/business-model-canvas.md +0 -246
  245. package/templates/business/business-plan.md +0 -266
  246. package/templates/business/competitive-analysis.md +0 -312
  247. package/templates/fundraising/data-room-checklist.md +0 -300
  248. package/templates/fundraising/investor-research.md +0 -243
  249. package/templates/fundraising/pitch-deck-outline.md +0 -253
  250. package/templates/legal/gdpr-checklist.md +0 -339
  251. package/templates/legal/privacy-policy.md +0 -285
  252. package/templates/legal/terms-of-service.md +0 -222
  253. package/templates/mcp.json +0 -9
package/README.md CHANGED
@@ -10,6 +10,8 @@ Bootspring is an AI-powered development platform that provides intelligent conte
10
10
 
11
11
  ## Features
12
12
 
13
+ - **Preseed → Seed → Scaffold Pipeline** - Go from idea to working code with AI-assisted document generation
14
+ - **Universal Drop Zone** - Drop any files and let AI analyze and categorize them for you
13
15
  - **Intelligent Context Management** - Automatically generates and maintains AI context for your project
14
16
  - **Specialized Agents** - 12+ expert agents for database, security, frontend, backend, and more
15
17
  - **MCP Integration** - Native Model Context Protocol server for seamless AI assistant integration
@@ -22,32 +24,82 @@ Bootspring is an AI-powered development platform that provides intelligent conte
22
24
  ## Quick Start
23
25
 
24
26
  ```bash
25
- # Initialize in your project
26
- npx @girardmedia/bootspring init
27
-
28
- # Or install globally
27
+ # Install globally
29
28
  npm install -g @girardmedia/bootspring
29
+
30
+ # Start a new project from an idea
31
+ bootspring preseed start
32
+ bootspring seed synthesize
33
+ bootspring seed scaffold --preset=nextjs
34
+
35
+ # Or initialize in an existing project
30
36
  bootspring init
31
37
  ```
32
38
 
39
+ ### New Project Workflow (Recommended)
40
+
41
+ ```bash
42
+ # 1. Capture your idea with preseed
43
+ bootspring preseed start
44
+
45
+ # 2. Convert preseed docs to SEED.md
46
+ bootspring seed synthesize
47
+
48
+ # 3. Scaffold your project
49
+ bootspring seed scaffold --preset=nextjs
50
+
51
+ # 4. Start development
52
+ npm install && npm run dev
53
+ ```
54
+
33
55
  ## Authentication
34
56
 
35
- Bootspring uses account-based authentication with device fingerprinting for security.
57
+ Bootspring uses **browser-based device flow** authentication for security.
36
58
 
37
59
  ```bash
38
- # Register a new account
39
- bootspring auth register
40
-
41
- # Login to your account
60
+ # Login via browser (opens browser for authentication)
42
61
  bootspring auth login
43
62
 
44
- # View account status
63
+ # View authentication and project status
45
64
  bootspring auth status
46
65
 
47
- # Logout
66
+ # Logout from all projects
48
67
  bootspring auth logout
49
68
  ```
50
69
 
70
+ ### How It Works
71
+
72
+ 1. **Global credentials** are stored in `~/.bootspring/credentials.json`
73
+ 2. **Each directory** is linked to a specific project via `.bootspring.json`
74
+ 3. **Login opens your browser** to authenticate and select/create a project
75
+
76
+ ```bash
77
+ # First login in a directory:
78
+ cd my-project
79
+ bootspring auth login
80
+ # → Opens browser → Sign in → Select project → Creates .bootspring.json
81
+
82
+ # Subsequent use:
83
+ bootspring auth login
84
+ # → "Already authenticated as user@example.com"
85
+ # → "Project: my-project (from .bootspring.json)"
86
+ ```
87
+
88
+ ### Per-Directory Project Linking
89
+
90
+ Each directory can be linked to a different Bootspring project:
91
+
92
+ ```bash
93
+ ~/projects/frontend/ → "frontend-app" project
94
+ ~/projects/backend/ → "backend-api" project
95
+ ~/projects/mobile/ → "mobile-app" project
96
+ ```
97
+
98
+ Switch projects with:
99
+ ```bash
100
+ bootspring switch my-other-project
101
+ ```
102
+
51
103
  ### Device Management
52
104
 
53
105
  Each account has a device limit based on your subscription tier:
@@ -71,6 +123,24 @@ bootspring generate # Generate/regenerate CLAUDE.md context
71
123
  bootspring dashboard # Start the real-time dashboard
72
124
  ```
73
125
 
126
+ ### Preseed (Idea Capture)
127
+
128
+ ```bash
129
+ bootspring preseed start # Smart entry point - recommended first command
130
+ bootspring preseed setup # Create context folders including drop zone
131
+ bootspring preseed init # Interactive document generation wizard
132
+ bootspring preseed workflow start # Begin document approval workflow
133
+ bootspring preseed pull/push # Sync with cloud dashboard
134
+ ```
135
+
136
+ ### Seed (Project Scaffolding)
137
+
138
+ ```bash
139
+ bootspring seed synthesize # Create SEED.md from preseed documents
140
+ bootspring seed scaffold --preset=nextjs # Generate project from preset
141
+ bootspring seed init --preset=startup # Interactive project config
142
+ ```
143
+
74
144
  ### Daily Workflow
75
145
 
76
146
  ```bash
@@ -86,15 +156,15 @@ bootspring context validate # Validate project setup
86
156
  ```bash
87
157
  bootspring agent list # List available agents
88
158
  bootspring agent show <name> # Show agent details
89
- bootspring agent invoke <n> # Get specialized help (MCP required)
159
+ bootspring agent invoke <n> # Get specialized help (MCP enhanced)
90
160
  bootspring skill search <q> # Find code patterns
91
- bootspring skill show <name> # View skill content (MCP required)
161
+ bootspring skill show <name> # View skill content (MCP enhanced)
92
162
  bootspring skill list --external # Include curated external catalog
93
163
  bootspring orchestrator workflows # List workflows and premium packs
94
164
  bootspring telemetry status # Inspect local telemetry pipeline
95
165
  ```
96
166
 
97
- > **Note:** Commands marked "MCP required" only work when invoked through an MCP-compatible AI assistant (Claude Code, etc). This protects proprietary prompts and agent configurations from being exposed in standalone CLI mode.
167
+ > **Note:** Commands marked "MCP enhanced" provide full functionality through MCP integration but offer degraded (but useful) CLI mode. Run `bootspring mcp start` to enable full features.
98
168
 
99
169
  Premium workflow packs:
100
170
 
@@ -274,6 +344,29 @@ your-project/
274
344
  - [Planning Workspace](planning/README.md)
275
345
  - [MCP API Platform](docs/mcp-api-platform.md)
276
346
 
347
+ ## Development
348
+
349
+ ### Shared Database Schema
350
+
351
+ The Bootspring API server (`server/`) and the website (`bootspring-site/`) share a PostgreSQL database. The canonical schema is in `shared/db/schema.sql`.
352
+
353
+ ```bash
354
+ # To make schema changes:
355
+ # 1. Edit the canonical schema
356
+ vim shared/db/schema.sql
357
+
358
+ # 2. Sync to both repos
359
+ npm run db:sync
360
+
361
+ # 3. Run server migration
362
+ cd server && npm run migrate
363
+
364
+ # 4. Run site migration
365
+ cd ../bootspring-site && npm run db:push
366
+ ```
367
+
368
+ See `shared/db/README.md` for full documentation.
369
+
277
370
  ## Contributing
278
371
 
279
372
  Contributions are welcome! Please see our [Contributing Guide](CONTRIBUTING.md).
package/bin/bootspring.js CHANGED
@@ -25,25 +25,15 @@ const BRAND = {
25
25
  red: '\x1b[31m'
26
26
  };
27
27
 
28
- // ASCII art logo
28
+ // ASCII art logo - fits in 60 columns
29
29
  const LOGO = `
30
- ${BRAND.color}╔══════════════════════════════════════════╗
31
-
32
- ██████╗ ██████╗ ██████╗ ████████╗
33
- ██╔══██╗██╔═══██╗██╔═══██╗╚══██╔══╝
34
- ██████╔╝██║ ██║██║ ██║ ██║
35
- ██╔══██╗██║ ██║██║ ██║ ██║
36
- ║ ██████╔╝╚██████╔╝╚██████╔╝ ██║ ║
37
- ║ ╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ ║
38
- ║ ║
39
- ║ ███████╗██████╗ ██████╗ ██╗███╗ ██╗ ║
40
- ║ ██╔════╝██╔══██╗██╔══██╗██║████╗ ██║ ║
41
- ║ ███████╗██████╔╝██████╔╝██║██╔██╗ ██║ ║
42
- ║ ╚════██║██╔═══╝ ██╔══██╗██║██║╚██╗██║ ║
43
- ║ ███████║██║ ██║ ██║██║██║ ╚████║ ║
44
- ║ ╚══════╝╚═╝ ╚═╝ ╚═╝╚═╝╚═╝ ╚═══╝ ║
45
- ║ ║
46
- ╚══════════════════════════════════════════╝${BRAND.reset}
30
+ ${BRAND.color}╔══════════════════════════════════════════════════════════╗
31
+ ████ ███ ███ █████ ███ ████ ████ █ █ █ ███
32
+ █ █ █ █ █ █ █ █ █ █ █ █ ██
33
+ ████ █ █ █ █ █ ███ ████ ████ █ █ █ █ █ ██
34
+ █ █ █ █ █ █ █ █ █ █ █ ██ █ █
35
+ ████ ███ ███ █ ████ █ █ █ █ █ █ ███
36
+ ╚══════════════════════════════════════════════════════════╝${BRAND.reset}
47
37
  `;
48
38
 
49
39
  // Compact logo for non-help commands
@@ -57,6 +47,16 @@ const COMMANDS = {
57
47
  description: 'Login, logout, and manage authentication',
58
48
  usage: 'bootspring auth <login|logout|register|whoami|status>'
59
49
  },
50
+ switch: {
51
+ script: '../cli/switch.js',
52
+ description: 'Switch current project context',
53
+ usage: 'bootspring switch [project|recent|init|clear|status]'
54
+ },
55
+ project: {
56
+ script: '../cli/project.js',
57
+ description: 'Manage projects (list, create, info)',
58
+ usage: 'bootspring project <list|create|info> [args]'
59
+ },
60
60
 
61
61
  // Core commands
62
62
  init: {
@@ -64,10 +64,35 @@ const COMMANDS = {
64
64
  description: 'Initialize Bootspring in current project',
65
65
  usage: 'bootspring init [--force]'
66
66
  },
67
+ onboard: {
68
+ script: '../cli/onboard.js',
69
+ description: 'Layer Bootspring onto existing projects',
70
+ usage: 'bootspring onboard [status|resume|detect|generate|reset]'
71
+ },
72
+ analyze: {
73
+ script: '../cli/analyze.js',
74
+ description: 'Deep codebase analysis',
75
+ usage: 'bootspring analyze [status|resume|reset] [--depth=shallow|standard|deep]'
76
+ },
77
+ audit: {
78
+ script: '../cli/audit.js',
79
+ description: 'Quality, security, and best practices audit',
80
+ usage: 'bootspring audit [status|resume|reset] [--phase=<phase>] [--ci]'
81
+ },
82
+ preseed: {
83
+ script: '../cli/preseed.js',
84
+ description: 'Generate foundational documents from minimal input',
85
+ usage: 'bootspring preseed <init|generate|sync|status|update|export>'
86
+ },
67
87
  seed: {
68
88
  script: '../cli/seed.js',
69
89
  description: 'Project scaffolding and configuration',
70
- usage: 'bootspring seed <init|scaffold|update|status|export>'
90
+ usage: 'bootspring seed <init|scaffold|build|update|status|export>'
91
+ },
92
+ build: {
93
+ script: '../cli/build.js',
94
+ description: 'Build management and progress tracking',
95
+ usage: 'bootspring build <status|pause|resume|task|skip|plan|reset>'
71
96
  },
72
97
  generate: {
73
98
  script: '../cli/generate.js',
@@ -79,6 +104,56 @@ const COMMANDS = {
79
104
  description: 'Open cloud dashboard (bootspring.com)',
80
105
  usage: 'bootspring dashboard'
81
106
  },
107
+ deploy: {
108
+ script: '../cli/deploy.js',
109
+ description: 'Deploy to production (Vercel, Railway, Fly.io, etc.)',
110
+ usage: 'bootspring deploy [target] [--preview] [--dry-run]'
111
+ },
112
+ monitor: {
113
+ script: '../cli/monitor.js',
114
+ description: 'Production monitoring, hooks, and alerting',
115
+ usage: 'bootspring monitor <init|status|metrics|post-deploy> [options]'
116
+ },
117
+ health: {
118
+ script: '../cli/health.js',
119
+ description: 'Quick project health overview and status',
120
+ usage: 'bootspring health [--json]'
121
+ },
122
+ checkpoint: {
123
+ script: '../cli/checkpoint.js',
124
+ description: 'Manage project checkpoints and milestones',
125
+ usage: 'bootspring checkpoint [status|complete|history|sync]'
126
+ },
127
+ github: {
128
+ script: '../cli/github-cmd.js',
129
+ description: 'GitHub integration and repository sync',
130
+ usage: 'bootspring github [connect|sync|status|disconnect]'
131
+ },
132
+ 'cloud-sync': {
133
+ script: '../cli/cloud-sync.js',
134
+ description: 'Sync project context to cloud (Cloudflare R2)',
135
+ usage: 'bootspring cloud-sync [push|pull|status|history|restore]'
136
+ },
137
+ billing: {
138
+ script: '../cli/billing.js',
139
+ description: 'Manage subscription and view usage',
140
+ usage: 'bootspring billing [status|usage|upgrade|portal]'
141
+ },
142
+ manager: {
143
+ script: '../cli/manager.js',
144
+ description: 'Overview of all projects with health scores',
145
+ usage: 'bootspring manager [list|show|export|scan]'
146
+ },
147
+ security: {
148
+ script: '../cli/security.js',
149
+ description: 'Security scanning and score tracking',
150
+ usage: 'bootspring security [scan|quick|status|findings]'
151
+ },
152
+ metrics: {
153
+ script: '../cli/metrics.js',
154
+ description: 'Collect and track project metrics',
155
+ usage: 'bootspring metrics [collect|status|show|export|badges]'
156
+ },
82
157
 
83
158
  // Todo commands
84
159
  todo: {
@@ -157,6 +232,13 @@ const COMMANDS = {
157
232
  usage: 'bootspring mvp <init|analyze|import|list|show|extract>'
158
233
  },
159
234
 
235
+ // PRD commands
236
+ prd: {
237
+ script: '../cli/prd.js',
238
+ description: 'Product requirements management',
239
+ usage: 'bootspring prd <create|list|show|import|to-tasks|status>'
240
+ },
241
+
160
242
  // Business commands
161
243
  business: {
162
244
  script: '../cli/business.js',
@@ -178,6 +260,13 @@ const COMMANDS = {
178
260
  usage: 'bootspring legal <init|terms|privacy|gdpr|status>'
179
261
  },
180
262
 
263
+ // Content commands
264
+ content: {
265
+ script: '../cli/content.js',
266
+ description: 'Generate content (blogs, docs, releases)',
267
+ usage: 'bootspring content <new|types> <type> [options]'
268
+ },
269
+
181
270
  // Update commands
182
271
  update: {
183
272
  script: '../cli/update.js',
@@ -205,6 +294,11 @@ const COMMANDS = {
205
294
  description: 'View git-based project memory',
206
295
  usage: 'bootspring memory <summary|search|files|stats> [args]'
207
296
  },
297
+ suggest: {
298
+ script: '../cli/suggest.js',
299
+ description: 'AI-powered recommendations based on telemetry',
300
+ usage: 'bootspring suggest [next|learning|workflows|skills] [--limit=5]'
301
+ },
208
302
 
209
303
  // Telemetry commands
210
304
  telemetry: {
@@ -213,6 +307,27 @@ const COMMANDS = {
213
307
  usage: 'bootspring telemetry <status|list|upload|clear> [options]'
214
308
  },
215
309
 
310
+ // Visualize command
311
+ visualize: {
312
+ script: '../cli/visualize.js',
313
+ description: 'Terminal-based workflow visualization',
314
+ usage: 'bootspring visualize [--watch] [--graph]'
315
+ },
316
+
317
+ // Watch command
318
+ watch: {
319
+ script: '../cli/watch.js',
320
+ description: 'Real-time file watching and sync',
321
+ usage: 'bootspring watch [--todos] [--workflows] [--prd]'
322
+ },
323
+
324
+ // Workspace command
325
+ workspace: {
326
+ script: '../cli/workspace.js',
327
+ description: 'Multi-project workspace management',
328
+ usage: 'bootspring workspace <init|add|remove|list|run>'
329
+ },
330
+
216
331
  // Help
217
332
  help: {
218
333
  script: null,
@@ -223,12 +338,16 @@ const COMMANDS = {
223
338
 
224
339
  // Command categories for help display
225
340
  const CATEGORIES = {
226
- 'Getting Started': ['auth', 'init', 'seed', 'mvp', 'generate', 'dashboard', 'help'],
341
+ 'Getting Started': ['auth', 'switch', 'project', 'init', 'onboard', 'preseed', 'seed', 'build', 'mvp', 'prd', 'generate', 'dashboard', 'workspace', 'help'],
342
+ 'Project Management': ['checkpoint', 'manager', 'github'],
343
+ 'Analysis': ['analyze', 'audit'],
227
344
  'Business': ['business', 'fundraise', 'legal'],
228
- 'Daily Workflow': ['todo', 'task', 'context', 'log'],
229
- 'Intelligence': ['agent', 'skill', 'orchestrator', 'loop', 'memory'],
345
+ 'Content': ['content'],
346
+ 'Daily Workflow': ['todo', 'task', 'context', 'log', 'watch'],
347
+ 'Intelligence': ['agent', 'skill', 'orchestrator', 'loop', 'memory', 'suggest'],
230
348
  'Quality & Plugins': ['quality', 'plugin'],
231
- 'System': ['mcp', 'doctor', 'telemetry', 'update']
349
+ 'Deployment': ['deploy', 'monitor', 'health'],
350
+ 'System': ['mcp', 'doctor', 'telemetry', 'update', 'visualize']
232
351
  };
233
352
 
234
353
  /**
@@ -279,7 +398,13 @@ function showVersion() {
279
398
  * Main entry point
280
399
  */
281
400
  async function main() {
282
- const args = process.argv.slice(2);
401
+ const rawArgs = process.argv.slice(2);
402
+
403
+ // Parse --project flag first (can appear anywhere)
404
+ const projectContext = require('../core/project-context');
405
+ const { projectOverride, cleanArgs } = projectContext.parseProjectFlag(rawArgs);
406
+
407
+ const args = cleanArgs;
283
408
  const command = args[0];
284
409
 
285
410
  // Handle no command
@@ -328,13 +453,20 @@ async function main() {
328
453
  process.exit(0);
329
454
  }
330
455
 
456
+ // Validate project context before running command
457
+ const commandArgs = args.slice(1);
458
+ const validation = projectContext.validateForCommand(command, commandArgs, { projectOverride });
459
+
460
+ if (!validation.valid) {
461
+ console.log(LOGO_COMPACT);
462
+ console.log(`\n${projectContext.formatError(validation.error)}\n`);
463
+ process.exit(1);
464
+ }
465
+
331
466
  // Load and execute command
332
467
  try {
333
468
  const commandModule = require(scriptPath);
334
469
 
335
- // Pass remaining args to command
336
- const commandArgs = args.slice(1);
337
-
338
470
  // Execute command
339
471
  if (typeof commandModule.run === 'function') {
340
472
  await commandModule.run(commandArgs);
@@ -345,6 +477,13 @@ async function main() {
345
477
  process.exit(1);
346
478
  }
347
479
  } catch (error) {
480
+ // Handle project context errors specially
481
+ if (error.code === 'NO_PROJECT_CONTEXT') {
482
+ console.log(LOGO_COMPACT);
483
+ console.log(`\n${projectContext.formatError(error)}\n`);
484
+ process.exit(1);
485
+ }
486
+
348
487
  console.log(LOGO_COMPACT);
349
488
  console.log(`\n${BRAND.red}Error executing '${command}':${BRAND.reset}`);
350
489
  console.log(`${BRAND.dim}${error.message}${BRAND.reset}\n`);