59 lines
2.5 KiB
Markdown
59 lines
2.5 KiB
Markdown
# 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 lint`: run ESLint.
|
|
- `pnpm lint:fix`: apply ESLint auto-fixes.
|
|
- `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 where the linter expects them.
|
|
|
|
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:
|
|
|
|
```sh
|
|
pnpm lint
|
|
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/`.
|