[READ ONLY MIRROR] Open Source TikTok alternative built on AT Protocol github.com/sprksocial/client
flutter atproto video dart
Something went wrong. Try again.
client CONTRIBUTING.md
1.8 kB
Markdown
Contributing to Spark Client #
Thank you for your interest in contributing to Spark!
How to Contribute #
- Keep changes scoped to the feature you are editing
- Run format, codegen (if needed), and analyze before opening a PR
- Test on a real device or simulator and add screenshots when applicable.
Development #
Prerequisites #
- Flutter SDK 3.41+
- Dart SDK matching Flutter toolchain
- Xcode (for iOS builds) and/or Android SDK
Setup #
From repository root:
touch .env
flutter pub get --enforce-lockfile # install dependencies
dart run build_runner build --delete-conflicting-outputs # generated code
flutter run
Before Submitting #
-
Format your code:
dart format . -
Analyze for issues:
flutter analyze . -
If you changed annotations/models, regenerate code:
dart run build_runner build --delete-conflicting-outputs
Pull Request Guidelines #
- Make your changes following the codebase conventions
- Ensure CI passes (format check, analyze, build)
- Use conventional commit titles. e.g. "fix: remove misshapen meatballs" or "feat(fruit): add strawberries"
Code Conventions #
- Use
package:material_ui/material_ui.dartfor Material UI andappLocalizationDelegatesfor localization in app and test roots. - Prefer
package:spark/...imports; avoid deep relative imports - Import order: Dart SDK, third-party, project; keep
partafter imports - Use strong explicit types; avoid
dynamic - Use Freezed for immutable models and
@riverpodfor providers - Naming: types
PascalCase, members/providerslowerCamelCase, private_name - Keep feature flow: external/API/storage -> repository -> provider -> widget