Project Templates
A template is a DevFlow preset plus the modules that a particular stack needs. The command below is the whole template — copy it, run it in an existing repository, and review the diff.
DevFlow does not scaffold an application. A template describes the workflow a project of that kind should have, which is why every command works on a repository you already have. If you need a new application, create it first — with create-next-app, create-vite or nest new — then apply the template. The DevFlow vs create-next-app comparison explains the order.
TypeScript / Node.js service
Node.js · TypeScriptThe baseline for a backend service or a CLI: strict TypeScript, ESLint, Prettier, Vitest, GitHub Actions and a multi-stage Dockerfile.
- +ESLint flat config with typescript-eslint
- +Prettier configuration and ignore file
- +Husky with lint-staged and Commitlint
- +Vitest with V8 coverage
- +GitHub Actions pipeline
- +Multi-stage Dockerfile and docker-compose
- +npm audit and Gitleaks
React + TypeScript application
React · TypeScript · ViteA React application with the React ESLint plugin, the React Hooks rules, jsdom-based component tests and Testing Library wired in.
- +ESLint with eslint-plugin-react and react-hooks
- +Vitest with a jsdom environment
- +Testing Library setup file
- +Prettier and lint-staged
- +GitHub Actions pipeline
- +EditorConfig, .nvmrc and .env.example
Next.js application
Next.js · React · TypeScriptA Next.js project with the same React-flavoured lint rules plus a pull request pipeline that lints, type-checks, tests and builds.
- +ESLint with the React and React Hooks rules
- +Vitest with a jsdom environment
- +GitHub Actions pipeline for pull requests
- +Husky, lint-staged and Commitlint
- +Dockerfile for a container deployment
NestJS service
NestJS · TypeScriptA NestJS service with a non-root container image, a health check recipe and a CI job that builds and pushes the image.
- +Strict TypeScript and a typecheck script
- +Vitest with the node environment
- +Multi-stage Dockerfile, compose and .dockerignore
- +GitHub Actions pipeline
- +Security scanning workflows
pnpm + Turborepo monorepo
pnpm workspaces · TurborepoA workspace with a task graph, a shared tsconfig.base.json, workspace scripts and a CI pipeline that caches Turborepo output.
- +turbo.json pipeline and turbo scripts
- +pnpm-workspace.yaml
- +Shared tsconfig.base.json
- +lint:all and test:all workspace scripts
- +Remote caching diff for the CI workflow
Security-hardened repository
Any stack · CI securityAdds secret detection, dependency auditing and container scanning to an existing repository without touching anything else.
- +Gitleaks config and workflow with full-history scan
- +npm audit script with a high-severity threshold
- +Trivy vulnerability and misconfiguration workflow
- +OSV-Scanner dependency workflow
Build your own template
Every template above is a list of module ids. The visual builder turns a set of modules into a copy-pasteable command, and the CLI reference documents every flag you can combine.
# One module
npx create-devflow --only vitest
# A group
npx create-devflow --lint --husky
# Everything for the detected stack
npx create-devflow --all
# A specific combination, no wizard
npx create-devflow --only github-actions --only vitest --yesFAQ
Do templates create a new project?
No. DevFlow configures an existing repository. Create the application first, then apply the template to add the workflow around it.
Can I use a template on a repository that already has configuration?
Yes. Every generated file is created with skip-if-exists semantics, so an existing eslint.config.mjs, .prettierrc.json or CI workflow is left untouched. Only package.json is merged, and existing scripts are never replaced.
Which template should I pick?
Start with the one that matches your stack. If you already have linting and testing, apply only the missing modules with --only, which is safer than applying a whole template.