@girardmedia/bootspring 2.5.0 → 2.5.2

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 (59) hide show
  1. package/README.md +9 -403
  2. package/bin/bootspring.js +1 -96
  3. package/dist/cli/index.js +65134 -0
  4. package/dist/cli-launcher.js +92 -0
  5. package/dist/core/index.d.ts +2110 -5582
  6. package/dist/core/index.js +2 -0
  7. package/dist/core.js +21123 -5413
  8. package/dist/mcp/index.d.ts +357 -1
  9. package/dist/mcp/index.js +2 -0
  10. package/dist/mcp-server.js +51948 -1976
  11. package/package.json +27 -63
  12. package/scripts/postinstall.cjs +144 -0
  13. package/LICENSE +0 -29
  14. package/dist/cli/index.cjs +0 -20776
  15. package/generators/api-docs.js +0 -827
  16. package/generators/decisions.js +0 -655
  17. package/generators/generate.js +0 -595
  18. package/generators/health.js +0 -942
  19. package/generators/index.ts +0 -82
  20. package/generators/presets/full.js +0 -28
  21. package/generators/presets/index.js +0 -12
  22. package/generators/presets/minimal.js +0 -29
  23. package/generators/presets/standard.js +0 -28
  24. package/generators/questionnaire.js +0 -414
  25. package/generators/sections/advanced.js +0 -136
  26. package/generators/sections/ai.js +0 -106
  27. package/generators/sections/auth.js +0 -89
  28. package/generators/sections/backend.js +0 -146
  29. package/generators/sections/business.js +0 -118
  30. package/generators/sections/content.js +0 -300
  31. package/generators/sections/deployment.js +0 -139
  32. package/generators/sections/features.js +0 -122
  33. package/generators/sections/frontend.js +0 -118
  34. package/generators/sections/identity.js +0 -76
  35. package/generators/sections/index.js +0 -40
  36. package/generators/sections/instructions.js +0 -146
  37. package/generators/sections/payments.js +0 -104
  38. package/generators/sections/plugins.js +0 -142
  39. package/generators/sections/pre-build.js +0 -130
  40. package/generators/sections/security.js +0 -127
  41. package/generators/sections/technical.js +0 -171
  42. package/generators/sections/testing.js +0 -125
  43. package/generators/sections/workflow.js +0 -104
  44. package/generators/sprint.js +0 -675
  45. package/generators/templates/agents.template.js +0 -199
  46. package/generators/templates/assistant-context.template.js +0 -83
  47. package/generators/templates/build-planning.template.js +0 -708
  48. package/generators/templates/claude.template.js +0 -379
  49. package/generators/templates/content.template.js +0 -819
  50. package/generators/templates/index.js +0 -16
  51. package/generators/templates/planning.template.js +0 -515
  52. package/generators/templates/seed.template.js +0 -109
  53. package/generators/visual-doc-generator.js +0 -910
  54. package/scripts/postinstall.js +0 -197
  55. /package/{claude-commands → assets/claude-commands}/agent.md +0 -0
  56. /package/{claude-commands → assets/claude-commands}/bs.md +0 -0
  57. /package/{claude-commands → assets/claude-commands}/build.md +0 -0
  58. /package/{claude-commands → assets/claude-commands}/skill.md +0 -0
  59. /package/{claude-commands → assets/claude-commands}/todo.md +0 -0
