Skip to main content

Lumberjack

Git worktree manager for parallel coding agent development.

Install

uv tool install .
# or
uv pip install -e .

Quick Start

cd your-repo
lj init --defaults          # create .lumberjack.toml
lj new auth-refactor        # create worktree + branch
lj new --type fix           # auto-named fix worktree
lj ls                       # list all worktrees
cd $(lj cd auth-refactor)   # jump into worktree
lj rm auth-refactor         # clean up

Commands

Command Description
lj init Interactive setup, write .lumberjack.toml
lj new [name] Create worktree (aliases: create)
lj ls List worktrees (aliases: list). --json, --paths
lj rm <name> Remove worktree (aliases: remove). --force, --keep-branch, --all
lj cd <name> Print worktree path. --shell for subshell
lj status Git status across all worktrees
lj sync [name] Rebase/merge on base branch. --all, --merge
lj agent [name] Launch coding agent in worktree. --new
lj run-init [name] Re-run dependency install
lj env sync [name] Re-copy .env files from main repo
lj env ls List discovered .env files
lj env diff [name] Show .env differences
lj pr [name] Create PR via gh CLI. --draft
lj clean Prune stale worktrees. --dry-run
lj config show Print resolved config
lj config set <k> <v> Set config value
lj config edit Open config in $EDITOR
lj shell-init Output shell integration script

Config

.lumberjack.toml in repo root:

[lumberjack]
worktree_dir = ".lj"
branch_template = "{user}/{type}/{name}"
user = "nc9"
default_type = "feature"
base_branch = "main"
naming_scheme = "minerals"  # minerals | cities | compound
default_agent = "claude"   # claude | codex | opencode | aider

[lumberjack.init]
auto_init = true
# init_command = "bun run init"
# post_init = ["echo done"]

[lumberjack.env]
auto_copy = true
patterns = [".env", ".env.*", "!.env.example", "!.env.template"]
scan_depth = 3

[lumberjack.submodules]
auto_init = true
recursive = true

[lumberjack.agent]
auto_launch = false
inject_context = true

Shell Integration

# Add to .zshrc / .bashrc:
eval "$(lj shell-init)"

# Then use:
ljcd obsidian       # cd into worktree
lj-prompt           # worktree name for PS1

Development

uv sync
make test     # pytest
make lint     # ruff + basedpyright
make fmt      # ruff format
make check    # all of the above

Metadata

Release files for lumberjack-cli 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lumberjack-cli 0.1.0
File Size Uploaded
lumberjack_cli-0.1.0.tar.gz 33.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for lumberjack-cli 0.1.0
File Interpreter ABI Platform
lumberjack_cli-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 56.5 kB

Release files / lumberjack_cli-0.1.0.tar.gz

Download URL lumberjack_cli-0.1.0.tar.gz
Size 33.0 kB
Tags Source
SHA-256 checksum
How to use checksums
24fc70abcc0cb47e16616f716dfed6bac339ec5f7798ea5baeac746043ee6ae3
BLAKE2b-256 checksum
How to use checksums
5d477139235ca4b8c2515414d95963a8512a09f824493250d8a2cc82d49900d1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.0

Release files / lumberjack_cli-0.1.0-py3-none-any.whl

Download URL lumberjack_cli-0.1.0-py3-none-any.whl
Size 23.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
248216285fbce19d63479bffe4d02589d99fb4653679f87c6f94e634bfdafdfc
BLAKE2b-256 checksum
How to use checksums
ab48dc134b0215a8e6e22482dd721a970332a810ada02d7980405d419dce8f77
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.0

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page