Contributing to Nylo
Introduction
Thank you for considering contributing to Nylo!
This guide will help you understand how you can contribute to the micro-framework, no matter your experience level.
Whether you're a beginner or an experienced developer, your contributions are valuable to the Nylo community.
Getting Started
Before you begin contributing to Nylo, please ensure you have the following:
- Fork the Nylo repositories
- Clone your forks locally
-
git clone https://github.com/nylo-core/nylo
-
git clone https://github.com/nylo-core/framework
-
git clone https://github.com/nylo-core/support
-
- Open the repositories in your preferred code editor
Set up your development environment
Open the Nylo repository in your code editor and add the following:
pubspec.yaml
...
dependency_overrides:
nylo_framework:
path: ../framework # Path to your local framework repository
nylo_support:
path: ../support # Path to your local support repository
Next, run flutter pub get
to install the dependencies.
Now, you should be able to run the Nylo project with your local framework and support repositories.
Any changes you make to the framework or support repositories will be reflected in the Nylo project.
Submitting Changes
If you have an idea, it's best to discuss it with the community first.
You can do this by creating a new discussion on GitHub here.
Once you have a clear idea of the feature you want to add, you can start working on it.
# Create a new branch
git checkout -b feature/your-feature-name
Once you've completed the feature, commit your changes and push them to your fork.
# Commit your changes
git commit -m "Add: Your feature description"
# Push your changes
git push origin feature/your-feature-name
Finally, submit a pull request into the repository you forked from.
Development Guidelines
When contributing to Nylo, please follow these guidelines:
Code Style
- Follow the official Dart style guide
- Use meaningful variable and function names
- Write clear comments for complex logic
- Include documentation for public APIs
- Keep code modular and maintainable
Testing
Before submitting your changes:
- Verify backwards compatibility
- Check for any breaking changes
- Test your changes on IOS and Android devices
Pull Request Guidelines
- Provide a clear description of your changes
- Reference any related issues
- Include screenshots or code examples if applicable
- Ensure your PR addresses only one concern
- Keep changes focused and atomic
Reporting Issues
When reporting issues:
- Use the GitHub issue tracker
- Check if the issue already exists
- Include detailed reproduction steps
- Provide system information:
- Flutter version
flutter --version
- Nylo framework version from pubspec.yaml, e.g.
nylo_framework: ^6.5.0
- Device information (if relevant)
- Flutter version
Example of a good issue report:
### Description
Brief description of the issue
### Steps to Reproduce
1. Step one
2. Step two
3. Step three
### Expected Behavior
What should happen
### Actual Behavior
What actually happens
### Environment
- Flutter: 3.x.x
- Nylo: x.x.x
- OS: macOS/Windows/Linux
- Device: iPhone 13/Pixel 6 (if applicable)