> ## Documentation Index
> Fetch the complete documentation index at: https://codegeninc-codegen-bot-sdk-docs-2-0.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Building with Codegen

Learn how to use Codegen's core APIs to analyze and transform code.

## Core Concepts

<CardGroup cols={2}>
  <Card title="Parsing Codebases" icon="code" href="/building-with-codegen/parsing-codebases">
    Understand how Codegen parses and analyzes different programming languages.
  </Card>

  <Card title="Files & Directories" icon="folder-tree" href="/building-with-codegen/files-and-directories">
    Learn how to work with files, directories, and navigate the codebase
    structure.
  </Card>

  <Card title="The Editable API" icon="wand-magic-sparkles" href="/building-with-codegen/the-editable-api">
    Learn how to safely modify code while preserving formatting and comments.
  </Card>

  <Card title="Symbols, Functions and Classes" icon="pen-to-square" href="/building-with-codegen/the-editable-api">
    Master the core abstractions for manipulating code safely and effectively.
  </Card>
</CardGroup>

## Navigating the Code Graph

<CardGroup cols={2}>
  <Card title="Dependencies & Usages" icon="diagram-project" href="/building-with-codegen/dependencies-and-usages">
    Analyze relationships between code elements and track symbol references.
  </Card>

  <Card title="Function Calls & Callsites" icon="arrow-right-arrow-left" href="/building-with-codegen/function-calls-and-callsites">
    Understand function call patterns and manipulate call sites.
  </Card>

  <Card title="Imports" icon="file-import" href="/building-with-codegen/imports">
    Work with module imports and manage dependencies.
  </Card>

  <Card title="Traversing the Call Graph" icon="share-nodes" href="/building-with-codegen/traversing-the-call-graph">
    Navigate function call relationships and analyze code flow.
  </Card>
</CardGroup>

## Code Manipulation

<CardGroup cols={2}>
  <Card title="Moving Symbols" icon="arrows-up-down-left-right" href="/building-with-codegen/moving-symbols">
    Relocate functions, classes, and other symbols while updating references.
  </Card>

  <Card title="Statements & Code Blocks" icon="brackets-curly" href="/building-with-codegen/statements-and-code-blocks">
    Work with code blocks, control flow, and statement manipulation.
  </Card>

  <Card title="Variable Assignments" icon="equals" href="/building-with-codegen/variable-assignments">
    Handle variable declarations, assignments, and scope.
  </Card>

  <Card title="Collections" icon="layer-group" href="/building-with-codegen/collections">
    Work with groups of related code elements like functions, classes, and
    imports.
  </Card>
</CardGroup>

## Special Features

<CardGroup cols={2}>
  <Card title="React & JSX" icon="react" href="/building-with-codegen/react-and-jsx">
    Work with React components, JSX syntax, and component transformations.
  </Card>

  <Card title="Local Variables" icon="cube" href="/building-with-codegen/local-variables">
    Analyze and manipulate local variable usage and scope.
  </Card>

  <Card title="Calling Out to LLMs" icon="robot" href="/building-with-codegen/calling-out-to-llms">
    Integrate AI assistance into your code transformations.
  </Card>

  <Card title="Codebase Visualization" icon="chart-network" href="/building-with-codegen/codebase-visualization">
    Visualize code relationships and dependencies.
  </Card>
</CardGroup>

<Note>
  Each guide includes practical examples and best practices. Start with core
  concepts or jump directly to the topics most relevant to your needs.
</Note>
