FAQQuestions 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.