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.
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
./lintscript if present - 🧪 Automatic Testing - Runs your
./testscript 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
./lintscripts - Automatically detects and runs
./testscripts - 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-interactivemode) - 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file codeup-1.1.4-py3-none-any.whl.
File metadata
- Download URL: codeup-1.1.4-py3-none-any.whl
- Upload date:
- Size: 50.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be9c4398fe5fbf65f51fb319af3939a71359ebe06258264e2fdba39e672593a2
|
|
| MD5 |
ee038f296dc97c06ac1d1370c50392c5
|
|
| BLAKE2b-256 |
60d0eca7989413a12236d265c2456719e8f980283ba71cd277fb7d95e6c8b7ae
|