sdd-forge 0.1.0-alpha.31 → 0.1.0-alpha.361
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 +75 -125
- package/package.json +6 -3
- package/src/AGENTS.md +420 -0
- package/src/docs/commands/agents.js +22 -7
- package/src/docs/commands/changelog.js +1 -1
- package/src/docs/commands/data.js +15 -13
- package/src/docs/commands/enrich.js +28 -12
- package/src/docs/commands/forge.js +6 -24
- package/src/docs/commands/init.js +21 -19
- package/src/docs/commands/readme.js +13 -10
- package/src/docs/commands/review.js +45 -92
- package/src/docs/commands/scan.js +176 -25
- package/src/docs/commands/text.js +204 -49
- package/src/docs/commands/translate.js +2 -2
- package/src/docs/data/agents.js +5 -4
- package/src/docs/data/docs.js +79 -11
- package/src/docs/data/lang.js +4 -4
- package/src/docs/data/text.js +32 -0
- package/src/docs/lib/command-context.js +4 -4
- package/src/docs/lib/directive-parser.js +335 -137
- package/src/docs/lib/forge-prompts.js +6 -6
- package/src/docs/lib/resolver-factory.js +73 -34
- package/src/docs/lib/review-parser.js +1 -131
- package/src/docs/lib/scanner.js +1 -1
- package/src/docs/lib/template-merger.js +299 -89
- package/src/docs/lib/text-prompts.js +26 -18
- package/src/docs/lib/toml-parser.js +135 -0
- package/src/docs.js +24 -11
- package/src/flow/commands/cleanup.js +41 -22
- package/src/flow/commands/merge.js +104 -6
- package/src/flow/commands/resume.js +213 -0
- package/src/flow/commands/review.js +16 -6
- package/src/flow/commands/start.js +6 -14
- package/src/flow/commands/status.js +98 -33
- package/src/flow.js +1 -0
- package/src/help.js +4 -0
- package/src/lib/agent.js +5 -6
- package/src/lib/config.js +1 -1
- package/src/lib/flow-state.js +457 -35
- package/src/lib/i18n.js +4 -3
- package/src/lib/json-parse.js +31 -0
- package/src/lib/multi-select.js +265 -0
- package/src/lib/presets.js +95 -23
- package/src/lib/skills.js +96 -0
- package/src/lib/types.js +120 -84
- package/src/locale/en/messages.json +12 -5
- package/src/locale/en/prompts.json +4 -6
- package/src/locale/en/ui.json +26 -34
- package/src/locale/ja/messages.json +12 -5
- package/src/locale/ja/prompts.json +4 -6
- package/src/locale/ja/ui.json +26 -34
- package/src/presets/api/preset.json +13 -0
- package/src/presets/api/templates/en/api_overview.md +22 -0
- package/src/presets/api/templates/en/authentication.md +22 -0
- package/src/presets/api/templates/ja/api_overview.md +22 -0
- package/src/presets/api/templates/ja/authentication.md +22 -0
- package/src/presets/architecture/preset.json +6 -0
- package/src/presets/base/data/structure.js +87 -0
- package/src/presets/base/preset.json +0 -1
- package/src/presets/base/templates/en/AGENTS.sdd.md +5 -1
- package/src/presets/base/templates/en/development.md +21 -19
- package/src/presets/base/templates/en/guardrail.md +20 -0
- package/src/presets/base/templates/en/layout.md +10 -0
- package/src/presets/base/templates/en/overview.md +22 -18
- package/src/presets/base/templates/en/project_structure.md +21 -19
- package/src/presets/base/templates/en/stack_and_ops.md +22 -18
- package/src/presets/base/templates/ja/AGENTS.sdd.md +5 -1
- package/src/presets/base/templates/ja/development.md +21 -19
- package/src/presets/base/templates/ja/guardrail.md +20 -0
- package/src/presets/base/templates/ja/layout.md +10 -0
- package/src/presets/base/templates/ja/overview.md +22 -18
- package/src/presets/base/templates/ja/project_structure.md +21 -19
- package/src/presets/base/templates/ja/stack_and_ops.md +22 -18
- package/src/presets/cakephp2/data/{shells.js → commands.js} +12 -12
- package/src/presets/cakephp2/data/config.js +2 -2
- package/src/presets/cakephp2/preset.json +1 -1
- package/src/presets/cakephp2/scan/{shells-detail.js → commands-detail.js} +9 -8
- package/src/presets/cakephp2/templates/en/auth_and_session.md +42 -0
- package/src/presets/cakephp2/templates/en/business_logic.md +16 -0
- package/src/presets/cakephp2/templates/en/commands.md +16 -0
- package/src/presets/cakephp2/templates/en/controller_routes.md +19 -0
- package/src/presets/cakephp2/templates/en/database_architecture.md +11 -0
- package/src/presets/cakephp2/templates/en/db_tables.md +16 -0
- package/src/presets/cakephp2/templates/en/development.md +46 -0
- package/src/presets/cakephp2/templates/en/guardrail.md +8 -0
- package/src/presets/cakephp2/templates/en/project_structure.md +31 -0
- package/src/presets/cakephp2/templates/en/stack_and_ops.md +43 -0
- package/src/presets/cakephp2/templates/ja/auth_and_session.md +23 -3
- package/src/presets/cakephp2/templates/ja/business_logic.md +16 -0
- package/src/presets/cakephp2/templates/ja/commands.md +16 -0
- package/src/presets/cakephp2/templates/ja/controller_routes.md +13 -7
- package/src/presets/cakephp2/templates/ja/database_architecture.md +11 -0
- package/src/presets/cakephp2/templates/ja/db_tables.md +6 -12
- package/src/presets/cakephp2/templates/ja/development.md +13 -17
- package/src/presets/cakephp2/templates/ja/guardrail.md +8 -0
- package/src/presets/cakephp2/templates/ja/project_structure.md +13 -21
- package/src/presets/cakephp2/templates/ja/stack_and_ops.md +18 -23
- package/src/presets/ci/data/pipelines.js +89 -0
- package/src/presets/ci/preset.json +15 -0
- package/src/presets/ci/scan/workflows.js +289 -0
- package/src/presets/ci/templates/en/ci_cd.md +27 -0
- package/src/presets/ci/templates/ja/ci_cd.md +27 -0
- package/src/presets/cli/data/commands.js +52 -0
- package/src/presets/cli/preset.json +1 -1
- package/src/presets/cli/templates/en/README.md +12 -14
- package/src/presets/cli/templates/en/commands.md +22 -27
- package/src/presets/cli/templates/en/config.md +19 -18
- package/src/presets/cli/templates/en/guardrail.md +6 -0
- package/src/presets/cli/templates/ja/README.md +12 -14
- package/src/presets/cli/templates/ja/commands.md +22 -27
- package/src/presets/cli/templates/ja/config.md +19 -18
- package/src/presets/cli/templates/ja/guardrail.md +6 -0
- package/src/presets/database/data/schema.js +36 -0
- package/src/presets/database/preset.json +8 -0
- package/src/presets/database/templates/en/database.md +16 -0
- package/src/presets/database/templates/ja/database.md +16 -0
- package/src/presets/drizzle/data/schema.js +128 -0
- package/src/presets/drizzle/preset.json +21 -0
- package/src/presets/drizzle/scan/schema.js +114 -0
- package/src/presets/drizzle/templates/en/database.md +11 -0
- package/src/presets/drizzle/templates/en/schema.md +20 -0
- package/src/presets/drizzle/templates/ja/database.md +11 -0
- package/src/presets/drizzle/templates/ja/schema.md +20 -0
- package/src/presets/edge/data/runtime.js +93 -0
- package/src/presets/edge/preset.json +8 -0
- package/src/presets/edge/templates/en/edge_runtime.md +20 -0
- package/src/presets/edge/templates/ja/edge_runtime.md +20 -0
- package/src/presets/graphql/data/schema.js +119 -0
- package/src/presets/graphql/preset.json +18 -0
- package/src/presets/graphql/scan/schema.js +108 -0
- package/src/presets/graphql/templates/en/api_overview.md +8 -0
- package/src/presets/graphql/templates/en/authentication.md +15 -0
- package/src/presets/graphql/templates/en/schema.md +27 -0
- package/src/presets/graphql/templates/ja/api_overview.md +8 -0
- package/src/presets/graphql/templates/ja/authentication.md +15 -0
- package/src/presets/graphql/templates/ja/schema.md +27 -0
- package/src/presets/hono/data/middleware.js +37 -0
- package/src/presets/hono/preset.json +19 -0
- package/src/presets/hono/scan/middleware.js +68 -0
- package/src/presets/hono/templates/en/middleware.md +13 -0
- package/src/presets/hono/templates/ja/middleware.md +13 -0
- package/src/presets/js-webapp/preset.json +24 -0
- package/src/presets/laravel/data/commands.js +8 -14
- package/src/presets/laravel/preset.json +1 -1
- package/src/presets/laravel/scan/config.js +108 -0
- package/src/presets/laravel/scan/routes.js +62 -5
- package/src/presets/laravel/templates/en/auth_and_session.md +29 -0
- package/src/presets/laravel/templates/en/controller_routes.md +34 -0
- package/src/presets/laravel/templates/en/db_tables.md +16 -0
- package/src/presets/laravel/templates/en/guardrail.md +8 -0
- package/src/presets/laravel/templates/en/project_structure.md +13 -0
- package/src/presets/laravel/templates/en/stack_and_ops.md +34 -0
- package/src/presets/laravel/templates/ja/auth_and_session.md +13 -13
- package/src/presets/laravel/templates/ja/controller_routes.md +18 -28
- package/src/presets/laravel/templates/ja/db_tables.md +10 -16
- package/src/presets/laravel/templates/ja/guardrail.md +8 -0
- package/src/presets/laravel/templates/ja/project_structure.md +7 -7
- package/src/presets/laravel/templates/ja/stack_and_ops.md +15 -23
- package/src/presets/library/preset.json +1 -1
- package/src/presets/library/templates/en/README.md +16 -0
- package/src/presets/library/templates/en/guardrail.md +4 -0
- package/src/presets/library/templates/en/public_api.md +34 -0
- package/src/presets/library/templates/en/usage.md +41 -0
- package/src/presets/library/templates/ja/README.md +5 -7
- package/src/presets/library/templates/ja/guardrail.md +4 -0
- package/src/presets/library/templates/ja/public_api.md +16 -15
- package/src/presets/library/templates/ja/usage.md +19 -18
- package/src/presets/monorepo/data/monorepo.js +80 -0
- package/src/presets/monorepo/preset.json +6 -0
- package/src/presets/nextjs/data/components.js +103 -0
- package/src/presets/nextjs/data/routes.js +187 -0
- package/src/presets/nextjs/preset.json +35 -0
- package/src/presets/nextjs/scan/components.js +53 -0
- package/src/presets/nextjs/scan/routes.js +175 -0
- package/src/presets/nextjs/templates/en/components.md +27 -0
- package/src/presets/nextjs/templates/en/middleware.md +13 -0
- package/src/presets/nextjs/templates/en/pages_routing.md +27 -0
- package/src/presets/nextjs/templates/en/route_handlers.md +13 -0
- package/src/presets/nextjs/templates/ja/components.md +27 -0
- package/src/presets/nextjs/templates/ja/middleware.md +13 -0
- package/src/presets/nextjs/templates/ja/pages_routing.md +27 -0
- package/src/presets/nextjs/templates/ja/route_handlers.md +13 -0
- package/src/presets/node-cli/preset.json +3 -1
- package/src/presets/node-cli/templates/en/README.md +9 -9
- package/src/presets/node-cli/templates/en/cli_commands.md +9 -8
- package/src/presets/node-cli/templates/en/configuration.md +9 -8
- package/src/presets/node-cli/templates/en/development_testing.md +10 -9
- package/src/presets/node-cli/templates/en/guardrail.md +4 -0
- package/src/presets/node-cli/templates/en/internal_design.md +10 -9
- package/src/presets/node-cli/templates/en/overview.md +9 -8
- package/src/presets/node-cli/templates/ja/README.md +9 -9
- package/src/presets/node-cli/templates/ja/cli_commands.md +9 -8
- package/src/presets/node-cli/templates/ja/configuration.md +9 -8
- package/src/presets/node-cli/templates/ja/development_testing.md +10 -9
- package/src/presets/node-cli/templates/ja/guardrail.md +4 -0
- package/src/presets/node-cli/templates/ja/internal_design.md +10 -9
- package/src/presets/node-cli/templates/ja/overview.md +9 -8
- package/src/presets/php-webapp/preset.json +10 -0
- package/src/presets/postgres/data/database.js +19 -0
- package/src/presets/postgres/preset.json +6 -0
- package/src/presets/postgres/templates/en/database.md +9 -0
- package/src/presets/postgres/templates/ja/database.md +9 -0
- package/src/presets/principle/preset.json +5 -0
- package/src/presets/r2/data/storage.js +69 -0
- package/src/presets/r2/preset.json +8 -0
- package/src/presets/r2/templates/en/storage.md +11 -0
- package/src/presets/r2/templates/ja/storage.md +11 -0
- package/src/presets/rest/preset.json +14 -0
- package/src/presets/rest/templates/en/api_overview.md +8 -0
- package/src/presets/rest/templates/en/authentication.md +15 -0
- package/src/presets/rest/templates/en/endpoints.md +20 -0
- package/src/presets/rest/templates/ja/api_overview.md +8 -0
- package/src/presets/rest/templates/ja/authentication.md +15 -0
- package/src/presets/rest/templates/ja/endpoints.md +20 -0
- package/src/presets/storage/data/buckets.js +22 -0
- package/src/presets/storage/preset.json +8 -0
- package/src/presets/storage/templates/en/storage.md +20 -0
- package/src/presets/storage/templates/ja/storage.md +20 -0
- package/src/presets/symfony/data/commands.js +8 -14
- package/src/presets/symfony/preset.json +1 -1
- package/src/presets/symfony/scan/controllers.js +4 -6
- package/src/presets/symfony/scan/php-attributes.js +72 -0
- package/src/presets/symfony/scan/routes.js +4 -6
- package/src/presets/symfony/templates/en/auth_and_session.md +29 -0
- package/src/presets/symfony/templates/en/business_logic.md +10 -0
- package/src/presets/symfony/templates/en/controller_routes.md +32 -0
- package/src/presets/symfony/templates/en/db_tables.md +21 -0
- package/src/presets/symfony/templates/en/guardrail.md +8 -0
- package/src/presets/symfony/templates/en/project_structure.md +13 -0
- package/src/presets/symfony/templates/en/stack_and_ops.md +34 -0
- package/src/presets/symfony/templates/ja/auth_and_session.md +13 -13
- package/src/presets/symfony/templates/ja/business_logic.md +10 -0
- package/src/presets/symfony/templates/ja/controller_routes.md +16 -26
- package/src/presets/symfony/templates/ja/db_tables.md +13 -21
- package/src/presets/symfony/templates/ja/guardrail.md +8 -0
- package/src/presets/symfony/templates/ja/project_structure.md +7 -7
- package/src/presets/symfony/templates/ja/stack_and_ops.md +15 -23
- package/src/presets/web-design/NOTICE +10 -0
- package/src/presets/web-design/preset.json +5 -0
- package/src/presets/web-design/templates/en/guardrail.md +34 -0
- package/src/presets/web-design/templates/ja/guardrail.md +34 -0
- package/src/presets/webapp/data/{shells.js → commands.js} +9 -12
- package/src/presets/webapp/preset.json +2 -2
- package/src/presets/webapp/templates/en/README.md +22 -0
- package/src/presets/webapp/templates/en/auth_and_session.md +47 -0
- package/src/presets/webapp/templates/en/business_logic.md +45 -0
- package/src/presets/webapp/templates/en/commands.md +42 -0
- package/src/presets/webapp/templates/en/controller_routes.md +49 -0
- package/src/presets/webapp/templates/en/database_architecture.md +41 -0
- package/src/presets/webapp/templates/en/db_tables.md +29 -0
- package/src/presets/webapp/templates/en/guardrail.md +10 -0
- package/src/presets/webapp/templates/ja/README.md +7 -9
- package/src/presets/webapp/templates/ja/auth_and_session.md +23 -22
- package/src/presets/webapp/templates/ja/business_logic.md +23 -24
- package/src/presets/webapp/templates/ja/commands.md +42 -0
- package/src/presets/webapp/templates/ja/controller_routes.md +25 -26
- package/src/presets/webapp/templates/ja/database_architecture.md +21 -20
- package/src/presets/webapp/templates/ja/db_tables.md +15 -18
- package/src/presets/webapp/templates/ja/guardrail.md +10 -0
- package/src/presets/workers/data/bindings.js +84 -0
- package/src/presets/workers/preset.json +23 -0
- package/src/presets/workers/scan/bindings.js +129 -0
- package/src/presets/workers/templates/en/bindings.md +20 -0
- package/src/presets/workers/templates/en/edge_runtime.md +11 -0
- package/src/presets/workers/templates/ja/bindings.md +20 -0
- package/src/presets/workers/templates/ja/edge_runtime.md +11 -0
- package/src/presets-cmd.js +48 -33
- package/src/setup.js +353 -358
- package/src/spec/commands/gate.js +9 -12
- package/src/spec/commands/guardrail.js +277 -64
- package/src/spec/commands/init.js +9 -3
- package/src/spec/commands/lint.js +164 -0
- package/src/spec.js +1 -0
- package/src/templates/config.example.json +11 -18
- package/src/templates/skills/sdd-forge.flow-finalize/SKILL.en.md +248 -0
- package/src/templates/skills/sdd-forge.flow-finalize/SKILL.ja.md +248 -0
- package/src/templates/skills/sdd-forge.flow-impl/SKILL.en.md +166 -0
- package/src/templates/skills/sdd-forge.flow-impl/SKILL.ja.md +166 -0
- package/src/templates/skills/sdd-forge.flow-plan/SKILL.en.md +273 -0
- package/src/templates/skills/sdd-forge.flow-plan/SKILL.ja.md +273 -0
- package/src/templates/skills/sdd-forge.flow-resume/SKILL.en.md +34 -0
- package/src/templates/skills/sdd-forge.flow-resume/SKILL.ja.md +34 -0
- package/src/templates/skills/sdd-forge.flow-status/{SKILL.md → SKILL.en.md} +4 -4
- package/src/templates/skills/sdd-forge.flow-status/SKILL.ja.md +94 -0
- package/src/templates/skills/sdd-forge.flow-sync/SKILL.en.md +42 -0
- package/src/templates/skills/sdd-forge.flow-sync/SKILL.ja.md +42 -0
- package/src/upgrade.js +3 -98
- package/docs/cli_commands.md +0 -259
- package/docs/configuration.md +0 -191
- package/docs/internal_design.md +0 -359
- package/docs/ja/README.md +0 -188
- package/docs/ja/cli_commands.md +0 -442
- package/docs/ja/configuration.md +0 -238
- package/docs/ja/internal_design.md +0 -333
- package/docs/ja/overview.md +0 -109
- package/docs/ja-translate/README.md +0 -188
- package/docs/ja-translate/cli_commands.md +0 -372
- package/docs/ja-translate/configuration.md +0 -193
- package/docs/ja-translate/internal_design.md +0 -325
- package/docs/ja-translate/overview.md +0 -148
- package/docs/overview.md +0 -144
- package/src/README.md +0 -201
- package/src/docs/commands/snapshot.js +0 -208
- package/src/presets/node-cli/templates/ja/commands.md +0 -2
- package/src/presets/node-cli/templates/ja/config.md +0 -2
- package/src/presets/node-cli/templates/ja/development.md +0 -2
- package/src/presets/node-cli/templates/ja/project_structure.md +0 -2
- package/src/presets/node-cli/templates/ja/stack_and_ops.md +0 -2
- package/src/presets/webapp/templates/ja/batch_and_shell.md +0 -43
- package/src/templates/skills/sdd-forge.flow-impl/SKILL.md +0 -103
- package/src/templates/skills/sdd-forge.flow-merge/SKILL.md +0 -142
- package/src/templates/skills/sdd-forge.flow-plan/SKILL.md +0 -176
package/README.md
CHANGED
|
@@ -1,186 +1,136 @@
|
|
|
1
|
-
# <!-- {{data
|
|
1
|
+
# <!-- {{data("cli.project.name")}} -->sdd-forge<!-- {{/data}} -->
|
|
2
2
|
|
|
3
|
-
<!-- {{data
|
|
3
|
+
<!-- {{data("cli.docs.langSwitcher", {labels: "absolute"})}} -->
|
|
4
4
|
**English** | [日本語](https://github.com/SpreadWorks/sdd-forge/blob/main/docs/ja/README.md)
|
|
5
5
|
<!-- {{/data}} -->
|
|
6
6
|
|
|
7
7
|
[](https://www.npmjs.com/package/sdd-forge)
|
|
8
|
+
[](https://opensource.org/licenses/MIT)
|
|
9
|
+
[](https://www.npmjs.com/package/sdd-forge)
|
|
8
10
|
|
|
9
|
-
> **Alpha:**
|
|
11
|
+
> **Alpha:** APIs, command structure, and configuration formats may change without notice.
|
|
10
12
|
|
|
11
|
-
|
|
13
|
+
## Spec-Driven Development — Design, implement, and document in a single flow
|
|
12
14
|
|
|
13
|
-
|
|
14
|
-
The Spec-Driven Development (SDD) workflow keeps your documentation in sync as features are added or changed.
|
|
15
|
+
A spec-first development flow manager designed to work with AI coding agents.
|
|
15
16
|
|
|
16
|
-
##
|
|
17
|
+
## The SDD Flow
|
|
17
18
|
|
|
18
|
-
|
|
19
|
-
sdd-forge is different.
|
|
19
|
+
Every feature goes through three phases, from spec to merge.
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
-
|
|
34
|
-
|
|
21
|
+
```
|
|
22
|
+
plan ─────── Specification
|
|
23
|
+
│ ├─ draft Refine requirements through dialogue
|
|
24
|
+
│ ├─ spec Create spec (feature branch + spec.md)
|
|
25
|
+
│ ├─ gate Spec validation + guardrail check
|
|
26
|
+
│ └─ test Review test plan → write test code
|
|
27
|
+
│
|
|
28
|
+
implement ── Implementation
|
|
29
|
+
│ ├─ code Write code after gate PASS
|
|
30
|
+
│ └─ review AI code review
|
|
31
|
+
│
|
|
32
|
+
merge ────── Wrap-up
|
|
33
|
+
├─ docs Auto-update documentation
|
|
34
|
+
├─ commit Commit changes
|
|
35
|
+
└─ merge Merge to base branch → cleanup
|
|
36
|
+
```
|
|
35
37
|
|
|
36
|
-
###
|
|
38
|
+
### AI stays in its lane
|
|
37
39
|
|
|
38
|
-
|
|
40
|
+
Source code analysis, spec gate checks, and flow orchestration are all handled by deterministic commands. AI is not in charge of the flow — it assists with spec drafting, code review, and prose generation within well-defined boundaries.
|
|
39
41
|
|
|
40
|
-
-
|
|
41
|
-
-
|
|
42
|
-
-
|
|
42
|
+
- **Spec gate** — Programmatic validation of unresolved items and missing approvals. No PASS, no implementation
|
|
43
|
+
- **Guardrails** — Project-specific design principles checked against each spec
|
|
44
|
+
- **Compaction resilience** — Flow state and requirements are persisted, so you can resume after context compression
|
|
43
45
|
|
|
44
|
-
|
|
46
|
+
## Automatic Doc Sync
|
|
45
47
|
|
|
46
|
-
|
|
48
|
+
Source code is statically analyzed to extract file structure, classes, methods, configuration, and dependencies. The extracted data is injected into templates to produce structured documentation (`docs/`) and `README.md`.
|
|
47
49
|
|
|
48
|
-
|
|
49
|
-
- review — AI checks alignment between docs and source code
|
|
50
|
-
- AI agent integration — Claude Code (skills) and Codex CLI supported
|
|
50
|
+
Documentation is automatically refreshed during the merge phase, so docs and code never drift apart. With always-current docs, both humans and AI agents can understand the system without reading every source file.
|
|
51
51
|
|
|
52
52
|
## Quick Start
|
|
53
53
|
|
|
54
|
-
###
|
|
54
|
+
### Install
|
|
55
55
|
|
|
56
56
|
<pre>
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
npm install -g <!-- {{data("cli.project.name")}} -->sdd-forge<!-- {{/data}} -->
|
|
58
|
+
</pre>
|
|
59
59
|
|
|
60
|
-
|
|
61
|
-
yarn global add <!-- {{data: project.name("")}} -->sdd-forge<!-- {{/data}} -->
|
|
60
|
+
### Setup
|
|
62
61
|
|
|
63
|
-
|
|
64
|
-
|
|
62
|
+
<pre>
|
|
63
|
+
<!-- {{data("cli.project.name")}} -->sdd-forge<!-- {{/data}} --> setup
|
|
65
64
|
</pre>
|
|
66
65
|
|
|
67
|
-
|
|
66
|
+
An interactive wizard configures your project type (preset) and AI agent.
|
|
68
67
|
|
|
69
|
-
|
|
70
|
-
# 1. Register your project (interactive wizard)
|
|
71
|
-
<!-- {{data: project.name("")}} -->sdd-forge<!-- {{/data}} --> setup
|
|
68
|
+
### Generate docs for an existing project
|
|
72
69
|
|
|
73
|
-
|
|
74
|
-
|
|
70
|
+
If you already have source code, generate documentation to get a complete picture of the system. Especially useful for onboarding onto legacy codebases.
|
|
71
|
+
|
|
72
|
+
<pre>
|
|
73
|
+
<!-- {{data("cli.project.name")}} -->sdd-forge<!-- {{/data}} --> docs build
|
|
75
74
|
</pre>
|
|
76
75
|
|
|
77
|
-
|
|
76
|
+
### Develop with the SDD flow
|
|
78
77
|
|
|
79
|
-
|
|
78
|
+
**[Claude Code](https://docs.anthropic.com/en/docs/claude-code)** — run each phase via skills:
|
|
80
79
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
| Command | Description |
|
|
80
|
+
| Skill | Phase |
|
|
84
81
|
|---|---|
|
|
85
|
-
| `
|
|
86
|
-
| `
|
|
87
|
-
| `
|
|
88
|
-
| `init` | Initialize `docs/` from templates |
|
|
89
|
-
| `data` | Resolve `{{data}}` directives with analysis data |
|
|
90
|
-
| `text` | Resolve `{{text}}` directives with AI |
|
|
91
|
-
| `readme` | Generate `README.md` from `docs/` |
|
|
92
|
-
| `forge` | Iteratively improve docs with AI |
|
|
93
|
-
| `review` | Check document quality |
|
|
94
|
-
| `translate` | Translate docs (default language → others) |
|
|
95
|
-
| `upgrade` | Update preset templates to latest version |
|
|
96
|
-
|
|
97
|
-
### SDD Workflow
|
|
82
|
+
| `/sdd-forge.flow-plan` | plan (specification) |
|
|
83
|
+
| `/sdd-forge.flow-impl` | implement (coding + review) |
|
|
84
|
+
| `/sdd-forge.flow-merge` | merge (wrap-up) |
|
|
98
85
|
|
|
99
|
-
|
|
86
|
+
**[Codex CLI](https://github.com/openai/codex)** — invoke via `$` prefix:
|
|
87
|
+
|
|
88
|
+
| Command | Phase |
|
|
100
89
|
|---|---|
|
|
101
|
-
| `
|
|
102
|
-
| `
|
|
103
|
-
|
|
|
104
|
-
| `changelog` | Generate change log from specs/ |
|
|
105
|
-
| `agents` | Update AGENTS.md |
|
|
90
|
+
| `$sdd-forge flow start` | plan (start specification) |
|
|
91
|
+
| `$sdd-forge flow review` | implement (AI code review) |
|
|
92
|
+
| `$sdd-forge flow merge` | merge (wrap-up) |
|
|
106
93
|
|
|
107
|
-
|
|
94
|
+
## Commands
|
|
108
95
|
|
|
109
96
|
| Command | Description |
|
|
110
97
|
|---|---|
|
|
98
|
+
| `setup` | Register project and generate config |
|
|
99
|
+
| `docs build` | Run the full documentation pipeline |
|
|
100
|
+
| `docs readme` | Generate `README.md` from `docs/` |
|
|
101
|
+
| `docs review` | Check documentation quality |
|
|
102
|
+
| `flow start` | Start the SDD flow |
|
|
103
|
+
| `flow status` | Show flow progress |
|
|
111
104
|
| `presets` | List available presets |
|
|
112
|
-
| `help` | Show
|
|
113
|
-
|
|
114
|
-
## SDD Workflow
|
|
105
|
+
| `help` | Show all commands |
|
|
115
106
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
```
|
|
119
|
-
spec Create spec (feature branch + spec.md)
|
|
120
|
-
↓
|
|
121
|
-
gate Spec gate check ← verified by program (not AI)
|
|
122
|
-
↓
|
|
123
|
-
implement Code after gate PASS
|
|
124
|
-
↓
|
|
125
|
-
forge AI updates documentation
|
|
126
|
-
↓
|
|
127
|
-
review AI quality check (repeat until PASS)
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
### AI Agent Integration
|
|
131
|
-
|
|
132
|
-
#### Claude Code
|
|
133
|
-
|
|
134
|
-
Run SDD workflows via skills:
|
|
135
|
-
|
|
136
|
-
```
|
|
137
|
-
/sdd-flow-start — create spec → gate → start implementation
|
|
138
|
-
/sdd-flow-close — forge → review → commit → merge
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
#### Codex CLI
|
|
142
|
-
|
|
143
|
-
Run workflows from the `$` prompt:
|
|
144
|
-
|
|
145
|
-
```
|
|
146
|
-
$sdd-flow-start — create spec → gate → start implementation
|
|
147
|
-
$sdd-flow-close — forge → review → commit → merge
|
|
148
|
-
```
|
|
107
|
+
See `sdd-forge help` or the [command reference](docs/cli_commands.md) for the full list.
|
|
149
108
|
|
|
150
109
|
## Configuration
|
|
151
110
|
|
|
152
|
-
`
|
|
111
|
+
`setup` generates `.sdd-forge/config.json`:
|
|
153
112
|
|
|
154
113
|
```jsonc
|
|
155
114
|
{
|
|
156
115
|
"type": "cli/node-cli", // project type (preset selection)
|
|
157
|
-
"lang": "en", //
|
|
116
|
+
"lang": "en", // operating language
|
|
158
117
|
"defaultAgent": "claude", // AI agent
|
|
159
118
|
"providers": { ... } // agent settings
|
|
160
119
|
}
|
|
161
120
|
```
|
|
162
121
|
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
Add project-specific templates and data sources:
|
|
166
|
-
|
|
167
|
-
```
|
|
168
|
-
.sdd-forge/
|
|
169
|
-
├── templates/{lang}/
|
|
170
|
-
│ ├── docs/ ← chapter template & README overrides
|
|
171
|
-
│ └── specs/ ← spec.md / qa.md templates
|
|
172
|
-
└── data/ ← custom data source modules
|
|
173
|
-
```
|
|
122
|
+
See the [configuration reference](docs/configuration.md) for details.
|
|
174
123
|
|
|
175
124
|
## Documentation
|
|
176
125
|
|
|
177
|
-
<!-- {{data
|
|
126
|
+
<!-- {{data("cli.docs.chapters", {header: "", labels: "Chapter|Summary", ignoreError: true})}} -->
|
|
178
127
|
| Chapter | Summary |
|
|
179
128
|
| --- | --- |
|
|
180
|
-
| [
|
|
181
|
-
| [
|
|
182
|
-
| [
|
|
183
|
-
| [
|
|
129
|
+
| [Tool Overview and Architecture](https://github.com/SpreadWorks/sdd-forge/blob/main/docs/overview.md) | sdd-forge is a CLI tool that automates technical documentation generation through source code analysis and provides a… |
|
|
130
|
+
| [Technology Stack and Operations](https://github.com/SpreadWorks/sdd-forge/blob/main/docs/stack_and_ops.md) | sdd-forge is a CLI tool built entirely in JavaScript on Node.js, using ES modules with zero external dependencies. |
|
|
131
|
+
| [Project Structure](https://github.com/SpreadWorks/sdd-forge/blob/main/docs/project_structure.md) | The project consists of 1 top-level source directory (src/) containing 157 files across 5 major areas: CLI entry poin… |
|
|
132
|
+
| [CLI Command Reference](https://github.com/SpreadWorks/sdd-forge/blob/main/docs/cli_commands.md) | sdd-forge provides over 25 CLI commands organized into four namespaces — docs (12 subcommands), spec (4 subcommands),… |
|
|
133
|
+
| [Configuration and Customization](https://github.com/SpreadWorks/sdd-forge/blob/main/docs/configuration.md) | sdd-forge uses two primary configuration files — .sdd-forge/config.json for project-specific settings and preset.json… |
|
|
184
134
|
<!-- {{/data}} -->
|
|
185
135
|
|
|
186
136
|
## License
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sdd-forge",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
3
|
+
"version": "0.1.0-alpha.361",
|
|
4
4
|
"description": "Spec-Driven Development tooling for automated documentation generation",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
},
|
|
13
13
|
"files": [
|
|
14
14
|
"src/",
|
|
15
|
-
"
|
|
15
|
+
"!src/presets/*/tests/"
|
|
16
16
|
],
|
|
17
17
|
"engines": {
|
|
18
18
|
"node": ">=18.0.0"
|
|
@@ -25,7 +25,10 @@
|
|
|
25
25
|
"technical-docs"
|
|
26
26
|
],
|
|
27
27
|
"scripts": {
|
|
28
|
-
"test": "
|
|
28
|
+
"test": "node tests/run.js",
|
|
29
|
+
"test:unit": "node tests/run.js --scope unit",
|
|
30
|
+
"test:e2e": "node tests/run.js --scope e2e",
|
|
31
|
+
"test:acceptance": "node tests/acceptance/run.js"
|
|
29
32
|
},
|
|
30
33
|
"license": "MIT"
|
|
31
34
|
}
|