Opinionated CLI to bootstrap JS/TS project tooling fast
It helps you install and initialize:
husky + lint-staged + commitlintoxlint + oxfmtrelease-it + conventional changelog
Important
This is an opinionated tool: it applies predefined defaults and file changes designed for a specific workflow.
When starting a new project, wiring up quality and release tooling usually means repeating the same setup steps.
@clctv/toolset turns that into a guided CLI that:
- detects your package manager automatically
- installs the required dev dependencies
- writes the necessary config files
- initializes selected tools with sensible defaults
- Interactive terminal UI powered by
@clack/prompts - Package manager detection (
npm,pnpm,yarn,bun,deno) - Multi-select setup flow so you only install what you need
- Tool-specific initialization logic for each selected option
npm i -g @clctv/toolsetRun the CLI in your project root:
toolsetYou will be prompted to choose which tool groups to set up.
- installs:
huskylint-staged@commitlint/cli@commitlint/config-conventional
- initializes Husky hooks
- writes:
.husky/pre-commit(lint-staged).husky/commit-msg(commitlint --edit "$1")
- updates
package.jsonwithcommitlintconfig
- installs:
oxlintoxfmt
- runs init commands for both
- if
lint-stagedexists, updatespackage.jsonwith:oxlint --fixfor JS/TS filesoxfmt --no-error-on-unmatched-patternfallback formatting
- writes
.vscode/settings.jsonwith Oxc formatter defaults
- installs:
release-it@release-it/conventional-changelog
- updates
package.json:scripts.releasepublishConfig.accessrelease-itconfig (build hook, GitHub release, changelog plugin)
- writes
.npmrcwith npm registry
Note
The CLI updates project files in the current working directory.
Run it from the root of the project you want to configure.
- Node.js 18+
- A JavaScript/TypeScript project with
package.json