A Python application that automates application development using an AI CLI backend. It retrieves issues and error-related PRs from GitHub to build and fix the application, and automatically creates feature-addition issues when necessary.
- GitHub API Integration: Automatic retrieval and management of issues and PRs
- AI Analysis (multiple backends configurable via configuration file): Automatic analysis of issue and PR content
- Automated Processing: Automatic actions based on analysis results
- Feature Proposals: Automatic proposal of new features from repository analysis
- Report Generation: Detailed reports of processing results
- PR Mergeability Handling: Automated detection and remediation of non-mergeable PRs through base branch updates and intelligent conflict resolution
- Issue Processing: Retrieve open issues and analyze with Gemini AI
- PR Processing: Retrieve open PRs and evaluate risk levels
- Feature Proposals: Propose new features from repository context
- Automatic Actions: Add comments or auto-close based on analysis results
Auto-Coder includes intelligent handling for PRs that are not immediately mergeable. When a PR is detected as non-mergeable, the system can automatically:
- Detect and Analyze: Checks PR mergeability status and merge state (CLEAN, DIRTY, UNKNOWN)
- Checkout PR Branch: Switches to the PR branch for local processing
- Update from Base: Fetches and merges the latest changes from the base branch
- Resolve Conflicts: Uses specialized handlers for different conflict types:
- Package-lock conflicts: Automatically deletes and regenerates lock files (package-lock.json, yarn.lock, pnpm-lock.yaml)
- Package.json dependency conflicts: Intelligently merges dependency sections, preferring newer versions
- General conflicts: Uses LLM to resolve remaining conflicts with context
- Push Changes: Commits and pushes the updated branch with automatic retry logic
- Signal Completion: Sets
ACTION_FLAG:SKIP_ANALYSISmarker after successful remediation
This feature is controlled by the ENABLE_MERGEABILITY_REMEDIATION configuration flag. When enabled, non-mergeable PRs are automatically remediated without manual intervention.
Related Configuration:
ENABLE_MERGEABILITY_REMEDIATION(default: true) - Enables automatic remediationSKIP_MAIN_UPDATE_WHEN_CHECKS_FAIL(default: true) - Controls base branch updates during fix flows
See docs/client-features.yaml for complete technical documentation.
- Structured JSON Logs: All LLM interactions are logged in JSON Lines format at
~/.auto-coder/logs/llm_output.jsonl - User-Friendly Output: Execution summaries are printed to console for immediate feedback
- Rich Metadata: Each log entry includes timestamp, backend, model, prompt/response lengths, duration, and status
- Environment Control: Toggle logging via
AUTO_CODER_LLM_OUTPUT_LOG_ENABLEDenvironment variable - Error Tracking: Detailed error information for failed requests
- Easy Analysis: Machine-readable format for parsing with
jqor custom scripts
- Python 3.9 or higher
- gh CLI pre-authenticated (
gh auth login) - Codex CLI installed (default backend)
- Gemini CLI required when using Gemini backend (
gemini login)
- Clone the repository:
git clone https://github.com/your-username/auto-coder.git
cd auto-codercurl -LsSf https://astral.sh/uv/install.sh | sh uv sync
- Install dependencies and make it executable from any directory:
source ./venv/bin/activate
pip install -e .
# Or install directly without cloning the repository
pip install git+https://github.com/your-username/auto-coder.gitNote (PEP 668 avoidance/recommended): In environments where system Python is externally managed and
pip installis blocked, we recommend installation via pipx.Example for Debian/Ubuntu:
< 1B7E div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="sudo apt update && sudo apt install -y pipx pipx ensurepath # Restart/re-login to shell if needed pipx install git+https://github.com/kitamura-tetsuo/auto-coder.git auto-coder --help">sudo apt update && sudo apt install -y pipx pipx ensurepath # Restart/re-login to shell if needed pipx install git+https://github.com/kitamura-tetsuo/auto-coder.git auto-coder --help