specdrive-cli 0.1.10 → 0.1.12
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 +955 -697
- package/agents/00-onboarding.md +261 -0
- package/agents/01-constitution.md +214 -201
- package/agents/02-specification.md +249 -226
- package/agents/03-uiux.md +156 -144
- package/agents/04-cascade.md +151 -122
- package/agents/05-discover-skills.md +136 -136
- package/agents/06-documentation.md +158 -145
- package/agents/07-implementation.md +201 -169
- package/agents/08-performance.md +179 -165
- package/agents/09-review-complete.md +239 -168
- package/agents/10-security.md +180 -167
- package/agents/11-test.md +195 -0
- package/commands/gates.js +73 -73
- package/commands/manifest.json +113 -95
- package/commands/permissions.json +39 -0
- package/commands/router.js +151 -127
- package/commands/tools.json +19 -19
- package/dashboard/app.js +394 -0
- package/dashboard/index.html +74 -0
- package/dashboard/server.js +166 -0
- package/dashboard/style.css +157 -0
- package/mcp/mcp.json +31 -0
- package/mcp/server.js +108 -0
- package/package.json +35 -32
- package/schemas/config.schema.json +20 -0
- package/schemas/workflow-state.schema.json +149 -38
- package/scripts/anti-redundancy.js +176 -176
- package/scripts/audit-log.js +46 -46
- package/scripts/check-permission.js +87 -0
- package/scripts/diff-spec.js +50 -50
- package/scripts/diff-version.js +96 -0
- package/scripts/generate-adapters.js +80 -80
- package/scripts/generate-from-template.js +97 -97
- package/scripts/generate-openapi.js +75 -75
- package/scripts/github-team-sync.js +80 -80
- package/scripts/install-hooks.js +20 -20
- package/scripts/load-plugins.js +65 -65
- package/scripts/migrate-openspec.js +318 -0
- package/scripts/migrate-speckit.js +322 -0
- package/scripts/migrate.js +12 -62
- package/scripts/onboard.js +312 -0
- package/scripts/pre-commit.js +56 -20
- package/scripts/team.js +113 -113
- package/scripts/test-adapters.js +118 -118
- package/scripts/test-create.js +13 -13
- package/scripts/test-end-to-end.js +137 -137
- package/scripts/test-router.js +110 -110
- package/scripts/test-state-transitions.js +146 -146
- package/scripts/test-validator.js +152 -152
- package/scripts/validate-config.js +36 -0
- package/scripts/validate-governance.js +150 -130
- package/scripts/verify.js +525 -0
- package/scripts/version-new.js +202 -0
- package/src/index.js +1010 -807
- package/templates/expo/plan.json +12 -0
- package/templates/expo/spec.json +12 -0
- package/templates/expo/tasks.json +5 -0
- package/templates/fastapi/plan.json +12 -0
- package/templates/fastapi/spec.json +12 -0
- package/templates/fastapi/tasks.json +5 -0
- package/templates/generic/plan.json +12 -0
- package/templates/generic/spec.json +11 -0
- package/templates/generic/tasks.json +5 -0
- package/templates/nextjs/plan.json +23 -0
- package/templates/nextjs/spec.json +12 -0
- package/templates/nextjs/tasks.json +5 -0
- package/templates/react-node/plan.json +15 -0
- package/templates/react-node/spec.json +12 -0
- package/templates/react-node/tasks.json +5 -0
- package/templates/registry.json +30 -0
- package/templates/turborepo/plan.json +12 -0
- package/templates/turborepo/spec.json +12 -0
- package/templates/turborepo/tasks.json +5 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"feature": "{{featureName}}",
|
|
3
|
+
"title": "{{title}}",
|
|
4
|
+
"version": 1,
|
|
5
|
+
"overview": {
|
|
6
|
+
"problemStatement": "{{problemStatement}}",
|
|
7
|
+
"proposedSolution": "{{proposedSolution}}",
|
|
8
|
+
"targetAudience": "{{targetAudience}}"
|
|
9
|
+
},
|
|
10
|
+
"userStories": [],
|
|
11
|
+
"functionalRequirements": []
|
|
12
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"feature": "{{featureName}}",
|
|
3
|
+
"title": "{{title}}",
|
|
4
|
+
"version": 1,
|
|
5
|
+
"overview": {
|
|
6
|
+
"problemStatement": "{{problemStatement}}",
|
|
7
|
+
"proposedSolution": "{{proposedSolution}}",
|
|
8
|
+
"targetAudience": "{{targetAudience}}"
|
|
9
|
+
},
|
|
10
|
+
"userStories": [],
|
|
11
|
+
"functionalRequirements": []
|
|
12
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"feature": "{{featureName}}",
|
|
3
|
+
"version": 1,
|
|
4
|
+
"overview": {
|
|
5
|
+
"problemStatement": "{{problemStatement}}",
|
|
6
|
+
"proposedSolution": "{{proposedSolution}}",
|
|
7
|
+
"targetAudience": "{{targetAudience}}"
|
|
8
|
+
},
|
|
9
|
+
"userStories": [],
|
|
10
|
+
"functionalRequirements": []
|
|
11
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"feature": "{{featureName}}",
|
|
3
|
+
"version": 1,
|
|
4
|
+
"architecture": {
|
|
5
|
+
"approach": "Next.js full-stack application",
|
|
6
|
+
"components": []
|
|
7
|
+
},
|
|
8
|
+
"dataModel": {
|
|
9
|
+
"entities": [],
|
|
10
|
+
"flowDescription": "Server components + API routes"
|
|
11
|
+
}
|
|
12
|
+
}{
|
|
13
|
+
"feature": "{{featureName}}",
|
|
14
|
+
"version": 1,
|
|
15
|
+
"architecture": {
|
|
16
|
+
"approach": "Next.js full-stack application",
|
|
17
|
+
"components": []
|
|
18
|
+
},
|
|
19
|
+
"dataModel": {
|
|
20
|
+
"entities": [],
|
|
21
|
+
"flowDescription": "Server components + API routes"
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"feature": "{{featureName}}",
|
|
3
|
+
"title": "{{title}}",
|
|
4
|
+
"version": 1,
|
|
5
|
+
"overview": {
|
|
6
|
+
"problemStatement": "{{problemStatement}}",
|
|
7
|
+
"proposedSolution": "{{proposedSolution}}",
|
|
8
|
+
"targetAudience": "{{targetAudience}}"
|
|
9
|
+
},
|
|
10
|
+
"userStories": [],
|
|
11
|
+
"functionalRequirements": []
|
|
12
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"feature": "{{featureName}}",
|
|
3
|
+
"version": 1,
|
|
4
|
+
"architecture": {
|
|
5
|
+
"approach": "React frontend with Node.js API",
|
|
6
|
+
"components": [
|
|
7
|
+
{ "name": "frontend", "action": "create" },
|
|
8
|
+
{ "name": "backend", "action": "create" }
|
|
9
|
+
]
|
|
10
|
+
},
|
|
11
|
+
"dataModel": {
|
|
12
|
+
"entities": [],
|
|
13
|
+
"flowDescription": "React client communicates with Node API"
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"feature": "{{featureName}}",
|
|
3
|
+
"title": "{{title}}",
|
|
4
|
+
"version": 1,
|
|
5
|
+
"overview": {
|
|
6
|
+
"problemStatement": "{{problemStatement}}",
|
|
7
|
+
"proposedSolution": "{{proposedSolution}}",
|
|
8
|
+
"targetAudience": "{{targetAudience}}"
|
|
9
|
+
},
|
|
10
|
+
"userStories": [],
|
|
11
|
+
"functionalRequirements": []
|
|
12
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "1.0.0",
|
|
3
|
+
"templates": [
|
|
4
|
+
{
|
|
5
|
+
"name": "generic",
|
|
6
|
+
"description": "Generic project template",
|
|
7
|
+
"path": "generic"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"name": "react-node",
|
|
11
|
+
"description": "React frontend with Node.js backend",
|
|
12
|
+
"path": "react-node"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"name": "nextjs",
|
|
16
|
+
"description": "Next.js full-stack application",
|
|
17
|
+
"path": "nextjs"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"name": "expo",
|
|
21
|
+
"description": "Expo / React Native mobile app",
|
|
22
|
+
"path": "expo"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "fastapi",
|
|
26
|
+
"description": "Python FastAPI backend",
|
|
27
|
+
"path": "fastapi"
|
|
28
|
+
}
|
|
29
|
+
]
|
|
30
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"feature": "{{featureName}}",
|
|
3
|
+
"version": 1,
|
|
4
|
+
"architecture": {
|
|
5
|
+
"approach": "Turborepo monorepo with configurable apps and shared packages",
|
|
6
|
+
"components": []
|
|
7
|
+
},
|
|
8
|
+
"dataModel": {
|
|
9
|
+
"entities": [],
|
|
10
|
+
"flowDescription": "Shared packages consumed by one or more apps"
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"feature": "{{featureName}}",
|
|
3
|
+
"title": "{{title}}",
|
|
4
|
+
"version": 1,
|
|
5
|
+
"overview": {
|
|
6
|
+
"problemStatement": "{{problemStatement}}",
|
|
7
|
+
"proposedSolution": "{{proposedSolution}}",
|
|
8
|
+
"targetAudience": "{{targetAudience}}"
|
|
9
|
+
},
|
|
10
|
+
"userStories": [],
|
|
11
|
+
"functionalRequirements": []
|
|
12
|
+
}
|