Installation
Install the CLI as a dev dependency:
npm install @ladamczyk/qoq-cli
Then run the Config Wizard, which interviews you about your project, installs the matching @ladamczyk/qoq-* presets, and generates the config files for you:
npx -y @ladamczyk/qoq-cli --init
The wizard creates three files in your project root:
| File | Purpose |
|---|---|
.prettierrc | Enables IDE formatting from a pre-configured template. |
eslint.config.js | Connects the CLI-generated ESLint config to your IDE. |
qoq.config.js | Configuration consumed by the CLI itself. |
If no config file is found, the CLI will offer to create one whenever you run --check or --fix.
Warmup hook
QoQ regenerates each tool's config on execution, so a freshly checked-out project (or one that hasn't run yet) may reference an ESLint config file that doesn't exist yet. Add a warmup step to your package.json to materialize it after install:
{
"scripts": {
"postinstall": "qoq --warmup"
}
}
This is intentionally not bundled into the package: postinstall scripts are a common supply-chain risk, and pnpm ignores them entirely.
Manual configuration
If you prefer to wire things up yourself, create the three files by hand:
-
.prettierrc— your own config, or a QoQ template, e.g."@ladamczyk/qoq-prettier". -
eslint.config.js— re-export the CLI's generated config:// CommonJSconst config = require('@ladamczyk/qoq-cli/bin/eslint.config.cjs');module.exports = config;// ESMimport config from '@ladamczyk/qoq-cli/bin/eslint.config.mjs';export default config; -
qoq.config.js— the CLI configuration object described in Configuration (CommonJS or ESM).
Run qoq -h (or qoq --help) at any time for the full list of CLI options.