specweave 0.1.3 → 0.1.5
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAOA,UAAU,WAAW;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,WAAW,CAC/B,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,GAAE,WAAkC,GAC1C,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAOA,UAAU,WAAW;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,WAAW,CAC/B,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,GAAE,WAAkC,GAC1C,OAAO,CAAC,IAAI,CAAC,CAgGf"}
|
|
@@ -95,8 +95,14 @@ async function initCommand(projectName, options = { template: 'saas' }) {
|
|
|
95
95
|
const commandsDir = path.join(__dirname, '../../../src/commands');
|
|
96
96
|
copyCommands(commandsDir, path.join(targetDir, '.claude/commands'));
|
|
97
97
|
spinner.text = 'Slash commands installed...';
|
|
98
|
-
//
|
|
99
|
-
|
|
98
|
+
// 6. Copy ALL agents (pre-installed, ready to use)
|
|
99
|
+
const agentsDir = path.join(__dirname, '../../../src/agents');
|
|
100
|
+
copyAgents(agentsDir, path.join(targetDir, '.claude/agents'));
|
|
101
|
+
spinner.text = 'Agents installed...';
|
|
102
|
+
// 7. Copy ALL skills (pre-installed, ready to use)
|
|
103
|
+
const skillsDir = path.join(__dirname, '../../../src/skills');
|
|
104
|
+
copySkills(skillsDir, path.join(targetDir, '.claude/skills'));
|
|
105
|
+
spinner.text = 'Skills installed...';
|
|
100
106
|
// 8. Initialize git
|
|
101
107
|
try {
|
|
102
108
|
(0, child_process_1.execSync)('git init', { cwd: targetDir, stdio: 'ignore' });
|
|
@@ -126,21 +132,19 @@ async function initCommand(projectName, options = { template: 'saas' }) {
|
|
|
126
132
|
}
|
|
127
133
|
function createDirectoryStructure(targetDir) {
|
|
128
134
|
const directories = [
|
|
135
|
+
// Core increment structure
|
|
129
136
|
'.specweave/increments',
|
|
130
|
-
|
|
131
|
-
'.specweave/docs/
|
|
132
|
-
'.specweave/docs/
|
|
133
|
-
'.specweave/docs/
|
|
134
|
-
'.specweave/docs/
|
|
135
|
-
'.specweave/
|
|
136
|
-
'.specweave/
|
|
137
|
-
|
|
138
|
-
'.specweave/work',
|
|
139
|
-
'.specweave/cache',
|
|
140
|
-
'.specweave/logs',
|
|
137
|
+
// 5-pillar documentation structure
|
|
138
|
+
'.specweave/docs/internal/strategy', // Business specs (WHAT, WHY)
|
|
139
|
+
'.specweave/docs/internal/architecture', // Technical design (HOW)
|
|
140
|
+
'.specweave/docs/internal/delivery', // Roadmap, CI/CD, guides
|
|
141
|
+
'.specweave/docs/internal/operations', // Runbooks, SLOs
|
|
142
|
+
'.specweave/docs/internal/governance', // Security, compliance
|
|
143
|
+
'.specweave/docs/public', // Published documentation
|
|
144
|
+
// Claude Code integration (components auto-install here)
|
|
141
145
|
'.claude/commands',
|
|
142
|
-
'.claude/
|
|
143
|
-
'.claude/
|
|
146
|
+
'.claude/agents',
|
|
147
|
+
'.claude/skills',
|
|
144
148
|
];
|
|
145
149
|
directories.forEach((dir) => {
|
|
146
150
|
fs.mkdirSync(path.join(targetDir, dir), { recursive: true });
|
|
@@ -177,6 +181,16 @@ function copyCommands(commandsDir, targetCommandsDir) {
|
|
|
177
181
|
fs.copySync(commandsDir, targetCommandsDir);
|
|
178
182
|
}
|
|
179
183
|
}
|
|
184
|
+
function copyAgents(agentsDir, targetAgentsDir) {
|
|
185
|
+
if (fs.existsSync(agentsDir)) {
|
|
186
|
+
fs.copySync(agentsDir, targetAgentsDir);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
function copySkills(skillsDir, targetSkillsDir) {
|
|
190
|
+
if (fs.existsSync(skillsDir)) {
|
|
191
|
+
fs.copySync(skillsDir, targetSkillsDir);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
180
194
|
function showNextSteps(projectName) {
|
|
181
195
|
console.log('');
|
|
182
196
|
console.log(chalk_1.default.green.bold('✅ Project created successfully!'));
|
|
@@ -184,45 +198,45 @@ function showNextSteps(projectName) {
|
|
|
184
198
|
console.log(chalk_1.default.cyan('📁 Project structure:'));
|
|
185
199
|
console.log(` ${projectName}/`);
|
|
186
200
|
console.log(' ├── .specweave/ # SpecWeave configuration');
|
|
187
|
-
console.log(' ├── .claude/
|
|
201
|
+
console.log(' ├── .claude/');
|
|
202
|
+
console.log(' │ ├── commands/ # Slash commands (10 installed)');
|
|
203
|
+
console.log(' │ ├── agents/ # AI agents (10 installed)');
|
|
204
|
+
console.log(' │ └── skills/ # AI skills (35+ installed)');
|
|
188
205
|
console.log(' ├── README.md # Project documentation');
|
|
189
206
|
console.log(' └── CLAUDE.md # Instructions for Claude');
|
|
190
207
|
console.log('');
|
|
191
|
-
console.log(chalk_1.default.yellow.bold('📦
|
|
192
|
-
console.log('
|
|
193
|
-
console.log('
|
|
208
|
+
console.log(chalk_1.default.yellow.bold('📦 All Components Pre-Installed'));
|
|
209
|
+
console.log(' ✅ 10 agents ready to use (PM, Architect, Security, QA, DevOps, etc.)');
|
|
210
|
+
console.log(' ✅ 35+ skills ready to use (Node.js, Python, Next.js, etc.)');
|
|
211
|
+
console.log(' ✅ 10 slash commands available');
|
|
194
212
|
console.log('');
|
|
195
213
|
console.log(chalk_1.default.cyan.bold('🎯 Next steps:'));
|
|
196
214
|
console.log('');
|
|
197
215
|
console.log(` 1. ${chalk_1.default.white(`cd ${projectName}`)}`);
|
|
198
216
|
console.log('');
|
|
199
|
-
console.log(` 2. ${chalk_1.default.white('
|
|
200
|
-
console.log(` ${chalk_1.default.gray('
|
|
201
|
-
console.log('');
|
|
202
|
-
console.log(`
|
|
203
|
-
console.log(` ${chalk_1.default.gray('"Create Next.js authentication with OAuth"')}`);
|
|
204
|
-
console.log(` ${chalk_1.default.gray('"Build FastAPI backend with PostgreSQL"')}`);
|
|
205
|
-
console.log(` ${chalk_1.default.gray('"Create real estate SaaS with payment processing"')}`);
|
|
217
|
+
console.log(` 2. ${chalk_1.default.white('Open Claude Code and describe your project:')}`);
|
|
218
|
+
console.log(` ${chalk_1.default.gray('"Build a real estate listing platform"')}`);
|
|
219
|
+
console.log(` ${chalk_1.default.gray('"Create a task management API"')}`);
|
|
220
|
+
console.log(` ${chalk_1.default.gray('"Build an e-commerce platform"')}`);
|
|
206
221
|
console.log('');
|
|
207
|
-
console.log(`
|
|
208
|
-
console.log(' •
|
|
209
|
-
console.log(' •
|
|
210
|
-
console.log(' •
|
|
211
|
-
console.log(' •
|
|
212
|
-
console.log(' •
|
|
222
|
+
console.log(` 3. ${chalk_1.default.white('SpecWeave will:')}`);
|
|
223
|
+
console.log(' • Detect your tech stack');
|
|
224
|
+
console.log(' • Use appropriate agents & skills (already installed!)');
|
|
225
|
+
console.log(' • Create strategic analysis');
|
|
226
|
+
console.log(' • Generate specifications and tasks');
|
|
227
|
+
console.log(' • Build implementation');
|
|
213
228
|
console.log('');
|
|
214
229
|
console.log(chalk_1.default.cyan.bold('💡 Example workflow:'));
|
|
215
230
|
console.log('');
|
|
216
|
-
console.log(` User: ${chalk_1.default.gray('"
|
|
231
|
+
console.log(` User: ${chalk_1.default.gray('"Build a real estate platform with Node.js"')}`);
|
|
217
232
|
console.log('');
|
|
218
233
|
console.log(` SpecWeave: ${chalk_1.default.green('🔷 SpecWeave Active')}`);
|
|
219
|
-
console.log(` ${chalk_1.default.green('
|
|
220
|
-
console.log(` ${chalk_1.default.green('
|
|
221
|
-
console.log(` ${chalk_1.default.green('
|
|
222
|
-
console.log(` ${chalk_1.default.green('
|
|
223
|
-
console.log(` ${chalk_1.default.green('🚀 Creating increment 0001-authentication...')}`);
|
|
234
|
+
console.log(` ${chalk_1.default.green('📋 Using nodejs-backend skill')}`);
|
|
235
|
+
console.log(` ${chalk_1.default.green('🤖 PM agent creating requirements...')}`);
|
|
236
|
+
console.log(` ${chalk_1.default.green('🏗️ Architect agent designing system...')}`);
|
|
237
|
+
console.log(` ${chalk_1.default.green('🚀 Creating increment 0001-real-estate-platform...')}`);
|
|
224
238
|
console.log('');
|
|
225
|
-
console.log(chalk_1.default.green.bold('🚀 Ready to build -
|
|
239
|
+
console.log(chalk_1.default.green.bold('🚀 Ready to build - all components pre-installed!'));
|
|
226
240
|
console.log('');
|
|
227
241
|
console.log(chalk_1.default.gray('Documentation: https://spec-weave.com'));
|
|
228
242
|
console.log(chalk_1.default.gray('GitHub: https://github.com/anton-abyzov/specweave'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -142,10 +142,10 @@ project-root/
|
|
|
142
142
|
│ │ └── reports/ # ✅ Analysis, reports
|
|
143
143
|
│ └── tests/ # Centralized test repository
|
|
144
144
|
│
|
|
145
|
-
├── .claude/ #
|
|
146
|
-
│ ├── agents/ #
|
|
147
|
-
│ ├── skills/ #
|
|
148
|
-
│ └── commands/ #
|
|
145
|
+
├── .claude/ # Pre-installed components
|
|
146
|
+
│ ├── agents/ # 10 agents ready to use
|
|
147
|
+
│ ├── skills/ # 35+ skills ready to use
|
|
148
|
+
│ └── commands/ # 10 slash commands
|
|
149
149
|
│
|
|
150
150
|
├── CLAUDE.md # This file (ONLY file we add)
|
|
151
151
|
└── src/ # Your source code (unchanged)
|
|
@@ -197,7 +197,7 @@ backlog → planned → in-progress → completed → closed
|
|
|
197
197
|
|
|
198
198
|
## Agents (Activate Automatically)
|
|
199
199
|
|
|
200
|
-
**Strategic Agents** (installed
|
|
200
|
+
**Strategic Agents** (pre-installed & ready to use):
|
|
201
201
|
|
|
202
202
|
| Agent | Purpose | Activates When |
|
|
203
203
|
|-------|---------|----------------|
|
|
@@ -206,23 +206,14 @@ backlog → planned → in-progress → completed → closed
|
|
|
206
206
|
| `security` | Threat modeling | Security review |
|
|
207
207
|
| `qa-lead` | Test strategy | Testing |
|
|
208
208
|
| `devops` | Infrastructure, deployment | Deployment needed |
|
|
209
|
+
| `tech-lead` | Code review | Code review |
|
|
210
|
+
| `sre` | Incident response | Troubleshooting |
|
|
211
|
+
| `docs-writer` | Documentation | Writing docs |
|
|
212
|
+
| `performance` | Performance optimization | Optimization needed |
|
|
209
213
|
|
|
210
|
-
**
|
|
214
|
+
**All 10 agents are pre-installed** - Claude uses the right one based on your request!
|
|
211
215
|
|
|
212
|
-
|
|
213
|
-
- `python-backend` - Python APIs (FastAPI, Django)
|
|
214
|
-
{#ENDIF}
|
|
215
|
-
{#IF_NODEJS}
|
|
216
|
-
- `nodejs-backend` - Node.js APIs (Express, NestJS)
|
|
217
|
-
{#ENDIF}
|
|
218
|
-
{#IF_NEXTJS}
|
|
219
|
-
- `nextjs` - Next.js applications
|
|
220
|
-
{#ENDIF}
|
|
221
|
-
{#IF_FRONTEND}
|
|
222
|
-
- `frontend` - React/Vue/Angular frontend
|
|
223
|
-
{#ENDIF}
|
|
224
|
-
|
|
225
|
-
**See**: `.claude/agents/` for all installed agents
|
|
216
|
+
**See**: `.claude/agents/` for complete list
|
|
226
217
|
|
|
227
218
|
---
|
|
228
219
|
|
|
@@ -237,13 +228,25 @@ backlog → planned → in-progress → completed → closed
|
|
|
237
228
|
| `context-loader` | Load context selectively | Working on increments |
|
|
238
229
|
| `skill-router` | Route to appropriate skill | Ambiguous requests |
|
|
239
230
|
|
|
240
|
-
**
|
|
231
|
+
**Technology Skills** (all pre-installed):
|
|
232
|
+
|
|
233
|
+
| Skill | Purpose | Activates When |
|
|
234
|
+
|-------|---------|----------------|
|
|
235
|
+
| `nodejs-backend` | Node.js/Express/NestJS | Node.js backend requests |
|
|
236
|
+
| `python-backend` | Python/FastAPI/Django | Python backend requests |
|
|
237
|
+
| `nextjs` | Next.js App Router | Next.js requests |
|
|
238
|
+
| `frontend` | React/Vue/Angular | Frontend requests |
|
|
239
|
+
| `dotnet-backend` | ASP.NET Core | .NET requests |
|
|
240
|
+
|
|
241
|
+
**Integration Skills** (all pre-installed):
|
|
242
|
+
|
|
243
|
+
| Skill | Purpose | Activates When |
|
|
244
|
+
|-------|---------|----------------|
|
|
245
|
+
| `jira-sync` | Sync with JIRA | JIRA integration needed |
|
|
246
|
+
| `github-sync` | Sync with GitHub | GitHub integration needed |
|
|
247
|
+
| `hetzner-provisioner` | Deploy to Hetzner | Hetzner deployment needed |
|
|
241
248
|
|
|
242
|
-
|
|
243
|
-
|-------|---------|-----------------|
|
|
244
|
-
| `jira-sync` | Sync with JIRA | `npx specweave install jira-sync` |
|
|
245
|
-
| `github-sync` | Sync with GitHub | `npx specweave install github-sync` |
|
|
246
|
-
| `hetzner-provisioner` | Deploy to Hetzner | `npx specweave install hetzner-provisioner` |
|
|
249
|
+
**See**: `.claude/skills/` for complete list of 35+ skills!
|
|
247
250
|
|
|
248
251
|
---
|
|
249
252
|
|
|
@@ -1,240 +1,72 @@
|
|
|
1
1
|
# {{PROJECT_NAME}}
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**A SpecWeave project** - where specifications drive development.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## 🚀 Quick Start
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
- **Framework-agnostic**: Works with ANY tech stack (TypeScript, Python, Go, Rust, Java, etc.)
|
|
9
|
-
- **Intent-driven**: Describe what you want, SpecWeave builds it using YOUR stack
|
|
10
|
-
- **Documentation-first**: Comprehensive docs generated before code
|
|
11
|
-
- **Role-based agents**: PM, Architect, QA, DevOps agents work together
|
|
12
|
-
- **Autonomous implementation**: Full features built with minimal intervention
|
|
13
|
-
- **Cost-optimized**: Deploys to most cost-effective platform (Hetzner, AWS, Vercel, etc.)
|
|
7
|
+
Your project is initialized! Now describe what you want to build.
|
|
14
8
|
|
|
15
|
-
|
|
9
|
+
### Next Steps
|
|
16
10
|
|
|
17
|
-
|
|
11
|
+
1. **Open Claude Code** (the AI assistant you're using)
|
|
18
12
|
|
|
19
|
-
|
|
13
|
+
2. **Describe your project** in natural language:
|
|
20
14
|
|
|
21
15
|
```
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
16
|
+
"Build a real estate listing platform with search, images, and admin dashboard"
|
|
17
|
+
"Create a task management API with authentication"
|
|
18
|
+
"Build an e-commerce platform with Stripe payments"
|
|
25
19
|
```
|
|
26
20
|
|
|
27
|
-
|
|
21
|
+
3. **SpecWeave will automatically**:
|
|
22
|
+
- Detect your tech stack (or ask you to choose)
|
|
23
|
+
- Use the right agents & skills (all pre-installed!)
|
|
24
|
+
- Create strategic documentation
|
|
25
|
+
- Generate specifications
|
|
26
|
+
- Build the implementation
|
|
27
|
+
- Write tests
|
|
28
28
|
|
|
29
|
-
|
|
30
|
-
- Language: TypeScript, Python, Go, Rust, Java, etc.
|
|
31
|
-
- Framework: NextJS, Django, FastAPI, Spring Boot, Gin, etc.
|
|
32
|
-
- Database: PostgreSQL, MySQL, MongoDB, SQLite, etc.
|
|
33
|
-
- Platform: Hetzner ($12/mo), AWS ($25/mo), Vercel ($20/mo), etc.
|
|
29
|
+
That's it! All components ready - just describe what you want!
|
|
34
30
|
|
|
35
|
-
|
|
36
|
-
- Payment processing needed?
|
|
37
|
-
- Expected users?
|
|
38
|
-
- Budget for hosting?
|
|
31
|
+
---
|
|
39
32
|
|
|
40
|
-
|
|
41
|
-
- PM agent → Product strategy & user personas
|
|
42
|
-
- Architect agent → System design & ADRs (framework-specific)
|
|
43
|
-
- DevOps agent → Infrastructure plan (platform-specific)
|
|
44
|
-
- Security agent → Auth & data protection (framework-specific)
|
|
45
|
-
- QA agent → Test strategy (framework-specific tests)
|
|
46
|
-
|
|
47
|
-
4. **Generate comprehensive documentation**:
|
|
48
|
-
- Product documentation in `.specweave/docs/`
|
|
49
|
-
- Architecture diagrams & decisions (using YOUR stack)
|
|
50
|
-
- All files contain WHAT + WHY + HOW
|
|
51
|
-
|
|
52
|
-
5. **Create implementation tasks**:
|
|
53
|
-
- Detailed tasks with agent references (using YOUR stack)
|
|
54
|
-
- File paths and code snippets (in YOUR language)
|
|
55
|
-
- Acceptance criteria (framework-specific)
|
|
56
|
-
|
|
57
|
-
6. **Build autonomously**:
|
|
58
|
-
- Implements all features using YOUR detected tech stack
|
|
59
|
-
- Asks for approval when needed
|
|
60
|
-
- Suggests doc updates during implementation
|
|
61
|
-
|
|
62
|
-
### 3. Review & Approve
|
|
63
|
-
|
|
64
|
-
Before implementation starts:
|
|
65
|
-
|
|
66
|
-
```
|
|
67
|
-
/review-docs
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
This shows:
|
|
71
|
-
- Product strategy
|
|
72
|
-
- System architecture
|
|
73
|
-
- Infrastructure plan & costs
|
|
74
|
-
- Security approach
|
|
75
|
-
- Test strategy
|
|
76
|
-
|
|
77
|
-
### 4. Deploy
|
|
78
|
-
|
|
79
|
-
SpecWeave deploys to the most cost-effective platform for YOUR needs:
|
|
80
|
-
- **Hetzner Cloud**: $11-27/month (best for cost-sensitive projects)
|
|
81
|
-
- **Vercel**: $20/month (best for global edge, NextJS apps)
|
|
82
|
-
- **AWS**: $25-100+/month (best for enterprise, specific services)
|
|
83
|
-
- **Self-hosted**: Variable (best for full control)
|
|
84
|
-
|
|
85
|
-
## Project Structure
|
|
33
|
+
## 📁 Project Structure
|
|
86
34
|
|
|
87
35
|
```
|
|
88
36
|
{{PROJECT_NAME}}/
|
|
89
|
-
├── .specweave/
|
|
90
|
-
│ ├──
|
|
91
|
-
│ ├──
|
|
92
|
-
│ ├──
|
|
93
|
-
│ └──
|
|
94
|
-
├── src/
|
|
95
|
-
│ ├── skills/ # AI agent skills (17+ installed)
|
|
96
|
-
│ └── hooks/ # Automation hooks
|
|
37
|
+
├── .specweave/ # SpecWeave framework
|
|
38
|
+
│ ├── config.yaml # Project configuration
|
|
39
|
+
│ ├── increments/ # Features (auto-created as you build)
|
|
40
|
+
│ ├── docs/ # Documentation (generated)
|
|
41
|
+
│ └── tests/ # Tests (generated)
|
|
97
42
|
├── .claude/
|
|
98
|
-
│ ├──
|
|
99
|
-
│ ├──
|
|
100
|
-
│ └── skills/
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
## Commands
|
|
105
|
-
|
|
106
|
-
### Claude Code Commands
|
|
107
|
-
|
|
108
|
-
Use these in Claude Code CLI:
|
|
109
|
-
|
|
110
|
-
- `/create-increment "Feature name"` - Create new increment
|
|
111
|
-
- `/review-docs` - Review strategic documentation
|
|
112
|
-
- `/sync-github` - Sync to GitHub issues
|
|
113
|
-
|
|
114
|
-
### Terminal Commands
|
|
115
|
-
|
|
116
|
-
```bash
|
|
117
|
-
# Create new increment
|
|
118
|
-
npx specweave increment create "Add payment processing"
|
|
119
|
-
|
|
120
|
-
# Install a skill
|
|
121
|
-
npx specweave install hetzner-provisioner
|
|
122
|
-
|
|
123
|
-
# Install hooks
|
|
124
|
-
npx specweave install-hooks
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
## Examples
|
|
128
|
-
|
|
129
|
-
### Example 1: Event Booking SaaS (TypeScript/NextJS)
|
|
130
|
-
|
|
131
|
-
**Input**:
|
|
43
|
+
│ ├── commands/ # Slash commands (10 installed)
|
|
44
|
+
│ ├── agents/ # AI agents (9 installed & ready)
|
|
45
|
+
│ └── skills/ # AI skills (30+ installed & ready)
|
|
46
|
+
├── CLAUDE.md # Instructions for Claude
|
|
47
|
+
└── README.md # This file
|
|
132
48
|
```
|
|
133
|
-
"Create event booking SaaS for barbers and sports facilities"
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
**Detected stack**: TypeScript, NextJS, PostgreSQL, Hetzner
|
|
137
|
-
|
|
138
|
-
**Output**:
|
|
139
|
-
- NextJS 14 app with App Router
|
|
140
|
-
- Postgres database with Prisma
|
|
141
|
-
- Calendar/booking system
|
|
142
|
-
- Stripe payments
|
|
143
|
-
- Email/SMS notifications
|
|
144
|
-
- Deployed on Hetzner for $12/month
|
|
145
|
-
- Complete documentation
|
|
146
|
-
|
|
147
|
-
**Time**: Autonomous (with periodic approvals)
|
|
148
49
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
**Input**:
|
|
152
|
-
```
|
|
153
|
-
"Build a task management API with real-time collaboration"
|
|
154
|
-
```
|
|
50
|
+
**Note**: All agents and skills are pre-installed and ready to use!
|
|
155
51
|
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
**Output**:
|
|
159
|
-
- FastAPI backend with WebSocket support
|
|
160
|
-
- PostgreSQL with SQLAlchemy
|
|
161
|
-
- Real-time task updates
|
|
162
|
-
- User authentication (JWT)
|
|
163
|
-
- Deployed on AWS for $27/month
|
|
164
|
-
- Complete documentation
|
|
165
|
-
|
|
166
|
-
**Time**: Autonomous (with periodic approvals)
|
|
167
|
-
|
|
168
|
-
### Example 3: E-commerce Platform (Go/Gin)
|
|
169
|
-
|
|
170
|
-
**Input**:
|
|
171
|
-
```
|
|
172
|
-
"Create an e-commerce platform with payment processing"
|
|
173
|
-
```
|
|
52
|
+
---
|
|
174
53
|
|
|
175
|
-
|
|
54
|
+
## 🎯 What is SpecWeave?
|
|
176
55
|
|
|
177
|
-
|
|
178
|
-
-
|
|
179
|
-
-
|
|
180
|
-
-
|
|
181
|
-
-
|
|
182
|
-
- Deployed on Hetzner for $18/month
|
|
183
|
-
- Complete documentation
|
|
56
|
+
SpecWeave is a spec-driven development framework where:
|
|
57
|
+
- **Specifications are the source of truth** (code follows specs)
|
|
58
|
+
- **AI agents work autonomously** (PM, Architect, Security, QA, DevOps)
|
|
59
|
+
- **All components pre-installed** (10 agents + 35+ skills ready!)
|
|
60
|
+
- **Works with ANY tech stack** (TypeScript, Python, Go, Rust, etc.)
|
|
184
61
|
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
## Available Skills
|
|
188
|
-
|
|
189
|
-
### Infrastructure
|
|
190
|
-
- `hetzner-provisioner` - Deploy to Hetzner Cloud ($10-15/mo)
|
|
191
|
-
- `cost-optimizer` - Compare platforms & recommend cheapest
|
|
192
|
-
|
|
193
|
-
### Frontend
|
|
194
|
-
- `nextjs-agent` - NextJS 14 with App Router, TypeScript
|
|
195
|
-
- `tailwind-designer` - Tailwind CSS styling
|
|
196
|
-
|
|
197
|
-
### Backend
|
|
198
|
-
- `nodejs-backend` - Node.js implementation
|
|
199
|
-
- `python-backend` - Python implementation
|
|
200
|
-
- `prisma-schema-builder` - Database schema with Prisma
|
|
201
|
-
|
|
202
|
-
### Domain-Specific
|
|
203
|
-
- `stripe-integrator` - Payment processing
|
|
204
|
-
- `calendar-system` - Booking/scheduling
|
|
205
|
-
- `notification-system` - Email & SMS
|
|
206
|
-
- `auth-implementer` - Authentication (NextAuth, Clerk)
|
|
207
|
-
|
|
208
|
-
### Strategic
|
|
209
|
-
- `pm-agent` - Product strategy
|
|
210
|
-
- `architect-agent` - System design
|
|
211
|
-
- `qa-lead-agent` - Test strategy
|
|
212
|
-
- `devops-agent` - Infrastructure planning
|
|
213
|
-
- `security-agent` - Security review
|
|
214
|
-
|
|
215
|
-
See `src/skills/` for complete list.
|
|
216
|
-
|
|
217
|
-
## Configuration
|
|
218
|
-
|
|
219
|
-
Edit `.specweave/config.yaml`:
|
|
220
|
-
|
|
221
|
-
```yaml
|
|
222
|
-
cost:
|
|
223
|
-
max_monthly_budget: 100 # USD
|
|
224
|
-
preferred_platform: hetzner
|
|
225
|
-
|
|
226
|
-
testing:
|
|
227
|
-
e2e_required: true
|
|
228
|
-
coverage_target: 80
|
|
229
|
-
```
|
|
62
|
+
---
|
|
230
63
|
|
|
231
|
-
## Learn More
|
|
64
|
+
## 📚 Learn More
|
|
232
65
|
|
|
233
|
-
-
|
|
234
|
-
-
|
|
235
|
-
-
|
|
66
|
+
- **Documentation**: https://spec-weave.com
|
|
67
|
+
- **GitHub**: https://github.com/anton-abyzov/specweave
|
|
68
|
+
- **Examples**: See `.specweave/docs/` after you describe your project
|
|
236
69
|
|
|
237
|
-
|
|
70
|
+
---
|
|
238
71
|
|
|
239
|
-
|
|
240
|
-
SpecWeave: MIT License
|
|
72
|
+
**Ready to build?** Just send your prompt to Claude! 🚀
|