specweave 0.23.16 → 0.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +93 -38
- package/CLAUDE.md +159 -11
- package/dist/plugins/specweave-github/lib/github-spec-content-sync.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/github-spec-content-sync.js +57 -0
- package/dist/plugins/specweave-github/lib/github-spec-content-sync.js.map +1 -1
- package/dist/src/cli/commands/sync-spec-content.js +3 -0
- package/dist/src/cli/commands/sync-spec-content.js.map +1 -1
- package/dist/src/cli/helpers/ado-area-path-mapper.d.ts +89 -0
- package/dist/src/cli/helpers/ado-area-path-mapper.d.ts.map +1 -0
- package/dist/src/cli/helpers/ado-area-path-mapper.js +213 -0
- package/dist/src/cli/helpers/ado-area-path-mapper.js.map +1 -0
- package/dist/src/cli/helpers/issue-tracker/ado-auto-discover.d.ts +29 -0
- package/dist/src/cli/helpers/issue-tracker/ado-auto-discover.d.ts.map +1 -0
- package/dist/src/cli/helpers/issue-tracker/ado-auto-discover.js +109 -0
- package/dist/src/cli/helpers/issue-tracker/ado-auto-discover.js.map +1 -0
- package/dist/src/cli/helpers/issue-tracker/ado.d.ts +1 -0
- package/dist/src/cli/helpers/issue-tracker/ado.d.ts.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/ado.js +2 -0
- package/dist/src/cli/helpers/issue-tracker/ado.js.map +1 -1
- package/dist/src/cli/helpers/smart-filter.d.ts +83 -0
- package/dist/src/cli/helpers/smart-filter.d.ts.map +1 -0
- package/dist/src/cli/helpers/smart-filter.js +265 -0
- package/dist/src/cli/helpers/smart-filter.js.map +1 -0
- package/dist/src/core/progress/progress-tracker.d.ts +4 -1
- package/dist/src/core/progress/progress-tracker.d.ts.map +1 -1
- package/dist/src/core/progress/progress-tracker.js +33 -4
- package/dist/src/core/progress/progress-tracker.js.map +1 -1
- package/dist/src/core/qa/quality-gate-decider.d.ts +1 -1
- package/dist/src/core/qa/quality-gate-decider.js +2 -2
- package/dist/src/core/qa/quality-gate-decider.js.map +1 -1
- package/dist/src/core/qa/risk-calculator.d.ts +2 -2
- package/dist/src/core/qa/risk-calculator.js +2 -2
- package/dist/src/core/spec-content-sync.d.ts +1 -1
- package/dist/src/core/spec-content-sync.d.ts.map +1 -1
- package/dist/src/core/validators/ac-presence-validator.d.ts +56 -0
- package/dist/src/core/validators/ac-presence-validator.d.ts.map +1 -0
- package/dist/src/core/validators/ac-presence-validator.js +149 -0
- package/dist/src/core/validators/ac-presence-validator.js.map +1 -0
- package/dist/src/integrations/ado/ado-dependency-loader.d.ts +1 -1
- package/dist/src/integrations/ado/ado-dependency-loader.d.ts.map +1 -1
- package/dist/src/integrations/ado/ado-dependency-loader.js +39 -7
- package/dist/src/integrations/ado/ado-dependency-loader.js.map +1 -1
- package/dist/src/integrations/ado/area-path-mapper.d.ts +137 -0
- package/dist/src/integrations/ado/area-path-mapper.d.ts.map +1 -0
- package/dist/src/integrations/ado/area-path-mapper.js +267 -0
- package/dist/src/integrations/ado/area-path-mapper.js.map +1 -0
- package/dist/src/integrations/jira/filter-processor.d.ts +126 -0
- package/dist/src/integrations/jira/filter-processor.d.ts.map +1 -0
- package/dist/src/integrations/jira/filter-processor.js +207 -0
- package/dist/src/integrations/jira/filter-processor.js.map +1 -0
- package/dist/src/integrations/jira/jira-client.d.ts +13 -0
- package/dist/src/integrations/jira/jira-client.d.ts.map +1 -1
- package/dist/src/integrations/jira/jira-client.js +33 -0
- package/dist/src/integrations/jira/jira-client.js.map +1 -1
- package/dist/src/utils/ac-embedder.d.ts +63 -0
- package/dist/src/utils/ac-embedder.d.ts.map +1 -0
- package/dist/src/utils/ac-embedder.js +217 -0
- package/dist/src/utils/ac-embedder.js.map +1 -0
- package/dist/src/utils/env-manager.d.ts +86 -0
- package/dist/src/utils/env-manager.d.ts.map +1 -0
- package/dist/src/utils/env-manager.js +188 -0
- package/dist/src/utils/env-manager.js.map +1 -0
- package/package.json +1 -1
- package/plugins/specweave/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave/agents/AGENTS-INDEX.md +1 -1
- package/plugins/specweave/agents/increment-quality-judge-v2/AGENT.md +9 -9
- package/plugins/specweave/commands/specweave-do.md +37 -0
- package/plugins/specweave/commands/specweave-done.md +159 -0
- package/plugins/specweave/commands/specweave-embed-acs.md +446 -0
- package/plugins/specweave/commands/specweave-next.md +148 -3
- package/plugins/specweave/commands/specweave-qa.md +2 -2
- package/plugins/specweave/hooks/lib/migrate-increment-work.sh +1 -1
- package/plugins/specweave/hooks/lib/migrate-increment-work.sh.bak +245 -0
- package/plugins/specweave/hooks/lib/sync-spec-content.sh +2 -2
- package/plugins/specweave/hooks/lib/sync-spec-content.sh.bak +149 -0
- package/plugins/specweave/hooks/lib/update-status-line.sh +34 -4
- package/plugins/specweave/hooks/lib/validate-spec-status.sh +1 -1
- package/plugins/specweave/hooks/lib/validate-spec-status.sh.bak +163 -0
- package/plugins/specweave/hooks/post-first-increment.sh +1 -1
- package/plugins/specweave/hooks/post-first-increment.sh.bak +61 -0
- package/plugins/specweave/hooks/post-spec-update.sh +1 -1
- package/plugins/specweave/hooks/post-spec-update.sh.bak +158 -0
- package/plugins/specweave/hooks/post-user-story-complete.sh +1 -1
- package/plugins/specweave/hooks/post-user-story-complete.sh.bak +179 -0
- package/plugins/specweave/hooks/pre-command-deduplication.sh +1 -1
- package/plugins/specweave/hooks/pre-command-deduplication.sh.bak +83 -0
- package/plugins/specweave/hooks/pre-increment-start.sh +168 -0
- package/plugins/specweave/hooks/user-prompt-submit.sh +1 -1
- package/plugins/specweave/hooks/user-prompt-submit.sh.bak +386 -0
- package/plugins/specweave/skills/SKILLS-INDEX.md +1 -1
- package/plugins/specweave/skills/specweave-framework/SKILL.md +1 -1
- package/plugins/specweave-ado/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-ado/agents/ado-manager/AGENT.md +23 -0
- package/plugins/specweave-ado/agents/ado-multi-project-mapper/AGENT.md +23 -0
- package/plugins/specweave-ado/agents/ado-sync-judge/AGENT.md +23 -0
- package/plugins/specweave-ado/commands/specweave-ado-import-projects.md +331 -0
- package/plugins/specweave-alternatives/.claude-plugin/plugin.json +10 -0
- package/plugins/specweave-alternatives/commands/alternatives-analyze.md +336 -0
- package/plugins/specweave-alternatives/skills/architecture-alternatives/SKILL.md +651 -0
- package/plugins/specweave-alternatives/skills/bmad-method/SKILL.md +420 -0
- package/plugins/specweave-alternatives/skills/spec-kit-expert/SKILL.md +487 -0
- package/plugins/specweave-backend/agents/database-optimizer/AGENT.md +23 -0
- package/plugins/specweave-backend/commands/api-scaffold.md +80 -0
- package/plugins/specweave-backend/commands/crud-generate.md +109 -0
- package/plugins/specweave-backend/commands/migration-generate.md +139 -0
- package/plugins/specweave-confluent/agents/confluent-architect/AGENT.md +23 -0
- package/plugins/specweave-confluent/commands/connector-deploy.md +154 -0
- package/plugins/specweave-confluent/commands/ksqldb-query.md +179 -0
- package/plugins/specweave-confluent/commands/schema-register.md +123 -0
- package/plugins/specweave-core/.claude-plugin/plugin.json +21 -0
- package/plugins/specweave-core/commands/architecture-review.md +288 -0
- package/plugins/specweave-core/commands/code-review.md +213 -0
- package/plugins/specweave-core/commands/refactor-plan.md +249 -0
- package/plugins/specweave-core/skills/code-quality/SKILL.md +157 -0
- package/plugins/specweave-core/skills/design-patterns/SKILL.md +244 -0
- package/plugins/specweave-core/skills/software-architecture/SKILL.md +83 -0
- package/plugins/specweave-cost-optimizer/.claude-plugin/plugin.json +22 -0
- package/plugins/specweave-cost-optimizer/commands/cost-analyze.md +360 -0
- package/plugins/specweave-cost-optimizer/commands/cost-optimize.md +480 -0
- package/plugins/specweave-cost-optimizer/skills/aws-cost-expert/SKILL.md +416 -0
- package/plugins/specweave-cost-optimizer/skills/cloud-pricing/SKILL.md +325 -0
- package/plugins/specweave-cost-optimizer/skills/cost-optimization/SKILL.md +337 -0
- package/plugins/specweave-diagrams/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-diagrams/agents/diagrams-architect/AGENT.md +23 -0
- package/plugins/specweave-diagrams/commands/diagrams-generate.md +168 -0
- package/plugins/specweave-docs/.claude-plugin/plugin.json +10 -0
- package/plugins/specweave-docs/commands/docs-generate.md +441 -0
- package/plugins/specweave-docs/commands/docs-init.md +334 -0
- package/plugins/specweave-docs/skills/docusaurus/SKILL.md +581 -0
- package/plugins/specweave-docs/skills/spec-driven-brainstorming/SKILL.md +689 -0
- package/plugins/specweave-docs/skills/technical-writing/SKILL.md +1039 -0
- package/plugins/specweave-docs-preview/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-figma/.claude-plugin/plugin.json +23 -0
- package/plugins/specweave-figma/commands/figma-import.md +690 -0
- package/plugins/specweave-figma/commands/figma-to-react.md +834 -0
- package/plugins/specweave-figma/commands/figma-tokens.md +815 -0
- package/plugins/specweave-frontend/.claude-plugin/plugin.json +21 -0
- package/plugins/specweave-frontend/agents/frontend-architect/AGENT.md +387 -0
- package/plugins/specweave-frontend/agents/frontend-architect/README.md +385 -0
- package/plugins/specweave-frontend/agents/frontend-architect/examples.md +590 -0
- package/plugins/specweave-frontend/agents/frontend-architect/templates/component-template.tsx +152 -0
- package/plugins/specweave-frontend/agents/frontend-architect/templates/hook-template.ts +311 -0
- package/plugins/specweave-frontend/agents/frontend-architect/templates/page-template.tsx +228 -0
- package/plugins/specweave-frontend/commands/component-generate.md +510 -0
- package/plugins/specweave-frontend/commands/design-system-init.md +494 -0
- package/plugins/specweave-frontend/commands/frontend-scaffold.md +207 -0
- package/plugins/specweave-frontend/commands/nextjs-setup.md +396 -0
- package/plugins/specweave-frontend/skills/design-system-architect/SKILL.md +278 -0
- package/plugins/specweave-frontend/skills/frontend/SKILL.md +420 -0
- package/plugins/specweave-frontend/skills/nextjs/SKILL.md +546 -0
- package/plugins/specweave-github/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-github/agents/github-manager/AGENT.md +23 -0
- package/plugins/specweave-github/agents/github-task-splitter/AGENT.md +25 -0
- package/plugins/specweave-github/agents/user-story-updater/AGENT.md +25 -0
- package/plugins/specweave-github/hooks/.specweave/logs/hooks-debug.log +194 -0
- package/plugins/specweave-github/lib/github-spec-content-sync.js +49 -0
- package/plugins/specweave-github/lib/github-spec-content-sync.ts +67 -0
- package/plugins/specweave-infrastructure/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-infrastructure/agents/devops/AGENT.md +26 -0
- package/plugins/specweave-infrastructure/agents/network-engineer/AGENT.md +26 -0
- package/plugins/specweave-infrastructure/agents/observability-engineer/AGENT.md +26 -0
- package/plugins/specweave-infrastructure/agents/performance-engineer/AGENT.md +26 -0
- package/plugins/specweave-infrastructure/agents/sre/AGENT.md +26 -0
- package/plugins/specweave-jira/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-jira/agents/jira-manager/AGENT.md +26 -0
- package/plugins/specweave-jira/commands/import-projects.js +183 -0
- package/plugins/specweave-jira/commands/import-projects.md +97 -0
- package/plugins/specweave-jira/commands/import-projects.ts +288 -0
- package/plugins/specweave-jira/commands/specweave-jira-import-projects.md +298 -0
- package/plugins/specweave-kafka/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-kafka/agents/kafka-architect/AGENT.md +26 -0
- package/plugins/specweave-kafka/agents/kafka-devops/AGENT.md +26 -0
- package/plugins/specweave-kafka/agents/kafka-observability/AGENT.md +26 -0
- package/plugins/specweave-kafka-streams/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-kubernetes/agents/kubernetes-architect/AGENT.md +26 -0
- package/plugins/specweave-kubernetes/commands/cluster-setup.md +262 -0
- package/plugins/specweave-kubernetes/commands/deployment-generate.md +242 -0
- package/plugins/specweave-kubernetes/commands/helm-scaffold.md +333 -0
- package/plugins/specweave-ml/.claude-plugin/plugin.json +3 -3
- package/plugins/specweave-ml/agents/data-scientist/AGENT.md +26 -0
- package/plugins/specweave-ml/agents/ml-engineer/AGENT.md +26 -0
- package/plugins/specweave-ml/agents/mlops-engineer/AGENT.md +26 -0
- package/plugins/specweave-mobile/agents/mobile-architect/AGENT.md +26 -0
- package/plugins/specweave-mobile/commands/app-scaffold.md +233 -0
- package/plugins/specweave-mobile/commands/build-config.md +256 -0
- package/plugins/specweave-mobile/commands/screen-generate.md +289 -0
- package/plugins/specweave-n8n/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-payments/agents/payment-integration/AGENT.md +26 -0
- package/plugins/specweave-plugin-dev/.claude-plugin/plugin.json +20 -0
- package/plugins/specweave-plugin-dev/commands/plugin-create.md +333 -0
- package/plugins/specweave-plugin-dev/commands/plugin-publish.md +339 -0
- package/plugins/specweave-plugin-dev/commands/plugin-test.md +293 -0
- package/plugins/specweave-plugin-dev/skills/claude-sdk/SKILL.md +162 -0
- package/plugins/specweave-plugin-dev/skills/marketplace-publishing/SKILL.md +263 -0
- package/plugins/specweave-plugin-dev/skills/plugin-development/SKILL.md +316 -0
- package/plugins/specweave-release/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-release/agents/release-manager/AGENT.md +27 -0
- package/plugins/specweave-release/commands/specweave-release-npm.md +110 -0
- package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +168 -0
- package/plugins/specweave-testing/.claude-plugin/plugin.json +21 -0
- package/plugins/specweave-testing/agents/qa-engineer/AGENT.md +797 -0
- package/plugins/specweave-testing/agents/qa-engineer/README.md +443 -0
- package/plugins/specweave-testing/agents/qa-engineer/templates/playwright-e2e-test.ts +470 -0
- package/plugins/specweave-testing/agents/qa-engineer/templates/test-data-factory.ts +507 -0
- package/plugins/specweave-testing/agents/qa-engineer/templates/vitest-unit-test.ts +400 -0
- package/plugins/specweave-testing/agents/qa-engineer/test-strategies.md +726 -0
- package/plugins/specweave-testing/commands/e2e-setup.md +1081 -0
- package/plugins/specweave-testing/commands/test-coverage.md +979 -0
- package/plugins/specweave-testing/commands/test-generate.md +1156 -0
- package/plugins/specweave-testing/commands/test-init.md +409 -0
- package/plugins/specweave-testing/skills/e2e-playwright/SKILL.md +769 -0
- package/plugins/specweave-testing/skills/tdd-expert/SKILL.md +934 -0
- package/plugins/specweave-testing/skills/unit-testing-expert/SKILL.md +1011 -0
- package/plugins/specweave-tooling/.claude-plugin/plugin.json +22 -0
- package/plugins/specweave-tooling/commands/specweave-tooling-skill-create.md +691 -0
- package/plugins/specweave-tooling/commands/specweave-tooling-skill-package.md +751 -0
- package/plugins/specweave-tooling/commands/specweave-tooling-skill-validate.md +858 -0
- package/plugins/specweave-ui/.claude-plugin/plugin.json +10 -0
- package/plugins/specweave-ui/commands/ui-automate.md +199 -0
- package/plugins/specweave-ui/commands/ui-inspect.md +70 -0
- package/plugins/specweave-ui/skills/browser-automation/SKILL.md +314 -0
- package/plugins/specweave-ui/skills/ui-testing/SKILL.md +716 -0
- package/plugins/specweave-ui/skills/visual-regression/SKILL.md +728 -0
- package/plugins/specweave/commands/check-hooks.md +0 -257
- package/plugins/specweave/commands/specweave-archive-increments.md +0 -82
- package/plugins/specweave/skills/plugin-expert/SKILL.md +0 -340
- /package/plugins/specweave/{agents/code-reviewer.md → skills/code-reviewer/SKILL.md} +0 -0
|
@@ -0,0 +1,420 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bmad-method
|
|
3
|
+
description: BMAD (Best, Most Appropriate, Design) technology decision framework expert. Helps evaluate technology alternatives, analyze tradeoffs, calculate TCO, assess vendor lock-in, and make data-driven architecture decisions. Activates for technology choices, stack decisions, database selection, cloud provider comparison, framework evaluation, architecture decisions, BMAD, best practices, most appropriate, design decisions, technology tradeoffs.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# BMAD Method Expert Skill
|
|
7
|
+
|
|
8
|
+
Expert in the **BMAD Framework** - a structured approach to making technology decisions by evaluating what's **Best** (industry standard), **Most Appropriate** (context fit), and aligned with your overall **Design** (architecture vision).
|
|
9
|
+
|
|
10
|
+
## Core Philosophy
|
|
11
|
+
|
|
12
|
+
Technology decisions shouldn't be made based solely on:
|
|
13
|
+
- ❌ "It's the most popular"
|
|
14
|
+
- ❌ "It's the newest/coolest"
|
|
15
|
+
- ❌ "I know this one already"
|
|
16
|
+
|
|
17
|
+
Instead, use **BMAD** to balance:
|
|
18
|
+
- ✅ **Industry best practices**
|
|
19
|
+
- ✅ **Your specific context** (team, budget, timeline, scale)
|
|
20
|
+
- ✅ **Long-term architectural alignment**
|
|
21
|
+
|
|
22
|
+
## The BMAD Framework
|
|
23
|
+
|
|
24
|
+
### B - Best (Industry Gold Standard)
|
|
25
|
+
|
|
26
|
+
**Question**: What is considered the best practice in the industry?
|
|
27
|
+
|
|
28
|
+
**Criteria**:
|
|
29
|
+
- Battle-tested in production at scale
|
|
30
|
+
- Widely adopted by successful companies
|
|
31
|
+
- Comprehensive feature set
|
|
32
|
+
- Strong community and ecosystem
|
|
33
|
+
- Clear documentation and best practices
|
|
34
|
+
|
|
35
|
+
**Examples**:
|
|
36
|
+
- **Database**: PostgreSQL (ACID, reliability, JSON support)
|
|
37
|
+
- **Message Queue**: Apache Kafka (throughput, durability, replay)
|
|
38
|
+
- **Cloud**: AWS (breadth of services, enterprise features)
|
|
39
|
+
- **Backend**: Express/Fastify (maturity, ecosystem)
|
|
40
|
+
|
|
41
|
+
**When "Best" Matters Most**:
|
|
42
|
+
- Enterprise/mission-critical applications
|
|
43
|
+
- Long-term projects (5+ years)
|
|
44
|
+
- Large teams needing stability
|
|
45
|
+
- Regulatory/compliance requirements
|
|
46
|
+
|
|
47
|
+
### M - Most Appropriate (Context Fit)
|
|
48
|
+
|
|
49
|
+
**Question**: What is most appropriate for YOUR specific situation?
|
|
50
|
+
|
|
51
|
+
**Context Factors**:
|
|
52
|
+
|
|
53
|
+
1. **Team Context**
|
|
54
|
+
- Size: 2-5 (startup) vs 10-50 (scale-up) vs 100+ (enterprise)
|
|
55
|
+
- Expertise: What does team already know?
|
|
56
|
+
- Learning capacity: Time to learn new tech?
|
|
57
|
+
|
|
58
|
+
2. **Financial Context**
|
|
59
|
+
- Budget: Free tier vs $100/mo vs $10k/mo
|
|
60
|
+
- Funding stage: Bootstrap vs seed vs Series A+
|
|
61
|
+
- Cost predictability: Fixed vs variable costs
|
|
62
|
+
|
|
63
|
+
3. **Timeline Context**
|
|
64
|
+
- POC: 1-2 weeks (speed matters)
|
|
65
|
+
- MVP: 1-3 months (balance speed and quality)
|
|
66
|
+
- Production: 6-12 months (quality and scale matter)
|
|
67
|
+
|
|
68
|
+
4. **Scale Context**
|
|
69
|
+
- Current: 100 users vs 10k vs 1M
|
|
70
|
+
- Projected: 6-month and 2-year forecasts
|
|
71
|
+
- Growth rate: Steady vs exponential
|
|
72
|
+
|
|
73
|
+
**Examples**:
|
|
74
|
+
- **Startup (5 people, $200/mo budget)**: Firebase (fast, managed, cheap)
|
|
75
|
+
- **Scale-up (20 people, $5k/mo budget)**: PostgreSQL + Redis (flexible, scalable)
|
|
76
|
+
- **Enterprise (100 people, $50k/mo budget)**: PostgreSQL (RDS) + Kafka + Redis
|
|
77
|
+
|
|
78
|
+
**When "Most Appropriate" Overrides "Best"**:
|
|
79
|
+
- Constrained budgets (startups, side projects)
|
|
80
|
+
- Time pressure (MVP deadlines)
|
|
81
|
+
- Team expertise mismatch
|
|
82
|
+
- Specific compliance requirements
|
|
83
|
+
|
|
84
|
+
### D - Design (Architectural Alignment)
|
|
85
|
+
|
|
86
|
+
**Question**: How does this fit your overall system design and long-term vision?
|
|
87
|
+
|
|
88
|
+
**Considerations**:
|
|
89
|
+
|
|
90
|
+
1. **Vendor Lock-in**
|
|
91
|
+
- Open-source vs proprietary
|
|
92
|
+
- Standard protocols vs proprietary APIs
|
|
93
|
+
- Export/migration capabilities
|
|
94
|
+
- Community vs single-vendor control
|
|
95
|
+
|
|
96
|
+
2. **Ecosystem Coherence**
|
|
97
|
+
- Does it fit existing stack?
|
|
98
|
+
- Shared libraries/tools available?
|
|
99
|
+
- Common patterns across team?
|
|
100
|
+
|
|
101
|
+
3. **Migration Path**
|
|
102
|
+
- Can you switch later?
|
|
103
|
+
- What's the cost of migration?
|
|
104
|
+
- Incremental vs big-bang migration
|
|
105
|
+
|
|
106
|
+
4. **Future-Proofing**
|
|
107
|
+
- Technology trajectory (growing vs declining)
|
|
108
|
+
- Vendor viability (funded, profitable, sustainable)
|
|
109
|
+
- Community health (active development, contributions)
|
|
110
|
+
|
|
111
|
+
**Examples**:
|
|
112
|
+
- **Low Lock-in**: PostgreSQL (standard SQL, portable)
|
|
113
|
+
- **Medium Lock-in**: MongoDB (proprietary protocol, but well-supported)
|
|
114
|
+
- **High Lock-in**: DynamoDB (AWS-specific, hard to migrate)
|
|
115
|
+
|
|
116
|
+
**When "Design" is Critical**:
|
|
117
|
+
- Long-term projects (3+ years)
|
|
118
|
+
- Multi-vendor strategy
|
|
119
|
+
- Regulatory/data sovereignty concerns
|
|
120
|
+
- Risk-averse organizations
|
|
121
|
+
|
|
122
|
+
## Decision Matrix Template
|
|
123
|
+
|
|
124
|
+
```markdown
|
|
125
|
+
## Technology Decision: [Category]
|
|
126
|
+
|
|
127
|
+
### Context
|
|
128
|
+
- Team Size: [number]
|
|
129
|
+
- Budget: $[amount]/month
|
|
130
|
+
- Timeline: [duration]
|
|
131
|
+
- Current Scale: [users/requests]
|
|
132
|
+
- Target Scale (12mo): [projected growth]
|
|
133
|
+
|
|
134
|
+
### Requirements
|
|
135
|
+
**Must Have**:
|
|
136
|
+
- [ ] Requirement 1
|
|
137
|
+
- [ ] Requirement 2
|
|
138
|
+
|
|
139
|
+
**Nice to Have**:
|
|
140
|
+
- [ ] Feature 1
|
|
141
|
+
- [ ] Feature 2
|
|
142
|
+
|
|
143
|
+
**Constraints**:
|
|
144
|
+
- [ ] Constraint 1 (e.g., GDPR, open-source)
|
|
145
|
+
|
|
146
|
+
### BMAD Analysis
|
|
147
|
+
|
|
148
|
+
#### Best: [Technology Name]
|
|
149
|
+
- Strengths: [bullet points]
|
|
150
|
+
- Ecosystem: [libraries, tools, community]
|
|
151
|
+
- Proven at: [companies/scale]
|
|
152
|
+
|
|
153
|
+
#### Most Appropriate: [Technology Name]
|
|
154
|
+
- Team Fit: [skills alignment]
|
|
155
|
+
- Budget Fit: $[cost] vs $[budget]
|
|
156
|
+
- Timeline Fit: [setup time]
|
|
157
|
+
- Scale Fit: [handles current + projected]
|
|
158
|
+
|
|
159
|
+
#### Design: [Technology Name]
|
|
160
|
+
- Lock-in Risk: [Low/Medium/High]
|
|
161
|
+
- Migration Path: [description]
|
|
162
|
+
- Ecosystem Fit: [how it integrates]
|
|
163
|
+
- Future-Proofing: [trajectory, viability]
|
|
164
|
+
|
|
165
|
+
### Recommendation
|
|
166
|
+
|
|
167
|
+
**Choose: [Technology]**
|
|
168
|
+
|
|
169
|
+
**Rationale**:
|
|
170
|
+
1. [Reason 1]
|
|
171
|
+
2. [Reason 2]
|
|
172
|
+
3. [Reason 3]
|
|
173
|
+
|
|
174
|
+
**Alternative Paths**:
|
|
175
|
+
- If [condition]: Consider [alternative]
|
|
176
|
+
- If [condition 2]: Consider [alternative 2]
|
|
177
|
+
|
|
178
|
+
### Implementation Plan
|
|
179
|
+
- Week 1: [steps]
|
|
180
|
+
- Week 2: [steps]
|
|
181
|
+
- Week 3: [steps]
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
## Common Decision Patterns
|
|
185
|
+
|
|
186
|
+
### Databases
|
|
187
|
+
|
|
188
|
+
**Best**: PostgreSQL
|
|
189
|
+
- ACID compliance, robustness, JSON support, ecosystem
|
|
190
|
+
|
|
191
|
+
**Most Appropriate**:
|
|
192
|
+
- Startup (<$500/mo): Supabase (managed PostgreSQL)
|
|
193
|
+
- Scale-up ($1k-5k/mo): AWS RDS PostgreSQL
|
|
194
|
+
- Enterprise (>$10k/mo): Aurora PostgreSQL or CockroachDB
|
|
195
|
+
|
|
196
|
+
**Design**:
|
|
197
|
+
- Low lock-in: Self-hosted PostgreSQL or RDS
|
|
198
|
+
- High flexibility: PostgreSQL (relational + JSON)
|
|
199
|
+
- NoSQL alternative: MongoDB (if document model fits)
|
|
200
|
+
|
|
201
|
+
### Cloud Providers
|
|
202
|
+
|
|
203
|
+
**Best**: AWS
|
|
204
|
+
- Most mature, broadest services, largest community
|
|
205
|
+
|
|
206
|
+
**Most Appropriate**:
|
|
207
|
+
- Startup (simple app): Vercel/Netlify (frontend) + Supabase (backend)
|
|
208
|
+
- Scale-up (containerized): GCP (better Kubernetes) or Hetzner (cheaper)
|
|
209
|
+
- Enterprise (complex): AWS (breadth) or Azure (Microsoft shops)
|
|
210
|
+
|
|
211
|
+
**Design**:
|
|
212
|
+
- Multi-cloud: Kubernetes + Terraform (avoid cloud-specific services)
|
|
213
|
+
- Cost-sensitive: Hetzner or DigitalOcean
|
|
214
|
+
- Vendor-neutral: Avoid Lambda, use containers
|
|
215
|
+
|
|
216
|
+
### Frontend Frameworks
|
|
217
|
+
|
|
218
|
+
**Best**: Next.js (React) or Nuxt (Vue)
|
|
219
|
+
- Full-stack capabilities, SEO, large ecosystem
|
|
220
|
+
|
|
221
|
+
**Most Appropriate**:
|
|
222
|
+
- Content-heavy: Astro (static generation)
|
|
223
|
+
- App-heavy: Next.js (React) or SvelteKit (smaller bundles)
|
|
224
|
+
- Rapid prototyping: Remix (simpler than Next.js)
|
|
225
|
+
|
|
226
|
+
**Design**:
|
|
227
|
+
- Framework-agnostic: Astro (multi-framework support)
|
|
228
|
+
- React ecosystem: Next.js
|
|
229
|
+
- Performance-first: SvelteKit or Qwik
|
|
230
|
+
|
|
231
|
+
## Cost Analysis
|
|
232
|
+
|
|
233
|
+
### Total Cost of Ownership (TCO) Template
|
|
234
|
+
|
|
235
|
+
```markdown
|
|
236
|
+
### 3-Year TCO
|
|
237
|
+
|
|
238
|
+
| Component | Option A | Option B | Option C |
|
|
239
|
+
|------------------------|----------|----------|----------|
|
|
240
|
+
| **Infrastructure** | | | |
|
|
241
|
+
| - Hosting | $X | $Y | $Z |
|
|
242
|
+
| - Backup/DR | $X | $Y | $Z |
|
|
243
|
+
| - Monitoring | $X | $Y | $Z |
|
|
244
|
+
| **Engineering** | | | |
|
|
245
|
+
| - Initial setup | $X | $Y | $Z |
|
|
246
|
+
| - Training | $X | $Y | $Z |
|
|
247
|
+
| - Ongoing maintenance | $X | $Y | $Z |
|
|
248
|
+
| **Risk Costs** | | | |
|
|
249
|
+
| - Vendor lock-in | $X | $Y | $Z |
|
|
250
|
+
| - Migration potential | $X | $Y | $Z |
|
|
251
|
+
| **Total** | **$X** | **$Y** | **$Z** |
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
### Hidden Costs to Consider
|
|
255
|
+
|
|
256
|
+
1. **Learning Curve**
|
|
257
|
+
- Training time × hourly rate
|
|
258
|
+
- Productivity dip during ramp-up
|
|
259
|
+
- Documentation/onboarding materials
|
|
260
|
+
|
|
261
|
+
2. **Maintenance Burden**
|
|
262
|
+
- Updates/patches frequency
|
|
263
|
+
- Security vulnerabilities
|
|
264
|
+
- Dependency management
|
|
265
|
+
|
|
266
|
+
3. **Vendor Lock-in**
|
|
267
|
+
- Potential migration cost if vendor fails
|
|
268
|
+
- Price increases over time
|
|
269
|
+
- Feature deprecation
|
|
270
|
+
|
|
271
|
+
4. **Opportunity Cost**
|
|
272
|
+
- Time spent on tech vs features
|
|
273
|
+
- Delayed time-to-market
|
|
274
|
+
- Engineer satisfaction/retention
|
|
275
|
+
|
|
276
|
+
## Risk Assessment
|
|
277
|
+
|
|
278
|
+
### Risk Matrix
|
|
279
|
+
|
|
280
|
+
```markdown
|
|
281
|
+
| Risk | Probability | Impact | Mitigation | Decision |
|
|
282
|
+
|---------------------|-------------|--------|-------------------------|----------|
|
|
283
|
+
| Vendor shutdown | 10% | High | Use open-source fork | Accept |
|
|
284
|
+
| Cost explosion | 30% | High | Set billing alerts | Mitigate |
|
|
285
|
+
| Performance issues | 15% | Medium | Load testing early | Mitigate |
|
|
286
|
+
| Team skill gap | 40% | Medium | Training + pair coding | Mitigate |
|
|
287
|
+
| Lock-in constraints | 80% | Low | Abstract vendor APIs | Accept |
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
### Mitigation Strategies
|
|
291
|
+
|
|
292
|
+
1. **For Vendor Lock-in**:
|
|
293
|
+
- Use abstraction layers (repositories, interfaces)
|
|
294
|
+
- Standard protocols (SQL, S3 API, AMQP)
|
|
295
|
+
- Regular export/backup testing
|
|
296
|
+
|
|
297
|
+
2. **For Cost Explosion**:
|
|
298
|
+
- Set billing alerts at 50%, 75%, 90% of budget
|
|
299
|
+
- Reserve budgets for unexpected growth
|
|
300
|
+
- Plan scaling tiers (what happens at 10x users?)
|
|
301
|
+
|
|
302
|
+
3. **For Knowledge Gaps**:
|
|
303
|
+
- Pair programming for knowledge transfer
|
|
304
|
+
- Internal workshops and documentation
|
|
305
|
+
- Hire consultants for initial setup
|
|
306
|
+
|
|
307
|
+
## Real-World Examples
|
|
308
|
+
|
|
309
|
+
### Example 1: Database Selection for E-commerce Startup
|
|
310
|
+
|
|
311
|
+
**Context**:
|
|
312
|
+
- Team: 5 engineers (3 backend, 2 fullstack)
|
|
313
|
+
- Budget: $500/month
|
|
314
|
+
- Timeline: 3 months to MVP
|
|
315
|
+
- Scale: 1,000 users → 50,000 in 12 months
|
|
316
|
+
|
|
317
|
+
**BMAD Analysis**:
|
|
318
|
+
- **Best**: PostgreSQL (ACID, proven, ecosystem)
|
|
319
|
+
- **Most Appropriate**: PostgreSQL on Supabase ($25/mo, managed, fast setup)
|
|
320
|
+
- **Design**: Low lock-in (standard SQL), clear migration to RDS later
|
|
321
|
+
|
|
322
|
+
**Decision**: Supabase PostgreSQL
|
|
323
|
+
**Rationale**: Aligns team skills (SQL), fits budget, fast setup, no lock-in
|
|
324
|
+
|
|
325
|
+
### Example 2: Message Queue for IoT Platform
|
|
326
|
+
|
|
327
|
+
**Context**:
|
|
328
|
+
- Team: 20 engineers
|
|
329
|
+
- Budget: $5,000/month
|
|
330
|
+
- Timeline: 6 months
|
|
331
|
+
- Scale: 100k messages/sec, 1 year retention
|
|
332
|
+
|
|
333
|
+
**BMAD Analysis**:
|
|
334
|
+
- **Best**: Apache Kafka (throughput, durability, ecosystem)
|
|
335
|
+
- **Most Appropriate**: Confluent Cloud (managed Kafka, faster setup)
|
|
336
|
+
- **Design**: Standard Kafka protocol, can migrate to self-hosted
|
|
337
|
+
|
|
338
|
+
**Decision**: Confluent Cloud
|
|
339
|
+
**Rationale**: Team knows Kafka, $3k/mo fits budget, 2-week setup vs 2-month self-hosted
|
|
340
|
+
|
|
341
|
+
### Example 3: Auth Provider for SaaS
|
|
342
|
+
|
|
343
|
+
**Context**:
|
|
344
|
+
- Team: 10 engineers
|
|
345
|
+
- Budget: $1,000/month
|
|
346
|
+
- Requirements: SOC2, GDPR, SSO, MFA
|
|
347
|
+
- Timeline: 2 months
|
|
348
|
+
|
|
349
|
+
**BMAD Analysis**:
|
|
350
|
+
- **Best**: Auth0 (comprehensive, compliance-ready)
|
|
351
|
+
- **Most Appropriate**: Clerk (modern DX, cheaper, growing fast)
|
|
352
|
+
- **Design**: Medium lock-in (standard OAuth, but proprietary UI)
|
|
353
|
+
|
|
354
|
+
**Decision**: Clerk
|
|
355
|
+
**Rationale**: 10x cheaper ($200 vs $2,000/mo), modern DX, SOC2 compliant
|
|
356
|
+
|
|
357
|
+
## Best Practices
|
|
358
|
+
|
|
359
|
+
### 1. Document Your Decisions
|
|
360
|
+
|
|
361
|
+
Create Architecture Decision Records (ADRs):
|
|
362
|
+
```markdown
|
|
363
|
+
# ADR-001: Database Selection
|
|
364
|
+
|
|
365
|
+
## Status: Accepted
|
|
366
|
+
|
|
367
|
+
## Context
|
|
368
|
+
[Why this decision was needed]
|
|
369
|
+
|
|
370
|
+
## Decision
|
|
371
|
+
[What was chosen]
|
|
372
|
+
|
|
373
|
+
## Consequences
|
|
374
|
+
- Positive: [benefits]
|
|
375
|
+
- Negative: [tradeoffs]
|
|
376
|
+
- Risks: [what could go wrong]
|
|
377
|
+
|
|
378
|
+
## Alternatives Considered
|
|
379
|
+
- Option A: [why rejected]
|
|
380
|
+
- Option B: [why rejected]
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
### 2. Re-evaluate Periodically
|
|
384
|
+
|
|
385
|
+
- **Quarterly**: Review costs vs budget
|
|
386
|
+
- **Bi-annually**: Check technology trajectory
|
|
387
|
+
- **Annually**: Full BMAD re-analysis
|
|
388
|
+
|
|
389
|
+
### 3. Build Escape Hatches
|
|
390
|
+
|
|
391
|
+
Even when choosing locked-in tech:
|
|
392
|
+
- Abstract vendor-specific APIs
|
|
393
|
+
- Regular backup/export testing
|
|
394
|
+
- Maintain migration playbook
|
|
395
|
+
|
|
396
|
+
### 4. Start Small, Plan Big
|
|
397
|
+
|
|
398
|
+
- Begin with managed services (speed to market)
|
|
399
|
+
- Plan migration to self-hosted (cost optimization)
|
|
400
|
+
- Document migration triggers (e.g., >$5k/mo cost)
|
|
401
|
+
|
|
402
|
+
## Activation Keywords
|
|
403
|
+
|
|
404
|
+
Ask me about:
|
|
405
|
+
- "Which database should I choose?"
|
|
406
|
+
- "Compare AWS vs GCP vs Azure"
|
|
407
|
+
- "Best technology stack for startups"
|
|
408
|
+
- "BMAD analysis for [technology]"
|
|
409
|
+
- "Technology decision framework"
|
|
410
|
+
- "How to evaluate tech alternatives"
|
|
411
|
+
- "Total cost of ownership for [tech]"
|
|
412
|
+
- "Vendor lock-in analysis"
|
|
413
|
+
- "Migration strategy for [tech A] to [tech B]"
|
|
414
|
+
|
|
415
|
+
## Resources
|
|
416
|
+
|
|
417
|
+
- ADR Templates: [adr.github.io](https://adr.github.io/)
|
|
418
|
+
- TCO Calculators: AWS, GCP, Azure pricing calculators
|
|
419
|
+
- Technology Radar: ThoughtWorks Tech Radar
|
|
420
|
+
- Community: [r/ExperiencedDevs](https://reddit.com/r/ExperiencedDevs)
|