Development Overview
PicDepot is a Nuxt full-stack monorepo: UI in app/, APIs in server/api/, shared types/utils in shared/, D1 migrations in migrations/.
Environment
bash
pnpm install
pnpm devAlso prepare:
- A Cloudflare account after
wrangler login(for remote D1/R2) - Correct
database_id/bucket_name/R2_PUBLIC_BASE_URLin rootwrangler.toml
Suggested workflow
- Read Architecture and decide whether you are changing UI, API, or bindings.
- Schema changes go into new
migrations/00xx_*.sql, thenpnpm db:migrate:local/remote. - New APIs should reuse
server/utils/*(getDb/getBucket/ auth) instead of touchingevent.context.cloudflaredirectly. - Pass
pnpm typecheckandpnpm lintbefore opening a PR.
Docs site locally
bash
cd docs
pnpm install
pnpm devDocs are independent of the app and publish to GitHub Pages via Actions.
Contributing
Issues and PRs are welcome. Keep changes focused; explain motivation and how you verified. Licensed under MIT — see root LICENSE.