DevFlow Modules All 50 DevFlow modules grouped by category. Every module page lists the exact files it creates, the packages it installs and the scripts it adds.
DevFlow ships 50 modules in 10 categories . Each module is an independent unit: it can be applied on its own, it never overwrites a file that already exists, and every page below lists the exact artefacts it produces.
# Apply a single module
npx create-devflow --only eslint
# Preview a single module without touching the project
npx create-devflow --only eslint --dry-run
Each module page follows the same structure so you can compare them quickly:
The problem — what breaks when you configure this by hand
The command — the exact invocation
Generated files — the real file contents, not a summary
Packages and scripts — what ends up in package.json
Manual setup — what the equivalent hand-written configuration looks like
Limits — what the module does not do
FAQ — the objections people actually raise
Module Landing page Generates ESLint ESLint module eslint.config.mjsPrettier Prettier module .prettierrc.json, .prettierignoreTypeScript strict — tsconfig.json (only when missing)Biome — biome.jsonEditorConfig — .editorconfigStylelint — .stylelintrc.jsonmarkdownlint — .markdownlint.jsoncspell — cspell.json
Module Landing page Generates Husky Husky module .husky/pre-commit, .husky/commit-msglint-staged lint-staged module lint-staged.config.mjs or package.json keyCommitlint Commitlint module commitlint.config.mjsCommitizen — package.json config + commit scriptLefthook — lefthook.ymlgit-cliff — cliff.tomlstandard-version — .versionrc.json
Module Landing page Generates Vitest Vitest module vitest.config.tsTesting Library — src/test/setup.tsJest — jest.config.ts / jest.config.mjsPlaywright — playwright.config.ts, e2e/example.spec.tsCypress — cypress.config.ts and support filesMock Service Worker — src/mocks/handlers.ts, src/mocks/server.ts
Module Landing page Generates GitHub Actions GitHub Actions module .github/workflows/ci.ymlGitLab CI — .gitlab-ci.ymlCodecov — codecov.ymlDependabot — .github/dependabot.ymlRenovate — renovate.json
Module Landing page Generates Dockerfile Docker module DockerfileDocker Compose — docker-compose.yml.dockerignore — .dockerignore
Module Generates release-it .release-it.jsonChangesets .changeset/config.json, .changeset/README.mdsemantic-release .releaserc.jsonconventional-changelog changelog scriptREADME README.mdCONTRIBUTING CONTRIBUTING.mdCODE_OF_CONDUCT CODE_OF_CONDUCT.mdSECURITY.md SECURITY.mdLICENSE LICENSE (MIT, Apache-2.0 or proprietary)
Module Generates .nvmrc .nvmrc or a volta block in package.json.env.example .env.example and .gitignore entriesVS Code .vscode/extensions.json, .vscode/settings.jsonDev Container .devcontainer/devcontainer.jsonMakefile Makefile
Some modules replace each other and cannot be applied together. The interactive wizard blocks the conflicting pairs, and --only accepts a single id so you cannot create the conflict by accident:
Pair Use instead of Husky ↔ Lefthook Pick one hook manager ESLint + Prettier ↔ Biome Biome replaces both Vitest ↔ Jest Pick one test runner Playwright ↔ Cypress Pick one E2E runner Renovate ↔ Dependabot Pick one update bot release-it ↔ semantic-release Pick one release driver Nx ↔ Turborepo Pick one build system