# Build

import { CardGrid, LinkCard } from '@astrojs/starlight/components';

Now that you've created your first flow, learn how to structure your code, integrate flows in applications, and manage your flows.

## Writing Flows

<CardGrid>
  <LinkCard
    title="Organize flow code"
    href="/build/organize-flow-code/"
    description="Structure your flows and tasks for maintainability and reusability"
  />
  <LinkCard
    title="Retrying steps"
    href="/build/retrying-steps/"
    description="Configure retry policies for different step reliability requirements"
  />
  <LinkCard
    title="Delaying steps"
    href="/build/delaying-steps/"
    description="Schedule steps to run after specified delays for multi-day flows"
  />
  <LinkCard
    title="Create reusable tasks"
    href="/build/create-reusable-tasks/"
    description="Build composable task functions that can be shared across flows"
  />
  <LinkCard
    title="Process arrays in parallel"
    href="/build/process-arrays-in-parallel/"
    description="Process arrays of data in parallel using map steps"
  />
</CardGrid>

## Starting Flows

<CardGrid>
  <LinkCard
    title="Choose your approach"
    href="/build/starting-flows/"
    description="Overview and comparison - choose the right approach for your use case"
  />
  <LinkCard
    title="TypeScript Client"
    href="/build/starting-flows/typescript-client/"
    description="Full client library with real-time streaming and event subscriptions"
  />
  <LinkCard
    title="Supabase RPC"
    href="/build/starting-flows/supabase-rpc/"
    description="Simple RPC calls for fire-and-forget flow triggering"
  />
  <LinkCard
    title="pg_cron"
    href="/build/starting-flows/pg-cron/"
    description="Run flows on a recurring schedule with cron expressions"
  />
  <LinkCard
    title="Database Triggers"
    href="/build/starting-flows/database-triggers/"
    description="Automatically start flows when database records change"
  />
</CardGrid>

## Flow Management

<CardGrid>
  <LinkCard
    title="Version flows"
    href="/build/version-flows/"
    description="Create new flow versions when making structural changes"
  />
  <LinkCard
    title="Delete flows"
    href="/build/delete-flows/"
    description="Clean up test flows during development (never use in production)"
  />
</CardGrid>