Skip to main content

Intelligence Layer between local code changes and remote repository. Automates commit messages and PR descriptions using LLMs.

Project description

🖋️ git-scribe-cli

The Intelligence Layer for your Git workflow.

git-scribe-cli automates the narrative of your code. It turns your changes into meaningful, conventional commit messages and detailed Pull Request descriptions using the power of LLMs (OpenAI GPT-4o). It also acts as a "Team Lead" by performing pre-flight readiness checks before you commit.


✨ Features

  • 🤖 AI-Generated Commits: content-aware, semantic messages (Conventional Commits).
  • 📝 One-Command PRs: Generates full PR descriptions with summaries, type of change, and checklists.
  • 🛡️ Review Readiness Checks:
    • ⚠️ Warns if you modify logic without adding tests.
    • 🔒 Scans for potential secrets/keys in your code.
    • 🐍 Checks specific files for missing migrations (e.g., Django models).
  • ✨ Beautiful TUI: Built with Rich for a premium terminal experience.

🚀 Installation

From PyPI (Coming Soon)

pip install git-scribe-cli

From Source

git clone https://github.com/yourusername/git-scribe-cli.git
cd git-scribe-cli
pip install .

⚙️ Configuration

git-scribe-cli requires an OpenAI API Key to function.

export OPENAI_API_KEY="sk-..."

Add this to your .bashrc or .zshrc to make it permanent.


📖 Usage

1. Smart Commit (scribe commit)

Stage your changes and run:

scribe commit

What happens:

  1. Readiness Check: Scans your staged changes for issues (missing tests, secrets).
  2. Generation: An LLM analyzes your diff and proposes a commit message.
  3. Review: You see the formatted message.
    • Press a to Accept.
    • Press e to Edit.
    • Press c to Cancel.

2. PR Description (scribe pr)

Ready to push? Generate a PR description based on your branch history:

scribe pr --main-branch master

What happens:

  1. Analysis: Reads all commits on your current branch that are ahead of master (or main).
  2. Generation: Creates a Markdown-formatted PR description.
  3. Save: Options to save it to PULL_REQUEST_TEMPLATE.md or copy it.

🛠️ Development

To contribute or modify git-scribe:

  1. Clone the repo.
  2. Install dependencies: pip install -e .
  3. Run the tool: python src/main.py commit

📄 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

git_scribe_cli-0.1.1.tar.gz (8.1 kB view details)

Uploaded Source

Built Distribution

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

git_scribe_cli-0.1.1-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file git_scribe_cli-0.1.1.tar.gz.

File metadata

  • Download URL: git_scribe_cli-0.1.1.tar.gz
  • Upload date:
  • Size: 8.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for git_scribe_cli-0.1.1.tar.gz
Algorithm Hash digest
SHA256 1955689b9e099c2220047eafeaf310ddc94ca9ce5776a295146ebbbc4a1e85b1
MD5 fb6838a65184cf258d996d4107c8587a
BLAKE2b-256 bc5046fe2db6ecd250bcd9632d9718751adc880d8236d8d59b8029a33a50622c

See more details on using hashes here.

File details

Details for the file git_scribe_cli-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: git_scribe_cli-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 7.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for git_scribe_cli-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 145aab7267fe8df087b34a3af4c2f15906f1c202f284b2df058452591f4b6a48
MD5 8ba93477c9b6c9e102c4cd8b738484b2
BLAKE2b-256 7406e514c2a59c96360fd06a6b70e9174282767d68487daf84f86b563f99d3b0

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