Capabilities
Codegen is built on an open-source library for code manipulation.
It combines “tools” for code editing with powerful integrations, including Github, Linear and Slack.
Learn more about our open source code agent implementation
Communication Tools
- SlackSendMessageTool: Allows Codegen to send messages in Slack channels and threads, providing responses to your queries and sharing information with your team.
GitHub Integration Tools
Codegen includes a comprehensive set of GitHub tools:
-
GithubCheckoutPRTool: Checks out pull requests to your local environment for review and testing.
-
GithubCreatePRTool: Creates new pull requests from your current branch, including title, description, and target branch.
-
GithubCreatePRCommentTool: Adds comments to pull requests for feedback and team communication.
-
GithubCreatePRReviewCommentTool: Provides inline comments on specific code changes within pull requests.
-
GithubEditPRTool: Modifies existing pull requests, including updating titles, descriptions, and other metadata.
-
GithubSearchIssuesTool: Searches for GitHub issues based on various criteria like status, assignee, or labels.
-
GithubViewPRTool: Retrieves and displays information about specific pull requests.
-
GithubViewPRCheckTool: Checks the status of CI/CD and other automated checks on pull requests.
-
GithubViewCommitHistoryTool: Shows the commit history of a repository or specific branch.
-
GithubViewCommitTool: Displays details about specific commits, including changes made.
Linear Integration Tools (Optional)
For teams using Linear for project management, Codegen offers:
-
LinearGetIssueTool: Retrieves details about specific Linear issues.
-
LinearGetIssueCommentsTool: Fetches comments on Linear issues for context and history.
-
LinearCommentOnIssueTool: Adds comments to Linear issues for team communication.
-
LinearSearchIssuesTool: Searches for Linear issues based on various criteria.
-
LinearCreateIssueTool: Creates new issues in Linear with appropriate metadata.
-
LinearGetTeamsTool: Retrieves information about teams in your Linear organization.
How Codegen Uses These Tools
Codegen’s brain (powered by Claude 3.7 Sonnet) intelligently selects and combines these tools to:
- Understand your requests through natural language in Slack
- Determine the most appropriate tools to fulfill your request
- Execute the necessary actions across GitHub, Linear, and your codebase
- Provide clear, helpful responses back in Slack
This seamless integration allows you to manage your entire development workflow through simple conversations, without having to switch between different platforms and interfaces.
Recommended Best Practices for Using Codegen
Here are some recommended best practices for integrating Codegen effectively into your development workflow:
Workflow Integration
- Small bug fixes: For minor issues, consider using Codegen for instant fixes and merges
- Larger tickets: A multi-step approach often works best:
- Ask Codegen to do a first pass on the implementation
- Check out the branch and review the changes
- Add any necessary adjustments
- QA the changes
- Merge the code
When to Use Codegen vs. IDE
Consider using Codegen for:
- Initial exploration and first pass on tickets and engineering efforts
- Quickly gathering context on issues (e.g., explaining errors in notification threads)
- Understanding the “blast radius” of a given change to assess its impact
- Getting a solid first pass at approximately 80% of your work
Use your preferred IDE (like Cursor or VS Code) for:
- Making precise adjustments after Codegen’s first pass
- Detailed work that requires deep context
Effectiveness Tips
- Be diligent about analyzing tasks and determining how to break them down for Codegen
- Split complex tasks into manageable chunks
- Don’t hesitate to discard unhelpful outputs and try a different approach
- View Codegen as a powerful assistant rather than an infallible oracle
These practices can help you leverage Codegen effectively while maintaining high code quality and productivity.