Thank you for your interest in contributing! This document explains how to propose changes and what we expect from contributions.
By participating in this project you agree to abide by our Code of Conduct.
- Report a bug — open an issue using the Bug report template.
- Request a feature — open an issue using the Feature request template.
- Improve documentation — small doc fixes are always welcome via pull request.
- Submit code — see the workflow below.
For security vulnerabilities, do not open a public issue. Follow the process in SECURITY.md.
This is an npm workspaces monorepo orchestrated with Turborepo.
Requirements: Node.js >= 22, npm >= 10.
git clone <your-fork-url>
cd CodeArchitects.EnterprisePlatform.WebStack
npm run setup # single install for the whole workspace
npm run build # build every package in dependency order
npm run test # run the test suites
npm run lint # lint all packagesTarget a single package with --filter, e.g.
npx turbo run test --filter=@ca-webstack/reflection.
- Fork the repository and create a topic branch from
master(e.g.feat/short-descriptionorfix/short-description). - Make your change. Keep the diff focused — one logical change per PR.
- Add or update tests for any behavioural change.
- Ensure the full suite is green locally:
npm run build && npm run lint && npm run test
- Write a clear PR description: what changed, why, and how it was verified. Fill in the pull request template.
- Link any related issue (e.g.
Closes #123).
We use Conventional Commits for commit
and PR titles (feat:, fix:, docs:, refactor:, test:, chore: …). This
keeps history readable and helps with release notes.
- Match the style of the surrounding code; the repo's ESLint config is the
source of truth (
npm run lint). - Do not commit build artifacts (
dist/,.tmp/,coverage/,.turbo/,.angular/) — these are git-ignored. - Keep public API changes deliberate; all packages share a single version and pin internal dependencies to it.
This project is licensed under the Apache License 2.0. By submitting a contribution, you agree that your contribution is licensed under the same terms, and you certify that you have the right to submit it under that license (per the Apache License 2.0, Section 5, "Submission of Contributions"). You retain the copyright to your contribution.
Please do not add per-file license headers; the repository is covered by the
root LICENSE and NOTICE, and each package declares "license": "Apache-2.0".
For general questions and support, see SUPPORT.md.