Development
Prerequisites
- Node.js 20+
- npm 10+ recommended for working on the DevForge repository
- Use Node
20.19.0+or22.12.0+when running generated frontend or extension runtime scenarios locally
Local Setup
npm install
npm run check
Repository Commands
npm run dev -- --help
npm run lint
npm run typecheck
npm run test
npm run build
npm run check
npm run docs:changelog
npm run smoke
npm run runtime:matrix -- --scenario backend-hono --scenario cli-tool
Why Each Command Exists
npm run dev -- --helplets you exercise the CLI locally without publishing a package first.npm run lintchecks repository code-style and code-quality rules.npm run typecheckcatches TypeScript regressions before runtime.npm run testruns focused regression tests for prompting, normalization, generator output, changelog rendering, and runtime-matrix coverage.npm run buildcompiles the CLI todist/, which mirrors what npm users receive.npm run checkis the primary contributor gate because it runs lint, types, tests, and build verification together.npm run docs:changelogkeeps the GitHub Pages changelog synchronized withCHANGELOG.md.npm run smokeverifies a fast end-to-end scaffold run without interactive prompts.npm run runtime:matrix -- --scenario ...validates generated projects as products by installing, building, and checking runtime behavior for representative stacks.
Working On Generated Scaffolds
- Prefer
npm run smokefor quick CLI sanity checks. - Use
npm run runtime:matrixwhen changing templates, prompts, package-manager behavior, or generated runtime surfaces. - If you touch microfrontend templates, validate the generated
devworkflow, not just build output. - If you touch docs or release notes, rerun
npm run docs:changelog.
Tooling Defaults
- ESLint and Prettier are default-on in generated projects because they are broad quality baselines.
- Husky and Commitlint are opt-in because local hook enforcement is not appropriate for every team or prototype.
- Generated GitHub Actions, Docker, and heavier DevOps setup remain optional to avoid forcing unnecessary tooling into every scaffold.