Skip to content

Documentation

Everything you need to run and contribute to Atlas.

Quick start

git clone https://github.com/pantha704/atlas.git

cd atlas

bun install

cp .env.example .env

bun dev

Environment variables

TURSO_DATABASE_URL / TURSO_AUTH_TOKEN — Database

GROQ_API_KEY — Primary AI · GEMINI_API_KEY fallback

GITHUB_CLIENT_ID / GITHUB_CLIENT_SECRET — OAuth

BETTER_AUTH_SECRET — JWT signing (openssl rand -base64 32)

CRON_SECRET — Protect /api/cron/fetch

RAZORPAY_KEY_ID / RAZORPAY_KEY_SECRET — Pro billing

RAZORPAY_PLAN_ID — optional recurring plan · else payment link (₹699)

RAZORPAY_WEBHOOK_SECRET — webhook HMAC · URL /api/billing/webhook

POSTHOG_KEY / SENTRY_DSN — optional observability

RESEND_API_KEY — Pro email delivery

Self-host (Vercel + Turso)

  1. Turso — create a DB, copy URL + token. Run migrations: cd packages/db && bun run migrate (includes 0007_score_cache_billing).
  2. GitHub OAuth — callback https://your-domain.com/api/auth/callback.
  3. Vercel — import monorepo, set envs from .env.example, deploy. API is /api/* via Astro catch-all.
  4. Cronvercel.json hits /api/cron/fetch daily; set CRON_SECRET.
  5. Razorpay — create keys; optional Plan for subscriptions; webhook to /api/billing/webhook with secret.

Typical setup: ~15 minutes on free tiers.

API reference

GET /health — Health + billing configured flag

GET /digest · GET /demo/digest

GET /my-digest · ?peek=1 cache-only · ?force=1 rescore

POST /billing/checkout · POST /billing/webhook (Razorpay)

GET /market · POST /feedback · GET /rss/:token.xml