Personal developer CLI for common workflows.
go install github.com/vekio/vek/cmd/vek@latest
vek --versionThe version comes from the module information embedded by Go. It identifies the
installed binary and does not query GitHub for newer releases. Builds without
a module version report dev.
For a local release build, you can supply a version explicitly:
go build -ldflags="-X github.com/vekio/vek/internal/cli/vek.Version=v0.1.3" -o bin/vek ./cmd/vekBuild .gitignore files from selected templates in GitHub’s official
github/gitignore collection.
Supported templates include Go, Node.js, Python, and Terraform/OpenTofu.
vek gitignore go
vek gitignore go node
vek gitignore terraform --print
vek gitignore listCreate, inspect, list, and remove managed host entries in ~/.ssh/config.
Existing unmanaged SSH configuration is left untouched.
vek ssh-alias add --alias prod --hostname example.com --user deploy
vek ssh-alias list
vek ssh-alias show prod
vek ssh-alias remove prodLoad the Fish integration in ~/.config/fish/config.fish to move into a worktree
after cloning, starting a task, or checking out an existing branch:
vek bonsai init fish | sourceThen use vek bonsai clone … to enter the source repository’s default branch
worktree, or vek bonsai start feature/42 to enter a new task worktree.
The integration defines a shell function named vek that changes directories
after successful Bonsai commands. You can also use the shorthand bonsai ….
Use vek bonsai checkout feature/42 to enter its existing worktree or create a
new feature-42 worktree. Existing worktrees keep their pending changes,
including staged changes. It uses an existing local branch without fetching,
preserving its commits and upstream.
If no local branch exists, it fetches origin and creates a local branch tracking
origin/feature/42. Local branches without an upstream track a matching cached
origin branch when available. Pass
--bare-only to clone without a worktree and enter the clone root. After
confirmation, vek bonsai clean returns to main or the clone root. Task commands
currently use origin/main as their base.
From a task worktree, vek bonsai submit pushes its committed branch to origin so
you can open a pull request manually. After the squash merge, vek bonsai clean
confirms with you before removing the local worktree and branch.
For Bash, load its integration in ~/.bashrc:
source <(vek bonsai init bash)
vek bonsai clone git@example.com:team/project.git
vek bonsai start feature/42
vek bonsai checkout fix/57The project uses mise for tool versions and just for development commands.
mise install
just check
just build