Skip to content

blntrsz/skipper

Repository files navigation

Skipper logo

Skipper

Local repo workspace CLI for Git worktrees + tmux.

Skipper is a local-first CLI for working across GitHub repositories and branch workspaces without juggling paths by hand. It clones repositories into a shared local root, creates per-branch Git worktrees, opens or switches into matching tmux sessions, and runs shell commands in the right checkout.

By default, Skipper keeps:

  • repositories in ~/.local/share/github/<repo>
  • non-main worktrees in ~/.local/share/skipper/worktree/<repo>/<repo>.<branch>

If you omit --repository or --branch in an interactive terminal, Skipper lets you pick them.

Requirements

  • bun
  • git
  • gh
  • opencode
  • tmux

Install

bun add -g @skippercorp/skipper-cli

This installs the sk command.

Or run without installing:

bunx @skippercorp/skipper-cli --help

Getting started

# Clone into ~/.local/share/github/<repo>
sk clone git@github.com:owner/repo.git

# Create a workspace for a feature branch
sk workspace create --repository repo --branch feature/my-change

# Jump into a tmux session for that workspace
sk workspace attach --repository repo --branch feature/my-change

# Run a shell command in that same workspace
sk workspace run --repository repo --branch feature/my-change --command "bun test"

# Run an OpenCode prompt in that workspace
sk workspace prompt --repository repo --branch feature/my-change "Explain this codebase"

main is treated specially: it uses the repository checkout directly, while other branches use dedicated worktrees.

Before first workspace prompt use, configure OpenCode auth with opencode auth login.

Development

bun install
bun run cli -- --help
bun run check:fix
bun test

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors