Skip to main content

Intelligent git workflow automation tool with AI-powered commit messages

Project description

CodeUp - Intelligent Git Workflow Automation

An intelligent git workflow automation tool that streamlines your development process with AI-powered commit messages and automated testing.

here-title

What is CodeUp?

CodeUp automates your entire git workflow in a single command:

  • Git Status Check - Verifies changes exist before proceeding
  • 🧹 Automatic Linting - Runs your ./lint script if present
  • 🧪 Automatic Testing - Runs your ./test script if present
  • 📝 AI-Powered Commits - Generates contextual commit messages using OpenAI or Anthropic
  • 🔄 Smart Rebasing - Handles conflicts and keeps your branch up-to-date
  • 🚀 Safe Pushing - Pushes to remote with conflict detection

Quick Start

Installation

pip install codeup

Basic Usage

# Navigate to your git repository
cd your-project

# Run the complete workflow
codeup

# That's it! CodeUp will:
# 1. Check git status
# 2. Run linting (if ./lint exists)
# 3. Run tests (if ./test exists)
# 4. Stage all changes
# 5. Generate an AI commit message
# 6. Commit and push to remote

AI-Powered Commit Messages

CodeUp analyzes your git diff and generates meaningful commit messages following conventional commit format:

# Example generated messages:
feat(auth): add OAuth2 authentication system
fix(api): resolve null pointer exception in user endpoint
docs(readme): update installation instructions

Configuration

Setting Up API Keys

CodeUp supports both OpenAI and Anthropic for commit message generation:

# Set OpenAI API key (recommended)
codeup --set-key-openai sk-your-openai-key-here

# Or set Anthropic API key
codeup --set-key-anthropic sk-ant-your-anthropic-key-here

# Alternative: use environment variables
export OPENAI_API_KEY="sk-your-key-here"
export ANTHROPIC_API_KEY="sk-ant-your-key-here"

Keys are securely stored in your system keyring.

Command Line Options

# Skip AI and provide manual commit message
codeup -m "fix: resolve login bug"

# Skip linting and testing, just commit
codeup --just-ai-commit

# Non-interactive mode (perfect for CI/CD)
codeup --no-interactive

# Skip pushing to remote
codeup --no-push

# Skip automatic rebasing
codeup --no-rebase

# Disable auto-accept of AI commit messages
codeup --no-autoaccept

# Skip testing
codeup --no-test

# Skip linting
codeup --no-lint

# Verbose output
codeup --verbose

# Enable detailed logging
codeup --log

Features

🤖 Dual AI Provider Support

  • OpenAI GPT-3.5-turbo: Fast and reliable
  • Anthropic Claude: Automatic fallback if OpenAI fails
  • Analyzes git diffs to generate contextual commit messages

🔧 Development Tool Integration

  • Automatically detects and runs ./lint scripts
  • Automatically detects and runs ./test scripts
  • Supports UV project dependency resolution
  • Cross-platform support (Windows, macOS, Linux)

🛡️ Smart Git Operations

  • Safe rebase handling with conflict detection
  • Automatic staging of changes and untracked files
  • Interactive prompts for untracked files (when not in --no-interactive mode)
  • Push conflict resolution with automatic retries

🔐 Secure Credential Management

  • System keyring integration for API key storage
  • Multiple configuration sources (keyring → config file → environment)
  • No credentials stored in plaintext

Requirements

  • Python 3.8.1 or higher
  • Git repository
  • OpenAI or Anthropic API key (for AI commit messages)

Development

To contribute to CodeUp:

# Clone the repository
git clone https://github.com/zackees/codeup.git
cd codeup

# Install in development mode
pip install -e .

# Run tests
./test

# Run linting
./lint

License

MIT License - see LICENSE file for details.

Author

Created by Zach Vorhies - zach@zachvorhies.com

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

codeup-1.1.6-py3-none-any.whl (52.6 kB view details)

Uploaded Python 3

File details

Details for the file codeup-1.1.6-py3-none-any.whl.

File metadata

  • Download URL: codeup-1.1.6-py3-none-any.whl
  • Upload date:
  • Size: 52.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.1

File hashes

Hashes for codeup-1.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 d468e2f8fec3897a898b5f887838f6f9d7caa4adeeab39f72f3bb61d99ebe33b
MD5 b933ffdd6c66ab0c96b92f3f27e52412
BLAKE2b-256 5c5d1ce1616ac3a19cd3536c81aa7b0a3f484397356c60943f21a6631da123db

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