Skip to content

Contributing

Contributions of every size are welcome: bug reports, docs, tests and features. The full guide is CONTRIBUTING.md in the repository. This page is the short version.

Workflow

  1. Open an issue first for anything larger than a small fix.
  2. Fork the repo and create a branch: feat/<short-name>, fix/<short-name> or docs/<short-name>.
  3. Make the change, then run:
    flutter analyze
    flutter test
    
  4. Commit using Conventional Commits (feat(cart): …, fix(billing): …).
  5. Open a pull request and fill in the template. CI must be green before merging.

Coding guidelines

  • Follow the project structure when deciding where a file goes.
  • File names use lower_snake_case.dart; imports use package:mealmind/....
  • Keep Firestore writes that belong together in a batch or transaction.
  • Add tests for new logic. See Testing.
  • Never commit your own google-services.json, firebase_options.dart, service-account keys or keystores.

Community

Looking for something to work on? See the roadmap.