Synqit — Sync your code with intent.
AI-powered Git assistant in your terminal. Instant commit messages. Smart PR descriptions.
What is Synqit?
Synqit reads your git diff, understands what changed, and writes a clean conventional commit message in under 3 seconds. You focus on code. Synqit writes the message.
Install
pip install synqit
Setup
Synqit works out-of-the-box with free models via Hugging Face. Run the interactive setup to choose your AI provider and set your API keys:
synqit setup
Alternatively, set your keys manually in your environment or a .env file:
HUGGINGFACE_API_KEY(Free default)OPENAI_API_KEYANTHROPIC_API_KEY
Usage
Generate a commit message
git add .
synqit commit
Add your intent (context-aware)
synqit commit -c "fix login timeout bug"
Auto-commit (no copy-paste)
synqit commit --apply
Combine everything
synqit commit -c "refactor user auth module" --apply
Generate a PR description
synqit pr
Against a different base branch:
synqit pr --base develop
Higher quality output
If you have configured OpenAI or Anthropic, you can request higher quality models for complex changes:
synqit commit --quality
synqit pr --quality
Configuration
View or modify your configuration directly:
synqit config
synqit config ai_provider openai
Output example
╭─ ✦ Commit Message ─────────────────────────────────────────╮
│ │
│ fix(auth): resolve login timeout caused by session expiry │
│ │
│ - Improve session token validation on every request │
│ - Handle edge case where token expiry is not checked │
│ - Add fallback to refresh token when session expires │
│ │
╰──────────────────────────────────────────────────────────────╯
Options
synqit commit
| Option | Short | Description |
|---|---|---|
--context TEXT |
-c |
Developer intent — WHY the change was made |
--apply |
-a |
Auto-run git commit -m after generation |
--quality |
-q |
Use premium models (GPT-4o or Claude Sonnet) |
synqit pr
| Option | Short | Description |
|---|---|---|
--base TEXT |
-b |
Base branch to compare (default: main) |
--quality |
-q |
Use premium models (GPT-4o or Claude Sonnet) |
How it works
- Read — Synqit reads your staged diff (
git diff --cached) or commit log - Understand — The diff + your intent is sent to Claude AI
- Generate — Claude returns a structured Conventional Commit message
- Apply — Optionally commits directly with
--apply
Requirements
- Python 3.10+
- Git repository
ANTHROPIC_API_KEYset in your environment
Tech Stack
- Typer — CLI framework
- GitPython — Git interaction
- Hugging Face Hub — Default AI Engine
- OpenAI & Anthropic SDKs
- Rich — Terminal formatting
Development
git clone https://github.com/pranavkp71/synqit
cd synqit
pip install -e .
License
MIT — built by Pranav KP
Ship fast. Solve real pain. Improve through usage.
Metadata
Release files for synqit 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| synqit-0.2.0.tar.gz | 13.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| synqit-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 28.6 kB
Release files / synqit-0.2.0.tar.gz
| Download URL | synqit-0.2.0.tar.gz |
|---|---|
| Size | 13.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
72f8da445e4a0a676f51dd51ccb4bca33ab00e77a73bb8f722993d174e5c49c7
|
|
BLAKE2b-256 checksum How to use checksums |
a6234bd9ceb93dbc2f3704e5f7ab17716027e143d75091ea45de215909ae3feb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / synqit-0.2.0-py3-none-any.whl
| Download URL | synqit-0.2.0-py3-none-any.whl |
|---|---|
| Size | 14.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f005964938eb0204cec33ac421db4efcc60580eeb01bd05ab5743ecab33f1ad5
|
|
BLAKE2b-256 checksum How to use checksums |
3ee8d45e0329c05f03a62628532e1ecbaa4db85c7cdb6c4708a95c795cd9b948
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|