mirror of
https://github.com/dreamhunter2333/cloudflare_temp_email.git
synced 2026-05-06 20:32:55 +08:00
* feat: unify address selection UI * docs: update changelog for address UI * feat: restore user mailbox tab
1.4 KiB
1.4 KiB
Repository Guidelines
Project Structure
- Backend:
worker/(Workers API; entryworker/src/worker.ts, APIs underworker/src/*_api/). - Frontend:
frontend/(Vue 3 app; routes infrontend/src/router/). - Pages middleware:
pages/functions/_middleware.js. - Mail parser:
mail-parser-wasm/(Rust WASM). - SMTP/IMAP proxy:
smtp_proxy_server/. - DB schema/migrations:
db/. - Docs:
vitepress-docs/.
Build & Dev Commands
Run inside each folder:
- Frontend:
pnpm dev,pnpm build. - Worker:
pnpm dev,pnpm lint,pnpm build. - Pages:
pnpm dev. - Docs:
pnpm devinvitepress-docs/. - WASM:
wasm-pack build --releaseinmail-parser-wasm/. - SMTP proxy:
pip install -r smtp_proxy_server/requirements.txtthenpython smtp_proxy_server/main.py.
Coding Style
- Follow existing module style.
worker/uses TypeScript + ESLint;frontend/uses Vue SFCs. - Keep current naming patterns:
*_api/,utils/,models/. - ESM imports only (
type: module).
Testing
- No formal test runner. Validate with local dev servers and key flows (login, inbox, send/receive).
Commits & PRs
- Use Conventional Commits (
feat:,fix:,docs:). Recent history includes PR numbers like(#123). - PRs should explain scope and add screenshots for UI changes.
Config Tips
- Worker settings in
worker/wrangler.toml(see template for bindings). - Frontend uses
VITE_*env vars. Don’t commit secrets.