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
Richfor a premium terminal experience.
🚀 Installation
From PyPI (Coming Soon)
pip install git-scribe-cli
From Source
git clone https://github.com/akash1551/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:
- Readiness Check: Scans your staged changes for issues (missing tests, secrets).
- Generation: An LLM analyzes your diff and proposes a commit message.
- Review: You see the formatted message.
- Press
ato Accept. - Press
eto Edit. - Press
cto Cancel.
- Press
2. PR Description (scribe pr)
Ready to push? Generate a PR description based on your branch history:
scribe pr --main-branch master
What happens:
- Analysis: Reads all commits on your current branch that are ahead of
master(ormain). - Generation: Creates a Markdown-formatted PR description.
- Save: Options to save it to
PULL_REQUEST_TEMPLATE.mdor copy it.
🛠️ Development
To contribute or modify git-scribe:
- Clone the repo.
- Install dependencies:
pip install -e . - Run the tool:
python src/main.py commit
📄 License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file git_scribe_cli-0.1.2.tar.gz.
File metadata
- Download URL: git_scribe_cli-0.1.2.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
951cef13daffa96fc38c789392131421bc77361fce0fc906a78dbb6a8121651b
|
|
| MD5 |
6175fe4aac49a1d7ba82891b457f0b71
|
|
| BLAKE2b-256 |
f326fedc738f56cfb33ddf1fc571b2d8cfb5bcdd3f8ade908210f73939a2e25e
|
File details
Details for the file git_scribe_cli-0.1.2-py3-none-any.whl.
File metadata
- Download URL: git_scribe_cli-0.1.2-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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
42b28a9d428a5fe1b238287fea2e333890cfb3fbae1f5c54d45c3ba3b9f06506
|
|
| MD5 |
e84a861e220d643150a1b33f5c51eea3
|
|
| BLAKE2b-256 |
36882be2a3ea50566f8110af625be9141e7be2dc98d381ca683fadfbef7169ac
|