Skip to main content

AI-powered git commit and PR creation tool

Project description

parcky-cli

CLI for AI‑assisted git commits and pull requests with a clean architecture and deterministic context handling.

What it is

parcky-cli helps you generate commit messages, group commits, and draft PRs using AI providers, while keeping control of diffs, truncation, and prompts.

Key Features

  • Smart commit message generation from staged diffs.
  • Deterministic multi‑commit grouping (smart-commit-all) with dry‑run and explain mode.
  • PR title/body generation with structured context and safe truncation.
  • Interactive provider and model selection.
  • Config profiles and local/global .env configuration.
  • GitHub integration via gh for PRs and repo creation.

Installation

Recommended (uv):

Not cloning

uv tool install parcky-cli

Cloning repo:

uv sync

Editable install (for development):

uv pip install -e .

Optional TUI extras (for prompt_toolkit UI):

uv sync --group dev

Quick Start

Set API key (global):

parcky-cli setup

Select provider and model:

parcky-cli config --provider
parcky-cli config --select

Generate a commit message:

parcky-cli smart-commit

Group and commit all changes:

parcky-cli smart-commit-all --dry-run
parcky-cli smart-commit-all --yes

Create a PR description:

parcky-cli create-pr

Create a GitHub repo (requires gh):

parcky-cli create-repo my-repo --visibility private

Configuration (Basics)

Config is loaded with precedence:

  1. os.environ
  2. Local .env
  3. Global ~/.config/ai-cli/.env
  4. Defaults

Key settings:

  • AI_PROVIDER (or legacy AI_HOST)
  • AI_MODEL
  • AI_API_KEY
  • AI_BASE_URL
  • AI_MAX_CONTEXT_CHARS
  • GIT_MAX_DIFF_SIZE

Interactive config:

parcky-cli config
parcky-cli config --provider
parcky-cli config --select

GitHub Integration

Commands that interact with GitHub (create-pr, create-repo) use the GitHub CLI.

Make sure gh is installed and authenticated:

gh auth login

CI and Quality

CI runs on GitHub Actions for PRs and pushes to master:

  • uv sync --group dev --frozen
  • uv build
  • uv run task lint
  • uv run task test

Documentation

Advanced docs live in docs/:

  • docs/architecture.md
  • docs/cli.md
  • docs/configuration.md
  • docs/pipelines.md
  • docs/development.md

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

parcky_cli-2026.6.0a5.tar.gz (5.8 MB view details)

Uploaded Source

Built Distribution

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

parcky_cli-2026.6.0a5-py3-none-any.whl (85.6 kB view details)

Uploaded Python 3

File details

Details for the file parcky_cli-2026.6.0a5.tar.gz.

File metadata

  • Download URL: parcky_cli-2026.6.0a5.tar.gz
  • Upload date:
  • Size: 5.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.9 {"installer":{"name":"uv","version":"0.9.9"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for parcky_cli-2026.6.0a5.tar.gz
Algorithm Hash digest
SHA256 61ce105e64b17a82d0bb03ead999b8858bc3b5dce571f1e0cbd9bd54ae817cc8
MD5 ed88b22b7764f7477008949af58e3bd2
BLAKE2b-256 aa89a28bb0be6c027551e4209d801c0f23c44c86f824be065817e6f0af254524

See more details on using hashes here.

File details

Details for the file parcky_cli-2026.6.0a5-py3-none-any.whl.

File metadata

  • Download URL: parcky_cli-2026.6.0a5-py3-none-any.whl
  • Upload date:
  • Size: 85.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.9 {"installer":{"name":"uv","version":"0.9.9"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for parcky_cli-2026.6.0a5-py3-none-any.whl
Algorithm Hash digest
SHA256 c897e964f98f66e3efd79c61ee28f04a615ca95ebfa9f2ab9fbba771f6b5bc42
MD5 f9c8076f5ec9293e433bd099ead415cc
BLAKE2b-256 0f6e304e8f2119b92de6367df57fc10861ecf1853fc41df6c8364c83a487baa2

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