Introduction
Tutorials
Building with Codegen
- At a Glance
- Parsing Codebases
- Reusable Codemods
- .codegen Directory
- @codegen.function
- Language Support
- Commit and Reset
- Git Operations
- Files & Directories
- Editables
- Symbols
- Classes
- Imports
- Exports
- Inheritable Behaviors
- Statements and Code Blocks
- Dependencies and Usages
- Function Calls
- Variable Assignments
- Local Variables
- Comments & Docstrings
- External Modules
- Type Annotations
- Moving Symbols
- Collections
- Call Graph
- React and JSX
- Visualization
- LLM Integration
- Reducing Conditions
Frequently Asked Questions
Codegen currently parses two languages:
We’re actively working on expanding language support based on community needs.
Learn more about how Codegen handles language specifics in the Language Support guide.
Interested in adding support for your language? Let us know or contribute!
Pretty much! Codegen is roughly on par with mypy
and tsc
. There are always edge cases in static analysis that are provably impossible to get (for example doing eval()
on a string), but all of Codegen’s APIs are intended to be exact unless otherwise specified. Please reach out if you find an edge case and we will do our best to patch it.
Yes! Codegen was developed on multmillion-line Python and Typescript codebases and includes optimizations for handling large-scale transformations.
For enterprise support, please reach out to team@codegen.com
Yes - by design.
Codegen works like any other python package. It works alongside your IDE, version control system, and other development tools.
Start by trying out Codegen, joining our Slack community, and looking for issues labeled “good first issue” on GitHub. We welcome contributions to documentation, examples, and code improvements.
Yes, Codegen is open source and free to use under the Apache 2.0 license. You can use it for both personal and commercial projects.
The best places to get help are:
- Our community Slack channel
- GitHub issues for bug reports
- Reach out to us on Twitter
Was this page helpful?