bumpgen
AI-powered TypeScript dependency upgrade assistant
Bumpgen is an AI-powered tool that automates TypeScript/TSX dependency upgrades, handling code changes and fixing breaking issues. It uses advanced techniques like AST analysis and plan graphs to ensure smooth transitions to new package versions.
Links
Details
- Free
- Open Source
Bumpgen: AI-Powered TypeScript Dependency Upgrade Assistant
Streamline Your Dependency Updates with Intelligent Automation
Bumpgen is a cutting-edge tool designed to revolutionize the way developers handle TypeScript and TSX dependency upgrades. By leveraging artificial intelligence and advanced code analysis techniques, Bumpgen automates the often tedious and error-prone process of updating dependencies, ensuring smooth transitions to new package versions.
Key Features
- Automated Dependency Bumping: Easily upgrade your TypeScript/TSX dependencies to the latest versions.
- Intelligent Code Fixes: Automatically identifies and resolves breaking changes caused by upgrades.
- Abstract Syntax Tree (AST) Analysis: Utilizes ts-morph to understand code structure and relationships.
- Plan Graph Execution: Implements a DAG-based approach for propagating changes systematically.
- GitHub Action Integration: Seamlessly incorporates into your CI/CD pipeline for automated PR updates.
How It Works
- Project Analysis: Bumpgen builds your project to identify potential breaking changes.
- Code Understanding: Utilizes AST analysis to comprehend code structure and dependencies.
- Upgrade Planning: Creates a plan graph to execute changes in the correct order.
- Intelligent Fixes: Leverages GPT-4 to generate and apply code fixes for breaking changes.
- Propagation: Ensures that fixes are propagated throughout the codebase.
Getting Started
To use Bumpgen, you'll need an OpenAI API key with access to the gpt-4-turbo-preview model. Installation is simple:
npm install -g bumpgen
export LLM_API_KEY="your_api_key_here"
bumpgen @package-name desired-version
GitHub Action
Bumpgen offers a GitHub action for seamless integration with your CI/CD workflow. It's particularly useful for automating updates on Dependabot or Renovate PRs.
name: "Bumpgen"
on:
pull_request:
types:
- opened
jobs:
main:
name: Run Bumpgen
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Bumpgen
uses: xeol-io/bumpgen@v0.0.1
with:
path: "./path/to/package.json"
llm_key: ${{ secrets.LLM_API_KEY }}
github_token: ${{ secrets.GITHUB_TOKEN }}
Limitations and Future Development
While Bumpgen is a powerful tool, it's important to note its current limitations:
- Relies on build errors to detect issues
- Cannot handle multiple package updates simultaneously
- May struggle with very large frameworks
The team is actively working on expanding language support beyond TypeScript and TSX, with plans to include Java, Go, C#, and Python in the future.
Conclusion
Bumpgen represents a significant leap forward in dependency management for TypeScript projects. By automating the upgrade process and intelligently handling breaking changes, it saves developers time and reduces the risk of errors. Whether you're maintaining a small project or a large-scale application, Bumpgen can streamline your workflow and keep your dependencies up-to-date with minimal effort.
Cleric
Your AI SRE teammate that autonomously troubleshoots production alerts
Qodo
Quality-first AI code generation platform for writing, testing, and reviewing code
Avanzai
AI-powered investment workflow automation for asset managers
Kusho AI
AI-powered API testing agent that generates exhaustive test suites automatically