11# Contributing
22
3- Thank you for considering contributing to this project! We welcome contributions of all kinds .
3+ Contributions are welcome! Whether it's a bug fix, new feature, documentation improvement, or benchmark result — we appreciate your help .
44
5- ## How to Contribute
5+ ## Getting Started
66
7- 1 . Fork the repository
8- 2 . Create your feature branch (` git checkout -b feature/amazing-feature ` )
9- 3 . Commit your changes (` git commit -m 'Add some amazing feature' ` )
10- 4 . Push to the branch (` git push origin feature/amazing-feature ` )
11- 5 . Open a Pull Request
12-
13- ## Development Setup
14-
15- 1 . Clone your fork:
7+ 1 . Fork and clone:
168``` bash
17- git clone https://github.com/your-username/fastify-microservice-starter-ts.git
9+ git clone https://github.com/< your-username> /fastify-microservice-starter-ts.git
1810cd fastify-microservice-starter-ts
1911```
2012
@@ -23,34 +15,52 @@ cd fastify-microservice-starter-ts
2315npm install
2416```
2517
26- 3 . Start NATS server :
18+ 3 . Start NATS:
2719``` bash
28- docker- compose up nats -d
20+ docker compose up nats -d
2921```
3022
31- 4 . Run in development mode :
23+ 4 . Run dev server :
3224``` bash
3325npm run dev
3426```
3527
36- ## Code Style
28+ ## Workflow
29+
30+ 1 . Create a feature branch: ` git checkout -b feature/my-feature `
31+ 2 . Make your changes
32+ 3 . Run checks:
33+ ``` bash
34+ npm run lint
35+ npm run build
36+ npm test
37+ ```
38+ 4 . Commit with a clear message
39+ 5 . Push and open a Pull Request
40+
41+ ## Guidelines
3742
38- - Follow the existing code style
39- - Run ` npm run lint ` before committing
40- - Use TypeScript for all new code
41- - Write meaningful commit messages
43+ - ** TypeScript only** — all new code must be TypeScript with ESM imports (` .js ` extensions)
44+ - ** Keep it lean** — avoid adding unnecessary dependencies
45+ - ** Test your changes** — add or update tests in ` src/__tests__/ `
46+ - ** Follow existing patterns** — match the code style already in the project
47+ - ** Run lint** — ` npm run lint ` must pass with no errors
4248
43- ## Testing
49+ ## Ideas for Contributions
4450
45- - Add tests for new features
46- - Ensure all tests pass: ` npm test `
47- - Ensure the build succeeds: ` npm run build `
51+ - Additional NATS patterns (JetStream, key-value store)
52+ - Schema validation examples (Fastify JSON Schema or Zod)
53+ - OpenTelemetry / tracing integration
54+ - More benchmark scenarios
55+ - Documentation improvements
56+ - Bug fixes and performance improvements
4857
49- ## Pull Request Process
58+ ## Pull Request Checklist
5059
51- 1 . Update the README.md if needed
52- 2 . Ensure your code follows the project's style guidelines
53- 3 . Make sure all tests pass
54- 4 . Request review from maintainers
60+ - [ ] Code follows the project style
61+ - [ ] Tests added/updated and passing
62+ - [ ] Build succeeds (` npm run build ` )
63+ - [ ] Lint passes (` npm run lint ` )
64+ - [ ] README updated if needed
5565
5666Thank you for contributing!
0 commit comments