@@ -1,16 +0,0 @@
1
- /**
2
- * Templates Index
3
- *
4
- * @package bootspring
5
- * @module generators/templates
6
- */
7
-
8
- module.exports = {
9
- claude: require('./claude.template'),
10
- assistantContext: require('./assistant-context.template'),
11
- agents: require('./agents.template'),
12
- seed: require('./seed.template'),
13
- planning: require('./planning.template'),
14
- content: require('./content.template'),
15
- buildPlanning: require('./build-planning.template')
16
- };
@@ -1,515 +0,0 @@
1
- /**
2
- * Planning Folder Templates
3
- *
4
- * Generates planning documents for project initialization.
5
- * Creates: README.md, MASTER_PLAN.md, PRD.md, ARCHITECTURE.md, DECISION_LOG.md
6
- *
7
- * @package bootspring
8
- * @module generators/templates/planning
9
- */
10
-
11
- const utils = require('../../core/utils');
12
-
13
- /**
14
- * Generate README for planning folder
15
- */
16
- function generateReadme(config) {
17
- const projectName = config.project?.name || 'Project';
18
- const date = utils.formatDate();
19
-
20
- return `# ${projectName} - Planning
21
-
22
- > **Last Updated**: ${date}
23
- > **Generated by**: Bootspring
24
-
25
- ---
26
-
27
- ## Overview
28
-
29
- This folder contains planning and strategy documents for ${projectName}.
30
-
31
- ## Documents
32
-
33
- | Document | Purpose |
34
- |----------|---------|
35
- | [MASTER_PLAN.md](./MASTER_PLAN.md) | Single source of truth for project vision and strategy |
36
- | [PRD.md](./PRD.md) | Product Requirements Document |
37
- | [ARCHITECTURE.md](./ARCHITECTURE.md) | Technical architecture and system design |
38
- | [DECISION_LOG.md](./DECISION_LOG.md) | Record of key decisions and rationale |
39
-
40
- ## How to Use
41
-
42
- 1. **Start with MASTER_PLAN.md** - Define your vision, goals, and milestones
43
- 2. **Create PRD.md** - Break down features into user stories and requirements
44
- 3. **Design in ARCHITECTURE.md** - Document technical decisions and system design
45
- 4. **Track decisions** - Log important decisions and their reasoning
46
-
47
- ## Bootspring Integration
48
-
49
- These documents are automatically indexed by Bootspring and available to AI agents:
50
-
51
- \`\`\`bash
52
- # View planning context
53
- bootspring context read plan
54
-
55
- # Search across planning docs
56
- bootspring context search "authentication"
57
-
58
- # Get context for an agent
59
- bootspring context agent product-expert
60
- \`\`\`
61
-
62
- ---
63
-
64
- *Generated by [Bootspring](https://bootspring.com)*
65
- `;
66
- }
67
-
68
- /**
69
- * Generate MASTER_PLAN.md template
70
- */
71
- function generateMasterPlan(config) {
72
- const projectName = config.project?.name || 'Project';
73
- const description = config.project?.description || 'A project built with Bootspring.';
74
- const date = utils.formatDate();
75
-
76
- return `# ${projectName} - Master Plan
77
-
78
- > **Version**: 1.0
79
- > **Last Updated**: ${date}
80
- > **Status**: Planning
81
-
82
- ---
83
-
84
- ## Vision Statement
85
-
86
- ${description}
87
-
88
- ---
89
-
90
- ## Goals
91
-
92
- ### Short-term (30 days)
93
- - [ ] Complete initial setup
94
- - [ ] Define core features
95
- - [ ] Build MVP
96
-
97
- ### Medium-term (90 days)
98
- - [ ] Launch beta
99
- - [ ] Gather user feedback
100
- - [ ] Iterate on product
101
-
102
- ### Long-term (1 year)
103
- - [ ] Scale product
104
- - [ ] Expand features
105
- - [ ] Grow user base
106
-
107
- ---
108
-
109
- ## Target Users
110
-
111
- | Persona | Description | Needs |
112
- |---------|-------------|-------|
113
- | Primary | *Describe your main user* | *What they need* |
114
- | Secondary | *Describe secondary users* | *What they need* |
115
-
116
- ---
117
-
118
- ## Key Metrics
119
-
120
- | Metric | Target | Current |
121
- |--------|--------|---------|
122
- | Users | - | 0 |
123
- | MRR | - | $0 |
124
- | NPS | - | - |
125
-
126
- ---
127
-
128
- ## Milestones
129
-
130
- ### Phase 1: Foundation
131
- - [ ] Project setup
132
- - [ ] Core architecture
133
- - [ ] Basic features
134
-
135
- ### Phase 2: MVP
136
- - [ ] Essential features
137
- - [ ] User authentication
138
- - [ ] Core functionality
139
-
140
- ### Phase 3: Launch
141
- - [ ] Beta release
142
- - [ ] User feedback
143
- - [ ] Bug fixes
144
-
145
- ### Phase 4: Growth
146
- - [ ] Marketing
147
- - [ ] Feature expansion
148
- - [ ] Scaling
149
-
150
- ---
151
-
152
- ## Resources
153
-
154
- - **Team**: *List team members*
155
- - **Budget**: *Budget details*
156
- - **Timeline**: *Key dates*
157
-
158
- ---
159
-
160
- ## Notes
161
-
162
- *Add additional context, links, and references here.*
163
-
164
- ---
165
-
166
- *Last updated: ${date}*
167
- `;
168
- }
169
-
170
- /**
171
- * Generate PRD.md template
172
- */
173
- function generatePrd(config) {
174
- const projectName = config.project?.name || 'Project';
175
- const description = config.project?.description || '';
176
- const date = utils.formatDate();
177
-
178
- return `# ${projectName} - Product Requirements Document
179
-
180
- > **Version**: 1.0
181
- > **Last Updated**: ${date}
182
- > **Status**: Draft
183
-
184
- ---
185
-
186
- ## Overview
187
-
188
- ### Problem Statement
189
- *What problem are we solving?*
190
-
191
- ### Solution
192
- ${description || '*How does this product solve the problem?*'}
193
-
194
- ### Success Criteria
195
- - [ ] *Define measurable success criteria*
196
-
197
- ---
198
-
199
- ## User Stories
200
-
201
- ### Epic 1: Core Functionality
202
-
203
- #### US-001: *User Story Title*
204
- **As a** user
205
- **I want** *action*
206
- **So that** *benefit*
207
-
208
- **Acceptance Criteria:**
209
- - [ ] *Criteria 1*
210
- - [ ] *Criteria 2*
211
-
212
- **Priority**: High
213
- **Estimate**: *Story points or time*
214
-
215
- ---
216
-
217
- ## Features
218
-
219
- ### Feature 1: *Feature Name*
220
-
221
- **Description**: *What does this feature do?*
222
-
223
- **Requirements**:
224
- - [ ] *Requirement 1*
225
- - [ ] *Requirement 2*
226
-
227
- **Dependencies**: *List dependencies*
228
-
229
- ---
230
-
231
- ## Out of Scope
232
-
233
- - *What is NOT included in this release?*
234
-
235
- ---
236
-
237
- ## Technical Requirements
238
-
239
- ### Performance
240
- - *Performance requirements*
241
-
242
- ### Security
243
- - *Security requirements*
244
-
245
- ### Accessibility
246
- - *Accessibility requirements*
247
-
248
- ---
249
-
250
- ## Open Questions
251
-
252
- - [ ] *Question 1*
253
- - [ ] *Question 2*
254
-
255
- ---
256
-
257
- ## Appendix
258
-
259
- ### Wireframes
260
- *Link to wireframes or mockups*
261
-
262
- ### References
263
- *Links to relevant documents*
264
-
265
- ---
266
-
267
- *Last updated: ${date}*
268
- `;
269
- }
270
-
271
- /**
272
- * Generate ARCHITECTURE.md template
273
- */
274
- function generateArchitecture(config) {
275
- const projectName = config.project?.name || 'Project';
276
- const stack = config.stack || {};
277
- const date = utils.formatDate();
278
-
279
- return `# ${projectName} - Technical Architecture
280
-
281
- > **Version**: 1.0
282
- > **Last Updated**: ${date}
283
- > **Status**: Draft
284
-
285
- ---
286
-
287
- ## Overview
288
-
289
- This document describes the technical architecture for ${projectName}.
290
-
291
- ---
292
-
293
- ## Tech Stack
294
-
295
- | Layer | Technology |
296
- |-------|------------|
297
- | Framework | ${stack.framework || 'TBD'} |
298
- | Language | ${stack.language || 'TBD'} |
299
- | Database | ${stack.database || 'TBD'} |
300
- | Hosting | ${stack.hosting || 'TBD'} |
301
-
302
- ---
303
-
304
- ## System Architecture
305
-
306
- \`\`\`
307
- ┌─────────────────────────────────────────────┐
308
- │ Client │
309
- │ (Browser / Mobile) │
310
- └─────────────────────┬───────────────────────┘
311
-
312
-
313
- ┌─────────────────────────────────────────────┐
314
- │ Application │
315
- │ (${stack.framework || 'Framework'}) │
316
- ├─────────────────────────────────────────────┤
317
- │ API Layer │
318
- └─────────────────────┬───────────────────────┘
319
-
320
-
321
- ┌─────────────────────────────────────────────┐
322
- │ Database │
323
- │ (${stack.database || 'Database'}) │
324
- └─────────────────────────────────────────────┘
325
- \`\`\`
326
-
327
- ---
328
-
329
- ## Directory Structure
330
-
331
- \`\`\`
332
- ${projectName}/
333
- ├── src/
334
- │ ├── app/ # Application routes
335
- │ ├── components/ # UI components
336
- │ ├── lib/ # Utilities
337
- │ └── types/ # Type definitions
338
- ├── public/ # Static assets
339
- ├── tests/ # Test files
340
- └── planning/ # Planning docs
341
- \`\`\`
342
-
343
- ---
344
-
345
- ## Data Model
346
-
347
- ### Entities
348
-
349
- #### User
350
- | Field | Type | Description |
351
- |-------|------|-------------|
352
- | id | UUID | Primary key |
353
- | email | String | User email |
354
- | createdAt | DateTime | Creation timestamp |
355
-
356
- ---
357
-
358
- ## API Design
359
-
360
- ### Endpoints
361
-
362
- | Method | Path | Description |
363
- |--------|------|-------------|
364
- | GET | /api/health | Health check |
365
-
366
- ---
367
-
368
- ## Security Considerations
369
-
370
- - [ ] Authentication method
371
- - [ ] Authorization rules
372
- - [ ] Data encryption
373
- - [ ] Input validation
374
-
375
- ---
376
-
377
- ## Deployment Architecture
378
-
379
- | Environment | URL | Purpose |
380
- |-------------|-----|---------|
381
- | Development | localhost | Local development |
382
- | Staging | TBD | Pre-production testing |
383
- | Production | TBD | Live environment |
384
-
385
- ---
386
-
387
- ## Dependencies
388
-
389
- ### Runtime Dependencies
390
- *List key dependencies*
391
-
392
- ### Dev Dependencies
393
- *List development dependencies*
394
-
395
- ---
396
-
397
- ## Decision Log
398
-
399
- See [DECISION_LOG.md](./DECISION_LOG.md) for architectural decisions.
400
-
401
- ---
402
-
403
- *Last updated: ${date}*
404
- `;
405
- }
406
-
407
- /**
408
- * Generate DECISION_LOG.md template
409
- */
410
- function generateDecisionLog(config) {
411
- const projectName = config.project?.name || 'Project';
412
- const date = utils.formatDate();
413
-
414
- return `# ${projectName} - Decision Log
415
-
416
- > **Last Updated**: ${date}
417
-
418
- ---
419
-
420
- ## Overview
421
-
422
- This document records key technical and product decisions, including context and rationale.
423
-
424
- ---
425
-
426
- ## Decisions
427
-
428
- ### DEC-001: *Decision Title*
429
-
430
- **Date**: ${date}
431
- **Status**: Proposed | Accepted | Deprecated | Superseded
432
- **Deciders**: *Who made this decision?*
433
-
434
- #### Context
435
- *What is the issue being addressed?*
436
-
437
- #### Decision
438
- *What was decided?*
439
-
440
- #### Rationale
441
- *Why was this decision made?*
442
-
443
- #### Alternatives Considered
444
- 1. *Alternative 1* - *Why rejected*
445
- 2. *Alternative 2* - *Why rejected*
446
-
447
- #### Consequences
448
- - *Positive consequence 1*
449
- - *Negative consequence (trade-off)*
450
-
451
- ---
452
-
453
- ## Template
454
-
455
- Copy this template for new decisions:
456
-
457
- \`\`\`markdown
458
- ### DEC-XXX: Title
459
-
460
- **Date**: YYYY-MM-DD
461
- **Status**: Proposed
462
- **Deciders**: Names
463
-
464
- #### Context
465
- What is the issue?
466
-
467
- #### Decision
468
- What was decided?
469
-
470
- #### Rationale
471
- Why this decision?
472
-
473
- #### Alternatives Considered
474
- 1. Alternative - Reason rejected
475
-
476
- #### Consequences
477
- - Positive
478
- - Trade-off
479
- \`\`\`
480
-
481
- ---
482
-
483
- ## Decision Index
484
-
485
- | ID | Title | Status | Date |
486
- |----|-------|--------|------|
487
- | DEC-001 | *Title* | Proposed | ${date} |
488
-
489
- ---
490
-
491
- *This document is automatically indexed by Bootspring.*
492
- `;
493
- }
494
-
495
- /**
496
- * Get all planning templates
497
- */
498
- function getTemplates(config) {
499
- return {
500
- 'README.md': generateReadme(config),
501
- 'MASTER_PLAN.md': generateMasterPlan(config),
502
- 'PRD.md': generatePrd(config),
503
- 'ARCHITECTURE.md': generateArchitecture(config),
504
- 'DECISION_LOG.md': generateDecisionLog(config)
505
- };
506
- }
507
-
508
- module.exports = {
509
- generateReadme,
510
- generateMasterPlan,
511
- generatePrd,
512
- generateArchitecture,
513
- generateDecisionLog,
514
- getTemplates
515
- };
@@ -1,109 +0,0 @@
1
- /**
2
- * SEED.md Template Generator
3
- *
4
- * Generates a SEED.md file with project configuration details.
5
- * This is a structured data file that bootspring uses internally.
6
- *
7
- * @package bootspring
8
- * @module generators/templates/seed
9
- */
10
-
11
- const yaml = require('yaml');
12
-
13
- /**
14
- * Generate SEED.md content from config
15
- */
16
- function generate(config) {
17
- const sections = [];
18
-
19
- // Header
20
- sections.push('# Project Seed');
21
- sections.push('');
22
- sections.push('> This file contains structured project configuration.');
23
- sections.push('> Generated by Bootspring. Do not edit manually unless you know what you are doing.');
24
- sections.push('');
25
-
26
- // Project Info
27
- sections.push('## Project');
28
- sections.push('');
29
- sections.push('```yaml');
30
- sections.push(yaml.stringify({
31
- name: config.project.name,
32
- description: config.project.description || '',
33
- version: config.project.version,
34
- status: config.project.status
35
- }));
36
- sections.push('```');
37
- sections.push('');
38
-
39
- // Stack
40
- sections.push('## Stack');
41
- sections.push('');
42
- sections.push('```yaml');
43
- sections.push(yaml.stringify(config.stack));
44
- sections.push('```');
45
- sections.push('');
46
-
47
- // Plugins
48
- sections.push('## Plugins');
49
- sections.push('');
50
- sections.push('```yaml');
51
- sections.push(yaml.stringify(config.plugins));
52
- sections.push('```');
53
- sections.push('');
54
-
55
- // Workflow
56
- if (config.workflow) {
57
- sections.push('## Workflow');
58
- sections.push('');
59
- sections.push('```yaml');
60
- sections.push(yaml.stringify(config.workflow));
61
- sections.push('```');
62
- sections.push('');
63
- }
64
-
65
- // Instructions
66
- if (config.instructions && Object.keys(config.instructions).length > 0) {
67
- sections.push('## Instructions');
68
- sections.push('');
69
- sections.push('```yaml');
70
- sections.push(yaml.stringify(config.instructions));
71
- sections.push('```');
72
- sections.push('');
73
- }
74
-
75
- // Business
76
- if (config.business && config.business.model) {
77
- sections.push('## Business');
78
- sections.push('');
79
- sections.push('```yaml');
80
- sections.push(yaml.stringify(config.business));
81
- sections.push('```');
82
- sections.push('');
83
- }
84
-
85
- // Advanced
86
- if (config.advanced) {
87
- sections.push('## Advanced');
88
- sections.push('');
89
- sections.push('```yaml');
90
- sections.push(yaml.stringify(config.advanced));
91
- sections.push('```');
92
- sections.push('');
93
- }
94
-
95
- // Metadata
96
- sections.push('## Metadata');
97
- sections.push('');
98
- sections.push('```yaml');
99
- sections.push(yaml.stringify({
100
- generated: new Date().toISOString(),
101
- bootspringVersion: require('../../package.json').version,
102
- preset: config._preset || 'unknown'
103
- }));
104
- sections.push('```');
105
-
106
- return sections.join('\n');
107
- }
108
-
109
- module.exports = { generate };