51 lines
1.3 KiB
Markdown
51 lines
1.3 KiB
Markdown
|
|
# Contributing
|
||
|
|
|
||
|
|
Thank you for considering contributing to this project.
|
||
|
|
|
||
|
|
## Getting Started
|
||
|
|
|
||
|
|
1. Fork the repository and clone it locally
|
||
|
|
2. Install dependencies: `pnpm install`
|
||
|
|
3. Create a branch for your changes: `git switch -c feature/my-change`
|
||
|
|
4. Make your changes and ensure they pass checks
|
||
|
|
|
||
|
|
## Development Workflow
|
||
|
|
|
||
|
|
Before submitting a pull request, please verify:
|
||
|
|
|
||
|
|
```sh
|
||
|
|
pnpm type-check # TypeScript type checking
|
||
|
|
pnpm lint # ESLint and oxlint
|
||
|
|
pnpm test:unit:run # Unit tests
|
||
|
|
pnpm build # Production build
|
||
|
|
```
|
||
|
|
|
||
|
|
## Coding Standards
|
||
|
|
|
||
|
|
- Write all user-facing text in **British English**
|
||
|
|
- Use the Composition API with `<script setup>` for Vue components
|
||
|
|
- Format code with Prettier before committing: `pnpm format`
|
||
|
|
- Follow existing patterns in the codebase for naming and structure
|
||
|
|
|
||
|
|
## Commit Messages
|
||
|
|
|
||
|
|
This project follows semantic commit conventions:
|
||
|
|
|
||
|
|
```
|
||
|
|
<type>(<scope>): <subject>
|
||
|
|
```
|
||
|
|
|
||
|
|
Types: `feat`, `fix`, `docs`, `style`, `refactor`, `test`, `chore`
|
||
|
|
|
||
|
|
Keep the subject line under 50 characters and use imperative mood ("add" not "added").
|
||
|
|
|
||
|
|
## Pull Requests
|
||
|
|
|
||
|
|
- Keep changes focused — one feature or fix per pull request
|
||
|
|
- Update or add tests when changing functionality
|
||
|
|
- Ensure the CI pipeline passes before requesting review
|
||
|
|
|
||
|
|
## Questions
|
||
|
|
|
||
|
|
Open an issue for questions, bug reports, or feature requests.
|