Configuration
How DevFlow detects your package manager, TypeScript, React, Next.js, Vue or NestJS stack and monorepo layout, and which flags override it.
Project Detection
DevFlow reads your project structure to build a ProjectContext — used by every module to generate appropriate configs.
Package Manager
Detection priority:
- CLI flag —
--pm pnpmalways wins - Lock file —
pnpm-lock.yaml→ pnpm,yarn.lock→ yarn,bun.lockb→ bun,package-lock.json→ npm - packageManager field — in
package.json(e.g.,"packageManager": "pnpm@9.0.0") - Default — npm
TypeScript
Detected by presence of tsconfig.json in the project root. When TypeScript is detected:
- ESLint adds
typescript-eslint - Vitest/Jest include TypeScript support
- CI workflows add a typecheck step
Stack Detection
DevFlow inspects dependencies and devDependencies in package.json:
| Dependency | Detected Stack |
|---|---|
next | Next.js |
nuxt | Nuxt |
@nestjs/core | NestJS |
react | React |
vue | Vue |
@sveltejs/kit | SvelteKit |
| (none of the above) | Node.js |
Monorepo Detection
| File/Field | Monorepo Tool |
|---|---|
nx.json | Nx |
turbo.json | Turborepo |
pnpm-workspace.yaml | Custom (pnpm workspaces) |
package.json → workspaces[] | Custom (npm/yarn workspaces) |
Overriding Detection
You can override any detected value via CLI flags:
# Force package manager
devflow --pm pnpm
# Force CI provider
devflow --ci gitlabExisting Config Handling
DevFlow is idempotent. Every module's detect() method checks for existing configurations:
- If a config file already exists (e.g.,
eslint.config.mjs), the file is left untouched — every create-file action is skip-if-exists - The wizard shows the detected modules, and the file is never overwritten on a re-run
- File creation actions use
skipIfExists: trueby default, andpackage.jsonis merged rather than replaced
Quick Start
Run npx create-devflow, follow the wizard and generate ESLint, Prettier, Husky, Vitest, GitHub Actions and Docker configuration.
Interactive Wizard
How the DevFlow interactive wizard works: auto-detects your stack, lets you pick modules, fine-tunes settings and shows the plan before applying.