1.7 KiB
1.7 KiB
Contributing to SupportHub API
Thank you for contributing to SupportHub API. Please review the following guidelines before submitting changes.
Branch Naming Convention
feature/<short-description>: New domain feature or infrastructure additionbugfix/<short-description>: Bug fixrefactor/<short-description>: Code restructuring without functional changeschore/<short-description>: Tooling, dependency, or documentation updates
Commit Message Format
Use Conventional Commits:
<type>(<scope>): <short summary>
[optional body]
Examples:
feat(ticketing): add ticket priority calculator strategyfix(queue): resolve BullMQ connection leak on shutdownchore(deps): update fastify to 4.26.2
Architecture Rules
- Self-Contained Modules: Every domain feature belongs in
src/modules/<group>/<module>. - Public Boundary: Expose public domain interfaces strictly via
index.ts. Deep cross-module imports are prohibited. - Layer Isolation:
HTTP Route / Controller-> CallsServiceService-> CallsRepository/EngineRepository-> CallsPrismaClient/Database- Controllers MUST NOT directly query Prisma.
- Architecture Check: Run
npm run architecture:checkbefore committing.
Code Quality & Verification Gates
Before submitting a Pull Request, all of the following local commands must pass:
npm run typecheck
npm run architecture:check
npm run lint
npm run format:check
npm run test
npm run build
Pull Request Guidelines
- Create a PR against
main. - Provide a clear description of changes and design decisions.
- Ensure CI pipeline checks pass completely.