Skip to main content

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

Metadata

Release files for codeup 1.1.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for codeup 1.1.6
File Interpreter ABI Platform Actions
codeup-1.1.6-py3-none-any.whl Python 3 none any Details for codeup-1.1.6-py3-none-any.whl

Release files / codeup-1.1.6-py3-none-any.whl

Download URL codeup-1.1.6-py3-none-any.whl
Size 52.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d468e2f8fec3897a898b5f887838f6f9d7caa4adeeab39f72f3bb61d99ebe33b
BLAKE2b-256 checksum
How to use checksums
5c5d1ce1616ac3a19cd3536c81aa7b0a3f484397356c60943f21a6631da123db
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.1

Security for codeup 1.1.6

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page