Stop memorizing different task runners for each language. ds runs dev scripts from your project's existing configuration file—whether it's package.json, pyproject.toml, Cargo.toml, or composer.json:
uv tool install ds-run # or: pip install ds-run
ds --list # list the tasks
ds clean lint test # run multiple tasks
ds test -vv # pass arguments to tasksAdd scripts to your pyproject.toml:
[tool.ds.scripts]
test = "pytest src test"
lint = ["ruff check .", "ruff format ."]
dev = ["lint", "test"]Run them:
ds dev # run lint then test
ds test -v # pass arguments
ds +lint test # suppress lint errors, continue to test- Works with existing projects — reads
package.json,pyproject.toml,Cargo.toml,composer.json, orMakefile - Zero migration — no new config file needed
- Multi-language — same command for Python, Node, Rust, PHP projects
- Single binary — Cosmopolitan build runs on Windows, macOS, Linux
uv tool install ds-run
# or
pip install ds-runOr download the portable binary.