Thanks for contributing to Yosemite Crew. This repository is a pnpm + Turborepo monorepo with multiple apps and shared packages.
Read and follow CODE_OF_CONDUCT.md.
- Repository standards: docs/engineering-standards.md
- AI/automation contribution policy: AGENTS.md
If you find a bug, please open an issue with clear reproduction steps, expected behavior, and actual behavior. If you already have a fix, you can open a PR and link the issue.
If you want to propose a feature, open an issue first so maintainers and contributors can align on scope before implementation. Small improvements can go directly as PRs, but major feature work should start with discussion.
apps/backend- API/backendapps/frontend- web appapps/mobileAppYC- React Native mobile appapps/dev-docs- Docusaurus docs apppackages/typesandpackages/fhirtypes- shared packages
- Fork and clone the repository.
- Install dependencies:
pnpm install
- Create a feature branch from
dev:git checkout -b feat/your-change
pnpm install automatically runs prepare, which installs Husky hooks.
Before opening a PR, run:
pnpm run lint
pnpm run type-check
pnpm run test
pnpm run buildYou can run commands for a single workspace with --filter, for example:
pnpm run lint --filter frontend
pnpm run test --filter backendCommit messages are validated by commitlint (locally via Husky and in CI).
Format:
<type>(<scope>): <subject>
Allowed type values:
featfixdocsstylerefactorperftestbuildcichorerevert
Allowed scope values:
backendfrontendmobiledev-docstypesfhirtypesrepocidocs
Rules:
- Subject must be imperative and concise.
- Max header length is 100 characters.
Examples:
feat(frontend): add appointment calendar filtersfix(backend): prevent duplicate invoice generationdocs(repo): clarify local setup for contributors
PR titles must follow the same conventional format as commits:
<type>(<scope>): <subject>
PR checklist:
- Link the related issue (or explain why none exists).
- Keep PRs focused and reasonably small.
- Ensure local hooks pass (
pre-commit,commit-msg,pre-push). - Ensure CI checks pass.
- If behavior or setup changed, update docs in the same PR.
Open PRs against the dev branch unless maintainers request otherwise.
You can safely clean up your branch and sync with upstream:
git push origin --delete your-branch-name
git checkout dev
git pull --ff upstream dev
git branch -D your-branch-name- Never commit
.envfiles or credentials. - Staged changes are scanned locally with Secretlint in
pre-commit. - GitHub Actions also scans for secrets using Gitleaks.
- If you accidentally commit a secret, rotate it immediately and open a security report per SECURITY.md.
- Open a GitHub issue for bugs/features.
- Join community channels linked in README.md.