@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.
- package/README.md +107 -14
- package/bin/bootspring.js +166 -27
- package/cli/agent.js +189 -17
- package/cli/analyze.js +499 -0
- package/cli/audit.js +557 -0
- package/cli/auth.js +495 -38
- package/cli/billing.js +302 -0
- package/cli/build.js +695 -0
- package/cli/business.js +109 -26
- package/cli/checkpoint-utils.js +168 -0
- package/cli/checkpoint.js +639 -0
- package/cli/cloud-sync.js +447 -0
- package/cli/content.js +198 -0
- package/cli/context.js +1 -1
- package/cli/deploy.js +543 -0
- package/cli/fundraise.js +112 -50
- package/cli/github-cmd.js +435 -0
- package/cli/health.js +477 -0
- package/cli/init.js +84 -13
- package/cli/legal.js +107 -95
- package/cli/log.js +2 -2
- package/cli/loop.js +976 -73
- package/cli/manager.js +711 -0
- package/cli/metrics.js +480 -0
- package/cli/monitor.js +812 -0
- package/cli/onboard.js +521 -0
- package/cli/orchestrator.js +12 -24
- package/cli/prd.js +594 -0
- package/cli/preseed-start.js +1483 -0
- package/cli/preseed.js +2302 -0
- package/cli/project.js +436 -0
- package/cli/quality.js +233 -0
- package/cli/security.js +913 -0
- package/cli/seed.js +1441 -5
- package/cli/skill.js +273 -211
- package/cli/suggest.js +989 -0
- package/cli/switch.js +453 -0
- package/cli/visualize.js +527 -0
- package/cli/watch.js +769 -0
- package/cli/workspace.js +607 -0
- package/core/analyze-workflow.js +1134 -0
- package/core/api-client.js +535 -22
- package/core/audit-workflow.js +1350 -0
- package/core/build-orchestrator.js +480 -0
- package/core/build-state.js +577 -0
- package/core/checkpoint-engine.js +408 -0
- package/core/config.js +1109 -26
- package/core/context-loader.js +21 -1
- package/core/deploy-workflow.js +836 -0
- package/core/entitlements.js +93 -22
- package/core/github-sync.js +610 -0
- package/core/index.js +8 -1
- package/core/ingest.js +1111 -0
- package/core/metrics-engine.js +768 -0
- package/core/onboard-workflow.js +1007 -0
- package/core/preseed-workflow.js +934 -0
- package/core/preseed.js +1617 -0
- package/core/project-context.js +325 -0
- package/core/project-state.js +694 -0
- package/core/r2-sync.js +583 -0
- package/core/scaffold.js +525 -7
- package/core/session.js +258 -0
- package/core/task-extractor.js +758 -0
- package/core/telemetry.js +28 -6
- package/core/tier-enforcement.js +737 -0
- package/core/utils.js +38 -14
- package/generators/questionnaire.js +15 -12
- package/generators/sections/ai.js +7 -7
- package/generators/sections/content.js +300 -0
- package/generators/sections/index.js +3 -0
- package/generators/sections/plugins.js +7 -6
- package/generators/templates/build-planning.template.js +596 -0
- package/generators/templates/content.template.js +819 -0
- package/generators/templates/index.js +2 -1
- package/hooks/git-autopilot.js +1250 -0
- package/hooks/index.js +9 -0
- package/intelligence/agent-collab.js +2057 -0
- package/intelligence/auto-suggest.js +634 -0
- package/intelligence/content-gen.js +1589 -0
- package/intelligence/cross-project.js +1647 -0
- package/intelligence/index.js +184 -0
- package/intelligence/learning/insights.json +517 -7
- package/intelligence/learning/pattern-learner.js +1008 -14
- package/intelligence/memory/decision-tracker.js +1431 -31
- package/intelligence/memory/decisions.jsonl +0 -0
- package/intelligence/orchestrator.js +2896 -1
- package/intelligence/prd.js +92 -1
- package/intelligence/recommendation-weights.json +14 -2
- package/intelligence/recommendations.js +463 -9
- package/intelligence/workflow-composer.js +1451 -0
- package/marketplace/index.d.ts +324 -0
- package/marketplace/index.js +1921 -0
- package/mcp/contracts/mcp-contract.v1.json +342 -4
- package/mcp/registry.js +680 -3
- package/mcp/response-formatter.js +23 -0
- package/mcp/tools/assist-tool.js +78 -4
- package/mcp/tools/autopilot-tool.js +408 -0
- package/mcp/tools/content-tool.js +571 -0
- package/mcp/tools/dashboard-tool.js +251 -5
- package/mcp/tools/mvp-tool.js +344 -0
- package/mcp/tools/plugin-tool.js +23 -1
- package/mcp/tools/prd-tool.js +579 -0
- package/mcp/tools/seed-tool.js +447 -0
- package/mcp/tools/skill-tool.js +43 -14
- package/mcp/tools/suggest-tool.js +147 -0
- package/package.json +15 -6
- package/agents/README.md +0 -93
- package/agents/ai-integration-expert/context.md +0 -386
- package/agents/api-expert/context.md +0 -416
- package/agents/architecture-expert/context.md +0 -454
- package/agents/auth-expert/context.md +0 -399
- package/agents/backend-expert/context.md +0 -483
- package/agents/business-strategy-expert/context.md +0 -180
- package/agents/code-review-expert/context.md +0 -365
- package/agents/competitive-analysis-expert/context.md +0 -239
- package/agents/data-modeling-expert/context.md +0 -352
- package/agents/database-expert/context.md +0 -250
- package/agents/devops-expert/context.md +0 -446
- package/agents/email-expert/context.md +0 -379
- package/agents/financial-expert/context.md +0 -213
- package/agents/frontend-expert/context.md +0 -364
- package/agents/fundraising-expert/context.md +0 -257
- package/agents/growth-expert/context.md +0 -249
- package/agents/index.js +0 -140
- package/agents/investor-relations-expert/context.md +0 -266
- package/agents/legal-expert/context.md +0 -284
- package/agents/marketing-expert/context.md +0 -236
- package/agents/monitoring-expert/context.md +0 -362
- package/agents/operations-expert/context.md +0 -279
- package/agents/partnerships-expert/context.md +0 -286
- package/agents/payment-expert/context.md +0 -340
- package/agents/performance-expert/context.md +0 -377
- package/agents/private-equity-expert/context.md +0 -246
- package/agents/railway-expert/context.md +0 -284
- package/agents/research-expert/context.md +0 -245
- package/agents/sales-expert/context.md +0 -241
- package/agents/security-expert/context.md +0 -343
- package/agents/testing-expert/context.md +0 -414
- package/agents/ui-ux-expert/context.md +0 -448
- package/agents/vercel-expert/context.md +0 -426
- package/skills/index.js +0 -787
- package/skills/patterns/README.md +0 -163
- package/skills/patterns/ai/agents.md +0 -281
- package/skills/patterns/ai/claude.md +0 -138
- package/skills/patterns/ai/embeddings.md +0 -150
- package/skills/patterns/ai/rag.md +0 -266
- package/skills/patterns/ai/streaming.md +0 -170
- package/skills/patterns/ai/structured-output.md +0 -162
- package/skills/patterns/ai/tools.md +0 -154
- package/skills/patterns/analytics/tracking.md +0 -220
- package/skills/patterns/api/errors.md +0 -296
- package/skills/patterns/api/graphql.md +0 -440
- package/skills/patterns/api/middleware.md +0 -279
- package/skills/patterns/api/openapi.md +0 -285
- package/skills/patterns/api/rate-limiting.md +0 -231
- package/skills/patterns/api/route-handler.md +0 -217
- package/skills/patterns/api/server-action.md +0 -249
- package/skills/patterns/api/versioning.md +0 -443
- package/skills/patterns/api/webhooks.md +0 -247
- package/skills/patterns/auth/clerk.md +0 -132
- package/skills/patterns/auth/mfa.md +0 -313
- package/skills/patterns/auth/nextauth.md +0 -140
- package/skills/patterns/auth/oauth.md +0 -237
- package/skills/patterns/auth/rbac.md +0 -152
- package/skills/patterns/auth/session-management.md +0 -367
- package/skills/patterns/auth/session.md +0 -120
- package/skills/patterns/database/audit.md +0 -177
- package/skills/patterns/database/migrations.md +0 -177
- package/skills/patterns/database/pagination.md +0 -230
- package/skills/patterns/database/pooling.md +0 -357
- package/skills/patterns/database/prisma.md +0 -180
- package/skills/patterns/database/relations.md +0 -187
- package/skills/patterns/database/seeding.md +0 -246
- package/skills/patterns/database/soft-delete.md +0 -153
- package/skills/patterns/database/transactions.md +0 -162
- package/skills/patterns/deployment/ci-cd.md +0 -231
- package/skills/patterns/deployment/docker.md +0 -188
- package/skills/patterns/deployment/monitoring.md +0 -387
- package/skills/patterns/deployment/vercel.md +0 -160
- package/skills/patterns/email/resend.md +0 -143
- package/skills/patterns/email/templates.md +0 -245
- package/skills/patterns/email/transactional.md +0 -503
- package/skills/patterns/email/verification.md +0 -176
- package/skills/patterns/files/download.md +0 -243
- package/skills/patterns/files/upload.md +0 -239
- package/skills/patterns/i18n/nextintl.md +0 -188
- package/skills/patterns/logging/structured.md +0 -292
- package/skills/patterns/notifications/email-queue.md +0 -248
- package/skills/patterns/notifications/push.md +0 -279
- package/skills/patterns/payments/checkout.md +0 -303
- package/skills/patterns/payments/invoices.md +0 -287
- package/skills/patterns/payments/portal.md +0 -245
- package/skills/patterns/payments/stripe.md +0 -272
- package/skills/patterns/payments/subscriptions.md +0 -300
- package/skills/patterns/payments/usage.md +0 -279
- package/skills/patterns/performance/caching.md +0 -276
- package/skills/patterns/performance/code-splitting.md +0 -233
- package/skills/patterns/performance/edge.md +0 -254
- package/skills/patterns/performance/isr.md +0 -266
- package/skills/patterns/performance/lazy-loading.md +0 -281
- package/skills/patterns/realtime/sse.md +0 -327
- package/skills/patterns/realtime/websockets.md +0 -336
- package/skills/patterns/search/filtering.md +0 -329
- package/skills/patterns/search/fulltext.md +0 -260
- package/skills/patterns/security/audit-logging.md +0 -444
- package/skills/patterns/security/csrf.md +0 -234
- package/skills/patterns/security/headers.md +0 -252
- package/skills/patterns/security/sanitization.md +0 -258
- package/skills/patterns/security/secrets.md +0 -261
- package/skills/patterns/security/validation.md +0 -268
- package/skills/patterns/security/xss.md +0 -229
- package/skills/patterns/seo/metadata.md +0 -252
- package/skills/patterns/state/context.md +0 -349
- package/skills/patterns/state/react-query.md +0 -313
- package/skills/patterns/state/url-state.md +0 -482
- package/skills/patterns/state/zustand.md +0 -262
- package/skills/patterns/testing/api.md +0 -259
- package/skills/patterns/testing/component.md +0 -233
- package/skills/patterns/testing/coverage.md +0 -207
- package/skills/patterns/testing/fixtures.md +0 -225
- package/skills/patterns/testing/integration.md +0 -436
- package/skills/patterns/testing/mocking.md +0 -177
- package/skills/patterns/testing/playwright.md +0 -162
- package/skills/patterns/testing/snapshot.md +0 -175
- package/skills/patterns/testing/vitest.md +0 -307
- package/skills/patterns/ui/accordions.md +0 -395
- package/skills/patterns/ui/cards.md +0 -299
- package/skills/patterns/ui/dropdowns.md +0 -476
- package/skills/patterns/ui/empty-states.md +0 -320
- package/skills/patterns/ui/forms.md +0 -405
- package/skills/patterns/ui/inputs.md +0 -319
- package/skills/patterns/ui/layouts.md +0 -282
- package/skills/patterns/ui/loading.md +0 -291
- package/skills/patterns/ui/modals.md +0 -338
- package/skills/patterns/ui/navigation.md +0 -374
- package/skills/patterns/ui/tables.md +0 -407
- package/skills/patterns/ui/toasts.md +0 -300
- package/skills/patterns/ui/tooltips.md +0 -396
- package/skills/patterns/utils/dates.md +0 -435
- package/skills/patterns/utils/errors.md +0 -451
- package/skills/patterns/utils/formatting.md +0 -345
- package/skills/patterns/utils/validation.md +0 -434
- package/templates/bootspring.config.js +0 -83
- package/templates/business/business-model-canvas.md +0 -246
- package/templates/business/business-plan.md +0 -266
- package/templates/business/competitive-analysis.md +0 -312
- package/templates/fundraising/data-room-checklist.md +0 -300
- package/templates/fundraising/investor-research.md +0 -243
- package/templates/fundraising/pitch-deck-outline.md +0 -253
- package/templates/legal/gdpr-checklist.md +0 -339
- package/templates/legal/privacy-policy.md +0 -285
- package/templates/legal/terms-of-service.md +0 -222
- package/templates/mcp.json +0 -9
|
@@ -1,12 +1,522 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": "1.0.0",
|
|
3
|
-
"last_analysis":
|
|
4
|
-
"insights": [
|
|
3
|
+
"last_analysis": "2026-02-21T18:13:21.290Z",
|
|
4
|
+
"insights": [
|
|
5
|
+
{
|
|
6
|
+
"type": "cold_start",
|
|
7
|
+
"subject": "general",
|
|
8
|
+
"message": "Using industry best practices until learning data accumulates",
|
|
9
|
+
"level": "info",
|
|
10
|
+
"confidence": 0.5,
|
|
11
|
+
"weight": 1,
|
|
12
|
+
"is_default": true
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"type": "cold_start",
|
|
16
|
+
"subject": "data_collection",
|
|
17
|
+
"message": "Recommendations will improve significantly after 5 recorded decisions",
|
|
18
|
+
"level": "info",
|
|
19
|
+
"confidence": 0.5,
|
|
20
|
+
"weight": 1,
|
|
21
|
+
"is_default": true
|
|
22
|
+
}
|
|
23
|
+
],
|
|
5
24
|
"correlations": [],
|
|
6
|
-
"anti_patterns": [
|
|
25
|
+
"anti_patterns": [
|
|
26
|
+
{
|
|
27
|
+
"type": "security",
|
|
28
|
+
"decision": "hardcoded_secrets",
|
|
29
|
+
"failure_rate": 1,
|
|
30
|
+
"occurrences": 0,
|
|
31
|
+
"recommendation": "AVOID",
|
|
32
|
+
"message": "Never hardcode API keys, passwords, or secrets in source code",
|
|
33
|
+
"is_default": true,
|
|
34
|
+
"weight": 1
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"type": "database",
|
|
38
|
+
"decision": "no_migrations",
|
|
39
|
+
"failure_rate": 0.8,
|
|
40
|
+
"occurrences": 0,
|
|
41
|
+
"recommendation": "AVOID",
|
|
42
|
+
"message": "Always use migrations for schema changes, avoid direct DB modifications",
|
|
43
|
+
"is_default": true,
|
|
44
|
+
"weight": 1
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"type": "deployment",
|
|
48
|
+
"decision": "direct_to_production",
|
|
49
|
+
"failure_rate": 0.7,
|
|
50
|
+
"occurrences": 0,
|
|
51
|
+
"recommendation": "AVOID",
|
|
52
|
+
"message": "Deploy to staging first, test thoroughly before production",
|
|
53
|
+
"is_default": true,
|
|
54
|
+
"weight": 1
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"type": "testing",
|
|
58
|
+
"decision": "skip_tests_for_deadline",
|
|
59
|
+
"failure_rate": 0.75,
|
|
60
|
+
"occurrences": 0,
|
|
61
|
+
"recommendation": "AVOID",
|
|
62
|
+
"message": "Skipping tests to meet deadlines often leads to bugs and longer timelines",
|
|
63
|
+
"is_default": true,
|
|
64
|
+
"weight": 1
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"type": "refactoring",
|
|
68
|
+
"decision": "big_bang_refactor",
|
|
69
|
+
"failure_rate": 0.65,
|
|
70
|
+
"occurrences": 0,
|
|
71
|
+
"recommendation": "AVOID",
|
|
72
|
+
"message": "Large refactors without tests are risky - prefer incremental changes",
|
|
73
|
+
"is_default": true,
|
|
74
|
+
"weight": 1
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"type": "feature",
|
|
78
|
+
"decision": "no_requirements",
|
|
79
|
+
"failure_rate": 0.6,
|
|
80
|
+
"occurrences": 0,
|
|
81
|
+
"recommendation": "AVOID",
|
|
82
|
+
"message": "Starting development without clear requirements leads to rework",
|
|
83
|
+
"is_default": true,
|
|
84
|
+
"weight": 1
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"type": "architecture",
|
|
88
|
+
"decision": "premature_optimization",
|
|
89
|
+
"failure_rate": 0.5,
|
|
90
|
+
"occurrences": 0,
|
|
91
|
+
"recommendation": "CAUTION",
|
|
92
|
+
"message": "Optimizing before measuring often wastes effort on non-bottlenecks",
|
|
93
|
+
"is_default": true,
|
|
94
|
+
"weight": 1
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"type": "api",
|
|
98
|
+
"decision": "breaking_change_no_version",
|
|
99
|
+
"failure_rate": 0.8,
|
|
100
|
+
"occurrences": 0,
|
|
101
|
+
"recommendation": "AVOID",
|
|
102
|
+
"message": "Breaking API changes without versioning breaks existing clients",
|
|
103
|
+
"is_default": true,
|
|
104
|
+
"weight": 1
|
|
105
|
+
}
|
|
106
|
+
],
|
|
7
107
|
"recommendations": {
|
|
8
|
-
"by_type": {
|
|
9
|
-
|
|
10
|
-
|
|
108
|
+
"by_type": {
|
|
109
|
+
"database": {
|
|
110
|
+
"success_rate": 0.8,
|
|
111
|
+
"recommendation": "Use migrations for schema changes, write tests for queries",
|
|
112
|
+
"sample_size": 0,
|
|
113
|
+
"is_default": true,
|
|
114
|
+
"tips": [
|
|
115
|
+
"Always create rollback migrations",
|
|
116
|
+
"Test with production-like data volumes",
|
|
117
|
+
"Index columns used in WHERE clauses"
|
|
118
|
+
]
|
|
119
|
+
},
|
|
120
|
+
"api": {
|
|
121
|
+
"success_rate": 0.75,
|
|
122
|
+
"recommendation": "Document endpoints, validate inputs, handle errors consistently",
|
|
123
|
+
"sample_size": 0,
|
|
124
|
+
"is_default": true,
|
|
125
|
+
"tips": [
|
|
126
|
+
"Use OpenAPI/Swagger for documentation",
|
|
127
|
+
"Return appropriate HTTP status codes",
|
|
128
|
+
"Include request IDs for debugging"
|
|
129
|
+
]
|
|
130
|
+
},
|
|
131
|
+
"ui": {
|
|
132
|
+
"success_rate": 0.7,
|
|
133
|
+
"recommendation": "Start with mobile-first design, use design system components",
|
|
134
|
+
"sample_size": 0,
|
|
135
|
+
"is_default": true,
|
|
136
|
+
"tips": [
|
|
137
|
+
"Test on real devices, not just emulators",
|
|
138
|
+
"Consider accessibility from the start",
|
|
139
|
+
"Use semantic HTML elements"
|
|
140
|
+
]
|
|
141
|
+
},
|
|
142
|
+
"testing": {
|
|
143
|
+
"success_rate": 0.85,
|
|
144
|
+
"recommendation": "Write tests for critical paths first, mock external services",
|
|
145
|
+
"sample_size": 0,
|
|
146
|
+
"is_default": true,
|
|
147
|
+
"tips": [
|
|
148
|
+
"Use factories for test data",
|
|
149
|
+
"Keep tests independent and isolated",
|
|
150
|
+
"Test behavior, not implementation"
|
|
151
|
+
]
|
|
152
|
+
},
|
|
153
|
+
"security": {
|
|
154
|
+
"success_rate": 0.9,
|
|
155
|
+
"recommendation": "Never store secrets in code, validate all inputs, use prepared statements",
|
|
156
|
+
"sample_size": 0,
|
|
157
|
+
"is_default": true,
|
|
158
|
+
"tips": [
|
|
159
|
+
"Use environment variables for configuration",
|
|
160
|
+
"Implement rate limiting on public endpoints",
|
|
161
|
+
"Keep dependencies updated"
|
|
162
|
+
]
|
|
163
|
+
},
|
|
164
|
+
"architecture": {
|
|
165
|
+
"success_rate": 0.65,
|
|
166
|
+
"recommendation": "Start simple, refactor when patterns emerge, document decisions",
|
|
167
|
+
"sample_size": 0,
|
|
168
|
+
"is_default": true,
|
|
169
|
+
"tips": [
|
|
170
|
+
"Use ADRs (Architecture Decision Records)",
|
|
171
|
+
"Prefer composition over inheritance",
|
|
172
|
+
"Keep components loosely coupled"
|
|
173
|
+
]
|
|
174
|
+
},
|
|
175
|
+
"feature": {
|
|
176
|
+
"success_rate": 0.75,
|
|
177
|
+
"recommendation": "Break into small increments, define acceptance criteria, get early feedback",
|
|
178
|
+
"sample_size": 0,
|
|
179
|
+
"is_default": true,
|
|
180
|
+
"tips": [
|
|
181
|
+
"Ship MVPs and iterate",
|
|
182
|
+
"Use feature flags for gradual rollout",
|
|
183
|
+
"Track metrics to measure success"
|
|
184
|
+
]
|
|
185
|
+
},
|
|
186
|
+
"bugfix": {
|
|
187
|
+
"success_rate": 0.8,
|
|
188
|
+
"recommendation": "Write failing test first, fix root cause, verify no regressions",
|
|
189
|
+
"sample_size": 0,
|
|
190
|
+
"is_default": true,
|
|
191
|
+
"tips": [
|
|
192
|
+
"Understand the bug before fixing",
|
|
193
|
+
"Check for similar issues elsewhere",
|
|
194
|
+
"Update documentation if behavior was unclear"
|
|
195
|
+
]
|
|
196
|
+
},
|
|
197
|
+
"refactoring": {
|
|
198
|
+
"success_rate": 0.7,
|
|
199
|
+
"recommendation": "Ensure test coverage, make small changes, keep separate from features",
|
|
200
|
+
"sample_size": 0,
|
|
201
|
+
"is_default": true,
|
|
202
|
+
"tips": [
|
|
203
|
+
"Use IDE refactoring tools when available",
|
|
204
|
+
"Commit frequently during refactoring",
|
|
205
|
+
"Review changes in small batches"
|
|
206
|
+
]
|
|
207
|
+
},
|
|
208
|
+
"performance": {
|
|
209
|
+
"success_rate": 0.65,
|
|
210
|
+
"recommendation": "Measure first, optimize bottlenecks, measure again",
|
|
211
|
+
"sample_size": 0,
|
|
212
|
+
"is_default": true,
|
|
213
|
+
"tips": [
|
|
214
|
+
"Set performance budgets upfront",
|
|
215
|
+
"Profile in production-like environments",
|
|
216
|
+
"Consider caching strategies"
|
|
217
|
+
]
|
|
218
|
+
},
|
|
219
|
+
"deployment": {
|
|
220
|
+
"success_rate": 0.75,
|
|
221
|
+
"recommendation": "Use staging environment, implement health checks, have rollback plan",
|
|
222
|
+
"sample_size": 0,
|
|
223
|
+
"is_default": true,
|
|
224
|
+
"tips": [
|
|
225
|
+
"Automate deployments",
|
|
226
|
+
"Use blue-green or canary deployments",
|
|
227
|
+
"Monitor error rates after deploy"
|
|
228
|
+
]
|
|
229
|
+
},
|
|
230
|
+
"documentation": {
|
|
231
|
+
"success_rate": 0.8,
|
|
232
|
+
"recommendation": "Keep docs close to code, include examples, update during changes",
|
|
233
|
+
"sample_size": 0,
|
|
234
|
+
"is_default": true,
|
|
235
|
+
"tips": [
|
|
236
|
+
"Use inline comments for \"why\", not \"what\"",
|
|
237
|
+
"Include runnable code examples",
|
|
238
|
+
"Document breaking changes prominently"
|
|
239
|
+
]
|
|
240
|
+
}
|
|
241
|
+
},
|
|
242
|
+
"by_phase": {
|
|
243
|
+
"planning": {
|
|
244
|
+
"success_rate": 0.8,
|
|
245
|
+
"recommendation": "Break large features into small stories, define acceptance criteria",
|
|
246
|
+
"sample_size": 0,
|
|
247
|
+
"is_default": true,
|
|
248
|
+
"tips": [
|
|
249
|
+
"Include technical spike time for unknowns",
|
|
250
|
+
"Define \"done\" criteria upfront",
|
|
251
|
+
"Identify dependencies early"
|
|
252
|
+
]
|
|
253
|
+
},
|
|
254
|
+
"development": {
|
|
255
|
+
"success_rate": 0.75,
|
|
256
|
+
"recommendation": "Commit early and often, write tests alongside code",
|
|
257
|
+
"sample_size": 0,
|
|
258
|
+
"is_default": true,
|
|
259
|
+
"tips": [
|
|
260
|
+
"Use meaningful commit messages",
|
|
261
|
+
"Keep pull requests small and focused",
|
|
262
|
+
"Request reviews early for big changes"
|
|
263
|
+
]
|
|
264
|
+
},
|
|
265
|
+
"testing": {
|
|
266
|
+
"success_rate": 0.85,
|
|
267
|
+
"recommendation": "Automate tests, test edge cases, verify in staging",
|
|
268
|
+
"sample_size": 0,
|
|
269
|
+
"is_default": true,
|
|
270
|
+
"tips": [
|
|
271
|
+
"Include both happy path and error cases",
|
|
272
|
+
"Test with realistic data",
|
|
273
|
+
"Run security scans in CI"
|
|
274
|
+
]
|
|
275
|
+
},
|
|
276
|
+
"deployment": {
|
|
277
|
+
"success_rate": 0.7,
|
|
278
|
+
"recommendation": "Use feature flags, deploy to staging first, monitor closely",
|
|
279
|
+
"sample_size": 0,
|
|
280
|
+
"is_default": true,
|
|
281
|
+
"tips": [
|
|
282
|
+
"Have runbooks for common issues",
|
|
283
|
+
"Set up alerting before deploying",
|
|
284
|
+
"Deploy during low-traffic periods for risky changes"
|
|
285
|
+
]
|
|
286
|
+
},
|
|
287
|
+
"maintenance": {
|
|
288
|
+
"success_rate": 0.8,
|
|
289
|
+
"recommendation": "Keep dependencies updated, monitor for issues, document learnings",
|
|
290
|
+
"sample_size": 0,
|
|
291
|
+
"is_default": true,
|
|
292
|
+
"tips": [
|
|
293
|
+
"Schedule regular dependency updates",
|
|
294
|
+
"Review and clean up technical debt",
|
|
295
|
+
"Archive unused code rather than commenting out"
|
|
296
|
+
]
|
|
297
|
+
}
|
|
298
|
+
},
|
|
299
|
+
"general": [
|
|
300
|
+
{
|
|
301
|
+
"priority": "info",
|
|
302
|
+
"message": "Learning in progress: 0/21 decisions recorded",
|
|
303
|
+
"action": "Continue recording outcomes to improve recommendations",
|
|
304
|
+
"progress": 0
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
"priority": "medium",
|
|
308
|
+
"message": "Building your decision history - recommendations will improve with more data",
|
|
309
|
+
"action": "Continue making decisions and recording outcomes"
|
|
310
|
+
},
|
|
311
|
+
{
|
|
312
|
+
"priority": "low",
|
|
313
|
+
"message": "Record outcomes for decisions to help the system learn",
|
|
314
|
+
"action": "Use decision tracker to mark decisions as success, failure, or reverted"
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
"priority": "high",
|
|
318
|
+
"message": "Overall success rate is below 50% - consider pausing to review decision processes",
|
|
319
|
+
"action": "Review recent failures and identify common issues"
|
|
320
|
+
}
|
|
321
|
+
]
|
|
322
|
+
},
|
|
323
|
+
"scenarios": {
|
|
324
|
+
"new_feature": {
|
|
325
|
+
"name": "New Feature Development",
|
|
326
|
+
"steps": [
|
|
327
|
+
"Define acceptance criteria before coding",
|
|
328
|
+
"Break feature into small, testable increments",
|
|
329
|
+
"Write tests for core functionality first",
|
|
330
|
+
"Implement happy path, then edge cases",
|
|
331
|
+
"Document API changes and user-facing behavior"
|
|
332
|
+
],
|
|
333
|
+
"common_pitfalls": [
|
|
334
|
+
"Starting without clear requirements",
|
|
335
|
+
"Building too much before getting feedback",
|
|
336
|
+
"Skipping tests for \"simple\" features"
|
|
337
|
+
],
|
|
338
|
+
"success_indicators": [
|
|
339
|
+
"All acceptance criteria met",
|
|
340
|
+
"Tests passing and covering edge cases",
|
|
341
|
+
"Code reviewed and approved"
|
|
342
|
+
],
|
|
343
|
+
"confidence": 0.75,
|
|
344
|
+
"is_default": true
|
|
345
|
+
},
|
|
346
|
+
"bug_fix": {
|
|
347
|
+
"name": "Bug Fix",
|
|
348
|
+
"steps": [
|
|
349
|
+
"Reproduce the bug reliably first",
|
|
350
|
+
"Write a failing test that demonstrates the bug",
|
|
351
|
+
"Identify root cause before implementing fix",
|
|
352
|
+
"Fix the root cause, not just symptoms",
|
|
353
|
+
"Verify fix resolves original issue without regressions"
|
|
354
|
+
],
|
|
355
|
+
"common_pitfalls": [
|
|
356
|
+
"Fixing symptoms instead of root cause",
|
|
357
|
+
"Not writing a regression test",
|
|
358
|
+
"Rushing fix without understanding impact"
|
|
359
|
+
],
|
|
360
|
+
"success_indicators": [
|
|
361
|
+
"Bug no longer reproducible",
|
|
362
|
+
"Regression test added and passing",
|
|
363
|
+
"No new issues introduced"
|
|
364
|
+
],
|
|
365
|
+
"confidence": 0.75,
|
|
366
|
+
"is_default": true
|
|
367
|
+
},
|
|
368
|
+
"refactoring": {
|
|
369
|
+
"name": "Code Refactoring",
|
|
370
|
+
"steps": [
|
|
371
|
+
"Ensure comprehensive test coverage exists first",
|
|
372
|
+
"Make small, incremental changes",
|
|
373
|
+
"Run tests after each change",
|
|
374
|
+
"Keep refactoring separate from feature changes",
|
|
375
|
+
"Document architectural decisions"
|
|
376
|
+
],
|
|
377
|
+
"common_pitfalls": [
|
|
378
|
+
"Refactoring without test coverage",
|
|
379
|
+
"Combining refactoring with feature work",
|
|
380
|
+
"Making too many changes at once"
|
|
381
|
+
],
|
|
382
|
+
"success_indicators": [
|
|
383
|
+
"All existing tests still pass",
|
|
384
|
+
"Code metrics improved (complexity, duplication)",
|
|
385
|
+
"No behavior changes introduced"
|
|
386
|
+
],
|
|
387
|
+
"confidence": 0.75,
|
|
388
|
+
"is_default": true
|
|
389
|
+
},
|
|
390
|
+
"testing": {
|
|
391
|
+
"name": "Writing Tests",
|
|
392
|
+
"steps": [
|
|
393
|
+
"Identify critical paths and edge cases",
|
|
394
|
+
"Write unit tests for isolated logic",
|
|
395
|
+
"Write integration tests for component interactions",
|
|
396
|
+
"Mock external dependencies consistently",
|
|
397
|
+
"Aim for meaningful coverage, not 100% coverage"
|
|
398
|
+
],
|
|
399
|
+
"common_pitfalls": [
|
|
400
|
+
"Testing implementation details instead of behavior",
|
|
401
|
+
"Brittle tests that break on refactoring",
|
|
402
|
+
"Ignoring edge cases and error paths"
|
|
403
|
+
],
|
|
404
|
+
"success_indicators": [
|
|
405
|
+
"Tests are reliable and not flaky",
|
|
406
|
+
"Tests run quickly (unit tests < 10s)",
|
|
407
|
+
"Tests catch real bugs during development"
|
|
408
|
+
],
|
|
409
|
+
"confidence": 0.75,
|
|
410
|
+
"is_default": true
|
|
411
|
+
},
|
|
412
|
+
"database_migration": {
|
|
413
|
+
"name": "Database Migration",
|
|
414
|
+
"steps": [
|
|
415
|
+
"Plan migration with rollback strategy",
|
|
416
|
+
"Test migration on copy of production data",
|
|
417
|
+
"Make migrations backward compatible when possible",
|
|
418
|
+
"Deploy migration before code that depends on it",
|
|
419
|
+
"Monitor for performance issues after deployment"
|
|
420
|
+
],
|
|
421
|
+
"common_pitfalls": [
|
|
422
|
+
"No rollback plan",
|
|
423
|
+
"Locking tables during high-traffic periods",
|
|
424
|
+
"Deploying dependent code before migration completes"
|
|
425
|
+
],
|
|
426
|
+
"success_indicators": [
|
|
427
|
+
"Migration completes without errors",
|
|
428
|
+
"Application continues working during migration",
|
|
429
|
+
"Rollback tested and working"
|
|
430
|
+
],
|
|
431
|
+
"confidence": 0.75,
|
|
432
|
+
"is_default": true
|
|
433
|
+
},
|
|
434
|
+
"api_development": {
|
|
435
|
+
"name": "API Development",
|
|
436
|
+
"steps": [
|
|
437
|
+
"Design API contract before implementation",
|
|
438
|
+
"Validate all inputs at the boundary",
|
|
439
|
+
"Return consistent error formats",
|
|
440
|
+
"Version APIs for breaking changes",
|
|
441
|
+
"Document endpoints with examples"
|
|
442
|
+
],
|
|
443
|
+
"common_pitfalls": [
|
|
444
|
+
"Inconsistent error handling",
|
|
445
|
+
"Missing input validation",
|
|
446
|
+
"Breaking changes without versioning"
|
|
447
|
+
],
|
|
448
|
+
"success_indicators": [
|
|
449
|
+
"Clear and consistent API contract",
|
|
450
|
+
"Comprehensive error handling",
|
|
451
|
+
"Documentation up to date"
|
|
452
|
+
],
|
|
453
|
+
"confidence": 0.75,
|
|
454
|
+
"is_default": true
|
|
455
|
+
},
|
|
456
|
+
"performance": {
|
|
457
|
+
"name": "Performance Optimization",
|
|
458
|
+
"steps": [
|
|
459
|
+
"Measure before optimizing - establish baseline",
|
|
460
|
+
"Identify bottleneck using profiling tools",
|
|
461
|
+
"Focus on the biggest impact first",
|
|
462
|
+
"Measure after each change",
|
|
463
|
+
"Document performance requirements and results"
|
|
464
|
+
],
|
|
465
|
+
"common_pitfalls": [
|
|
466
|
+
"Optimizing without measuring",
|
|
467
|
+
"Premature optimization",
|
|
468
|
+
"Optimizing non-bottlenecks"
|
|
469
|
+
],
|
|
470
|
+
"success_indicators": [
|
|
471
|
+
"Measurable performance improvement",
|
|
472
|
+
"No functionality regressions",
|
|
473
|
+
"Performance requirements documented and met"
|
|
474
|
+
],
|
|
475
|
+
"confidence": 0.5,
|
|
476
|
+
"is_default": true
|
|
477
|
+
},
|
|
478
|
+
"security": {
|
|
479
|
+
"name": "Security Implementation",
|
|
480
|
+
"steps": [
|
|
481
|
+
"Validate and sanitize all user inputs",
|
|
482
|
+
"Use parameterized queries for database access",
|
|
483
|
+
"Implement proper authentication and authorization",
|
|
484
|
+
"Store secrets in environment variables or vaults",
|
|
485
|
+
"Log security events without exposing sensitive data"
|
|
486
|
+
],
|
|
487
|
+
"common_pitfalls": [
|
|
488
|
+
"Trusting user input",
|
|
489
|
+
"Hardcoding secrets",
|
|
490
|
+
"Logging sensitive information"
|
|
491
|
+
],
|
|
492
|
+
"success_indicators": [
|
|
493
|
+
"Passes security review/scan",
|
|
494
|
+
"No secrets in codebase",
|
|
495
|
+
"Proper access controls in place"
|
|
496
|
+
],
|
|
497
|
+
"confidence": 0.9,
|
|
498
|
+
"is_default": true
|
|
499
|
+
}
|
|
500
|
+
},
|
|
501
|
+
"using_defaults": true,
|
|
502
|
+
"blend_ratio": {
|
|
503
|
+
"defaultWeight": 1,
|
|
504
|
+
"learnedWeight": 0,
|
|
505
|
+
"phase": "cold_start"
|
|
506
|
+
},
|
|
507
|
+
"analysis_summary": {
|
|
508
|
+
"total_decisions": 0,
|
|
509
|
+
"completed_decisions": 0,
|
|
510
|
+
"success_rate": 0,
|
|
511
|
+
"top_performing_type": null,
|
|
512
|
+
"patterns_found": 2,
|
|
513
|
+
"anti_patterns_found": 8,
|
|
514
|
+
"using_defaults": true,
|
|
515
|
+
"blend_ratio": {
|
|
516
|
+
"defaultWeight": 1,
|
|
517
|
+
"learnedWeight": 0,
|
|
518
|
+
"phase": "cold_start"
|
|
519
|
+
},
|
|
520
|
+
"decisions_until_full_learning": 21
|
|
11
521
|
}
|
|
12
|
-
}
|
|
522
|
+
}
|