AI-powered Git assistant. Sync your code with intent.
Project description
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.
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 synqit-0.2.0.tar.gz.
File metadata
- Download URL: synqit-0.2.0.tar.gz
- Upload date:
- Size: 13.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
72f8da445e4a0a676f51dd51ccb4bca33ab00e77a73bb8f722993d174e5c49c7
|
|
| MD5 |
39fa35a123249e31acc05b5ae1e1fe67
|
|
| BLAKE2b-256 |
a6234bd9ceb93dbc2f3704e5f7ab17716027e143d75091ea45de215909ae3feb
|
File details
Details for the file synqit-0.2.0-py3-none-any.whl.
File metadata
- Download URL: synqit-0.2.0-py3-none-any.whl
- Upload date:
- Size: 14.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f005964938eb0204cec33ac421db4efcc60580eeb01bd05ab5743ecab33f1ad5
|
|
| MD5 |
dafe401db08ac0462cde83a32284476f
|
|
| BLAKE2b-256 |
3ee8d45e0329c05f03a62628532e1ecbaa4db85c7cdb6c4708a95c795cd9b948
|