Skip to main content

AI-native Git & Bitbucket assistant — your terminal teammate.

Project description

swij

Your AI-native terminal teammate for Git & Bitbucket.

swij is a terminal-first AI agent that eliminates workflow friction — no more memorizing git commands, copy-pasting errors into ChatGPT, or switching to browser UIs.

Usage

swij "create a branch from develop called fix-payment-retry"
swij "what did I change?"
swij "commit only src/auth.py with message 'fix token validation'"
swij "push my changes"
swij "show me the last 5 commits"

Installation

Prerequisites

Setup

# Clone the repo
git clone <repo-url>
cd swij

# Install dependencies
uv sync

# Configure your API key
cp .env.example .env
# Edit .env and add your GEMINI_API_KEY

# Run it
uv run swij "show git status"

Install globally (once packaged)

uv tool install swij

Architecture

swij uses a Layered Capability Architecture:

Layer 3 — Controlled Freeform (escape hatch for power users)
Layer 2 — AI Planner (LLM chains multiple actions for complex intents)
Layer 1 — Safe Deterministic Tools (atomic git operations)

The user types natural language → Gemini parses it into a structured JSON action plan → validated pre-checks run → the right tool executes → Gemini synthesizes the result back into natural language.

Errors are never shown raw. Every stderr output is fed back to Gemini, which explains what went wrong and offers options.

Supported Actions

Safe (immediate execution): git status, git log, git diff, list branches

Standard (with pre-checks): checkout, switch, fetch, pull, add, commit, push, stash

Destructive (requires confirmation): reset, merge, branch delete

License

MIT

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

swij-0.1.0.tar.gz (52.3 kB view details)

Uploaded Source

Built Distribution

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

swij-0.1.0-py3-none-any.whl (37.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: swij-0.1.0.tar.gz
  • Upload date:
  • Size: 52.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for swij-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ca10485b6a7487a52637eb2ed1745997449c9487cdb7f5b4b577becc683770fb
MD5 0bd6221b641989180e276e68ad1eeea8
BLAKE2b-256 b832832a5b8d651483adca15de3fde1fc2dfee93a00a52db5f3f1af54cea3c3a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: swij-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 37.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for swij-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 457dea8fbcaa1208318c39cacacbb2b9a0659da90e52a333ab5bc85f1be82615
MD5 00b9f3a31f2b4e4497f9348417d92763
BLAKE2b-256 dda7c8cebff49122661ef99493b015aa848a1efc3c6534f717c2511a9af1d2f4

See more details on using hashes here.

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