Skip to content

Contributing

If you wish to contribute to the yantrix codebase or documentation, feel free to fork the repository and submit a pull request. We use Turborepo and PNPM to manage the monorepository, therefore, for completeness of perception, we recommend that you familiarize yourself with the official documentation of each of them.

⌨️ Prerequisites

Before you start working with the repository, make sure that you have the following tools globally installed:

🚀 Quick Start

When working with the repository, do the following steps:

  1. Fork and clone the repository (make sure you're on the main branch).
  2. Run pnpm install --frozen-lockfile.
  3. Run pnpm build to build local packages.
  4. Сode whatever your heart desires.
  5. Run pnpm run test to make sure you haven't messed up.
  6. Push your local changes to your remote repository.
  7. Submit a pull request (make sure you follow the conventional commit format).
  8. Voilà, you're in business.

For advanced repository management, you can read this article.

Common Operations

CommandWhat it does
pnpm buildFull monorepo build (all 4 steps) + build summary table
pnpm testRun all tests + print test summary table
pnpm run build:yantrixBuild only @yantrix/* packages
pnpm run build:restBuild non-@yantrix packages
pnpm run build:affectedBuild packages changed vs origin/main
pnpm run test:affectedTest packages changed vs origin/main
pnpm turbo run build --filter=@yantrix/<pkg>Build a single package
pnpm turbo run test --filter=@yantrix/<pkg>Test a single package
cd packages/<pkg> && pnpm buildBuild a single package (shorter form)
cd packages/<pkg> && pnpm testTest a single package (shorter form)
pnpm run summary:buildPrint build stats table without rebuilding
pnpm run summary:testPrint test results without re-running tests
pnpm run lintLint the entire monorepo
pnpm run formatAuto-fix lint issues
pnpm cleanRemove all dist/, coverage/, generated outputs

If you use Claude Code as your AI assistant, optional slash commands for common tasks (safe commits, changelog generation) are documented here.