Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Integrations

Auto discover

cj --auto imports common task definitions from package.json, deno.json, Makefile, and argument-free Justfile recipes. It creates cjtasks when no base taskfile exists, otherwise it appends missing tasks to cjtasks.

package.json scripts are considered first, followed by Deno, Make, and Just tasks. Each wrapper takes the shortest available normalized name. Name or directory conflicts add a number without a separator: build, build2, build3. Existing CJ tasks are never overwritten. This command is not idempotent; you probably don’t want to run it more than once as it will create new tasks each time it runs.

For package.json scripts, a single colon in a script name creates a nested task. For example, build:site becomes build:site under a build group. Script names with more than one colon stay flat and have their colons removed from the imported task name.

See CLI Reference.

Python virtual environments

CJTaskrunner adjusts PATH when it finds an active or project-local Python virtual environment. Detection uses VIRTUAL_ENV, then CJ_VENV, then a .venv directory beside the taskfile.

Tasks run with the Python executable from inside the virtual environment.

setup:
  python -m venv .venv
  python -m pip install -e .

test:
  python -m pytest

See the Python virtual environment example.

Node and Vite

Node package scripts remain the source of truth. CJTaskrunner can group them with setup or validation steps:

setup:
  npm install

dev:
  @task setup
  npm run dev

check:
  npm run build

See the Vite example.

Rust and Cargo

Cargo commands can be exposed alongside the rest of a repository’s workflows:

check:
  cargo fmt --check
  cargo test --locked
  cargo clippy --all-targets --all-features --locked -- -D warnings

See the Rust CLI example.

Editors

The Visual Studio Code extension can be found in the VSCode Extensions panel or downloaded here

See Ecosystem.