diff --git a/README.md b/README.md
index 39b117611..e08583f12 100644
--- a/README.md
+++ b/README.md
@@ -24,10 +24,34 @@ for function in codebase.functions:
Write code that transforms code. Codegen combines the parsing power of [Tree-sitter](https://tree-sitter.github.io/tree-sitter/) with the graph algorithms of [rustworkx](https://github.com/Qiskit/rustworkx) to enable scriptable, multi-language code manipulation at scale.
-## Installation
+## Installation and Usage
**This library requires Python 3.12 – 3.13.**
```
+# Install inside existing project
uv pip install codegen
+
+# Install global CLI
+uv tool install codegen
+
+# Create a codemod for a given repo
+cd path/to/repo
+codegen init
+codegen create test-function
+
+# Run said codemod
+codegen run test-function
+
+# Create an isolated venv with codegen => open jupyter
+codegen notebook
+```
+
+## Usage
+
+See [https://docs.codegen.com/introduction/getting-started] for a full tutorial.
+
+```
+from codegen import Codebase
+
```
## Resources
diff --git a/docs/blog/act-via-code.mdx b/docs/blog/act-via-code.mdx
index 06e5772a9..2bb2dec70 100644
--- a/docs/blog/act-via-code.mdx
+++ b/docs/blog/act-via-code.mdx
@@ -92,7 +92,7 @@ Provided a sufficiently comprehensive set of APIs, this paradigm has many clear
For software engineering, we believe the path forward is clear: agents need a framework that matches how developers think about and manipulate code. While decades of static analysis work gives us a strong foundation, traditional code modification frameworks weren't designed with AI-human collaboration in mind - they expose low-level APIs that don't match how developers (or AI systems) think about code changes.
-We're building a framework with high-level APIs that correspond to how engineers actually think about code modifications. The APIs are clean and intuitive, following clear [principles](/docs/principles) that eliminate sharp edges and handle edge cases automatically. Most importantly, the framework encodes rich structural understanding of code. Consider this example:
+We're building a framework with high-level APIs that correspond to how engineers actually think about code modifications. The APIs are clean and intuitive, following clear [principles](/introduction/guiding-principles) that eliminate sharp edges and handle edge cases automatically. Most importantly, the framework encodes rich structural understanding of code. Consider this example:
```python
# Access to high-level semantic operations
@@ -107,7 +107,7 @@ This isn't just string manipulation - the framework understands React component
The documentation for such a framework isn't just API reference - it's education for advanced intelligence about how to successfully manipulate code at scale. We're building for a future where AI systems are significant contributors to codebases, and they need to understand not just the "how" but the "why" behind code manipulation patterns.
-Crucially, we believe these APIs will extend beyond the codebase itself into the broader software engineering ecosystem. When agents can seamlessly interact with tools like Datadog, AWS, and other development platforms through the same clean interfaces, we'll take a major step toward [autonomous software engineering](/about#our-mission). The highest leverage move isn't just giving agents the ability to modify code - it's giving them programmatic access to the entire software development lifecycle.
+Crucially, we believe these APIs will extend beyond the codebase itself into the broader software engineering ecosystem. When agents can seamlessly interact with tools like Datadog, AWS, and other development platforms through the same clean interfaces, we'll take a major step toward [autonomous software engineering](/introduction/about#our-mission). The highest leverage move isn't just giving agents the ability to modify code - it's giving them programmatic access to the entire software development lifecycle.
## Codegen is now OSS
diff --git a/docs/building-with-codegen/symbol-api.mdx b/docs/building-with-codegen/symbol-api.mdx
index ff099a522..c39ae90bb 100644
--- a/docs/building-with-codegen/symbol-api.mdx
+++ b/docs/building-with-codegen/symbol-api.mdx
@@ -5,13 +5,13 @@ icon: "shapes"
iconType: "solid"
---
-The [`Symbol`](/api-reference/core/Symbol) is the primary way developers interact with code in Codegen. It maps to how developers think about code - as functions, classes, variables, and other named entities.
+The [Symbol](/api-reference/core/Symbol) is the primary way developers interact with code in Codegen. It maps to how developers think about code - as functions, classes, variables, and other named entities.
-Both the [`Function`](/api-reference/core/Function) and [`Class`](/api-reference/core/Class) symbols are subclasses of the [`Symbol`](/api-reference/core/Symbol) class.
+Both the [Function](/api-reference/core/Function) and [Class](/api-reference/core/Class) symbols are subclasses of the [Symbol](/api-reference/core/Symbol) class.
## Accessing Symbols
-The [`Codebase`](/api-reference/core/Codebase) class provides getters and iterators for functions, classes and symbols:
+The [Codebase](/api-reference/core/Codebase) class provides getters and iterators for functions, classes and symbols:
```python
# Core symbol types
@@ -32,17 +32,17 @@ for symbol in codebase.functions + codebase.classes:
All symbols share common APIs for manipulation:
-- The [`Editable`](/api-reference/core/Editable) API
+- The [Editable](/api-reference/core/Editable) API
- Metadata
- - [`symbol.name`](/api-reference/core/Symbol#name)
- - [`symbol.source`](/api-reference/core/Symbol#source)
- - [`symbol.docstring`](/api-reference/core/Symbol#docstring)
+ - [symbol.name](/api-reference/core/Symbol#name)
+ - [symbol.source](/api-reference/core/Symbol#source)
+ - [symbol.docstring](/api-reference/core/Symbol#docstring)
- Edit operations
- - [`symbol.set_docstring`](/api-reference/core/Symbol#add_comment)
- - [`symbol.move_to_file`](/api-reference/core/Symbol#move-to-file) (see [Moving Symbols](/building-with-codegen/moving-symbols))
+ - [symbol.set_docstring](/api-reference/core/Symbol#add_comment)
+ - [symbol.move_to_file](/api-reference/core/Symbol#move-to-file) (see [Moving Symbols](/building-with-codegen/moving-symbols))
- Graph relations (See [Usages and Dependencies](/building-with-codegen/dependencies-and-usages))
- - [`symbol.usages`](/api-reference/core/Symbol#usages)
- - [`symbol.dependencies`](/api-reference/core/Symbol#dependencies)
+ - [symbol.usages](/api-reference/core/Symbol#usages)
+ - [symbol.dependencies](/api-reference/core/Symbol#dependencies)
## Name operations
diff --git a/docs/introduction/community.mdx b/docs/introduction/community.mdx
index 658f6b01e..06592b392 100644
--- a/docs/introduction/community.mdx
+++ b/docs/introduction/community.mdx
@@ -36,35 +36,6 @@ Join the growing Codegen community! We're excited to have you be part of our jou
Please help us improve this library and documentation by submitting a PR!
-## Community Channels
-
-### Slack
-
-Our [Slack community](https://community.codegen.com) is where you can:
-
-- Get help and support
-- Share your Codegen projects
-- Connect with other developers
-- Stay updated on new features
-
-### GitHub
-
-Codegen is [open source](https://github.com/codegen-sh/codegen-sdk) and we welcome contributions! On GitHub you can:
-
-- Report issues
-- Submit pull requests
-- Star the project
-- Browse the source code
-
-### Twitter (X)
-
-Follow us on [Twitter/X](https://x.com/codegen) to:
-
-- Get the latest updates
-- See community highlights
-- Connect with the team
-- Share your Codegen wins
-
## Contributing
We welcome contributions of all kinds! Whether you're fixing a typo in documentation, reporting a bug, or implementing a new feature, we appreciate your help in making Codegen better.
@@ -75,5 +46,3 @@ Check out our [Contributing Guide](https://github.com/codegen-sh/codegen-sdk/blo
- Submit pull requests
- Report issues
- Contribute to documentation
-
-Together, we can build better tools for code transformation!
diff --git a/docs/introduction/faq.mdx b/docs/introduction/faq.mdx
index 6847bc75a..7f4f9eeb6 100644
--- a/docs/introduction/faq.mdx
+++ b/docs/introduction/faq.mdx
@@ -48,8 +48,8 @@ iconType: "solid"
The best places to get help are:
- 1. Our community Slack channel
- 2. GitHub issues for bug reports
+ 1. Our community [Slack channel](https://community.codegen.com)
+ 2. [GitHub issues](https://github.com/codegen-sh/codegen-sdk) for bug reports
3. Reach out to us on [Twitter](https://x.com/codegen)
diff --git a/docs/introduction/how-it-works.mdx b/docs/introduction/how-it-works.mdx
index ac908a79b..8777a5be4 100644
--- a/docs/introduction/how-it-works.mdx
+++ b/docs/introduction/how-it-works.mdx
@@ -21,7 +21,7 @@ Codegen performs advanced static analysis to build a rich graph representation o
## The Codebase Graph
-At the heart of Codegen is a comprehensive graph representation of your code. When you initialize a `[Codebase](/api-reference/core/Codebase)`, it performs static analysis to construct a rich graph structure connecting code elements:
+At the heart of Codegen is a comprehensive graph representation of your code. When you initialize a [Codebase](/api-reference/core/Codebase), it performs static analysis to construct a rich graph structure connecting code elements:
```python
# Initialize and analyze the codebase
diff --git a/docs/introduction/overview.mdx b/docs/introduction/overview.mdx
index 0a21491d1..24a10d0a6 100644
--- a/docs/introduction/overview.mdx
+++ b/docs/introduction/overview.mdx
@@ -9,24 +9,16 @@ iconType: "solid"
It provides a scriptable interface to a powerful, multi-lingual language server built on top of [Tree-sitter](https://tree-sitter.github.io/tree-sitter/).
-export const intoSnippet = `# grabs codebase content
-
-file = codebase.files[0] # or .get_file("test.py")
-function = codebase.functions[0] # or .get_symbol("my_func")
-
-# print logs
-
-print(f'# of files: {len(codebase.files)}')
-print(f'# of functions: {len(codebase.functions)}')
-
-# make edits
-
-file.edit('🌈' + file.content) # edit contents
-function.rename('new_name') # rename
-function.set_docstring('new docstring') # set docstring
-
-# ... etc.
-
+export const intoSnippet = `# Codegen builds a complete graph connecting
+# functions, classes, imports and their relationships
+from codegen import Codebase
+
+# Work with code without dealing with syntax trees or parsing
+for function in codebase.functions:
+ # Comprehensive static analysis for references, dependencies, etc.
+ if not function.usages:
+ # Auto-handles references and imports to maintain correctness
+ function.remove()
`