Thank you for your interest in contributing to RunCat365 🐈
RunCat365 is a Windows system monitoring application represented as a running cat animation.
All kinds of contributions are welcome: bug reports, feature requests, and code contributions.
This document describes the rules, steps, and expectations for contributing to this project.
- Only contributions in English are accepted. Any contribution in another language may be closed.
- This project is Windows-only. Issues or requests related to Linux, macOS, or other platforms will not be accepted.
- Always use the provided Issue and Pull Request templates. Submissions that do not follow the templates may be closed.
- Be respectful, constructive, and professional in all interactions.
To report a bug:
- Make sure there is no existing issue reporting the same bug.
If one exists, add any additional relevant information as a comment instead of creating a new issue. - Click
New issueand select theBug Reporttemplate. - Follow all checklist steps and confirm that the bug still occurs.
- Provide clear and complete information. More details help maintainers resolve the issue faster.
- Submit the issue and stay attentive, as maintainers may request additional information.
To suggest a new feature:
- Check if a similar feature request already exists.
If so, please contribute to the existing discussion instead of opening a new one. - Ensure your suggestion benefits a broad range of users and is not only a personal preference.
- Click
New issueand select theFeature Requesttemplate. - Fill out the template as clearly and completely as possible.
- Submit the issue and remain available for follow-up questions.
Important
This option is only for issues that do not fit into the categories above. Issues that do not use the appropriate template will be closed without notice.
- Click
New issueand selectBlank issue. - Describe your request clearly and in detail.
- Submit the issue and stay attentive to maintainer feedback.
- .NET 9.0 is required.
- All code must be written in English.
Use the localization system for user-facing text in other languages. - Use the Allman indentation style.
- Use
varwhen the type is obvious from the assignment. - Follow the existing formatting and conventions used in the codebase.
- Keep each pull request focused on a single change or context. For multiple unrelated changes, create separate pull requests.
- Keep code clean, readable, and easy to understand.
- This repository is licensed under Apache-2.0.
-
Fork the
mainbranch. -
Make sure Git is installed.
-
Clone your fork locally:
git clone https://github.com/your-username/RunCat365.git cd RunCat365 -
Create a new branch:
git switch -c branch-name
Use a short, descriptive branch name.
-
Make your changes using your preferred IDE (Visual Studio is recommended).
-
Keep functions within their respective classes.
-
Verify that the project builds and runs without errors.
-
Ensure no unnecessary or accidental changes were made.
-
Stage your changes:
git add . -
Commit your changes:
git commit -m "Clear and descriptive commit message" -
Push the branch:
git push origin branch-name
- Click New pull request.
- Select the branch you worked on.
- Choose the type of contribution.
- Fill in all requested information clearly and completely.
- Ensure all checklist items are satisfied.
- Submit the pull request.
- Follow existing project conventions.
- Use the Allman indentation style.
- Use meaningful and descriptive names.
- Avoid unnecessary complexity.
- Prefer readable and self-explanatory code over clever solutions.
- Pull requests are reviewed as time permits.
- Not all contributions are guaranteed to be accepted.
- Maintainers may request changes before merging.
- Inactive or non-responsive pull requests may be closed.
- Reviews and comments from non-maintainer community members are welcome and appreciated.
- However, only feedback from maintainers is considered official, and only maintainers decide whether a pull request is merged.
- Community reviewers may not be fully familiar with this project's contribution guidelines, so their suggestions may not always align with project policy.
- Contributors are free to consider community feedback, but should use their own judgment and wait for maintainer review before treating any change as required.
- Do not click
Resolve conversationunless you are the reviewer. Even after pushing a fix in response to a review comment, only the reviewer can decide whether the issue is actually resolved. Pushing a follow-up commit and resolving the conversation yourself bypasses that judgment. - Address each review comment individually rather than bundling them together, unless there is a clear reason to combine them. The larger a single response or diff becomes, the harder it is for the reviewer to evaluate whether each point has been handled correctly. Reply to each comment with the corresponding change so that the discussion stays focused and easy to follow.
Thank you again for contributing to RunCat365. Your time and effort help make this project better for everyone 😸