Contributing
Contributions are welcome, especially when they improve V1 usefulness without weakening local-first trust.
High-value areas
Section titled “ High-value areas”- Open issues marked for V1 readiness.
- Rule presets and fixtures.
- Accessibility and keyboard navigation.
- Manual Chrome coverage for browser-changing actions.
- Documentation clarity for rules, restore, backup, and diagnostics.
- Store-ready screenshots and release assets after the manual smoke pass.
Quality gates
Section titled “ Quality gates”Before opening a pull request:
pnpm verify:push
For docs-only changes, run formatting and check that links resolve.
Development install
Section titled “ Development install”Use the development install path only when contributing or testing release candidates locally.
Requirements
Section titled “Requirements”- Node.js 22 or newer.
- pnpm 10.
- Chrome or Chromium with extension developer mode available.
Run the extension locally
Section titled “Run the extension locally”pnpm install
pnpm dev
WXT opens Chrome with the extension loaded for development.
Load a release candidate
Section titled “Load a release candidate”pnpm verify:push
pnpm build
pnpm zip
Load .output/chrome-mv3 from Chrome’s extension page in developer mode, then
run the manual release checks before publishing.
Release candidates also need clean store screenshots, release notes, permission
copy, privacy notes, and the manual Chrome checklist in
docs/manual-test-plan.md.
Guardrails
Section titled “ Guardrails”- Keep Chrome API calls behind wrappers.
- Validate persisted and imported data with Zod.
- Do not add backend, telemetry, or AI to V1.
- Do not introduce arbitrary JavaScript in rules.
- Require confirmation before destructive browser-changing actions.
Read the full repository guide: CONTRIBUTING.md.
Community standards
Section titled “ Community standards”TabBoy uses a small project code of conduct focused on kind, practical, privacy-aware collaboration:
