First off, thanks for taking the time to contribute! 🎉
The goal of this project is to prove that the Frontend can be 100% dumb and controlled by the Backend.
Before contributing, remember: We do not write UI logic in Flutter. If you want to change the color of a button, you edit the Python Backend JSONs, not the Dart code.
We love contributions here!
- New Components: Add new schemas to
ui_fragments.json. - Theming: Create new themes in
sys_themes.json. - Logic: Improve the FastAPI resolvers.
Only touch the Flutter code if:
- You are optimizing the rendering engine.
- You are fixing a crash in the parser.
- You are adding support for a new native primitive (e.g., a Map or Video Player).
- Fork the repo and create your branch from
main. - If you've added code that should be tested, add tests.
- Ensure your code lints.
- Issue that Pull Request!
Please include:
- The JSON payload causing the error.
- Screenshots of the broken UI.
- Logs from the Flutter console.
Happy Coding! 🚀