This monorepo powers rebase.network: the public community website, the internal admin workspace, and the backend services that support both.
The repository brings together four parts of the product in one place:
- a public site for readers in
apps/web - a custom admin workspace for editors and operators in
apps/admin - API and auth services in
apps/api - shared database, validation, and UI packages in
packages/*
Rebase V1 is intentionally content-first.
- readers do not log in
- staff work through a purpose-built admin workspace
- GeekDaily search is in scope
- GeekDaily detail pages use
/geekdaily/geekdaily-{episode-number} - GeekDaily titles default to
极客日报#{episode-number}during migration - hiring detail pages and hiring RSS are in scope
- RSS feeds publish the latest 3 items per feed in V1
- event registration is out of scope
The current stack is:
- Astro for the public site
- Vue for the admin workspace
- Hono for the API runtime
- Better Auth for authentication
- PostgreSQL and Drizzle for data and migrations
- Cloudflare Workers and R2 for runtime and media storage
For the full local setup guide, use docs/local-development.md. The shortest path to a working local stack is:
nvm install
nvm use
corepack enable
corepack prepare pnpm@10.6.5 --activate
cp .env.example .env
pnpm install
pnpm local:bootstrap
pnpm dev:stackWhat this does:
- starts local PostgreSQL
- applies Drizzle migrations
- seeds baseline content and archive data
- bootstraps a local admin account
- runs the web app, admin app, and API together
Local services:
- public site:
http://127.0.0.1:4321 - admin workspace:
http://127.0.0.1:5174 - API:
http://127.0.0.1:8788 - PostgreSQL:
127.0.0.1:55433
If you need the default local admin credentials or want to override them, see docs/local-development.md.
pnpm local:bootstrap: prepare the full local stack from database startup through admin bootstrappnpm dev:stack: run API, admin, and web togetherpnpm dev:public: run API and the public sitepnpm dev:ops: run API and the admin workspacepnpm dev:web: run only the Astro public sitepnpm dev:admin: run only the Vue admin workspacepnpm dev:api: run only the Hono APIpnpm db:migrate: apply Drizzle migrationspnpm db:seed: reseed baseline content and importgeekdaily.csvwhen availablepnpm admin:bootstrap: recreate or refresh the local admin accountpnpm test:smoke: run Playwright smoke checks
apps/web: public websiteapps/admin: internal admin workspaceapps/api: API, auth, and admin bootstrap scriptpackages/db: schema, migrations, and seed datapackages/shared: shared validation and contractspackages/types: shared typespackages/ui: shared UI building blocksinfra/postgres: local PostgreSQL container setupinfra/production: production deployment configurationscripts/local: local development scriptstests/smoke: Playwright smoke coverage
Start here:
README.md: repository overview and contributor quick startDESIGN.md: design-document index for the repositorydocs/local-development.md: local setup, commands, and archive import notesdocs/v1-scope.md: V1 goals, scope, and non-goals
Product and delivery:
docs/content-model.md: public content domains, field rules, and URL conventionsdocs/implementation-plan.md: delivery phases and milestone expectationsdocs/acceptance-criteria.md: product and module-level acceptance criteriadocs/quality-assurance.md: validation standards and smoke-check expectations
Architecture and admin system:
docs/architecture.md: system architecture, deployment, caching, and runtime decisionsdocs/admin-architecture.md: custom admin, API, auth, and media architecturedocs/admin-information-architecture.md: operator workflows and admin module structuredocs/admin-data-model.md: backend tables, workflow states, and validation-critical constraints
Design references:
apps/web/design_principles.md: public-site design intent and interaction rulesapps/web/DESIGN.md: public-site visual specificationapps/admin/design_principles.md: admin UX intent and workflow guidanceapps/admin/DESIGN.md: admin visual specification
Operations and release:
docs/deployment.md: operator handbookdocs/production-config.md: production settings indexdocs/launch-checklist.md: release verification checklist
Workflow conventions for coding agents live in AGENTS.md.