Thank you for considering contributing to the Ultimate Alarm Clock project! Your contributions are valuable and help make the application even better.
Before getting started, ensure you have the following prerequisites installed on your system:
-
Flutter: Install the latest version of Flutter, including Dart SDK, by following the official installation guide.
-
Git: Version control tool to clone the project's repository.
-
A code editor such as Visual Studio Code or Android Studio with Flutter and Dart plugins.
-
Fork the Repository: Start by forking the project's repository to your GitHub account.
-
Clone the Repository: Clone the forked repository to your local development environment using the following command:
git clone https://github.com/your-username/ultimate-alarm-clock.git
-
Create a Branch: Create a new branch for your contributions, giving it a descriptive name.
git checkout -b your-feature-name
-
Make Changes: Make your desired changes, improvements, or bug fixes in your local environment.
-
Test: Ensure that your changes do not introduce new issues and do not break existing features. Test your code thoroughly.
-
Documentation: If your changes impact the user interface, configuration, or functionality, update the documentation to reflect the changes.
-
Commit:
-
Activate pre-commit hooks (one-time process): We strongly recommend activating the pre-commit hooks to ensure code consistency. Follow the instructions in the Activating Pre-Commit Hooks section. This is a one-time setup process, so you only need to do it once on your local machine.
-
Commit your changes with a clear and concise message:
git commit -m "Add feature/fix: Describe your changes here"
-
Push Changes: Push your changes to your GitHub fork.
git push origin your-feature-name
-
Pull Request: Create a Pull Request (PR) from your fork to the original repository. Ensure your PR has a clear title and description outlining the changes.
-
Code Review: Your PR will undergo code review. Make any necessary adjustments based on feedback.
-
Merge: Once your PR is approved, it will be merged into the main project repository.
To ensure code consistency and improved code readability, we have implemented pre-commit hooks that automatically format your Dart code before each commit. To activate these hooks:
-
Make the hook script executable:
chmod +x .github/hooks/pre_commit.sh
-
Create a symbolic link to the hook:
ln -s ../../.github/hooks/pre_commit.sh .git/hooks/pre-commit
If you find a bug or have a suggestion for improvement, please create an issue on the project's GitHub repository. Be sure to include a clear and detailed description of the problem or enhancement.
We appreciate your contributions to the Ultimate Alarm Clock project, and your help is invaluable in making it even better.
If you have any questions regarding something in the project, do not hesitate to ask :)
- Be respectful and considerate when contributing and interacting with the community.
- Follow the project's coding style, conventions, and best practices.
- Keep your PR focused on a single issue or feature. If you wish to contribute multiple changes, create separate branches and PRs for each.
- Provide a detailed and clear description of your PR, including the purpose of the changes and any related issues.
- Ensure that your code is well-documented and that any new features or changes are reflected in the project's documentation.
- Make sure your contributions do not introduce security vulnerabilities or cause regressions.