# 77th Junction — complete documentation export Product: https://77thjunction.app API: https://api.77thjunction.app Docs hub: https://77thjunction.app/docs --- # Getting started Create an account, connect a project, deploy, and share a live URL in minutes. URL: https://77thjunction.app/docs/getting-started Updated: May 30, 2026 ## What is 77th Junction? 77th Junction is a deploy platform for developers. Build on your machine, upload your output folder (or zip), and get a secure public URL on yourname.77thjunction.app — no separate hosting setup. - Free hosting on *.77thjunction.app with HTTPS - Dashboard and CLI (jj) - Automatic stack detection (Vite, Next.js, CRA, static HTML) - Build logs, deploy diagnosis, and optional auto-fix (credits) - Custom domains when you need a client-facing brand ## Five-minute quickstart 1. Sign up at 77thjunction.app/signup 2. Open Dashboard → create a project (name becomes your slug) 3. Build locally: npm run build (or vite build, etc.) 4. Drag your dist/, build/, or out/ folder onto the deploy area 5. Copy the live URL from Domains or the deploy summary [TIP: CLI alternative] Prefer the terminal? Run jj login then jj deploy ./dist --project your-slug. See the CLI reference for every command. ## Public URLs Deployed sites are shared as branded subdomains when wildcard DNS is active: ``` https://{your-slug}.77thjunction.app ``` A path-based backup always works during DNS verification or local development: ``` https://api.77thjunction.app/sites/{your-slug} ``` ## Next steps - CLI reference — deploy from CI or your terminal - API reference — automate projects and deploys - Domains & URLs — slugs, wildcard DNS, custom domains - Billing & credits — plans, packs, and what costs credits - AI & automation — feed docs to any LLM or agent --- # CLI reference (jj) Install, authenticate, and deploy from the terminal with the jj CLI. URL: https://77thjunction.app/docs/cli Updated: May 30, 2026 ## Installation From the monorepo (development) or after cloning the platform repo: ``` npm install npm run build:cli npm run jj -- --help ``` Production API (default unless configured otherwise): ``` jj config --api https://api.77thjunction.app ``` Config is stored at ~/.77th-junction/config.json (token, API URL, email). ## Authentication Command | Description --- | --- jj login | Opens browser OAuth — recommended jj login --password | Email/password prompt (fallback) jj logout | Clears saved token jj whoami | Show signed-in user jj status | API health + session check [INFO] Browser login hits /cli/authorize on the web app, then polls /auth/cli/poll until the CLI receives a Firebase ID token. ## Projects ``` jj projects list jj projects create "Portfolio site" --path ~/projects/portfolio ``` Create picks a slug from the name. List shows slug, status, name, and live URL when deployed. ## Deploy ``` jj deploy ./dist --project portfolio # Auto-detects dist/, build/, or out/ inside the folder ``` The CLI zips the deploy root and POSTs to /projects/:id/deploy. On success it prints the live URL (subdomain or path based on platform mode). ## Billing commands Command | Description --- | --- jj billing balance | Credit balance and plan jj billing pricing | Hosting plans and auto-fix credit costs jj billing subscribe starter | Opens PayPal for Personal plan jj billing subscribe builder | Opens PayPal for Pro plan jj billing subscribe pro | Opens PayPal for Team plan jj billing buy pack25 | One-time 25-credit pack jj billing buy pack60 | One-time 60-credit pack jj billing buy pack150 | One-time 150-credit pack ## CI example (GitHub Actions) ``` # Store JJ_TOKEN as a repo secret (from jj login flow or dashboard) - run: npm ci && npm run build - run: npx @77th/cli deploy ./dist --project my-site env: JJ_API_URL: https://api.77thjunction.app JJ_TOKEN: ${{ secrets.JJ_TOKEN }} ``` [WARN] CI token flow: sign in once locally, copy token from ~/.77th-junction/config.json into your CI secret store. Rotate if exposed. --- # API reference REST endpoints for auth, projects, deploy, domains, and billing. URL: https://77thjunction.app/docs/api-reference Updated: May 30, 2026 ## Base URL & auth ``` Production: https://api.77thjunction.app Local dev: http://127.0.0.1:3001 ``` Authenticated routes require Authorization: Bearer . Obtain a token via the web app, CLI login, or Firebase Auth SDK. ``` GET /health → { ok, service, version, firestore, billing, sitesUrlMode, subdomainUrls, ... } ``` ## Auth Method | Path | Description --- | --- | --- POST | /auth/sync | Sync profile after Firebase sign-in GET | /auth/me | Current user (Bearer token) POST | /auth/cli/start | Start CLI browser auth session GET | /auth/cli/poll?sessionId= | Poll until CLI authorized POST | /auth/forgot-password | Send password reset email ## Projects Method | Path | Description --- | --- | --- GET | /projects | List user projects POST | /projects | Create { name, localPath?, category? } GET | /projects/:id | Get one project PATCH | /projects/:id | Update name/status DELETE | /projects/:id | Delete project + deployed files GET | /projects/:id/settings | Env vars + domains view PATCH | /projects/:id/settings | Update slug, env, custom domain POST | /projects/:id/settings/verify-domain | Check DNS for custom domain ## Deploy Method | Path | Description --- | --- | --- POST | /projects/:id/deploy | Multipart zip upload → build → live POST | /projects/:id/redeploy | Redeploy last release GET | /projects/:id/deploys | Deploy history GET | /projects/:id/deploys/:deployId | Single deploy + logs POST | /projects/:id/diagnose-deploy | Run diagnosis on failed deploy POST | /projects/:id/assist-fix | AI-assisted fix (credits) POST | /projects/:id/auto-fix | Auto-fix + redeploy (credits) [INFO] Deploy accepts application/zip. Max size and rate limits apply in production. Poll deploy history for status and build logs. ## Billing Method | Path | Description --- | --- | --- GET | /billing/catalog | Plans, packs, costs (public) GET | /billing/account | User balance + subscription (auth) POST | /billing/subscribe | Start PayPal subscription checkout POST | /billing/buy-pack | Start one-time credit pack checkout POST | /billing/paypal/webhook | PayPal events (server only) ## Serving deployed sites - Host-based: https://{slug}.77thjunction.app → static files from data/sites/{slug} - Path-based: GET /sites/{slug}/… → same files (backup route) - Custom domain: Host header routes to project when DNS active - Reserved hosts: api, www — never treated as project slugs --- # Deploy guide Supported stacks, folder layout, build output, and deploy diagnosis. URL: https://77thjunction.app/docs/deploy Updated: May 30, 2026 ## What you can deploy - Static HTML sites and asset folders - Vite dist/ output - Create React App build/ - Next.js static export out/ - Any folder with index.html at the root or in dist/build/out - Zip upload via dashboard or CLI [WARN] Long-running user backends, databases, and containers are not executed per project yet. Node API folders can be uploaded but are served as static files unless built to static output. ## Deploy flow 1. Upload zip or folder → API extracts to data/sites/{slug} 2. Stack detection picks install/build commands when needed 3. Build runs in isolated job with logs streamed to dashboard 4. On success, status → live and public URL is synced 5. History and logs persist in Firestore + API disk backup ## When deploy fails Open the project → History or Logs. The diagnosis engine classifies errors (missing module, wrong Node version, env vars, etc.) and suggests fixes. - Auto-fix (8 credits) — AI-assisted patch + redeploy - Env vars — set secrets in project Settings → Environment - Deploy fix flags — install mode, legacy peer deps (when suggested) --- # Domains & URLs Slugs, wildcard DNS, path URLs, and custom domains. URL: https://77thjunction.app/docs/domains Updated: May 30, 2026 ## Project slug Your slug becomes the subdomain label: https://portfolio.77thjunction.app. Slugs are 2–48 characters, lowercase letters, numbers, and hyphens. Change slug in Dashboard → project → Domains. Existing deployed files migrate to the new slug folder. ## Wildcard DNS (*.77thjunction.app) Professional branded URLs use one Railway custom domain: *.77thjunction.app. Railway cannot list both api.77thjunction.app and *.77thjunction.app — use wildcard only; api still resolves via the * record. ``` SITES_USE_PATH_URLS=false SITES_PUBLIC_HOST=https://api.77thjunction.app APP_DOMAIN=77thjunction.app ``` Until DNS verifies, the dashboard shows your branded URL with a path backup at api.77thjunction.app/sites/{slug}. ## Custom domains Connect your own domain (e.g. www.client.com) after first deploy. Every plan includes a domain allowance. Railway provisions CNAME + TXT; add records at your registrar, then Verify DNS. [TIP] When custom domain status is active, it becomes the primary share URL for that project. --- # Billing & credits Free tier, monthly plans, credit packs, and what spends credits. URL: https://77thjunction.app/docs/billing Updated: June 1, 2026 ## Always free - 5 projects and 30 deploys per month on the free tier - 25 MB upload and 75 MB extracted-site limit on Free - 1 custom domain included on Free - Single-member workspace on Free and Creator - HTTPS, build logs, deploy diagnosis, CLI, dashboard - No credit card required to start ## Monthly plans (PayPal) Plan | Price | Projects | Upload | Deploys/mo | Domains | Members --- | --- | --- | --- | --- | --- | --- Creator | $5 | 20 | 100 MB | 300 | 5 | 1 Studio | $15 | 75 | 250 MB | 1,500 | 30 | 3 Business | $35 | 250 | 500 MB | Fair use | 100 | 10 ## Team workspaces Studio and Business owners can invite teammates from Dashboard > Team. The email link is valid for seven days. The invited person signs in or creates an account with the invited email, accepts, and then sees the shared projects. Editors can deploy and manage projects. Viewers have read-only access. Free and Creator are single-member workspaces. ## Credit costs Action | Credits --- | --- Auto-fix & redeploy | 8 CLI auto-fix | 8 One-time packs: Starter $2.99 (25), Plus $5.99 (60), Bulk $11.99 (150). Checkout at 77thjunction.app/checkout. --- # Troubleshooting Common errors for dashboard, CLI, API, DNS, and deploy. URL: https://77thjunction.app/docs/troubleshooting Updated: May 30, 2026 ## API unreachable - Dashboard: check Connection page — API pill should show api.77thjunction.app - Local dev: ensure npm run dev:api is running on port 3001 - Local web: NEXT_PUBLIC_API_URL or /jj-api proxy in next.config.ts - CORS: WEB_ORIGIN on API must include your dashboard origin ## Session expired Sign out and sign in again. If it persists, confirm Firebase authorized domains include 77thjunction.app and api.77thjunction.app. ## Branded URL not opening 1. Use path backup: https://api.77thjunction.app/sites/{slug} 2. Railway → Networking → *.77thjunction.app verified with SSL 3. Registrar: CNAME * → Railway target, ACME + verify TXT 4. Dashboard Domains → wait for DNS verified pill ## Deploy failed Read build logs in History. Common fixes: add missing env vars, run build locally first, ensure dist/ exists, check Node version in package.json engines. --- # AI & automation Use 77th Junction docs with ChatGPT, Claude, Cursor, or any LLM agent. URL: https://77thjunction.app/docs/ai-agents Updated: May 30, 2026 ## llms.txt index We publish a machine-readable doc index for AI tools at: ``` https://77thjunction.app/llms.txt ``` Full plain-text export of all docs (single file for context windows): ``` https://77thjunction.app/docs/llms-full.txt ``` JSON manifest for programmatic discovery: ``` https://77thjunction.app/docs/manifest.json ``` ## Suggested system prompt snippet ``` You help users deploy static sites on 77th Junction (77thjunction.app). API base: https://api.77thjunction.app CLI: jj login, jj deploy ./dist --project {slug} Public URLs: https://{slug}.77thjunction.app Docs: https://77thjunction.app/docs Before answering deploy questions, prefer facts from https://77thjunction.app/llms.txt ``` ## Connecting external tools - Fetch llms.txt or manifest.json at session start - Use GET /health to verify API and sitesUrlMode - Use GET /billing/catalog for pricing without auth - Authenticated automation: Firebase token → Bearer header on /projects and /deploy - Human-in-the-loop for PayPal checkout (subscribe/buy-pack return URLs) [INFO: Open documentation] All pages under /docs are public — no login required. Link them in your agent instructions or RAG corpus.