> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fabric.bulldogtechnologies.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Run Fabric locally in 10 minutes via Docker Compose, or deploy to AWS Fargate with one command.

<Note>
  Fabric is designed to run on your infrastructure. This page covers local dev via Docker Compose and AWS deploy via Copilot. Both paths are first-class.
</Note>

## Local dev (Docker Compose)

<Steps>
  <Step title="Clone the repo">
    ```bash theme={null}
    git clone https://github.com/your-org/fabric-v2.git
    cd fabric-v2
    ```
  </Step>

  <Step title="Configure secrets">
    Copy the example env file and fill in the values for the LLM and embedding provider:

    ```bash theme={null}
    cp backend/.env.example backend/.env
    # Edit: ANTHROPIC_API_KEY, OPENAI_API_KEY, ENCRYPTION_KEY, JWT_SECRET
    ```

    <Tip>
      Generate a strong `ENCRYPTION_KEY` with `openssl rand -base64 32`.
    </Tip>
  </Step>

  <Step title="Start the stack">
    ```bash theme={null}
    docker compose up -d
    ```

    This starts Postgres (with pgvector + tsvector), Redis, the FastAPI API, a Celery worker, and the Vite frontend.

    <Check>Verify with `curl http://localhost:9000/healthz`</Check>
  </Step>

  <Step title="Open Fabric">
    Visit `http://localhost:5174`. Sign up with any email; check the backend logs for the verification link if email isn't configured.
  </Step>

  <Step title="Add your first connection">
    From the Connections page, click **Add Connection** and pick Gmail, Slack, Drive, Fireflies, IMAP, or a database.

    OAuth sources will redirect through the provider's consent screen. Database sources take host/port/credentials directly.
  </Step>

  <Step title="Ask something cross-source">
    Open chat and try:

    > "Who sent emails about the billing migration this week, and what did they say in Slack?"

    You should see tool calls for `search_knowledge`, `follow_edges`, and possibly `query_database` in the trace drawer.
  </Step>
</Steps>

## Production deploy (AWS ECS Fargate)

<Warning>
  Production deploys require AWS Copilot. Install with `brew install aws/tap/copilot-cli`.
</Warning>

<Steps>
  <Step title="Configure AWS">
    ```bash theme={null}
    export AWS_PROFILE=fabric-prod
    aws configure  # if not already done
    ```
  </Step>

  <Step title="Initialize Copilot">
    ```bash theme={null}
    ./scripts/deploy.sh init
    ```

    Creates the Copilot app, environment, and service definitions. Takes \~5 minutes.
  </Step>

  <Step title="Push secrets to SSM">
    ```bash theme={null}
    ./scripts/deploy.sh secrets-from-env backend/.env.staging
    ```

    Reads your `.env.staging` file and pushes each value to AWS SSM Parameter Store as a SecureString. Secrets are injected into the container at start.
  </Step>

  <Step title="Deploy">
    ```bash theme={null}
    ./scripts/deploy.sh deploy
    ```

    Builds both the API and worker images, pushes to ECR, and updates the ECS services in parallel. \~4–5 minutes.
  </Step>

  <Step title="Wire DNS">
    ```bash theme={null}
    ./scripts/deploy.sh dns bulldogtechnologies.com
    ./scripts/deploy.sh deploy-frontend
    ./scripts/deploy.sh dns-frontend bulldogtechnologies.com
    ```

    Creates Route 53 records for `api.fabric.yourdomain.com` and `fabric.yourdomain.com`, provisions a CloudFront distribution, and deploys the SPA to S3.
  </Step>
</Steps>

## What you get

<CardGroup cols={2}>
  <Card title="API" icon="server">
    `api.fabric.yourdomain.com` — FastAPI with 72+ endpoints.
  </Card>

  <Card title="Frontend" icon="browser">
    `fabric.yourdomain.com` — React SPA, served via CloudFront.
  </Card>

  <Card title="Swagger UI" icon="terminal">
    `/docs` — interactive API playground.
  </Card>

  <Card title="ReDoc" icon="book">
    `/redoc` — read-only reference.
  </Card>
</CardGroup>

## Next steps

<CardGroup cols={2}>
  <Card title="Connectors overview" icon="plug" href="/connectors/overview">
    All six sources plus database integration.
  </Card>

  <Card title="Architecture" icon="sitemap" href="/architecture">
    How the pieces fit together.
  </Card>

  <Card title="Security" icon="shield" href="/security">
    Multi-tenant isolation, credential storage, OAuth handling.
  </Card>

  <Card title="Observability" icon="chart-line" href="/observability">
    Langfuse traces, structured logs, cost accounting.
  </Card>
</CardGroup>
