Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions docs/blog/devin.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@ icon: "robot"
iconType: "solid"
---

Coding assistants like Cursor have introduced a new era of programming. But there's a class of programming tasks they can't handle: large-scale, systematic modifications across large codebases. You wouldn't ask an AI to delete all dead code or reorganize your entire component hierarchy - the tooling just isn't there.
Coding assistants like Cursor have brought us into a new era of programming. But there's a class of programming tasks that remain outside their reach: large-scale, systematic modifications across large codebases. You wouldn't ask an AI to delete all your dead code or reorganize your entire component hierarchy - the tooling just isn't there.

That's where codemods come in. A codemod is a program that operates on your codebase, and when you give an AI agent the ability to write and execute them, these tasks fall below the high-water mark of AI capabilities.
That's where codemods come in. A codemod is a program that operates on a codebase, and when you give an AI agent the ability to write and execute them, these platform-level tasks fall below the high-water mark of AI capabilities.

Here's a real example: we asked [Devin](https://docs.devin.ai/get-started/devin-intro) (an autonomous SWE agent) to "delete all dead code" from our codebase. Instead of trying to make hundreds of individual edits, Devin [wrote and debugged a program](https://github.com/codegen-sh/codegen/pull/660/files#diff-199b0c459adf1639f664fed248fa48bb640412aeacbe61cd89475d6598284b5f) that systematically removed unused code while handling edge cases like tests, decorators and indirect references.

- [View the PR](https://github.com/codegen-sh/codegen/pull/660)
- [View on Devin](app.devin.ai/sessions/a49eac87da644fa9ac1144fe130b847e)
- [View on Devin](https://app.devin.ai/sessions/a49eac87da644fa9ac1144fe130b847e)

<Frame caption="Devin edits a codemod in response to linter errors">
<img src="/images/devin-edits-codemod.png" />
Expand Down Expand Up @@ -89,4 +89,4 @@ Or try it with other platform-level modifications supported by Codegen:
</Card>
</CardGroup>

We'd love to hear how it works for you! Let us know in our [community](https://community.codegen.com) and share other tasks that it is helpful in performing.
We'd love to hear how it works for you! Let us know in our [community](https://community.codegen.com) and share your experience developing codemods with Devin or other code assistants.
2 changes: 1 addition & 1 deletion docs/tutorials/at-a-glance.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ Explore our tutorials to learn how to use Codegen for various code transformatio
<Card
title="SQLAlchemy 1.4 to 2.0"
icon="layer-group"
href="/tutorials/sqlalchemy-1.4-to-2.0"
href="/tutorials/sqlalchemy-1.6-to-2.0"
>
Update SQLAlchemy code to use the new 2.0-style query interface and patterns.
</Card>
Expand Down
35 changes: 1 addition & 34 deletions docs/tutorials/github-review-bot.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -186,37 +186,4 @@ While this example demonstrates a basic PR review bot, you can extend it to:
- Add automatic fix suggestions
- ... etc.

<Tip>Check out our [Code Agent tutorial](/tutorials/build-code-agent) to learn more about building sophisticated AI agents with Codegen</Tip>

## Learn More

<CardGroup cols={2}>
<Card
title="Code Agent Guide"
icon="robot"
href="/building-with-codegen/code-agent"
>
Learn how to build intelligent code agents with Codegen.
</Card>
<Card
title="GitHub Integration"
icon="github"
href="/building-with-codegen/github-integration"
>
Explore Codegen's GitHub integration features.
</Card>
<Card
title="Modal Deployment"
icon="cloud"
href="https://modal.com/docs/guide"
>
Learn about deploying apps with Modal.
</Card>
<Card
title="Code Review Best Practices"
icon="code-pull-request"
href="https://google.github.io/eng-practices/review/"
>
Understand code review patterns and best practices.
</Card>
</CardGroup>
<Tip>Check out our [Code Agent tutorial](/tutorials/build-code-agent) to learn more about building sophisticated AI agents with Codegen</Tip>
2 changes: 1 addition & 1 deletion docs/tutorials/promise-to-async-await.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ new_code = promise_statement.edit(
- Ambiguous/conditional return blocks

<Info>
A list of all the covered cases can be found in the [example notebook](codegen-examples/examples/promises_to_async_await/promise_to_async_await.ipynb).
A list of all the covered cases can be found in the [example notebook](https://github.com/codegen-sh/codegen-sdk/tree/codegen-examples/examples/promises_to_async_await/promise_to_async_await.ipynb).
</Info>


Expand Down