v0.2.0 · MIT licensed · 50 modules

DevFlow CLI — Developer Workflow Setup for TypeScript, React, Node.js and Monorepos

Generate ESLint, Prettier, Husky, Vitest, GitHub Actions, Docker and security configs for your existing project — without copy-pasting boilerplate.

Detects |

Safe preview — prints the plan and writes nothing
1$ npx create-devflow --dry-run
2
3Execution Plan
4
5 Files to create:
6 • .husky/pre-commit
7 • eslint.config.mjs
8 • .prettierrc.json
9 • vitest.config.ts
10 • .github/workflows/ci.yml
11
12 Packages to install:
13 • devDependencies: eslint, prettier, husky, vitest
14
15 Scripts to add:
16 • lint: eslint .
17 • test: vitest run
1$ npx create-devflow --all --yes
2
3 Files created / updated
4
5 Created files:
6 • .husky/pre-commit
7 • .husky/commit-msg
8 • commitlint.config.mjs
9 • eslint.config.mjs
10 • .prettierrc.json
11 • vitest.config.ts
12 • .github/workflows/ci.yml
13 • Dockerfile, docker-compose.yml, .dockerignore
14
15 Added scripts:
16 • prepare: husky
17 • lint: eslint .
1# Add only GitHub Actions
2$ npx create-devflow --only github-actions
3
4# Git hooks, linting and tests
5$ npx create-devflow --husky --lint --test
6
7# Docker and CI, force pnpm
8$ npx create-devflow --docker --ci github --pm pnpm
9
10# Commitlint only
11$ npx create-devflow --only commitlint
React
Next.js
NestJS
Vue
SvelteKit
Nuxt
Turborepo
Nx
React
Next.js
NestJS
Vue
SvelteKit
Nuxt
Turborepo
Nx
  • Latest releasev0.2.0published Oct 21, 2026
  • Downloads8last 30 days
  • LicenseMITsecurity policy published
  • SourceGitHubupdated Oct 21, 2026
  • Node.js18 · 20 · 22npm, pnpm, yarn, bun
0 stars · 0 forks · 20 open issues on GitHub.CI runs on every pull requestSecurity policyChangelog
What’s inside

Every tool your repo needs, wired together

50 modules across 10 categories. Pick exactly what you need or run a preset — DevFlow detects your stack and generates configs that match it.

Browse all modules

Git & Commits

Husky, lint-staged, Commitlint and Commitizen — conventional commits enforced on every commit, with the hook installed on every clone.

Husky module

Code Quality

ESLint flat config, Prettier and EditorConfig — rule sets derived from the dependencies in your package.json, not from a copied template.

ESLint module

Testing

Vitest or Jest with the right environment for your stack, plus Testing Library setup and the npm scripts to run them.

Vitest module

CI/CD

GitHub Actions, GitLab CI, Codecov, Dependabot and Renovate — a pipeline that lints, type-checks, tests and builds on every pull request.

GitHub Actions module

Docker

Multi-stage Dockerfile with a non-root user, a docker-compose file for local runs and a .dockerignore that keeps the build context small.

Docker module

Monorepo

Nx, Turborepo and pnpm or yarn workspaces, with a shared tsconfig.base.json and the workspace scripts to run them.

Monorepo module
Comparison

What DevFlow is, and what it is not

DevFlow is a workflow generator. It does not scaffold applications, and it is not a build system. Here is the honest picture, including the column where DevFlow has nothing to offer.

CapabilityDevFlow CLIManual setupcreate-* CLINx / Turborepo
Adds the workflow to an existing repositoryYesYesNo — it creates the projectPartially
Adapts config to the detected stack and package managerYesBy handOne stack onlyPartially
Git hooks, commit validation, lint-stagedYesBy handRarelyNo
CI workflow that lints, type-checks, tests and buildsYesBy handRarelyNo — you write the pipeline
Dockerfile, compose file and .dockerignoreYesBy handSometimesNo
Task graph, build caching, generatorsNoNoNoYes — this is the core feature
Reproducible across every repositoryYesNo — copy-paste driftsOnly for new projectsYes
Applies to a repository you already haveYesYesNoNo

Nx and Turborepo are not alternatives to DevFlow — they own the task graph and the cache. Read DevFlow vs Nx and DevFlow vs Turborepo for the detail, or DevFlow vs manual setup for the cost breakdown.

Presets

Three starting points, not one

A preset is a pre-selected module list that adapts to the detected stack. The counts below are for a single Node.js/TypeScript repository: React, Next.js and Vue projects get Testing Library on top, and monorepos swap release-it for Changesets and add the workspaces module.

Minimal

The four things every repository needs on day one.

Modules
4
Files
4
  • +Husky — Git hooks
  • +lint-staged — linters on staged files
  • +Commitlint — Conventional Commits
  • +EditorConfig — consistent editor settings

When: A single repository, a small team, or a repository that already has linting.

Recommended

Start here

Minimal plus linting, testing, CI/CD and a pinned toolchain.

Modules
12
Files
14
  • +Everything in Minimal
  • +ESLint — flat config for your stack
  • +Prettier — one shared formatting style
  • +Vitest — test runner with V8 coverage
  • +GitHub Actions — lint, type-check, test, build
  • +TypeScript — typecheck script
  • +.nvmrc — pinned Node.js version
  • +.env.example + VSCode settings

When: The default for a new repository, and the right choice for most teams.

Full

Recommended plus end-to-end testing, releases, security and containers.

