Goals and Scope
Purpose
This document establishes unified coding standards for all projects within the organization. Its goals are to:
Ensure consistency in code style, naming, and structure across teams and codebases.
Improve readability and maintainability, making it easier for any developer to understand and modify any part of the system.
Reduce the cognitive load during code reviews by eliminating style debates and focusing on logic and design.
Enable automated enforcement of formatting and basic quality rules, catching issues as early as possible in the development cycle.
Serve as the single source of truth for onboarding new team members and resolving style disagreements.
Scope
These standards apply to:
All code artifacts written in C#, TypeScript, Angular (templates, styles), and CSS/SCSS.
All repositories containing microservices, shared npm libraries, or infrastructure-as-code.
All team members contributing to any project covered by this document—developers, tech leads, and anyone submitting pull requests.
Level of Obligation
The rules defined here are mandatory. They are enforced through two complementary mechanisms:
Automated checks (linters, formatters, static analysis) run in the CI pipeline on every pull request. Violations of these checks block the PR from being merged.
Code review focuses on adherence to standards that cannot be fully automated (naming, architecture, documentation). Every PR must be approved by at least one reviewer who verifies compliance.
Where a rule conflicts with a proven better practice in a specific context, the team lead may grant an exception with a documented justification.
How to Use This Document
New team members must read it as part of their onboarding.
Developers consult it when unsure about a stylistic or structural decision.
Reviewers reference specific sections when providing feedback on pull requests.
Maintenance
Any team member can propose changes (additions, clarifications, exceptions) via a pull request to this document.
The tech lead (or delegated quality owner) reviews and merges proposals after team discussion.
The document is versioned, and significant changes are announced to the whole team.