Skip to main content

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.

PyPI Python License: MIT


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_KEY
  • ANTHROPIC_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

  1. Read — Synqit reads your staged diff (git diff --cached) or commit log
  2. Understand — The diff + your intent is sent to Claude AI
  3. Generate — Claude returns a structured Conventional Commit message
  4. Apply — Optionally commits directly with --apply

Requirements

  • Python 3.10+
  • Git repository
  • ANTHROPIC_API_KEY set in your environment

Tech Stack


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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

synqit-0.2.0.tar.gz (13.9 kB view details)

Uploaded Source

Built Distribution

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

synqit-0.2.0-py3-none-any.whl (14.7 kB view details)

Uploaded Python 3

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

Hashes for synqit-0.2.0.tar.gz
Algorithm Hash digest
SHA256 72f8da445e4a0a676f51dd51ccb4bca33ab00e77a73bb8f722993d174e5c49c7
MD5 39fa35a123249e31acc05b5ae1e1fe67
BLAKE2b-256 a6234bd9ceb93dbc2f3704e5f7ab17716027e143d75091ea45de215909ae3feb

See more details on using hashes here.

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

Hashes for synqit-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f005964938eb0204cec33ac421db4efcc60580eeb01bd05ab5743ecab33f1ad5
MD5 dafe401db08ac0462cde83a32284476f
BLAKE2b-256 3ee8d45e0329c05f03a62628532e1ecbaa4db85c7cdb6c4708a95c795cd9b948

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