{"path":"CONTRIBUTING.md","size":1752,"locked":false,"binary":false,"truncated":false,"content":"# Contributing to Mappers Protocol\n\nThanks for your interest in contributing. Mappers is early-stage, single-maintainer infrastructure — contributions are welcome, but please open an issue before starting substantial work so effort isn't wasted on conflicting approaches.\n\n## Getting Started\n\n1. Read [Getting Started](docs/wiki/Getting-Started.md) for the full local setup guide.\n2. Fork the repo and clone your fork.\n3. Run `pnpm install` at the root. Oracle is included in the same workspace and must not receive a separate npm install or package-lock file.\n4. Create a branch: `git checkout -b fix/short-description` or `feat/short-description`.\n\n## Before Opening a PR\n\n- Run `pnpm run typecheck` and `pnpm run build` — both must pass.\n- Run `pnpm run typecheck:oracle` and `pnpm run test:oracle` when changing Oracle or shared workspace dependencies.\n- If you touched `programs/project_mappers/`, run `anchor test` locally and confirm it passes.\n- Run `pnpm exec prettier --check .` and fix any formatting issues.\n- Keep PRs scoped to one logical change. Large, multi-concern PRs are harder to review and more likely to be rejected.\n\n## Commit Style\n\nUse conventional commit prefixes: `feat:`, `fix:`, `docs:`, `refactor:`, `test:`, `chore:`, `security:`. PR titles are checked automatically — see `.github/workflows/semantic-pr.yml`.\n\n## Reporting Security Issues\n\nDo not open a public issue for security vulnerabilities. See [SECURITY.md](SECURITY.md) for the private disclosure process.\n\n## Code of Conduct\n\nThis project follows the [Code of Conduct](CODE_OF_CONDUCT.md). Participation implies agreement to its terms.\n\n## Questions\n\nReach out via X: [@iamPhatom_](https://twitter.com/iamPhatom_), or open a GitHub Discussion if enabled.\n"}