{
  "markdown": "# Genie\n\nA development platform for managing projects, VPS droplets, and AI-assisted workflows.\n\n## Architecture\n\n- **Manager** (`packages/manager`) — Node.js WebSocket server that orchestrates everything: project management, SSH tunnels to droplets, PTY terminal sessions, PostgreSQL via Drizzle ORM, AI assistant integration.\n- **Renderer** (`packages/renderer`) — Next.js web dashboard for project management, docs, tracker, terminal, admin panel, and DB explorer.\n- **Chrome Extension** (`packages/chrome-extension`) — Browser extension for remote VPS control, AI chat, file editing, Docker view, and terminal access.\n- **VPS Agent** (`packages/vps-agent`) — Agent that runs on droplets for AI-assisted operations.\n\n## Local Development\n\n```bash\nnpm install\nnpm run dev          # Starts manager + renderer concurrently\nnpm run dev:extension  # Builds Chrome extension in watch mode\n```\n\n## Building\n\n```bash\nnpm run build              # Build all packages\nnpm run build:manager      # Build manager only\nnpm run build:renderer     # Build renderer only\nnpm run build:extension    # Build Chrome extension (production)\nnpm run build:vps-agent    # Build VPS agent\n```\n\n## Deployment (Railway)\n\nThe project is deployed on Railway with two services from this monorepo:\n\n### Manager Service\n- **Build command**: `npm run build:manager && npm run build:vps-agent`\n- **Start command**: `node packages/manager/dist/index.js`\n- **Required env vars**: `DATABASE_URL`, `GOOGLE_CLIENT_ID`, `GOOGLE_CLIENT_SECRET`, `MANAGER_URL`, `ANTHROPIC_API_KEY`\n\n### Renderer Service\n- **Build command**: `npm run build:renderer`\n- **Start command**: `node packages/renderer/.next/standalone/packages/renderer/server.js`\n- **Note**: Uses `output: \"standalone\"` in next.config.ts for self-contained deployment\n\n### railway.toml\n\nThe `railway.toml` configures Nixpacks build dependencies:\n- **python3, gcc, gnumake** — Required for compiling `node-pty`, a native Node.js module used by the terminal feature. Without these, the terminal PTY functionality won't work in production (other features degrade gracefully).\n- **nodejs_22** — Required by Next.js 16, Tailwind CSS, and other dependencies.\n\n### Environment Variables\n\n| Variable | Service | Description |\n|----------|---------|-------------|\n| `DATABASE_URL` | Manager | PostgreSQL connection string |\n| `GOOGLE_CLIENT_ID` | Manager | Google OAuth client ID |\n| `GOOGLE_CLIENT_SECRET` | Manager | Google OAuth client secret |\n| `MANAGER_URL` | Manager | Public URL (e.g. `https://api.genie.teleporthq.ai`) |\n| `FRONTEND_URL` | Manager | Frontend URL for OAuth redirects (e.g. `https://genie.teleporthq.ai`) |\n| `ANTHROPIC_API_KEY` | Manager | Anthropic API key for Claude integration |\n| `PORT` | Both | Set automatically by Railway |\n",
  "bytes": 2770,
  "sha": "15e98b2edffd79b30ab485ad6dbfdd0a9a3cd87b91a6281e4c4ae7c15c36240e",
  "repo_slug": "paulbrie/genie",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/okf_paulbrie_genie_knowledge_index_md_764f4dcc/readme"
}