Skip to main content

Contributing

Development Setup​

Requirements​

  • Node.js — see .nvmrc for the required version
  • Yarn — required package manager (do not use npm or pnpm)
  • Docker & Docker Compose
  • PostgreSQL client (optional, for manual database access)

Getting Started​

See the Installation Guide for full setup instructions.

Branch Strategy​

BranchPurpose
mainProduction-ready releases
qaPre-release testing
developmentActive development (PR target)

All pull requests should target the development branch.

Commit Conventions​

Follow Conventional Commits:

PrefixUsage
featNew features
fixBug fixes
docsDocumentation changes
refactorCode refactoring
choreMaintenance, dependencies, tooling
testTest additions/updates

Code Standards​

  • Clean Architecture per domain
  • TypeScript strict mode — no any
  • Async/await — no .then()/.catch()
  • Path aliases — @/ for imports
  • Zod for all validation
  • kebab-case files, PascalCase types, camelCase functions

See Coding Standards for detailed patterns and conventions.

Adding a New Feature​

  1. Define Prisma schema changes
  2. Create migration
  3. Create domain structure (DTOs, repository types, use cases)
  4. Implement repository, queries, controller
  5. Register in src/api/hris/index.ts
  6. Build frontend (pages, server actions, components)
  7. Add translations to messages/en.json and messages/pl.json