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.2-py3-none-any.whl (49.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: codeup-1.1.2-py3-none-any.whl
  • Upload date:
  • Size: 49.1 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4f8a1a362ec2ff583688613405b3fc7b73254c780bab155064de5f2e992e72a1
MD5 8ba012cb38e90804808a5cfaf83855f6
BLAKE2b-256 fb2a3fa49895f17a0b4559381586d1d5f477a01d6754597f3ef6fa2346446440

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