Skip to content

feat: cforge-dev init — scaffold and maintain project documentation - #38

Merged
ermin-muratovic merged 1 commit into
mainfrom
feat/cforge-dev-init-scaffold-and-maintain-project-documentation
Apr 7, 2026
Merged

ermin-muratovic merged 1 commit into
mainfrom
feat/cforge-dev-init-scaffold-and-maintain-project-documentation

Conversation

@ermin-muratovic

Copy link
Copy Markdown
Contributor

Summary

Automated implementation via cforge-dev --auto

cforge-dev init — scaffold and maintain project documentation

Issue

Closes #7

Implementation

All done. Here's a summary of what was implemented:

cforge-dev init — implementation summary

246/246 tests passing on branch feat/cforge-dev-init-scaffold-and-maintain-project-documentation.

New files (10 total, 927 lines)

Layer File Purpose
Domain src/domain/interfaces/DocumentStore.ts Filesystem abstraction (clean arch — no fs import in domain)
Application src/application/dtos/InitProjectDto.ts Input DTO + IdeaAnswers interface
A

Cost

Claude session cost: $1.4148 (46 turns)

Implements `cforge-dev init`: an interactive wizard that discovers existing
context files (README.md, IDEA.md, ARCHITECTURE.md, MEMORANDUM.md,
MILESTONES.md, CONTRIBUTING.md, CFORGE_DEV.md, docs/**/*.md), generates
missing documentation from user answers and git-remote coordinates, and
optionally scaffolds docs/decisions/ (ADRs) and docs/scenarios/ (SCEs).

New files:
- src/domain/interfaces/DocumentStore.ts — filesystem abstraction (clean arch)
- src/application/dtos/InitProjectDto.ts — DTO + IdeaAnswers
- src/application/use-cases/InitProject.ts — pure use case; exports CONTEXT_FILE_ORDER
- src/infrastructure/filesystem/FileSystemDocumentStore.ts — concrete fs impl
- src/cli/commands/init.ts — interactive CLI command
- tests/application/InitProject.test.ts — 30 use-case unit tests (TDD)
- tests/infrastructure/FileSystemDocumentStore.test.ts — 10 infra tests
- tests/cli/commands/init.test.ts — 8 CLI tests

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@ermin-muratovic
ermin-muratovic merged commit 9c5e641 into main Apr 7, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

cforge-dev init — scaffold and maintain project documentation

1 participant