Contributing

Community and support

Edit page
Choose the right Customer Portal channel for questions, bugs, documentation, module proposals, and security reports.

Customer Portal collaboration currently happens through GitHub issues and pull requests. Choosing the right repository and including useful evidence makes it easier for maintainers and other contributors to respond.

Where to start

NeedChannel
Product bugBug report form
Product feature requestFeature request form
Reusable layer ideaRead Propose a module, then use the layer proposal form
Incorrect or unclear documentationUse Report a docs issue on the affected page; the report is tracked in the documentation repository with the page and verified product revision prefilled
Documentation correctionUse Edit page on the affected page and open a focused pull request
Security vulnerabilityFollow the private reporting guidance below; do not open a public issue
General implementation questionSearch the docs and existing issues first, then use the question form with a minimal example

The project does not currently promise a support response time. A clear, reproducible report gives the community the best chance of helping.

Documentation reports and pull requests belong in the documentation repository. Product behavior belongs in the Customer Portal tracker. The page action begins documentation issue titles with Docs: and includes the source pin automatically, which keeps a report reproducible when the product moves forward.

GitHub Discussions are not currently enabled for either repository. Use an issue for a question that could help other users, and keep one issue focused on one problem or proposal.

The product repository also publishes contribution guidelines, a support channel map, a security policy, and a pull-request checklist. GitHub surfaces these files automatically while someone creates an issue or pull request.

Useful issue reports

Before reporting a problem, reproduce it against a known Customer Portal commit and search for an existing report. Include:

  • the exact commit from git rev-parse HEAD;
  • the affected layer and route;
  • user role and organization context, without real customer data;
  • setup, action, expected result, and actual result;
  • relevant browser, Node.js, PostgreSQL, and deployment details;
  • a minimal reproduction, sanitized log excerpt, screenshot, or failing test when possible;
  • whether the problem occurs with the feature layer removed.

Never attach .env files, database exports, session cookies, API keys, OAuth secrets, customer invoices, or personal timesheet data.

Pull requests

Open one coherent change per pull request. Explain the user problem, architectural boundary, authorization impact, schema changes, and verification performed. Mark incomplete work as a draft.

Review is a technical conversation. Contributors and maintainers should:

  • discuss the work rather than the person;
  • make assumptions and tradeoffs explicit;
  • support corrections with code, tests, documentation, or reproducible behavior;
  • welcome questions and unfamiliarity with the codebase;
  • avoid harassment, discrimination, threats, sexualized content, and disclosure of another person's private information;
  • step away or ask a maintainer to moderate when a discussion stops being constructive.

Maintainers may edit, hide, lock, or close participation that makes the project unsafe or persistently unproductive. A formal project-wide code of conduct should be adopted before the first stable release.

Security

Do not describe a suspected vulnerability in a public issue, discussion, pull request, or documentation report.

Use GitHub's private vulnerability reporting from the Security tab of the affected repository when it is enabled. Report product, authentication, authorization, tenant-isolation, invoice, and timesheet vulnerabilities to the Customer Portal repository. Report vulnerabilities specific to the documentation deployment to the documentation repository.

Include the affected commit, impact, prerequisites, reproduction steps, and a suggested mitigation if known. Use synthetic accounts and records; do not test against organizations or data you do not own.

Current project status

Customer Portal is in active development and does not yet publish versioned releases or a support lifecycle. Read Compatibility and releases before depending on an internal API or deploying an upstream update.