> ## Documentation Index
> Fetch the complete documentation index at: https://codegeninc-tawsif-change-additional-tools-to-tools.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Learn by Example

Explore our tutorials to learn how to use Codegen for various code transformation tasks.

## Featured Tutorials

<CardGroup cols={2}>
  <Card title="Build a Code Agent" icon="robot" href="/tutorials/build-code-agent">
    Create an intelligent code agent with Langchain and powerful, codegen-powered tools
  </Card>

  <Card title="Visualize Your Codebase" icon="diagram-project" href="/tutorials/codebase-visualization">
    Generate interactive visualizations of your codebase's structure, dependencies, and relationships.
  </Card>

  <Card title="Mine Training Data" icon="database" href="/tutorials/training-data">
    Create high-quality training data for LLM pre-training similar to word2vec or node2vec
  </Card>

  <Card title="Delete Dead Code" icon="broom" href="/tutorials/deleting-dead-code">
    Remove unused imports, functions, and variables with confidence.
  </Card>
</CardGroup>

## API Migrations

<CardGroup cols={2}>
  <Card title="API Migration Guide" icon="arrow-right-arrow-left" href="/tutorials/migrating-apis">
    Update API calls, handle breaking changes, and manage bulk updates across your codebase.
  </Card>

  <Card title="SQLAlchemy 1.4 to 2.0" icon="layer-group" href="/tutorials/sqlalchemy-1.6-to-2.0">
    Update SQLAlchemy code to use the new 2.0-style query interface and patterns.
  </Card>

  <Card title="Flask to FastAPI" icon="bolt" href="/tutorials/flask-to-fastapi">
    Convert Flask applications to FastAPI, updating routes and dependencies.
  </Card>

  <Card title="Python 2 to 3" icon="snake" href="/tutorials/python2-to-python3">
    Migrate Python 2 code to Python 3, updating syntax and modernizing APIs.
  </Card>
</CardGroup>

## Code Organization

<CardGroup cols={2}>
  <Card title="Organize Your Codebase" icon="folder-tree" href="/tutorials/organize-your-codebase">
    Restructure files, enforce naming conventions, and improve project layout.
  </Card>

  <Card title="Improve Modularity" icon="cubes" href="/tutorials/modularity">
    Split large files, extract shared logic, and manage dependencies.
  </Card>

  <Card title="Manage TypeScript Exports" icon="file-export" href="/tutorials/managing-typescript-exports">
    Organize and optimize TypeScript module exports.
  </Card>

  <Card title="Convert Default Exports" icon="file-import" href="/tutorials/converting-default-exports">
    Convert between default and named exports in TypeScript/JavaScript.
  </Card>
</CardGroup>

## Testing & Types

<CardGroup cols={2}>
  <Card title="unittest to pytest" icon="vial" href="/tutorials/unittest-to-pytest">
    Convert unittest test suites to pytest's modern testing style.
  </Card>

  <Card title="Increase Type Coverage" icon="shield-check" href="/tutorials/increase-type-coverage">
    Add TypeScript types, infer types from usage, and improve type safety.
  </Card>
</CardGroup>

## Documentation & AI

<CardGroup cols={2}>
  <Card title="Create Documentation" icon="book" href="/tutorials/creating-documentation">
    Generate JSDoc comments, README files, and API documentation.
  </Card>

  <Card title="Prepare for AI" icon="robot" href="/tutorials/preparing-your-codebase-for-ai">
    Generate system prompts, create hierarchical documentation, and optimize for AI assistance.
  </Card>
</CardGroup>

<Note>
  Each tutorial includes practical examples, code snippets, and best practices.
  Follow them in order or jump to the ones most relevant to your needs.
</Note>
