For the complete documentation index, see llms.txt.

Documentation

Repository docs

This route renders the repository README and markdown under docs/ .

Source: docs/HOW_IT_WORKS.md

Rendered document

docs/HOW_IT_WORKS.md

Parsed server-side (markdown to HTML in the app). Same bytes you get from the checkout.

How It Works

Smart Deploy connects your GitHub repo to AWS through a predictable pipeline: scan → preview → deploy → monitor.

flowchart LR
  A[Connect GitHub] --> B[Detect services]
  B --> C[Smart Analysis]
  C --> D[Blueprint preview]
  D --> E{Plan OK?}
  E -->|Edit| D
  E -->|Yes| F[Deploy]
  F --> G[Logs and health]

Components you interact with

PieceWhat it does for you
DashboardLists repos and deployments
Repo pageService catalog, scan, and deploy workspace per repo
BlueprintVisual preview of the full deploy path
Deploy workspaceLive logs, overview, history, and config while deploying or running
Deployment AgentRead-only AI that inspects your deployments via tools

Behind the scenes

ComponentRole
SD ArtifactsScans repos, generates Railpack plans, verifies builds, supports improve-scan feedback
WebSocket workerRuns long deploy jobs, streams logs, reconciles runtime health
AWSCodeBuild, ECR, ECS Fargate, ALB, Route 53, S3, CloudFront, Secrets Manager, CloudWatch
DatabaseStores deployments, scan results, history, and agent conversations

You do not configure these primitives directly — Smart Deploy orchestrates them from your repo scan and deployment config.

Scan → plan

  1. Service detection discovers deployable units (monorepo packages, compose dirs, Dockerfiles, root apps).
  2. Smart Analysis clones your repo at a commit and runs SD Artifacts:
    • Classifies deploy shape (server, static, static_build, multi, existing_docker)
    • Generates Railpack plans (or uses your Dockerfile)
    • Optionally verifies the build and attempts repair
  3. Results are stored and linked to your deployment as the source of truth for preview and deploy.

See Smart Analysis and Railpack.

Preview → configure

The blueprint turns scan results into a five-step pipeline you can read and edit:

  1. Auth and resolve ref (repo, branch, commit)
  2. Build (deploy units, CodeBuild output)
  3. Setup (region, networking or static bucket)
  4. Deploy (env vars, routing, secrets)
  5. Done (hosted URL)

See Blueprint and Preview.

Deploy → release

When you deploy, the WebSocket worker runs the pipeline:

  • Container path: CodeBuild → ECR → ECS Fargate → ALB host rule → Route 53 → HTTP verification
  • Static path: CodeBuild → S3 sync → optional CloudFront invalidation

Logs stream to the UI in real time. Each attempt is recorded in deployment history.

See Deployment Pipeline.

Monitor → debug

After deploy:

  • Runtime health probes your URL and ECS/ALB signals on a schedule
  • Deployment history keeps every attempt with step logs and failure classification
  • Deployment Agent can list deployments, load details, history, and health on demand

See Runtime Health and Debugging Deployments.

Deploy routing (ECS vs static S3)

Scan signalTarget
deploy_shape: staticS3
deploy_shape: static_build with no Railpack start commandS3
deploy_shape: server, multi, existing_docker, or static with runtimeECS Fargate

Railpack's deploy.startCommand is the key fork for static_build — build-only SPAs go to S3; apps that serve built assets at runtime go to ECS.

Related