Modules
31
Files
34
  • +Everything in Recommended
  • +Playwright — end-to-end tests
  • +Stylelint, markdownlint, cspell
  • +Commitizen — interactive commits
  • +Codecov + Renovate — coverage and updates
  • +release-it — automated releases
  • +npm audit + Gitleaks — security scanning
  • +Dockerfile + compose + .dockerignore
  • +README, CONTRIBUTING, LICENSE, SECURITY.md

When: A service that ships to production and is maintained by more than one person.

The wizard asks for a preset, and the presets reference lists every module in each one. The visual builder produces the exact command for your stack.

How it works

From zero to fully configured in minutes

Run one command. DevFlow walks you through four simple steps — no manual config, no copy-pasted boilerplate.

1$ npx create-devflow
2
3 Scanning project...
4
5 ✓ Package manager: pnpm
6 ✓ Language: TypeScript
7 ✓ Framework: React (Vite)
8 ✓ Monorepo: No
9
10 Ready to configure 5 modules.
Developer experience

Designed for real-world repos

Three different ways to use DevFlow — the wizard, a preset, or direct flags. Whichever fits your workflow.

Direct commands

Skip the wizard. Use --husky, --lint, --test, --ci, --docker and --only to add exactly the modules you want from a script or a CI pipeline.

CLI flags and examples

Preset configs

Minimal, Recommended or Full, adjusted for the detected stack and repository type. Run npx create-devflow --all for an opinionated setup in one command.

Compare the three presets

Safe re-runs

Every generated file is created with skip-if-exists semantics, so an existing eslint.config.mjs is never replaced. Run it again after a new module lands and only the missing pieces are added.

How detection and re-runs work
FAQ

Questions developers actually ask

The objections that come up before anyone runs the tool — answered with the real behaviour of the CLI, including the parts that are not automatic.

Does DevFlow overwrite my existing ESLint config?

No. Every configuration file is created with skip-if-exists semantics, so an existing eslint.config.mjs, .prettierrc.json, .husky/pre-commit or any other generated file is left untouched. DevFlow does rewrite package.json, but it only merges: existing scripts are never replaced, and new scripts are added alongside them.

Does create-devflow support pnpm, yarn and bun?

Yes. The package manager is detected from the lock file (pnpm-lock.yaml, yarn.lock, bun.lockb or package-lock.json) or the packageManager field, and the install command, CI workflow and Dockerfile are all generated for the detected manager. Use --pm pnpm, --pm yarn or --pm bun to override detection.

Can I add only GitHub Actions without Docker?

Yes. Run npx create-devflow --ci github to generate only .github/workflows/ci.yml, or use --only <module> to select any single module. Every module can be applied on its own.

How do I remove DevFlow from my repository?

DevFlow has no --undo flag, but everything it writes is plain text in your repository. Delete the generated files listed on each module page, remove the scripts it added from package.json, and remove the devDependencies it installed. Running the tool in a clean git checkout and reviewing the diff is the safest way to see exactly what changed.

Does DevFlow support Next.js App Router?

Yes. A project with the next dependency is detected as a Next.js stack, which means DevFlow generates the React + TypeScript ESLint flat config and the React Testing Library setup. The same config works for both the App Router and the Pages Router, because DevFlow does not add framework-specific Next.js ESLint plugins that would be tied to a router.

Does DevFlow work with Nx and Turborepo?

Yes. The monorepo category contains Nx, Turborepo and workspace modules, and a project with nx.json or turbo.json is detected as a monorepo. DevFlow generates the nx.json or turbo.json configuration and the turbo scripts. The generated CI workflow is a single-repository pipeline, so monorepo caching and affected-only runs are covered in the Turborepo CI guide.

How do I run DevFlow in dry-run mode?

Add --dry-run to any command, for example npx create-devflow --dry-run for the wizard or npx create-devflow --all --dry-run for the recommended preset. DevFlow then prints the execution plan — files to create, packages to install and scripts to add — and writes nothing to disk.

Is DevFlow free and open source?

Yes. DevFlow is MIT licensed, published on npm as create-devflow, and the full source is available on GitHub. There is no paid tier, no telemetry and no account required.

What Node.js versions does DevFlow support?

Node.js 18, 20 and 22. The package declares node >=18.0.0 in its engines field, and the generated CI workflow runs on Node.js 20 by default.

Does DevFlow work on Windows?

DevFlow runs on macOS, Linux and Windows through WSL2. It is a Node.js CLI with no native binary dependencies, and the generated files use POSIX-style paths and LF line endings.

Is DevFlow a scaffolder or a workflow generator?

It is a workflow generator. DevFlow does not create your application — it adds the development workflow to a repository that already exists: Git hooks, linting, formatting, testing, CI/CD, Docker and security configuration. That is why it can be run safely inside an existing project.

Will DevFlow change my application code?

No. DevFlow only writes configuration files, adds npm scripts and installs dev dependencies. It never touches files under src/ except for the Testing Library setup file and the Mock Service Worker handlers, both of which are new files.

How is DevFlow different from copying config from another repository?

Copying works, but the copied config is usually not adapted to the target stack, the package manager or the CI provider, and it silently drifts as the tools are upgraded. DevFlow regenerates the configuration from the detected project context, so the same command produces a correct result in a pnpm monorepo and in an npm single-package repository.

DevFlow is MIT licensed and the source is public

Read the code that writes your config, open an issue when a module is missing, or star the repository if it saved you an afternoon.

Stop copy-pasting workflow configs between repositories

One command reads your stack, your package manager and your repository type, then writes the configuration that fits — as plain files in your repository, so you can review and edit every line.