Skip to main content

AI developer agent for clean commits, docs, changelogs, and GitHub progress.

Project description

GitGrow

Build daily. Commit cleanly. Grow visibly.

GitGrow is a Python-first AI developer CLI agent that converts real coding work into clean commits, updated documentation, changelogs, dev logs, and meaningful GitHub activity.

Status: v0.1.0-alpha — Python CLI MVP


Why GitGrow?

Most developers do real work but lose track of it. Commit messages are vague, documentation falls behind, and progress feels invisible. GitGrow fixes this by sitting between your editor and Git — scanning what changed, generating professional commit messages, keeping docs in sync, and creating daily progress records.

This is not a fake activity bot. GitGrow only commits real changes you approve.


Installation

pip install gitgrow

Requirements:

  • Python 3.10 or higher
  • Git
  • Optional: GitHub CLI for GitHub authentication
  • Optional: OpenAI API key for AI-powered commit messages (fallback works without it)

Quick Start

cd my-project
gitgrow init
gitgrow auth github
gitgrow scan
gitgrow commit

Commands

Command Description
gitgrow init Initialize GitGrow inside any git repository
gitgrow auth github Connect to GitHub using the GitHub CLI
gitgrow scan Scan current changes and classify their impact
gitgrow commit Generate a commit message, preview it, and commit
gitgrow docs Sync README, CHANGELOG, and docs with changes
gitgrow daily Create a dated daily progress devlog
gitgrow sync Run docs and daily together

Example Workflow

# One-time setup
cd my-project
gitgrow init
gitgrow auth github

# Daily workflow
# ... make some code changes ...
gitgrow scan        # see what changed and how it's classified
gitgrow commit      # generate → preview → approve → commit
gitgrow daily       # create today's progress log

What gitgrow commit does

Scan git diff
    ↓
Classify change type (feat / fix / docs / test / refactor / ...)
    ↓
Run safety checks (tests, linters, secret scan)
    ↓
Generate commit message (AI or deterministic fallback)
    ↓
Show preview for review
    ↓
Confirm → stage → commit
    ↓
Optional push

Commit Messages

GitGrow generates Conventional Commit style messages:

feat(auth): add JWT authentication flow
fix(api): handle missing token errors
docs(readme): update setup instructions
test(auth): add login validation tests

Messages are always shown for review before commit. You can edit or cancel at any point.


AI and Fallback Mode

GitGrow works in two modes:

AI mode (requires OPENAI_API_KEY):

export OPENAI_API_KEY=sk-...
gitgrow commit

Uses GPT-4o-mini to generate context-aware commit messages, doc updates, changelog entries, and devlogs.

Fallback mode (no API key needed):

gitgrow commit  # works without OPENAI_API_KEY

Uses deterministic, rule-based generation from the diff. Always produces valid Conventional Commit messages. No API calls, no network required.


DocSync

When GitGrow detects significant changes (new features, API routes, env vars, dependencies), gitgrow docs updates your documentation safely using controlled blocks:

<!-- GITGROW:FEATURES:START -->
(GitGrow updates only this section)
<!-- GITGROW:FEATURES:END -->

<!-- GITGROW:SETUP:START -->
<!-- GITGROW:SETUP:END -->

<!-- GITGROW:API:START -->
<!-- GITGROW:API:END -->

Content outside these blocks is never touched unless you use --no-safe-only.


Safety Principles

  • Nothing commits without your approval. Every commit requires explicit confirmation by default.
  • No secrets committed. GitGrow scans diffs for API keys, tokens, and credentials and blocks them.
  • No empty commits. Blocked at the pre-commit stage.
  • No token storage. GitHub authentication uses the GitHub CLI — no raw tokens are saved anywhere.
  • Tests run first. Configure check commands in .gitgrow/config.yml and they run before every commit.
  • You can always skip checks with gitgrow commit --skip-checks but you will be warned.

GitHub Authentication

