terris 1.0.2

A simple git worktree manager.
Documentation

terris

Crates.io Docs.rs CI License

A small, friendly Git worktree manager for everyday use.

What it does

  • Create new worktrees quickly (or jump to existing ones)
  • List existing worktrees
  • Remove worktrees safely
  • Print a worktree path for cd "$(terris <branch>)"
  • Simplify workflows with autonomous agents that work in the terminal in the same repository

Install

From crates.io:

cargo install terris

From source:

git clone https://github.com/mfornet/terris.git
cd terris
cargo install --path .

Usage

# Jump to a worktree. Create branch and worktree if missing.
cd "$(terris feature-a)"

# List worktrees
terris --list

# Delete a worktree
terris --delete feature-a

Shell completion

Generate a completion script and source it in your shell:

# Bash
terris --completions bash > /tmp/terris.bash
source /tmp/terris.bash

# Zsh
terris --completions zsh > /tmp/_terris
fpath=(/tmp $fpath)
autoload -U compinit && compinit

# Fish
terris --completions fish > /tmp/terris.fish
source /tmp/terris.fish

Install permanently (recommended):

# Bash (user-level)
mkdir -p ~/.local/share/bash-completion/completions
terris --completions bash > ~/.local/share/bash-completion/completions/terris

# Bash (system-wide)
sudo mkdir -p /etc/bash_completion.d
sudo terris --completions bash > /etc/bash_completion.d/terris

# Zsh
mkdir -p ~/.zsh/completions
terris --completions zsh > ~/.zsh/completions/_terris
fpath=(~/.zsh/completions $fpath)
autoload -U compinit && compinit

# Fish
mkdir -p ~/.config/fish/completions
terris --completions fish > ~/.config/fish/completions/terris.fish

How it works

  • terris <branch> creates the worktree if missing and prints the path every time.
  • If the branch exists, it is used directly.
  • If the branch does not exist, it is created from the current HEAD.
  • Default path is ~/.terris-worktrees/<repo-name>/<branch>-<random-key>.

Notes

  • Works from any directory inside a git repo.
  • The tool shells out to git, so git must be installed and available in PATH.

Name

The project is named after the Terris people, responsible for preserving the knowledge of the civilization.

License

MIT