Contributing

Contributing

Edit page
Help improve Customer Portal through code, documentation, testing, design, and reusable feature layers.

Customer Portal is intended to grow through collaboration. Contributions do not need to begin with a large module: a clearer guide, a failing test, a reproducible issue, or a focused accessibility improvement can be the most useful first change.

Ways to contribute

  • Report a reproducible bug or confusing workflow.
  • Improve documentation, examples, diagrams, and terminology.
  • Add tests around authorization, tenancy, or feature boundaries.
  • Improve accessibility, responsive behavior, or translations.
  • Fix or extend an existing layer.
  • Propose a reusable business capability as a new feature layer.

Before opening code

  1. Search existing issues and pull requests, then choose the matching structured issue form.
  2. Describe the user problem and the affected layer.
  3. For a substantial feature, discuss the boundary before building it. A good layer owns one coherent business capability.
  4. Keep the first pull request reviewable; separate infrastructure changes from product behavior when possible.

Local checks

Run the checks that match your change and, before requesting review, run the full project suite:

Terminal
pnpm test:features
pnpm lint
pnpm typecheck
pnpm build

Database changes also require a generated migration that has been reviewed and applied to a disposable PostgreSQL database.

Review principles

Contributions are easier to merge when they:

  • preserve the headless core boundary;
  • scope every tenant-owned query to the active organization;
  • include English and Dutch keys together;
  • use explicit request, persistence, and response types;
  • document behavior and tradeoffs, not only implementation;
  • avoid coupling the host application to a feature.

Have an idea for a reusable capability? Read module proposal guidance, then open the reusable layer proposal form. When the boundary is agreed, continue with create a feature layer, distribute the layer, and testing contributions. Documentation-only changes have a separate writing guide. Use Community and support to choose the right channel and report security concerns privately.