Contributing

Maskr is open source and welcomes contributions. Whether you're fixing a bug, improving the docs, or building a new feature, this page explains how to get involved.

Getting started

  1. Fork the repository on GitHub.
  2. Clone your fork:
    git clone https://github.com/your-username/maskr-space.git cd maskr-space
  3. Install dependencies with Bun:
    bun install
  4. Start the development server:
    bun run web
    The app will be available at http://localhost:3000.
  5. Create a branch for your change:
    git checkout -b feat/your-feature-name
  6. Open a pull request against the main branch with a clear description of what you changed and why.

Project structure

  • apps/web — the main Maskr application (Next.js)
  • apps/docs — this documentation site (Next.js)
  • apps/admin — internal admin dashboard
  • packages/shared — shared utilities, types, and Nostr helpers used across apps

Guidelines

  • TypeScript — all new code should be written in TypeScript with proper types. Avoid any.
  • Follow existing patterns — before adding a new utility or component, check whether something similar already exists in the codebase.
  • Write tests — add unit tests (Vitest) for logic-heavy code and E2E tests (Playwright) for critical user flows where appropriate.
  • Keep PRs focused — one feature or fix per pull request. Large, sweeping PRs are harder to review and more likely to introduce regressions.
  • Commit messages — use conventional commits format (feat:, fix:, chore:, etc.).

Reporting issues

Found a bug or have a feature request? Open an issue on GitHub Issues. Please include steps to reproduce for bugs, and as much context as possible for feature requests.

Questions?

Reach the team at info@maskr.space.