MCPcopy Index your code
hub / github.com/Krish120003/zercel

github.com/Krish120003/zercel @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
89 symbols 335 edges 71 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Zercel Banner

God's greatest Vercel clone. Made by Krish.

Zercel Project Screenshot

Checkout a blog post on the technical decisions and details!: krish.gg/blog/making-a-vercel-clone

🌟 Features

  • Automatic GitHub Deployments $_1$
  • Live Build Logs
  • Global CDN Caching
  • Free dynamic SSL Certificates
  • Environment Variables
  • Instant-Subdomain(s) Deployment
  • Fluid Compute (Serverless Server Functions) $_2$
  • [Upcoming] Instant Rollback
  • [Upcoming] Preview URLs
  • [Upcoming] Server Logs
  • [Upcoming] Server Version Skew Protection

📦 Project Structure

zercel/
├── apps/           # Application projects
│   ├── router/     # Network router
│   ├── builder/    # Build system
│   └── web/        # Web interface
└── terraform/      # Infrastructure as code

🏗️ Infrastructure

The project uses Terraform for infrastructure management. Configuration can be found in the terraform/ directory.

This project uses the following services:

  • Cloudflare CDN
  • GCP Cloud Run (Webapp, Router)
  • GCP Cloud Run Jobs (Static Builds)
  • GCP Batch (Server builds by orchestrating isolated VMs)
  • Neon Postgres (Cloud SQL is too expensive)
  • Upstash Redis (Cloud Memorystore is too expensive)
  • GCP Cloud Bucket (Static site builds)
  • GCP Artifact Registry (Docker images for server builds)
  • GCP Eventarc (Webhook triggers)

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.


Footnotes:

$_1$: Currently only supports default repository branch on public (but authorized) repositories.

$_2$: Google Cloud Run configured with multiple concurrent requests with autoscaling are used to create the same behaviour as Vercel Fluid Compute

Extension points exported contracts — how you extend this code

ButtonProps (Interface)
(no doc)
packages/ui/src/button.tsx
CacheEntry (Interface)
(no doc)
apps/router/src/index.ts
EnvVar (Interface)
(no doc)
apps/web/src/components/env-variable.tsx
EnvVariablesProps (Interface)
(no doc)
apps/web/src/components/env-variable.tsx
ButtonProps (Interface)
(no doc)
apps/web/src/components/ui/button.tsx
BadgeProps (Interface)
(no doc)
apps/web/src/components/ui/badge.tsx
HomeProps (Interface)
(no doc)
apps/web/src/app/page.tsx

Core symbols most depended-on inside this repo

cn
called by 47
apps/web/src/lib/utils.ts
useFormField
called by 4
apps/web/src/components/ui/form.tsx
requestServerBuild
called by 3
apps/web/src/server/lib/serverBuild.ts
requestBuild
called by 3
apps/web/src/server/lib/build.ts
handleChange
called by 2
apps/web/src/components/env-variable.tsx
handleSaveChanges
called by 2
apps/web/src/app/site/_components/env-manager.tsx
createTRPCContext
called by 2
apps/web/src/server/api/trpc.ts
createQueryClient
called by 2
apps/web/src/trpc/query-client.ts

Shape

Function 72
Interface 17

Languages

TypeScript100%

Modules by API surface

apps/web/src/components/env-variable.tsx6 symbols
apps/web/src/app/site/_components/subdomain-manager.tsx6 symbols
apps/web/src/server/lib/serverBuild.ts5 symbols
apps/web/src/app/deploy/_components/deploy-form.tsx5 symbols
apps/web/src/app/_components/landing.tsx5 symbols
apps/web/src/app/page.tsx4 symbols
apps/web/src/app/_components/project-item.tsx4 symbols
apps/web/src/trpc/react.tsx3 symbols
apps/web/src/server/lib/build.ts3 symbols
apps/web/src/app/site/_components/env-manager.tsx3 symbols
apps/web/src/app/site/_components/deployment-item.tsx3 symbols
apps/web/src/app/api/github/webhook/route.ts3 symbols

For agents

$ claude mcp add zercel \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact