{"path":"CONTRIBUTING.md","size":1844,"locked":false,"binary":false,"truncated":false,"content":"# Contributing to Anchr\n\nThanks for your interest in Anchr! This project is currently in early MVP\nstage — scope is intentionally locked down (see `docs/ROADMAP.md`), so the\nmost useful contributions right now are bug fixes, documentation, and tests\nrather than new features.\n\n## MVP scope (please read before proposing features)\n\nThe MVP is deliberately narrow:\n- Frameworks: Vite, Next.js (static export), Create React App\n- Pinning: Storacha only\n- Domains: SNS (`.sol`) only, V1 record format\n\nMulti-provider pinning, ENS/Unstoppable Domains, custom domains, and an\nenv-var/logs UI are all planned for later versions. Feature requests in these\nareas are welcome as issues for discussion, but PRs implementing them before\nthe MVP is stable will likely be deferred.\n\n## Development setup\n\n```bash\ngit clone https://github.com/mrphatom/anchr.git\ncd anchr\nnpm install\ncp .env.example .env   # fill in your own credentials — see README.md\n```\n\nRun the linter and tests before opening a PR:\n\n```bash\nnpm run lint\nnpm test\n```\n\n## Pull requests\n\n1. Fork the repo and create a branch off `main`\n2. Keep PRs small and focused — one logical change per PR\n3. Update `CHANGELOG.md` under an \"Unreleased\" heading\n4. Make sure `npm run lint` and `npm test` pass\n5. Describe *what* changed and *why* in the PR description\n\n## Reporting bugs\n\nUse the bug report issue template. Include your Node version, OS, and the\nexact command/output where possible.\n\n## A note on on-chain and credential-touching code\n\nAnything touching `lib/sns.js` (Solana transactions) or `lib/storacha.js`\n(upload credentials) gets extra scrutiny before merging — mistakes here can\ncost real funds or leak credentials. If you're touching those files, please\ntest against Solana **devnet** and a throwaway Storacha space first, and say\nso explicitly in your PR description.\n"}