CI/CD
Generate GitHub Actions workflows, GitLab CI pipelines and Dependabot or Renovate configuration for Node.js projects in one command.
GitHub Actions
CI workflow for GitHub — generates a complete lint → typecheck → test → build pipeline.
- ID:
github-actions - Category: CI
What it does
- Creates
.github/workflows/ci.yml - Pipeline runs on push to
main/masterand all PRs - Steps: install → lint → typecheck → test → build
Package Manager Awareness
The generated workflow adapts to your package manager:
| PM | Install Command | Steps |
|---|---|---|
| npm | npm ci | Standard |
| pnpm | pnpm install --frozen-lockfile | Adds pnpm/action-setup step |
| yarn | yarn install --frozen-lockfile | Standard |
| bun | bun install --frozen-lockfile | Adds oven-sh/setup-bun step |
Generated Workflow Example (pnpm)
name: CI
on:
push:
branches: [main, master]
pull_request:
branches: [main, master]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
ci:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [20]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install pnpm
uses: pnpm/action-setup@v4
with:
version: 9
- name: Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: "pnpm"
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Lint
run: pnpm run lint
- name: Typecheck
run: pnpm run typecheck
continue-on-error: true
- name: Test
run: pnpm run test
- name: Build
run: pnpm run buildGitLab CI
Pipeline generator for GitLab — generates .gitlab-ci.yml.
- ID:
gitlab-ci - Category: CI
What it does
- Creates
.gitlab-ci.ymlwith stages: lint, test, build - Configures caching for
node_modules
Codecov
Coverage upload configuration — integrates with Codecov for coverage tracking.
- ID:
codecov - Category: CI
What it does
- Creates
codecov.ymlwith coverage thresholds - Adds upload step to CI workflows
Renovate
Automated dependency PRs — keeps dependencies up-to-date automatically.
- ID:
renovate - Category: CI
- Conflicts with: Dependabot
What it does
- Creates
renovate.jsonwith recommended config - Groups related dependencies
- Configures auto-merge for patch updates
Dependabot
GitHub-native dependency updates — simpler alternative to Renovate.
- ID:
dependabot - Category: CI
- Conflicts with: Renovate
What it does
- Creates
.github/dependabot.yml - Configures weekly update checks for npm
Testing
Add Vitest, Jest, Playwright, Cypress, Testing Library or MSW to a JavaScript project. DevFlow creates the configs, packages and npm scripts.
Releases
Automate versioning, changelog generation and npm publishing with release-it, Changesets or semantic-release, for single packages and monorepos.