Simple and opinionated CLI tool which changes github contexts - Accounts and per-account tokens (permissions). It currently supports Github and Gitlab.
You can install the latest pre-built binary from releases.
Build using Docker:
docker build -t kalamarnica .Build using Cargo:
Note
MSRV is 1.88.0
Note
kalamarnica needs zlib for dynamic linker.
cargo install kalamarnicaBuild from source repository:
git clone https://github.com/zaryo/kalamarnica.git
cd kalamarnica
cargo build --release# Create context using current session information
kalamarnica create --name personal --vcs github --from-current
# Create context providing specific information
kalamarnica create --name work --vcs github --hostname github.com --user myuser --transport https
# Switch context
kalamarnica switch personal --vcs github
# Display detailed information about all contexts
kalamarnica auth-status
List all saved contexts with their configuration. The active context is marked with *.
Show the active context and any repository-bound context.
Creates a new context.
| Flag | Description |
|---|---|
--name |
Name for the new context |
--vcs |
Versioning code system platform: github or gitlab |
--from-current |
Detect hostname and user from the current VCS session |
--hostname |
VCS hostname (e.g., github.com) |
--user |
VCS username |
--transport |
Git transport protocol: ssh (default) or https |
Either --from-current or both --hostname and --user are required.
Switches to a context. Applies the stored token and verifies authentication.
Stores a per-context token.
Deletes a context and its stored token.
Binds the current repository to a context. Creates a .vcs_context file in the repository root.
Removes the repository context binding.
Applies the repository-bound context (switch to the context specified in .vcs_context).
Shows authentication status for all contexts, including host, user, transport, token, and auth verification by versioning code system.