Skip to main content

Contributing

Branch, commit, pull-request, testing, and parser-evidence conventions.

Branches

  • main is production; never push directly.
  • Branch from develop.
  • Pull requests target develop unless explicitly stated otherwise.
  • Use feat/, fix/, refactor/, test/, docs/, or chore/.

Commits

Use conventional first lines:

type: brief description

Add a blank line and detailed body when the reasoning or migration needs explanation. Commit only your own changes and keep unrelated work out.

Do not add automated-agent attribution or local agent guidance files.

Pull requests

Include:

  • summary;
  • added/modified behavior;
  • key technical decisions;
  • screenshots for visible work;
  • testing performed;
  • migration or privacy impact; and
  • known limitations.

Use the repository pull-request template.

Required checks

flutter test must be green. Pull requests also run formatting, analysis, SMS regression reporting, and an Android debug build.

Feature-specific requirements

  • Money changes preserve integer minor units.
  • Parser changes add redacted real golden samples and nearby negative cases.
  • Privacy changes update both in-app copy and public docs.
  • Schema changes add migration and round-trip coverage.
  • User-visible changes are tested in English, Sinhala, and Tamil where applicable.
  • Accessibility and bottom-inset behavior remain intact.

Documentation

Internal design/history belongs in docs/. Public task-oriented documentation belongs in documentation/. Update the screen directory and navigation when a new user surface ships.