This document provides a high-level guide for contributors working on the git-merged-branches codebase. It outlines the toolchain, development workflows, and project standards.
For information about automated release processes and CI/CD pipelines, see Release Management. For details about the system architecture and module organization, see Architecture.
The project uses a modern TypeScript stack managed by pnpm package.json10 The toolchain is designed for high performance, utilizing tsdown for bundling and vitest for testing.
Sources: package.json27-44 tsconfig.json1-15 tsdown.config.ts1-7
The build process is managed by tsdown, which handles TypeScript compilation and bundling into a minified ES module format package.json3-39
dist/index.mjs package.json27#!/usr/bin/env node) to ensure CLI compatibility and executes publint to verify package exports tsdown.config.ts4-7For details, see Build System.
Sources: tsdown.config.ts1-7 package.json39
Testing is performed using vitest. The test suite focuses on validating the output formatting logic and Git interaction orchestration package.json40-55
npm run test to execute the suite once package.json40package.json configuration.For details, see Testing.
Sources: package.json40-55
The project maintains high code quality through a combination of TypeScript type checking and ESLint linting package.json41-44
neostandard with specific @stylistic overrides for double quotes and semicolon enforcement eslint.config.js1-25tsc is used in noEmit mode to validate type integrity without generating files package.json41 tsconfig.json10For details, see Code Quality.
Sources: eslint.config.js1-25 package.json41-44
pnpm is the required package manager package.json10 A key feature of the dependency strategy is the use of nolyfill overrides.
array-includes or object.assign) are overridden with nolyfill versions package.json57-7722.18.0 or higher package.json36For details, see Dependency Management.
Sources: package.json10-77 pnpm-lock.yaml7-25
To begin contributing, clone the repository and install dependencies using pnpm.
For details, see Local Development Setup.
Sources: package.json10-39