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
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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.