This document provides guidelines for AI coding agents working on The Combine codebase. Following these guidelines ensures consistency, quality, and compatibility with the project's development workflow.
Never commit or push directly to the master branch.
All commit messages must satisfy the defaults of gitlint.
Key requirements:
- Minimum title length: 4 characters (as configured in
.gitlint) - Follow conventional commit message format
- Keep the title concise and descriptive
- Add detailed explanations in the commit body when necessary
Example:
Add user authentication endpoint
Implements JWT-based authentication for user login.
Includes validation and error handling.
Relevant for Backend/ and Backend.Tests/.
- Refer to
docs/style_guide/c_sharp_style_guide.mdfor C# conventions
After any backend changes, run the backend formatter:
npm run fmt-backendThis command runs dotnet format on both the main Backend project and Backend.Tests.
To check formatting without making changes:
npm run fmt-backend-checkUse npm run i (not npm install, nor npm i, nor npm ci) to install frontend dependencies.
After any frontend dependency changes, generate an updated license report:
npm run license-report-frontendThis command:
- Runs
license-checker-rseidelsohnto analyze all frontend dependencies - Outputs the results to
docs/user_guide/assets/licenses/frontend_licenses.txt
Before finalizing your changes, ensure you have:
- Written commit messages that satisfy gitlint requirements
- Followed the appropriate style guide (TypeScript or C#)
- Run
npm run fmt-backendafter backend changes - Run
npm run fmt-frontendafter frontend changes - Run
npm run license-report-backendafter backend dependency changes - Run
npm run license-report-frontendafter frontend dependency changes - Regenerated OpenAPI specification after
Backend/Controllers/changes - Added only English to translation and user guide files (no manual translations)