musubi-sdd 0.1.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/LICENSE +21 -0
- package/README.ja.md +531 -0
- package/README.md +531 -0
- package/bin/musubi-init.js +321 -0
- package/bin/musubi.js +359 -0
- package/package.json +55 -0
- package/src/agents/registry.js +242 -0
- package/src/templates/agents/claude-code/CLAUDE.md +232 -0
- package/src/templates/agents/claude-code/commands/sdd-design.md +673 -0
- package/src/templates/agents/claude-code/commands/sdd-implement.md +777 -0
- package/src/templates/agents/claude-code/commands/sdd-requirements.md +438 -0
- package/src/templates/agents/claude-code/commands/sdd-steering.md +334 -0
- package/src/templates/agents/claude-code/commands/sdd-tasks.md +582 -0
- package/src/templates/agents/claude-code/commands/sdd-validate.md +710 -0
- package/src/templates/agents/claude-code/skills/ai-ml-engineer/SKILL.md +3055 -0
- package/src/templates/agents/claude-code/skills/api-designer/SKILL.md +1364 -0
- package/src/templates/agents/claude-code/skills/bug-hunter/SKILL.md +482 -0
- package/src/templates/agents/claude-code/skills/change-impact-analyzer/SKILL.md +397 -0
- package/src/templates/agents/claude-code/skills/cloud-architect/SKILL.md +1468 -0
- package/src/templates/agents/claude-code/skills/code-reviewer/SKILL.md +906 -0
- package/src/templates/agents/claude-code/skills/constitution-enforcer/SKILL.md +466 -0
- package/src/templates/agents/claude-code/skills/database-administrator/SKILL.md +3522 -0
- package/src/templates/agents/claude-code/skills/database-schema-designer/SKILL.md +1158 -0
- package/src/templates/agents/claude-code/skills/devops-engineer/SKILL.md +647 -0
- package/src/templates/agents/claude-code/skills/orchestrator/SKILL.md +574 -0
- package/src/templates/agents/claude-code/skills/performance-optimizer/SKILL.md +464 -0
- package/src/templates/agents/claude-code/skills/project-manager/SKILL.md +769 -0
- package/src/templates/agents/claude-code/skills/quality-assurance/SKILL.md +1059 -0
- package/src/templates/agents/claude-code/skills/release-coordinator/SKILL.md +653 -0
- package/src/templates/agents/claude-code/skills/requirements-analyst/SKILL.md +1287 -0
- package/src/templates/agents/claude-code/skills/security-auditor/SKILL.md +1107 -0
- package/src/templates/agents/claude-code/skills/site-reliability-engineer/SKILL.md +404 -0
- package/src/templates/agents/claude-code/skills/software-developer/SKILL.md +1254 -0
- package/src/templates/agents/claude-code/skills/steering/SKILL.md +383 -0
- package/src/templates/agents/claude-code/skills/system-architect/SKILL.md +1288 -0
- package/src/templates/agents/claude-code/skills/technical-writer/SKILL.md +712 -0
- package/src/templates/agents/claude-code/skills/test-engineer/SKILL.md +1262 -0
- package/src/templates/agents/claude-code/skills/traceability-auditor/SKILL.md +298 -0
- package/src/templates/agents/claude-code/skills/ui-ux-designer/SKILL.md +1009 -0
- package/src/templates/agents/codex/AGENTS.md +138 -0
- package/src/templates/agents/codex/commands/sdd-design.md +673 -0
- package/src/templates/agents/codex/commands/sdd-implement.md +777 -0
- package/src/templates/agents/codex/commands/sdd-requirements.md +438 -0
- package/src/templates/agents/codex/commands/sdd-steering.md +334 -0
- package/src/templates/agents/codex/commands/sdd-tasks.md +582 -0
- package/src/templates/agents/codex/commands/sdd-validate.md +710 -0
- package/src/templates/agents/cursor/AGENTS.md +138 -0
- package/src/templates/agents/cursor/commands/sdd-design.md +673 -0
- package/src/templates/agents/cursor/commands/sdd-implement.md +777 -0
- package/src/templates/agents/cursor/commands/sdd-requirements.md +438 -0
- package/src/templates/agents/cursor/commands/sdd-steering.md +334 -0
- package/src/templates/agents/cursor/commands/sdd-tasks.md +582 -0
- package/src/templates/agents/cursor/commands/sdd-validate.md +710 -0
- package/src/templates/agents/gemini-cli/GEMINI.md +128 -0
- package/src/templates/agents/gemini-cli/commands/sdd-design.toml +359 -0
- package/src/templates/agents/gemini-cli/commands/sdd-implement.toml +484 -0
- package/src/templates/agents/gemini-cli/commands/sdd-requirements.toml +291 -0
- package/src/templates/agents/gemini-cli/commands/sdd-steering.toml +209 -0
- package/src/templates/agents/gemini-cli/commands/sdd-tasks.toml +441 -0
- package/src/templates/agents/gemini-cli/commands/sdd-validate.toml +553 -0
- package/src/templates/agents/github-copilot/AGENTS.md +138 -0
- package/src/templates/agents/github-copilot/commands/sdd-design.md +673 -0
- package/src/templates/agents/github-copilot/commands/sdd-implement.md +777 -0
- package/src/templates/agents/github-copilot/commands/sdd-requirements.md +438 -0
- package/src/templates/agents/github-copilot/commands/sdd-steering.md +334 -0
- package/src/templates/agents/github-copilot/commands/sdd-tasks.md +582 -0
- package/src/templates/agents/github-copilot/commands/sdd-validate.md +710 -0
- package/src/templates/agents/qwen-code/QWEN.md +128 -0
- package/src/templates/agents/qwen-code/commands/sdd-design.md +673 -0
- package/src/templates/agents/qwen-code/commands/sdd-implement.md +777 -0
- package/src/templates/agents/qwen-code/commands/sdd-requirements.md +438 -0
- package/src/templates/agents/qwen-code/commands/sdd-steering.md +334 -0
- package/src/templates/agents/qwen-code/commands/sdd-tasks.md +582 -0
- package/src/templates/agents/qwen-code/commands/sdd-validate.md +710 -0
- package/src/templates/agents/windsurf/AGENTS.md +138 -0
- package/src/templates/agents/windsurf/commands/sdd-design.md +673 -0
- package/src/templates/agents/windsurf/commands/sdd-implement.md +777 -0
- package/src/templates/agents/windsurf/commands/sdd-requirements.md +438 -0
- package/src/templates/agents/windsurf/commands/sdd-steering.md +334 -0
- package/src/templates/agents/windsurf/commands/sdd-tasks.md +582 -0
- package/src/templates/agents/windsurf/commands/sdd-validate.md +710 -0
- package/src/templates/shared/constitution/constitution.md +408 -0
- package/src/templates/shared/constitution/ears-format.md +613 -0
- package/src/templates/shared/constitution/workflow.md +653 -0
- package/src/templates/shared/documents/design.md +737 -0
- package/src/templates/shared/documents/requirements.md +329 -0
- package/src/templates/shared/documents/research.md +494 -0
- package/src/templates/shared/documents/tasks.md +781 -0
- package/src/templates/shared/steering/product.md +544 -0
- package/src/templates/shared/steering/structure.md +405 -0
- package/src/templates/shared/steering/tech.md +537 -0
|
@@ -0,0 +1,537 @@
|
|
|
1
|
+
# Technology Stack
|
|
2
|
+
|
|
3
|
+
**Project**: {{PROJECT_NAME}}
|
|
4
|
+
**Last Updated**: {{DATE}}
|
|
5
|
+
**Version**: 1.0
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
|
|
11
|
+
This document defines the approved technology stack for {{PROJECT_NAME}}. All development MUST use these technologies unless explicitly approved via Phase -1 Gate (Article VIII: Anti-Abstraction).
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Primary Technologies
|
|
16
|
+
|
|
17
|
+
### Programming Languages
|
|
18
|
+
|
|
19
|
+
| Language | Version | Usage | Notes |
|
|
20
|
+
|----------|---------|-------|-------|
|
|
21
|
+
| {{PRIMARY_LANGUAGE}} | {{VERSION}} | Primary application language | [Notes] |
|
|
22
|
+
| SQL | PostgreSQL 15+ | Database queries | Via Prisma ORM |
|
|
23
|
+
| TypeScript | 5.0+ | Type definitions | Strict mode enabled |
|
|
24
|
+
|
|
25
|
+
### Runtime Environment
|
|
26
|
+
|
|
27
|
+
- **Node.js**: {{NODE_VERSION}}+ (LTS)
|
|
28
|
+
- **Package Manager**: npm {{NPM_VERSION}}+ / pnpm {{PNPM_VERSION}}+
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Frontend Stack
|
|
33
|
+
|
|
34
|
+
### Framework
|
|
35
|
+
|
|
36
|
+
**Primary Framework**: {{FRONTEND_FRAMEWORK}}
|
|
37
|
+
|
|
38
|
+
| Technology | Version | Purpose |
|
|
39
|
+
|------------|---------|---------|
|
|
40
|
+
| {{FRONTEND_FRAMEWORK}} | {{VERSION}} | [Purpose] |
|
|
41
|
+
| React | 18+ | UI library (if using Next.js/Remix) |
|
|
42
|
+
| TypeScript | 5.0+ | Type safety |
|
|
43
|
+
|
|
44
|
+
### UI Components
|
|
45
|
+
|
|
46
|
+
| Library | Version | Purpose |
|
|
47
|
+
|---------|---------|---------|
|
|
48
|
+
| {{UI_LIBRARY}} | {{VERSION}} | Component library |
|
|
49
|
+
| Tailwind CSS | 3.0+ | Utility-first CSS |
|
|
50
|
+
| shadcn/ui | Latest | Component primitives |
|
|
51
|
+
|
|
52
|
+
### State Management
|
|
53
|
+
|
|
54
|
+
| Library | Version | Purpose |
|
|
55
|
+
|---------|---------|---------|
|
|
56
|
+
| {{STATE_LIBRARY}} | {{VERSION}} | [Global state / Server state] |
|
|
57
|
+
| React Context | Built-in | Local state |
|
|
58
|
+
| React Query | 5.0+ | Server state (if applicable) |
|
|
59
|
+
|
|
60
|
+
### Form Handling
|
|
61
|
+
|
|
62
|
+
| Library | Version | Purpose |
|
|
63
|
+
|---------|---------|---------|
|
|
64
|
+
| React Hook Form | 7.0+ | Form management |
|
|
65
|
+
| Zod | 3.0+ | Schema validation |
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Backend Stack
|
|
70
|
+
|
|
71
|
+
### Framework
|
|
72
|
+
|
|
73
|
+
**Primary Framework**: {{BACKEND_FRAMEWORK}}
|
|
74
|
+
|
|
75
|
+
| Technology | Version | Purpose |
|
|
76
|
+
|------------|---------|---------|
|
|
77
|
+
| {{BACKEND_FRAMEWORK}} | {{VERSION}} | API server |
|
|
78
|
+
| Express | 4.0+ | Web framework (if using Node.js) |
|
|
79
|
+
| Next.js API Routes | 14+ | Serverless API (if using Next.js) |
|
|
80
|
+
|
|
81
|
+
### API Technologies
|
|
82
|
+
|
|
83
|
+
| Technology | Version | Purpose |
|
|
84
|
+
|------------|---------|---------|
|
|
85
|
+
| REST | - | Primary API style |
|
|
86
|
+
| GraphQL | (Optional) | Complex data fetching |
|
|
87
|
+
| OpenAPI | 3.0+ | API specification |
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Database Stack
|
|
92
|
+
|
|
93
|
+
### Primary Database
|
|
94
|
+
|
|
95
|
+
**Database**: {{DATABASE}}
|
|
96
|
+
|
|
97
|
+
| Technology | Version | Purpose |
|
|
98
|
+
|------------|---------|---------|
|
|
99
|
+
| {{DATABASE}} | {{VERSION}} | Primary data store |
|
|
100
|
+
| Prisma | 5.0+ | ORM and migrations |
|
|
101
|
+
|
|
102
|
+
### Database Schema
|
|
103
|
+
|
|
104
|
+
```prisma
|
|
105
|
+
// Example schema structure
|
|
106
|
+
generator client {
|
|
107
|
+
provider = "prisma-client-js"
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
datasource db {
|
|
111
|
+
provider = "postgresql"
|
|
112
|
+
url = env("DATABASE_URL")
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
model User {
|
|
116
|
+
id String @id @default(uuid())
|
|
117
|
+
email String @unique
|
|
118
|
+
createdAt DateTime @default(now())
|
|
119
|
+
updatedAt DateTime @updatedAt
|
|
120
|
+
}
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### Caching Layer
|
|
124
|
+
|
|
125
|
+
| Technology | Version | Purpose |
|
|
126
|
+
|------------|---------|---------|
|
|
127
|
+
| Redis | 7.0+ | Session storage, caching |
|
|
128
|
+
| In-memory cache | - | Development only |
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## Authentication & Authorization
|
|
133
|
+
|
|
134
|
+
### Authentication
|
|
135
|
+
|
|
136
|
+
| Technology | Version | Purpose |
|
|
137
|
+
|------------|---------|---------|
|
|
138
|
+
| {{AUTH_METHOD}} | {{VERSION}} | User authentication |
|
|
139
|
+
| bcrypt | 5.0+ | Password hashing (cost factor 12) |
|
|
140
|
+
| JWT | - | Session tokens |
|
|
141
|
+
|
|
142
|
+
**Password Requirements**:
|
|
143
|
+
- Hashing: bcrypt with cost factor 12 (Article III: Security)
|
|
144
|
+
- Minimum length: 12 characters
|
|
145
|
+
- Complexity: Uppercase, lowercase, number, special char
|
|
146
|
+
|
|
147
|
+
### Authorization
|
|
148
|
+
|
|
149
|
+
| Technology | Version | Purpose |
|
|
150
|
+
|------------|---------|---------|
|
|
151
|
+
| RBAC | - | Role-Based Access Control |
|
|
152
|
+
| CASL | 6.0+ | Authorization library (optional) |
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## Testing Stack
|
|
157
|
+
|
|
158
|
+
### Test Frameworks
|
|
159
|
+
|
|
160
|
+
| Technology | Version | Purpose |
|
|
161
|
+
|------------|---------|---------|
|
|
162
|
+
| {{TEST_FRAMEWORK}} | {{VERSION}} | Unit testing |
|
|
163
|
+
| Jest | 29+ | Test runner (if using JavaScript/TypeScript) |
|
|
164
|
+
| Vitest | 1.0+ | Fast test runner (alternative to Jest) |
|
|
165
|
+
|
|
166
|
+
### Testing Libraries
|
|
167
|
+
|
|
168
|
+
| Library | Version | Purpose |
|
|
169
|
+
|---------|---------|---------|
|
|
170
|
+
| React Testing Library | 14+ | Component testing |
|
|
171
|
+
| Supertest | 6.0+ | API testing |
|
|
172
|
+
| Playwright | 1.40+ | E2E testing |
|
|
173
|
+
| Testing Library | Latest | DOM testing utilities |
|
|
174
|
+
|
|
175
|
+
### Test Databases
|
|
176
|
+
|
|
177
|
+
- **Integration Tests**: Real PostgreSQL (Docker container)
|
|
178
|
+
- **Unit Tests**: Mocked repository layer
|
|
179
|
+
- **E2E Tests**: Dedicated test database
|
|
180
|
+
|
|
181
|
+
**Docker Compose** for test services:
|
|
182
|
+
```yaml
|
|
183
|
+
services:
|
|
184
|
+
test-db:
|
|
185
|
+
image: postgres:15-alpine
|
|
186
|
+
environment:
|
|
187
|
+
POSTGRES_PASSWORD: test
|
|
188
|
+
POSTGRES_DB: test
|
|
189
|
+
ports:
|
|
190
|
+
- "5432:5432"
|
|
191
|
+
|
|
192
|
+
test-redis:
|
|
193
|
+
image: redis:7-alpine
|
|
194
|
+
ports:
|
|
195
|
+
- "6379:6379"
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
**Constitutional Compliance (Article IX)**:
|
|
199
|
+
- Integration tests MUST use real database
|
|
200
|
+
- Integration tests MUST use real cache
|
|
201
|
+
- Mocks only for external APIs without test environments
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
## Build & Development Tools
|
|
206
|
+
|
|
207
|
+
### Build Tools
|
|
208
|
+
|
|
209
|
+
| Tool | Version | Purpose |
|
|
210
|
+
|------|---------|---------|
|
|
211
|
+
| {{BUILD_TOOL}} | {{VERSION}} | Build system |
|
|
212
|
+
| esbuild | Latest | Fast bundler |
|
|
213
|
+
| Turbo | Latest | Monorepo build system |
|
|
214
|
+
|
|
215
|
+
### Code Quality
|
|
216
|
+
|
|
217
|
+
| Tool | Version | Purpose |
|
|
218
|
+
|------|---------|---------|
|
|
219
|
+
| ESLint | 8.0+ | JavaScript/TypeScript linting |
|
|
220
|
+
| Prettier | 3.0+ | Code formatting |
|
|
221
|
+
| TypeScript | 5.0+ | Type checking |
|
|
222
|
+
| Husky | 8.0+ | Git hooks |
|
|
223
|
+
| lint-staged | 14.0+ | Pre-commit linting |
|
|
224
|
+
|
|
225
|
+
**ESLint Configuration**:
|
|
226
|
+
```json
|
|
227
|
+
{
|
|
228
|
+
"extends": [
|
|
229
|
+
"next/core-web-vitals",
|
|
230
|
+
"plugin:@typescript-eslint/recommended",
|
|
231
|
+
"prettier"
|
|
232
|
+
],
|
|
233
|
+
"rules": {
|
|
234
|
+
"@typescript-eslint/no-unused-vars": "error",
|
|
235
|
+
"@typescript-eslint/no-explicit-any": "warn"
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
---
|
|
241
|
+
|
|
242
|
+
## CI/CD Stack
|
|
243
|
+
|
|
244
|
+
### CI/CD Platform
|
|
245
|
+
|
|
246
|
+
| Technology | Version | Purpose |
|
|
247
|
+
|------------|---------|---------|
|
|
248
|
+
| {{CI_CD_PLATFORM}} | - | Continuous Integration/Deployment |
|
|
249
|
+
| GitHub Actions | - | CI/CD workflows |
|
|
250
|
+
| GitLab CI | - | Alternative CI/CD |
|
|
251
|
+
|
|
252
|
+
### Deployment
|
|
253
|
+
|
|
254
|
+
| Technology | Version | Purpose |
|
|
255
|
+
|------------|---------|---------|
|
|
256
|
+
| Docker | 24.0+ | Containerization |
|
|
257
|
+
| Docker Compose | 2.0+ | Multi-container apps (dev) |
|
|
258
|
+
| Kubernetes | 1.28+ | Container orchestration (prod) |
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
## Cloud Infrastructure
|
|
263
|
+
|
|
264
|
+
### Cloud Provider
|
|
265
|
+
|
|
266
|
+
**Primary Provider**: {{CLOUD_PROVIDER}}
|
|
267
|
+
|
|
268
|
+
| Service | Purpose |
|
|
269
|
+
|---------|---------|
|
|
270
|
+
| {{COMPUTE_SERVICE}} | Application hosting |
|
|
271
|
+
| {{DATABASE_SERVICE}} | Managed database |
|
|
272
|
+
| {{STORAGE_SERVICE}} | Object storage |
|
|
273
|
+
| {{CACHE_SERVICE}} | Managed Redis |
|
|
274
|
+
|
|
275
|
+
### Infrastructure as Code
|
|
276
|
+
|
|
277
|
+
| Technology | Version | Purpose |
|
|
278
|
+
|------------|---------|---------|
|
|
279
|
+
| {{IAC_TOOL}} | {{VERSION}} | Infrastructure provisioning |
|
|
280
|
+
| Terraform | 1.6+ | Cloud infrastructure |
|
|
281
|
+
| Bicep | Latest | Azure infrastructure |
|
|
282
|
+
|
|
283
|
+
---
|
|
284
|
+
|
|
285
|
+
## Monitoring & Observability
|
|
286
|
+
|
|
287
|
+
### Logging
|
|
288
|
+
|
|
289
|
+
| Technology | Version | Purpose |
|
|
290
|
+
|------------|---------|---------|
|
|
291
|
+
| {{LOGGING_TOOL}} | {{VERSION}} | Log aggregation |
|
|
292
|
+
| Winston | 3.0+ | Application logging (Node.js) |
|
|
293
|
+
| Pino | 8.0+ | Fast logging (alternative) |
|
|
294
|
+
|
|
295
|
+
**Log Format**: JSON
|
|
296
|
+
|
|
297
|
+
```typescript
|
|
298
|
+
// Example log entry
|
|
299
|
+
{
|
|
300
|
+
"timestamp": "2025-11-16T10:00:00Z",
|
|
301
|
+
"level": "info",
|
|
302
|
+
"message": "User logged in",
|
|
303
|
+
"context": {
|
|
304
|
+
"userId": "uuid",
|
|
305
|
+
"ip": "192.168.1.1"
|
|
306
|
+
},
|
|
307
|
+
"traceId": "trace-id"
|
|
308
|
+
}
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
### Monitoring
|
|
312
|
+
|
|
313
|
+
| Technology | Version | Purpose |
|
|
314
|
+
|------------|---------|---------|
|
|
315
|
+
| {{MONITORING_TOOL}} | {{VERSION}} | Application monitoring |
|
|
316
|
+
| Prometheus | 2.0+ | Metrics collection |
|
|
317
|
+
| Grafana | 10.0+ | Metrics visualization |
|
|
318
|
+
|
|
319
|
+
### Tracing
|
|
320
|
+
|
|
321
|
+
| Technology | Version | Purpose |
|
|
322
|
+
|------------|---------|---------|
|
|
323
|
+
| {{TRACING_TOOL}} | {{VERSION}} | Distributed tracing |
|
|
324
|
+
| OpenTelemetry | Latest | Tracing standard |
|
|
325
|
+
| Jaeger | 1.50+ | Tracing backend |
|
|
326
|
+
|
|
327
|
+
### Error Tracking
|
|
328
|
+
|
|
329
|
+
| Technology | Version | Purpose |
|
|
330
|
+
|------------|---------|---------|
|
|
331
|
+
| Sentry | Latest | Error tracking and reporting |
|
|
332
|
+
|
|
333
|
+
---
|
|
334
|
+
|
|
335
|
+
## Documentation Tools
|
|
336
|
+
|
|
337
|
+
### API Documentation
|
|
338
|
+
|
|
339
|
+
| Tool | Version | Purpose |
|
|
340
|
+
|------|---------|---------|
|
|
341
|
+
| OpenAPI/Swagger | 3.0+ | REST API documentation |
|
|
342
|
+
| GraphQL Playground | - | GraphQL API explorer |
|
|
343
|
+
| Postman | Latest | API testing and docs |
|
|
344
|
+
|
|
345
|
+
### Code Documentation
|
|
346
|
+
|
|
347
|
+
| Tool | Version | Purpose |
|
|
348
|
+
|------|---------|---------|
|
|
349
|
+
| TSDoc | - | TypeScript documentation |
|
|
350
|
+
| JSDoc | - | JavaScript documentation |
|
|
351
|
+
| Storybook | 7.0+ | Component documentation |
|
|
352
|
+
|
|
353
|
+
---
|
|
354
|
+
|
|
355
|
+
## Development Tools
|
|
356
|
+
|
|
357
|
+
### Code Editors
|
|
358
|
+
|
|
359
|
+
- **Recommended**: Visual Studio Code
|
|
360
|
+
- **Extensions**:
|
|
361
|
+
- ESLint
|
|
362
|
+
- Prettier
|
|
363
|
+
- TypeScript
|
|
364
|
+
- Prisma
|
|
365
|
+
- Tailwind CSS IntelliSense
|
|
366
|
+
|
|
367
|
+
### Database Tools
|
|
368
|
+
|
|
369
|
+
| Tool | Version | Purpose |
|
|
370
|
+
|------|---------|---------|
|
|
371
|
+
| Prisma Studio | Built-in | Database GUI |
|
|
372
|
+
| pgAdmin | 4.0+ | PostgreSQL admin |
|
|
373
|
+
| TablePlus | Latest | Multi-database client |
|
|
374
|
+
|
|
375
|
+
### API Testing
|
|
376
|
+
|
|
377
|
+
| Tool | Version | Purpose |
|
|
378
|
+
|------|---------|---------|
|
|
379
|
+
| Postman | Latest | API testing |
|
|
380
|
+
| Insomnia | Latest | REST/GraphQL client |
|
|
381
|
+
| curl | - | Command-line API testing |
|
|
382
|
+
|
|
383
|
+
---
|
|
384
|
+
|
|
385
|
+
## Security Tools
|
|
386
|
+
|
|
387
|
+
### Security Scanning
|
|
388
|
+
|
|
389
|
+
| Tool | Version | Purpose |
|
|
390
|
+
|------|---------|---------|
|
|
391
|
+
| npm audit | Built-in | Dependency vulnerability scanning |
|
|
392
|
+
| Snyk | Latest | Continuous security monitoring |
|
|
393
|
+
| OWASP ZAP | Latest | Security testing |
|
|
394
|
+
|
|
395
|
+
### Secrets Management
|
|
396
|
+
|
|
397
|
+
| Tool | Version | Purpose |
|
|
398
|
+
|------|---------|---------|
|
|
399
|
+
| {{SECRETS_TOOL}} | {{VERSION}} | Secrets management |
|
|
400
|
+
| .env files | - | Local development secrets |
|
|
401
|
+
| AWS Secrets Manager | - | Production secrets (AWS) |
|
|
402
|
+
| Azure Key Vault | - | Production secrets (Azure) |
|
|
403
|
+
|
|
404
|
+
---
|
|
405
|
+
|
|
406
|
+
## Package Management
|
|
407
|
+
|
|
408
|
+
### Dependency Management
|
|
409
|
+
|
|
410
|
+
```json
|
|
411
|
+
// package.json structure
|
|
412
|
+
{
|
|
413
|
+
"name": "{{PROJECT_NAME}}",
|
|
414
|
+
"version": "1.0.0",
|
|
415
|
+
"scripts": {
|
|
416
|
+
"dev": "next dev",
|
|
417
|
+
"build": "next build",
|
|
418
|
+
"start": "next start",
|
|
419
|
+
"test": "jest",
|
|
420
|
+
"lint": "eslint .",
|
|
421
|
+
"format": "prettier --write ."
|
|
422
|
+
},
|
|
423
|
+
"dependencies": {
|
|
424
|
+
// Production dependencies
|
|
425
|
+
},
|
|
426
|
+
"devDependencies": {
|
|
427
|
+
// Development dependencies
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
```
|
|
431
|
+
|
|
432
|
+
### Version Pinning
|
|
433
|
+
|
|
434
|
+
- **Exact Versions**: Critical dependencies (database drivers, auth libraries)
|
|
435
|
+
- **Caret Ranges**: UI libraries, utilities (`^1.2.3`)
|
|
436
|
+
- **Lock Files**: Commit `package-lock.json` / `pnpm-lock.yaml`
|
|
437
|
+
|
|
438
|
+
---
|
|
439
|
+
|
|
440
|
+
## Framework-Specific Configurations
|
|
441
|
+
|
|
442
|
+
### {{PRIMARY_FRAMEWORK}} Configuration
|
|
443
|
+
|
|
444
|
+
[Include framework-specific configuration details]
|
|
445
|
+
|
|
446
|
+
**Example for Next.js**:
|
|
447
|
+
```typescript
|
|
448
|
+
// next.config.js
|
|
449
|
+
const nextConfig = {
|
|
450
|
+
reactStrictMode: true,
|
|
451
|
+
typescript: {
|
|
452
|
+
ignoreBuildErrors: false
|
|
453
|
+
},
|
|
454
|
+
eslint: {
|
|
455
|
+
ignoreDuringBuilds: false
|
|
456
|
+
},
|
|
457
|
+
experimental: {
|
|
458
|
+
serverActions: true
|
|
459
|
+
}
|
|
460
|
+
};
|
|
461
|
+
|
|
462
|
+
export default nextConfig;
|
|
463
|
+
```
|
|
464
|
+
|
|
465
|
+
---
|
|
466
|
+
|
|
467
|
+
## Anti-Abstraction Policy (Article VIII)
|
|
468
|
+
|
|
469
|
+
**CRITICAL**: Use framework APIs directly. Do NOT create custom abstraction layers.
|
|
470
|
+
|
|
471
|
+
### ✅ Allowed
|
|
472
|
+
|
|
473
|
+
```typescript
|
|
474
|
+
// Use Prisma directly
|
|
475
|
+
const user = await prisma.user.findUnique({ where: { id } });
|
|
476
|
+
|
|
477
|
+
// Use bcrypt directly
|
|
478
|
+
const hash = await bcrypt.hash(password, 12);
|
|
479
|
+
|
|
480
|
+
// Use Next.js API routes directly
|
|
481
|
+
export async function POST(request: Request) { ... }
|
|
482
|
+
```
|
|
483
|
+
|
|
484
|
+
### ❌ Prohibited (Without Phase -1 Gate Approval)
|
|
485
|
+
|
|
486
|
+
```typescript
|
|
487
|
+
// ❌ Custom database wrapper
|
|
488
|
+
class MyDatabase {
|
|
489
|
+
async find(id: string) { ... } // Wrapping Prisma
|
|
490
|
+
}
|
|
491
|
+
|
|
492
|
+
// ❌ Custom HTTP client
|
|
493
|
+
class MyHttpClient {
|
|
494
|
+
async get(url: string) { ... } // Wrapping fetch
|
|
495
|
+
}
|
|
496
|
+
```
|
|
497
|
+
|
|
498
|
+
**Exception**: Multi-framework support or justified architectural need requires Phase -1 Gate approval with:
|
|
499
|
+
1. Multi-framework justification
|
|
500
|
+
2. Team expertise analysis
|
|
501
|
+
3. Migration path documentation
|
|
502
|
+
4. Approval from @system-architect + @software-developer
|
|
503
|
+
|
|
504
|
+
---
|
|
505
|
+
|
|
506
|
+
## Technology Selection Criteria
|
|
507
|
+
|
|
508
|
+
When evaluating new technologies:
|
|
509
|
+
|
|
510
|
+
1. **Community Support**: Active maintenance, large community
|
|
511
|
+
2. **Documentation**: Comprehensive, up-to-date
|
|
512
|
+
3. **Type Safety**: TypeScript support preferred
|
|
513
|
+
4. **Performance**: Benchmarked performance metrics
|
|
514
|
+
5. **Security**: Regular security updates
|
|
515
|
+
6. **License**: Compatible with project (MIT, Apache 2.0 preferred)
|
|
516
|
+
7. **Team Expertise**: Team familiarity with technology
|
|
517
|
+
8. **Constitutional Alignment**: Supports Library-First, Test-First principles
|
|
518
|
+
|
|
519
|
+
---
|
|
520
|
+
|
|
521
|
+
## Deprecated Technologies
|
|
522
|
+
|
|
523
|
+
| Technology | Deprecated Date | Replacement | Migration Deadline |
|
|
524
|
+
|------------|----------------|-------------|-------------------|
|
|
525
|
+
| [Old Tech] | [Date] | [New Tech] | [Date] |
|
|
526
|
+
|
|
527
|
+
---
|
|
528
|
+
|
|
529
|
+
## Changelog
|
|
530
|
+
|
|
531
|
+
### Version 1.1 (Planned)
|
|
532
|
+
- [Planned technology updates]
|
|
533
|
+
|
|
534
|
+
---
|
|
535
|
+
|
|
536
|
+
**Last Updated**: {{DATE}}
|
|
537
|
+
**Maintained By**: {{MAINTAINER}}
|