Tools out. Work on.
Everyday developer tools, in one place — local-first, open source, no account.
| Author | OutOf0 <hello.outof0@gmail.com> |
| License | MIT |
| Version | 0.1.0 |
apps/web/ Public landing (Vite · React · Tailwind)
brand/ Logos, icons, tokens, voice
design/ design.pen + HTML export reference
Node ≥ 22, pnpm 9.
pnpm install
pnpm dev # http://localhost:5173
pnpm typecheck
pnpm buildTwo options (pick one).
- Cloudflare Dashboard → Workers & Pages → Create → Pages → connect GitHub repo.
- Build settings:
| Field | Value |
|---|---|
| Framework preset | Vite (or None) |
| Root directory | / (repo root) |
| Build command | pnpm install && pnpm build |
| Build output directory | apps/web/dist |
- Environment variables (build):
| Name | Value |
|---|---|
NODE_VERSION |
22 |
Cloudflare detects pnpm via packageManager in root package.json.
- Custom domain: project Custom domains → add
kitland.dev(DNS on Cloudflare).
Workflow: .github/workflows/ci.yml
On push to main: typecheck → build → wrangler pages deploy.
Add repository secrets:
| Secret | Where to get it |
|---|---|
CLOUDFLARE_API_TOKEN |
Cloudflare → My Profile → API Tokens → create token with Cloudflare Pages: Edit |
CLOUDFLARE_ACCOUNT_ID |
Workers & Pages right sidebar / Overview |
Create the Pages project once (name must match kitland):
pnpm install
pnpm exec wrangler login
pnpm exec wrangler pages project create kitland --production-branch=main
pnpm pages:deployLocal preview of the production build:
pnpm pages:devMIT © 2026 OutOf0