An interactive setup wizard that scaffolds a code-pushup.config.ts file in your repository.
npm init @code-pushup/cliThe wizard will prompt you to select plugins and configure their options, then generate a code-pushup.config.ts file.
| Option | Type | Default | Description |
|---|---|---|---|
--plugins |
string[] |
Comma-separated plugin slugs to enable | |
--config-format |
'ts' | 'js' | 'mjs' |
auto-detected | Config file format |
--mode |
'standalone' | 'monorepo' |
auto-detected | Setup mode |
--ci |
'github' | 'gitlab' | 'none' |
CI/CD integration | |
--dry-run |
boolean |
false |
Preview changes without writing files |
--yes, -y |
boolean |
false |
Skip prompts and use defaults |
Each plugin exposes its own configuration keys that can be passed as CLI arguments to skip the corresponding prompts.
| Option | Type | Default | Description |
|---|---|---|---|
--eslint.eslintrc |
string |
auto-detected | Path to ESLint config |
--eslint.patterns |
string |
src or . |
File patterns to lint |
--eslint.categories |
boolean |
true |
Add ESLint categories |
| Option | Type | Default | Description |
|---|---|---|---|
--coverage.framework |
'jest' | 'vitest' | 'other' |
auto-detected | Test framework |
--coverage.configFile |
string |
auto-detected | Path to test config file |
--coverage.reportPath |
string |
coverage/lcov.info |
Path to LCOV report file |
--coverage.testCommand |
string |
auto-detected | Command to run tests |
--coverage.types |
('function' | 'branch' | 'line')[] |
all | Coverage types to measure |
--coverage.continueOnFail |
boolean |
true |
Continue if test command fails |
--coverage.categories |
boolean |
true |
Add Code coverage categories |
| Option | Type | Default | Description |
|---|---|---|---|
--js-packages.packageManager |
'npm' | 'yarn-classic' | 'yarn-modern' | 'pnpm' |
auto-detected | Package manager |
--js-packages.checks |
('audit' | 'outdated')[] |
both | Checks to run |
--js-packages.dependencyGroups |
('prod' | 'dev' | 'optional')[] |
prod, dev |
Dependency groups |
--js-packages.categories |
boolean |
true |
Add JS packages categories |
| Option | Type | Default | Description |
|---|---|---|---|
--typescript.tsconfig |
string |
auto-detected | TypeScript config file |
--typescript.categories |
boolean |
true |
Add TypeScript categories |
| Option | Type | Default | Description |
|---|---|---|---|
--lighthouse.urls |
string | string[] |
http://localhost:4200 |
Target URL(s) (comma-separated) |
--lighthouse.categories |
('performance' | 'a11y' | 'best-practices' | 'seo')[] |
all | Lighthouse categories |
Run interactively (default):
npm init @code-pushup/cliSkip prompts and enable specific plugins:
npm init @code-pushup/cli -- -y --plugins=eslint,coverageSet up a monorepo with GitHub CI integration:
npm init @code-pushup/cli -- --mode=monorepo --ci=githubPreview the generated config without writing:
npm init @code-pushup/cli -- -y --dry-run