We welcome contributions — from humans, AI agents, or both working together. This guide covers how to contribute well regardless of how you write your code.
**[Join the Discussion](https://github.com/zenchantlive/beadboard/discussions)** if you want to discuss ideas, coordinate on larger work, or just say hi.
**GitHub Issues** — the public-facing list. Browse [open issues](https://github.com/zenchantlive/beadboard/issues) for bugs, feature requests, and help-wanted items.
**Beads** — if you have `bd` installed, you can see work tagged for community contribution:
```bash
bd list --label contrib:open
```
These are curated tasks that are scoped, unblocked, and ready for someone to pick up. If you want to work on one, comment on the linked GitHub Issue (or open one if there isn't one) so we know you're on it.
---
## Before you start
### Quality gates
Every PR must pass these before review:
```bash
npm run typecheck && npm run lint && npm run test
```
If these fail, fix them. PRs with failing gates will be closed without review.
### Claim your work
Comment on the GitHub Issue before starting. This prevents two people from working on the same thing. If you're using `bd`:
This gives your agent the full operating contract: environment validation, bead workflow, mail coordination, verification gates. The [SKILL.md runbook](skills/beadboard-driver/SKILL.md) walks through the 9-step session lifecycle.
### Option 2: Just use bd + the gates
```bash
npm install -g @beads/bd
cd beadboard
bd list --label contrib:open # find available work
> You're contributing to BeadBoard (https://github.com/zenchantlive/beadboard), a multi-agent orchestration system built on Beads.It is critical that you read the CONTRIBUTION.md and be respectful of the maintainers. Keep PRs small, focused and maintainable. Fork the repo, run `npm install`, then check `bd list --label contrib:open` for available work. Install the beadboard-driver skill with `npx skills add zenchantlive/beadboard --skill beadboard-driver` and follow the SKILL.md runbook. Run `npm run typecheck && npm run lint && npm run test` before submitting. Keep PRs under 100 lines and reference the GitHub Issue.