Ecosystem Support
Supported languages and package managers, detection signals, and multi-ecosystem repos.
Supported Ecosystems
wt auto-detects the following ecosystems by scanning for marker files:
| Ecosystem | Package Managers | Detection Signal |
|---|---|---|
| Node.js | bun, pnpm, yarn, npm | package.json + lockfile |
| Python | uv, poetry, pipenv, pip | Pipfile, pyproject.toml, requirements.txt |
| Rust | cargo | Cargo.toml |
| Go | go | go.mod |
Node.js Detection
Lockfile priority (highest wins):
bun.lockb→ bunpnpm-lock.yaml→ pnpmyarn.lock→ yarnpackage-lock.json→ npm- (none found) → bun (default)
Override in .worktreerc:
Python Detection
| Signal | Package Manager |
|---|---|
Pipfile | pipenv |
pyproject.toml with [tool.poetry] | poetry |
pyproject.toml with [tool.uv] or [project] | uv |
requirements.txt only | uv |
Override in .worktreerc:
Multi-Ecosystem Repos
Repos with multiple ecosystems (e.g. a Node.js frontend + Python backend) are handled correctly. wt runs the appropriate installer for each detected ecosystem sequentially.
Overriding Detection
If auto-detection is unreliable for your setup, pin the ecosystems explicitly in .worktreerc:
When types is set, wt skips file scanning entirely and uses exactly these ecosystems.
Custom Install Commands
For monorepos or non-standard setups, bypass ecosystem detection entirely with custom commands:
Custom commands run from the worktree root in the listed order.