Skip to content

Latest commit

 

History

History
69 lines (49 loc) · 1.92 KB

File metadata and controls

69 lines (49 loc) · 1.92 KB

Contributing

Getting Started

  1. Fork and clone the repository
  2. Run flutter pub get to install dependencies
  3. Run dart run build_runner build to generate code
  4. Start developing!

Development

  • Follow Dart/Flutter conventions
  • Run dart format . to format your code (note: generated files like *.g.dart are excluded from CI checks)
  • Run flutter analyze before submitting to check for issues
  • Run flutter test if tests are available
  • Test your changes thoroughly

Code Quality Checks

The project includes automated CI checks that run on all pull requests:

  1. Code Formatting: Ensures code follows Dart formatting standards

    • Run locally: dart format . to format all files
    • Note: CI only checks non-generated files (excludes .g.dart, .freezed.dart)
    • Generated files are reformatted automatically by build tools
  2. Static Analysis: Checks for code issues and potential bugs

    • Run locally: flutter analyze
    • Note: CI excludes generated files from analysis (configured in analysis_options.yaml)
  3. Tests: Runs unit and widget tests (when available)

    • Run locally: flutter test

All these checks must pass before your changes can be merged.

Internationalization (i18n)

This project uses slang for internationalization with JSON files.

Adding New Strings

  1. Add your string to lib/i18n/strings.i18n.json:

    {
      "section": {
        "myNewString": "My new text"
      }
    }
  2. Run dart run slang to regenerate translation files

  3. Use in your code:

    Text(t.section.myNewString)

Adding New Languages

  1. Create new JSON file: lib/i18n/[locale].i18n.json
  2. Copy structure from en.i18n.json and translate values
  3. Run dart run slang to regenerate files

Guidelines

  • Organize strings logically in nested objects
  • Use camelCase for keys
  • Keep strings concise and clear
  • Always run dart run slang after changes