Skip to main content

A collection of tools for developers

Project description

kitbag

A collection of developer utilities wired into a single CLI.

Install

Install it globally as a uv tool so kitbag is on your PATH and works from any directory:

uv tool install .            # from a clone, or `uv tool install <git-url>`
kitbag --help

Or run it ad-hoc without installing:

uvx --from . kitbag --help

For local development, uv sync + uv run kitbag ... works too.

Data directory

All app data lives under a single root, ~/.kitbag/ (override with the KITBAG_HOME environment variable):

~/.kitbag/
├── .env                 # your config (see below)
└── temp-clone/          # everything the `temp-clone` command writes
    ├── clones/          # throwaway clones
    ├── logs/            # cleanup logs
    └── launch-agents/   # scheduled-cleanup plists

Configuration

Because the tool is meant to run from anywhere, put your standing config in the user-level file (create the directory if needed):

mkdir -p ~/.kitbag
cp .env.example ~/.kitbag/.env   # then edit

Resolution order (highest priority first): environment variables → a .env in the current directory (per-project override) → ~/.kitbag/.env (stable base).

Every default lives in Settings (config.py) and is overridable by the matching upper-case env var. MINIMAX_API_KEY is the only one you normally need to set; the rest have sensible defaults.

Variable Used by Default Purpose
MINIMAX_API_KEY ai-commit MiniMax API key (required)
MINIMAX_MODEL ai-commit MiniMax-M2.7 Model used to generate messages
MINIMAX_API_BASE ai-commit https://api.minimax.io/v1 API base URL
MINIMAX_TOKEN_BUDGET ai-commit 100000 Max diff tokens sent to the model
MINIMAX_MAX_OUTPUT_TOKENS ai-commit 2000 Max tokens in the generated message
MINIMAX_REASONING_EFFORT ai-commit minimal none / minimal / low / medium / high
MINIMAX_API_TIMEOUT ai-commit 120 Request timeout (seconds)
MINIMAX_HTTP_RETRIES ai-commit 4 Retries on 429/5xx
CLONE_OPEN_VSCODE temp-clone true Open the clone in VS Code by default
CLONE_CLEANUP_HOURS temp-clone 12 Auto-delete the temp clone after N hours
CLONES_DIR temp-clone ~/.kitbag/temp-clone/clones Where temp clones are placed
LOGS_DIR temp-clone ~/.kitbag/temp-clone/logs Cleanup log location
LAUNCH_AGENTS_DIR temp-clone ~/.kitbag/temp-clone/launch-agents Where cleanup plists are written
KITBAG_HOME all ~/.kitbag Root for all app data (affects the above)

Commands

Command Does
ai-commit Generate an AI commit message for staged changes and create the commit
temp-clone Clone a GitHub repo into a temp dir, open it in VS Code, auto-clean later

ai-commit — AI commit messages

Generates a Conventional Commits message for your staged changes via MiniMax, lets you review or revise it interactively, then creates the commit. Runs against whatever git repo you're currently in.

git add -p
uv run kitbag ai-commit

temp-clone — throwaway GitHub clones

Clones a repo into a temp directory, opens it in VS Code, and schedules automatic cleanup via macOS launchd. Requires the gh CLI (authenticated) and, for --open, the code CLI.

uv run kitbag temp-clone https://github.com/org/repo
uv run kitbag temp-clone https://github.com/org/repo --no-open --cleanup-hours 4

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kitbag-0.1.0.tar.gz (12.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kitbag-0.1.0-py3-none-any.whl (14.3 kB view details)

Uploaded Python 3

File details

Details for the file kitbag-0.1.0.tar.gz.

File metadata

  • Download URL: kitbag-0.1.0.tar.gz
  • Upload date:
  • Size: 12.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for kitbag-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1e29d6c0e6ab060fb2ced2070c96654e71a907ad5e1e52713ade7cab4937570c
MD5 a24adacb75360d5d2dd69a23721d1534
BLAKE2b-256 9eaaaabd3910a80777d390affed642fa3a5775c167ee0e6832ce4ace6d1c64b1

See more details on using hashes here.

Provenance

The following attestation bundles were made for kitbag-0.1.0.tar.gz:

Publisher: publish-to-pypi.yml on l0kifs/kitbag

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file kitbag-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: kitbag-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 14.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for kitbag-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a2017e18b0b1f573a5959b43d48232ca990c072764a2996bfae16b01257fcef0
MD5 e263fd339ff294f3049da52611d616db
BLAKE2b-256 1897b934fef8352f1d54dba6900bf911ad5fa7cb3e84e9b61e519a1b12ecddee

See more details on using hashes here.

Provenance

The following attestation bundles were made for kitbag-0.1.0-py3-none-any.whl:

Publisher: publish-to-pypi.yml on l0kifs/kitbag

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page