GitGrow uses the GitHub CLI for MVP authentication:

gitgrow auth github

This runs gh auth login if needed, reads your username, and stores only connection metadata (no tokens) in .gitgrow/config.yml.


Configuration

After gitgrow init, a config file is created at .gitgrow/config.yml:

project:
  name: my-project
  type: python

git:
  remote: origin
  default_branch: main
  auto_push: false

checks:
  enabled: true
  before_commit:
    - pytest
    - ruff check .

safety:
  require_confirmation: true
  block_secrets: true
  allow_empty_commits: false

ai:
  enabled: true
  provider: openai
  model: gpt-4o-mini

DevLog

gitgrow daily creates a dated progress log at devlog/YYYY/MM/YYYY-MM-DD.md:

# Progress Log - 2025-01-15

## Today's Momentum
Implemented JWT authentication and added test coverage for login flow.

## What Changed
- src/auth/login.py
- tests/test_auth.py

## What I Learned
JWT expiry handling needs to account for clock skew.

## Next Small Step
Add refresh token support.

Files Created by gitgrow init

gitgrow.md              # human-readable project instructions for GitGrow
.gitgrow/config.yml     # machine config (YAML)
.gitgrowignore          # files GitGrow won't scan
devlog/                 # dated progress logs

Current Status

v0.1.0-alpha — Python CLI MVP

This is the first alpha release. The local CLI workflow is fully functional. The following are not yet implemented:

  • GitHub App (planned for Phase 10)
  • npm wrapper (planned for later)
  • Hosted dashboard or team mode
  • PyPI distribution (TestPyPI verification in progress)

Roadmap

Phase Status Description
Phase 0 Done Product definition
Phase 1 Done Python CLI foundation
Phase 2 Done gitgrow init
Phase 3 Done gitgrow auth github
Phase 4 Done Project scanner
Phase 5 Done Smart commit writer
Phase 6 Done DocSync
Phase 7 Done Safety checks
Phase 8 Done DevLog
Phase 9 Done Git executor
Phase 10 Planned GitHub App
Phase 11 In progress PyPI release
Phase 12 Planned Public launch

Contributing

Issues and pull requests are welcome. See docs/security.md for security notes.


License

MIT

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

gitgrow-0.1.0a1.tar.gz (48.0 kB view details)

Uploaded Source

Built Distribution

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

gitgrow-0.1.0a1-py3-none-any.whl (27.5 kB view details)

Uploaded Python 3

File details

Details for the file gitgrow-0.1.0a1.tar.gz.

File metadata

  • Download URL: gitgrow-0.1.0a1.tar.gz
  • Upload date:
  • Size: 48.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for gitgrow-0.1.0a1.tar.gz
Algorithm Hash digest
SHA256 ce8acce2bbd459ec6628d3fc55c402708f50b72c970945c68b5d95b6d02bce4b
MD5 f5b4e5f15c538201bcd92fbe802ec2e5
BLAKE2b-256 c9f4f822b113a50e500f147273dc7c7d26b7520a9b1f812c4ba29bff0a77b1e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for gitgrow-0.1.0a1.tar.gz:

Publisher: release.yml on riteshhh2024/gitgrow

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gitgrow-0.1.0a1-py3-none-any.whl.

File metadata

  • Download URL: gitgrow-0.1.0a1-py3-none-any.whl
  • Upload date:
  • Size: 27.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for gitgrow-0.1.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 b5b689acf07352d677a6e17a3b8e193b56d6bc7bab987a70ba1460677a90fe25
MD5 35920b80ac27b68523e66d92b30689ef
BLAKE2b-256 cbeca3679cfa42c7f8b1545b0ec81c71f17763fbaae16014db1d078ef8ce6800

See more details on using hashes here.

Provenance

The following attestation bundles were made for gitgrow-0.1.0a1-py3-none-any.whl:

Publisher: release.yml on riteshhh2024/gitgrow

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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