Files
2026-08-13 15:41:12 +08:00

2.6 KiB

Repository Guidelines

Project Structure & Module Organization

This repository is a private pnpm workspace. Workspace packages are declared in pnpm-workspace.yaml under app/*.

The active application is app/citizen-frontend, a Vue 3 + Vite + Vuetify frontend written in TypeScript. Its source lives in app/citizen-frontend/src/:

  • src/main.ts bootstraps the app and global styles.
  • src/App.vue hosts the router view.
  • src/pages/ contains route-level pages.
  • src/components/ contains reusable Vue components.
  • src/stores/ contains Pinia stores.
  • src/router/ contains Vue Router configuration.
  • src/assets/ stores static assets such as local fonts.
  • src/styles/ contains global style and Vuetify settings.

If a nested AGENTS.md exists, follow the closest one for files in that subtree.

Build, Test, and Development Commands

Run commands from app/citizen-frontend unless noted otherwise.

  • pnpm install: install workspace dependencies.
  • pnpm dev: start the Vite development server.
  • pnpm build: run type-checking and production build.
  • pnpm build-only: build the Vite app without type-checking.
  • pnpm type-check: run vue-tsc.
  • pnpm format: format source files with OXC Formatter.
  • pnpm format:check: check source formatting with OXC Formatter.
  • pnpm preview: preview the production build locally.

Coding Style & Naming Conventions

Use TypeScript, Vue 3 Composition API, and <script setup> for Vue components. Follow the existing Vuetify component style and route/page organization. Use 2-space indentation, single quotes, no semicolons, and trailing commas as enforced by OXC Formatter.

Name Vue pages and components descriptively, matching existing patterns such as self-assessment.vue, DefaultLayout.vue, and Pinia stores under src/stores/.

Testing Guidelines

No dedicated test suite is currently configured. For changes, run at minimum:

pnpm format:check
pnpm type-check

For UI or routing changes, also run pnpm build and manually verify the affected flows in the browser.

Commit & Pull Request Guidelines

Recent commits use short Conventional Commit-style prefixes, for example feat:, style:, and restyle:. Keep commit messages concise and scoped to the change.

Pull requests should include a short summary, affected paths, verification commands run, and screenshots or screen recordings for visible UI changes. Link related issues when available.

Security & Configuration Tips

Do not commit secrets or environment-specific credentials. Keep third-party licenses with bundled assets, especially files under src/assets/.