{"id":50591289,"url":"https://github.com/elreco/coderocket","last_synced_at":"2026-06-05T10:30:38.634Z","repository":{"id":355110931,"uuid":"712120721","full_name":"elreco/coderocket","owner":"elreco","description":"The open-source v0/Lovable alternative","archived":false,"fork":false,"pushed_at":"2026-05-01T22:12:53.000Z","size":25624,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-05-01T23:28:39.972Z","etag":null,"topics":["ai","lovable","nextjs","typescript","v0","vibe-coding"],"latest_commit_sha":null,"homepage":"https://www.coderocket.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/elreco.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-10-30T20:40:57.000Z","updated_at":"2026-05-01T22:12:57.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/elreco/coderocket","commit_stats":null,"previous_names":["elreco/coderocket"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/elreco/coderocket","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elreco%2Fcoderocket","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elreco%2Fcoderocket/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elreco%2Fcoderocket/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elreco%2Fcoderocket/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/elreco","download_url":"https://codeload.github.com/elreco/coderocket/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elreco%2Fcoderocket/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33939226,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-05T02:00:06.157Z","response_time":120,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","lovable","nextjs","typescript","v0","vibe-coding"],"created_at":"2026-06-05T10:30:37.737Z","updated_at":"2026-06-05T10:30:38.626Z","avatar_url":"https://github.com/elreco.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"public/coderocket-full.png\" alt=\"CodeRocket\" width=\"320\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  Open source vibe coding tool and AI website builder with a self-hosted default setup.\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/elreco/coderocket/actions/workflows/ci.yml\"\u003e\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/elreco/coderocket/ci.yml?branch=main\u0026label=CI\" alt=\"CI\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/elreco/coderocket/blob/main/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/license-MIT-22c55e\" alt=\"License\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/elreco/coderocket/discussions\"\u003e\u003cimg src=\"https://img.shields.io/badge/community-discussions-2563eb\" alt=\"Discussions\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.coderocket.app/open-source\"\u003e\u003cimg src=\"https://img.shields.io/badge/self--host-ready-6C63FF\" alt=\"Self-host ready\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.youtube.com/watch?v=vkfCdoFQnAk\"\u003e\u003cimg src=\"https://img.shields.io/badge/demo-watch%20video-ef4444\" alt=\"Watch demo\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://nextjs.org/\"\u003e\u003cimg src=\"https://img.shields.io/badge/Next.js-15-black\" alt=\"Next.js 15\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://supabase.com/\"\u003e\u003cimg src=\"https://img.shields.io/badge/Supabase-Postgres%20%2B%20Auth-3ECF8E\" alt=\"Supabase\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n# CodeRocket\n\nCodeRocket is an open source vibe coding tool and AI website builder that can run as:\n\n- a self-hosted open source app,\n- a local development stack with the integrated `builder`,\n- or the managed CodeRocket cloud at [coderocket.app](https://www.coderocket.app).\n\nThis repository is now structured so the default path is self-hosting first. Cloud-only integrations such as Stripe billing, Vercel domain management, and Vercel Blob storage are optional adapters, not hard requirements.\n\n## Watch the demo\n\n\u003cp\u003e\n  \u003ca href=\"https://www.youtube.com/watch?v=vkfCdoFQnAk\"\u003e\n    \u003cimg src=\"public/og.png\" alt=\"Watch the CodeRocket demo video\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\nPrefer a quick overview first? Watch the product demo on YouTube: [CodeRocket demo video](https://www.youtube.com/watch?v=vkfCdoFQnAk).\n\n## Community\n\n- Website: [coderocket.app](https://www.coderocket.app)\n- Open source overview: [coderocket.app/open-source](https://www.coderocket.app/open-source)\n- Demo video: [youtube.com/watch?v=vkfCdoFQnAk](https://www.youtube.com/watch?v=vkfCdoFQnAk)\n- Documentation: [docs.coderocket.app](https://docs.coderocket.app)\n- Issues: [github.com/elreco/coderocket/issues](https://github.com/elreco/coderocket/issues)\n- Discussions: [github.com/elreco/coderocket/discussions](https://github.com/elreco/coderocket/discussions)\n- Contributing guide: [CONTRIBUTING.md](./CONTRIBUTING.md)\n- Security policy: [SECURITY.md](./SECURITY.md)\n\n## What is in the repo\n\n- `app/`: the Next.js application.\n- `builder/`: the build service used to compile and store user apps.\n- `docs/`: Mintlify documentation.\n- `supabase/`: local Supabase config, migrations, and database notes.\n\n## Why self-host CodeRocket\n\n- Keep the full app and builder in one repository.\n- Run locally without Stripe, Vercel Domains, or Vercel Blob.\n- Swap optional cloud adapters back in only when you need them.\n- Use the hosted [coderocket.app](https://www.coderocket.app) experience as an upsell path if you want a managed version too.\n\n## Self-hosting modes\n\n- Local minimal:\n  Run Next.js + the integrated builder with filesystem storage and no Stripe/Vercel dependencies.\n- Self-host with wildcard domains:\n  Use your own root domain for deployed apps, previews, and webcontainers.\n- Managed cloud:\n  Keep CodeRocket branding and optionally point upsell links back to [coderocket.app](https://www.coderocket.app).\n\n## Quick start\n\n### 1. Install dependencies\n\n```bash\nnpm install\nnpm --prefix builder install\n```\n\nOptional docs:\n\n```bash\nnpm --prefix docs install\n```\n\n### 2. Create your environment files\n\n```bash\ncp .env.example .env.local\ncp builder/.env.example builder/.env\n```\n\nUse `.env.local` for your machine-specific app secrets. The builder-specific file is only there for people who want to run `builder/` independently.\nIf you already have a local `.env`, prefer consolidating into `.env.local` to avoid confusion.\n\n### 3. Start Supabase locally\n\n```bash\nnpx supabase start\nnpx supabase db reset\nnpm run generate-types\n```\n\nImportant:\n`supabase/current_state.sql` is reference material only. See [supabase/README.md](./supabase/README.md) for the baseline/export workflow.\n\n### 4. Run the stack\n\nApp + builder:\n\n```bash\nnpm run dev:all\n```\n\nApp only:\n\n```bash\nnpm run dev\n```\n\nBuilder only:\n\n```bash\nnpm run builder:dev\n```\n\nDocs only:\n\n```bash\nnpm run docs:dev\n```\n\nThe default app URL is `http://localhost:4002`.\n\nIf you want the builder to run fully independently from the app, you can still use `builder/.env`, but the default developer path is now the monorepo with `.env.local` at the root.\n\n## Environment model\n\nThe repo now uses a normalized configuration contract.\n\n### Core URLs\n\n- `NEXT_PUBLIC_APP_URL`: canonical URL of this instance.\n- `NEXT_PUBLIC_CLOUD_URL`: optional upsell target for the hosted CodeRocket cloud.\n- `NEXT_PUBLIC_DOCS_URL`: docs base URL.\n\n### Deployment domains\n\n- `NEXT_PUBLIC_DEPLOYMENT_ROOT_DOMAIN`: wildcard root for deployed apps.\n- `NEXT_PUBLIC_PREVIEW_ROOT_DOMAIN`: wildcard root for previews.\n- `NEXT_PUBLIC_WEBCONTAINER_ROOT_DOMAIN`: wildcard root for live webcontainer previews.\n\nLocal development also supports a path fallback under `/webcontainer/\u003cprefix\u003e` so wildcard DNS is not required.\n\n### Builder\n\n- `BUILDER_API_URL`\n- `NEXT_PUBLIC_BUILDER_API_URL`\n- `BUILDER_HOST`\n- `BUILDER_PORT`\n- `BUILDER_AUTH_TOKEN`\n- `BUILDER_STORAGE_DRIVER=fs|vercel-blob`\n- `BUILDER_STORAGE_FS_ROOT`\n- `BUILDER_TEMP_DIR`\n\n### Billing\n\n- `BILLING_PROVIDER=none|stripe`\n- `NEXT_PUBLIC_BILLING_PROVIDER=none|stripe`\n\nWhen billing is `none`, deploy/custom-domain flows stay available locally and Stripe routes are disabled.\n\n### Domain provider\n\n- `DOMAIN_PROVIDER=none|vercel`\n- `NEXT_PUBLIC_DOMAIN_PROVIDER=none|vercel`\n\nWhen the provider is `none`, DNS ownership verification still works, but HTTPS and routing are expected to be handled by your hosting platform or reverse proxy.\n\n## Local deployment behavior\n\nThe builder now supports two storage modes:\n\n- `fs`: default for local and self-hosted installs.\n- `vercel-blob`: optional cloud adapter.\n\nFor local installs, builds are stored under `.coderocket/builds` by default and served back through the Next.js app.\n\nWhen exposing the builder on a public network, set `BUILDER_AUTH_TOKEN` on both the app and the builder so build and scraping endpoints are not anonymous.\n\n## Database bootstrap\n\nThe current Supabase history was not maintained exclusively through CLI migrations during development. Because of that:\n\n- keep treating `supabase/current_state.sql` as informational only,\n- use `supabase/migrations/20260501000000_baseline_from_authoritative_schema.sql` as the active baseline candidate,\n- keep `supabase/baseline.schema.sql` as the authoritative schema snapshot,\n- and verify a real local `supabase db reset` once Docker is available before treating the baseline as fully validated.\n\nThe old migration chain is archived under `supabase/migrations-legacy/`. Going forward, the intended model is one verified baseline migration plus new forward migrations.\n\nDetails and commands live in [supabase/README.md](./supabase/README.md).\n\n## Open source checklist\n\n- rotate every secret that has ever lived in a tracked `.env`,\n- rewrite Git history before making the repository public if tracked `.env` files ever existed,\n- do not publish production data dumps,\n- keep custom billing/domain adapters optional,\n- set `BUILDER_AUTH_TOKEN` before exposing the builder publicly,\n- run `npm run type-check`,\n- run `node --check builder/server.js`,\n- verify a local build/deploy flow before releasing.\n\nIf you are opening the repo publicly for the first time, do the secret rotation and history rewrite before flipping visibility.\n\n## Scripts\n\n- `npm run dev`\n- `npm run builder:dev`\n- `npm run builder:start`\n- `npm run dev:all`\n- `npm run dev:all:docs`\n- `npm run docs:dev`\n- `npm run docs:build`\n- `npm run type-check`\n- `npm run generate-types`\n\n## Cloud upsell\n\nSelf-hosted instances can keep their own domain and branding, while links such as documentation or hosted upgrade flows can still point to [coderocket.app](https://www.coderocket.app) via `NEXT_PUBLIC_CLOUD_URL`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felreco%2Fcoderocket","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felreco%2Fcoderocket","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felreco%2Fcoderocket/lists"}