forked from checkstyle/checkstyle
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
doc: improve README.md add CONTRIBUTING.md add GSOC.md
- Loading branch information
Showing
5 changed files
with
359 additions
and
104 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,32 +1,132 @@ | ||
# Contributing | ||
# Contribution Guidelines | ||
|
||
 | ||
|
||
* [Reporting issues](https://checkstyle.org/report_issue.html) | ||
* [How to report a bug?](https://checkstyle.org/report_issue.html#How_to_report_a_bug.3F) | ||
* [Issue Template](https://github.com/checkstyle/checkstyle/blob/master/.github/ISSUE_TEMPLATE/bug_report.md) | ||
--------------------------------- | ||
|
||
Please provide issue report in the format that we request, EACH DETAIL IS A HUGE HELP. | ||
**This guide serves to set clear expectations for everyone involved with the project so that | ||
we can improve it together while also creating a welcoming space for everyone to participate. | ||
Following these guidelines will help ensure a positive experience for contributors and | ||
maintainers alike.** | ||
|
||
Issues that are not following the guidelines, | ||
will be processed as last priority or never or simply closed as invalid. | ||
:octocat: *Thanks for your interest in contributing to CheckStyle!* :octocat: | ||
|
||
## Contributing Guide | ||
## Contents | ||
|
||
Please note that PRs are looked only for approved issues. Follow the PR guide for opening a PR | ||
- [Code of Conduct](#code-of-conduct) | ||
- [Getting Started](#getting-started) | ||
- [Opening an Issue](#opening-an-issue) | ||
- [Reporting Security Issues](#reporting-security-issues) | ||
- [Submitting Pull Requests](#submitting-pull-requests) | ||
- [Code Review](#code-review) | ||
- [Google Summer of Code](#google-summer-of-code) | ||
- [Asking Questions](#asking-questions) | ||
- [Credits](#credits) | ||
|
||
* [Pull Request Template](https://github.com/checkstyle/checkstyle/blob/master/.github/PULL_REQUEST_TEMPLATE.md) | ||
## Code of Conduct | ||
|
||
Please follow the below links in order to start contributing to the checkstyle project | ||
This project and everyone participating in it is governed by the | ||
[CheckStyle Code of Conduct](/.github/CODE_OF_CONDUCT.md). | ||
|
||
* [Beginning Development](https://checkstyle.org/beginning_development.html) | ||
## Getting Started | ||
|
||
* [Contribution Guidelines](https://checkstyle.org/contributing.html) | ||
- Please see the [CheckStyle Documentation](https://checkstyle.org/beginning_development.html) | ||
for information on how to get started with the project. This includes setting up your | ||
development environment, building the project, and running tests. | ||
- Take a look at the [Contribution Guidelines](https://checkstyle.org/contributing.html) for | ||
on how to contribute to the project. | ||
- Select an issue to work on from the | ||
[Issues Page](https://github.com/checkstyle/checkstyle/issues). We | ||
have a few issues labeled as | ||
https://github.com/checkstyle/checkstyle/labels/good%20first%20issue to | ||
help you get started. Once you get your first PR merged, you can move on to | ||
https://github.com/checkstyle/checkstyle/labels/good%20second%20issue, | ||
https://github.com/checkstyle/checkstyle/labels/good%20third%20issue, | ||
and finally https://github.com/checkstyle/checkstyle/labels/good%20fourth%20issue | ||
before taking up some bug fixes or features. Always make sure that the issue you select | ||
has the https://github.com/checkstyle/checkstyle/labels/approved label. | ||
|
||
Find the links below to import the checkstyle project to an IDE | ||
## Opening an Issue | ||
|
||
* [Importing checkstyle project to IntelliJ](https://checkstyle.org/idea.html) | ||
A great way to contribute to the project is to create a detailed issue when you encounter | ||
a problem or would like to suggest a feature. We always appreciate a well-written, | ||
thorough issue description. :brain: | ||
|
||
* [Importing checkstyle project to Eclipse](https://checkstyle.org/eclipse.html) | ||
Some points to consider when opening an issue: | ||
|
||
* [Importing checkstyle project to Netbeans](https://checkstyle.org/netbeans.html) | ||
- **Make sure you are using the latest Checkstyle version.** | ||
Before [Opening an Issue](https://github.com/checkstyle/checkstyle/issues), | ||
check if you are using the latest version of the project, | ||
[found here](https://github.com/checkstyle/checkstyle/releases). If you are not up-to-date, | ||
check to see if updating to the latest release fixes your issue. | ||
- **Do not open a duplicate feature request.** Search for existing feature requests first. If you | ||
find your feature (or one very similar) previously requested, comment on that issue. | ||
- **Fully complete the provided issue template.** The bug report and feature request templates | ||
specify all the information we need to quickly and efficiently address your issue. Be clear, | ||
concise, and descriptive. | ||
Provide as much information as you can, including steps to reproduce, stack traces, etc. | ||
- **Use [GitHub-flavored Markdown](https://help.github.com/en/github/writing-on-github/basic-writing-and-formatting-syntax).** | ||
Especially put code blocks and console outputs in backticks (```). This improves readability. | ||
|
||
## Reporting Security Issues | ||
|
||
**Do not file a public issue for security vulnerabilities.** Please contact the | ||
maintainers directly. | ||
see the [Security Policy](https://github.com/checkstyle/checkstyle/blob/master/SECURITY.md) | ||
for more information. | ||
|
||
## Submitting Pull Requests | ||
|
||
- **Read our pull request rules.** See [PR Rules](https://github.com/checkstyle/checkstyle/wiki/PR-rules). | ||
- **Comment on the issue.** When you decide which issue you would like to take up, | ||
please comment on the issue to let others know that you are working on it ("I am on it."). | ||
Existing "I am on it" comments are a good indication that someone is already working on the | ||
issue, but these comments can be old or outdated; if a comment is a few weeks old with no | ||
activity, feel free to ask if the issue is still being worked on. | ||
- **Read the Github docs.** Visit GitHub's [Pull Request Guide](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests) | ||
for information on how to submit a pull request. | ||
- **Follow the template.** Please follow the [CheckStyle Pull Request Template](https://github.com/checkstyle/checkstyle/blob/master/.github/PULL_REQUEST_TEMPLATE.md) | ||
that is provided in the pull request description when submitting a pull request. | ||
- **Run maven build locally.** `mvn clean verify` should pass on your local before | ||
submitting a pull request. | ||
- **Keep the PR small.** If you are working on a large feature, consider breaking it up into | ||
smaller PRs that can be reviewed and merged independently. This makes it easier for | ||
reviewers to understand the changes and for maintainers to merge the PR. | ||
|
||
## Code Review | ||
|
||
All submissions, including submissions by project members, require review. We use GitHub pull | ||
requests for this purpose. Consult the [GitHub Help](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-request-reviews) | ||
for more information on pull request reviews. | ||
|
||
Here are some general guidelines to follow when submitting a pull request: | ||
|
||
- **Reply to comments.** If a reviewer asks for changes, reply to each | ||
(and every) comment with discussion or follow up questions, or let the reviewer know | ||
that you have addressed their concerns ("done"). | ||
- **Be patient.** Reviewing PRs takes time. If a reviewer hasn't responded in a week or so, | ||
feel free to ping them. If you are a reviewer and you need more time to review a PR, please | ||
let the submitter know. | ||
- **Be kind.** Remember that everyone involved in the project is a human being. Be kind and | ||
respectful in your comments and reviews. | ||
- **Be open to feedback.** If a reviewer asks for changes, be open to their feedback. Remember that | ||
the goal is to improve the project, and feedback is an important part of that process. | ||
|
||
## Google Summer of Code | ||
|
||
Please see the [GSoC Participant Guide](https://github.com/checkstyle/checkstyle/blob/master/.github/GSOC.md). | ||
|
||
## Asking Questions | ||
|
||
See our [Discussions Page](https://github.com/checkstyle/checkstyle/discussions). In short, GitHub | ||
issues are not the appropriate place to debug your specific project, but should be reserved | ||
for filing bugs and feature requests. You can also visit our | ||
[Google Groups Forum](https://groups.google.com/g/checkstyle-devel) | ||
|
||
## Credits | ||
|
||
*This document was inspired by work from the following communities:* | ||
|
||
- [CocoaPods](https://github.com/CocoaPods/CocoaPods/blob/master/CONTRIBUTING.md) | ||
- [Docker](https://github.com/moby/moby/blob/master/CONTRIBUTING.md) | ||
- [.github](https://github.com/jessesquires/.github) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,125 @@ | ||
# GSOC Participant Guide | ||
|
||
 | ||
|
||
--------------------------------- | ||
|
||
**This guide serves to set clear expectations and provide guidance for Google Summer of Code (GSoC) | ||
participants.** | ||
|
||
:sun_with_face: Thanks for your interest in participating in GSoC with Checkstyle! :sun_with_face: | ||
|
||
## Contents | ||
|
||
- [Getting Started](#getting-started) | ||
- [Additional Tips](#additional-tips) | ||
- [Your Proposal](#your-proposal) | ||
|
||
## Getting Started | ||
|
||
Thanks for your interest in participating in GSoC with Checkstyle! Joining Checkstyle for the summer | ||
is a great way to learn about open source software development and contribute to a widely-used | ||
project. We are excited to work with you and help you grow as a software developer. You don't | ||
need to be an expert in Java or Checkstyle to participate. We are looking for participants who are | ||
eager to learn, work hard, and are excited to contribute to open source software. Additionally, we | ||
want you to stick around after GSoC and become a long-term member of our community :smile:. | ||
|
||
Please take the time to read through this guide and familiarize yourself with the project. If you | ||
have any questions, please don't hesitate to ask. We are here to help you succeed. If you have | ||
not already done so, please read through the following documentation provided by Google: | ||
|
||
- [GSoC Participant Guide](https://summerofcode.withgoogle.com/rules/). | ||
- [GSoC FAQ](https://developers.google.com/open-source/gsoc/faq). | ||
|
||
### Recommended Steps | ||
|
||
- **Get to know the project.** Spend some time reading through the Checkstyle documentation and | ||
familiarizing yourself with the project. You can find the documentation at | ||
[https://checkstyle.org/](https://checkstyle.org/). | ||
- **Join the Checkstyle community.** | ||
Join the Checkstyle group on [Gitter](https://gitter.im/checkstyle/checkstyle). | ||
This is a great place to ask questions and get to know the community. | ||
Join the Checkstyle group on [Google Groups](https://groups.google.com/forum/#!forum/checkstyle). | ||
This is another place to ask questions and get to know the community. | ||
- **Start contributing.** We have a list of issues labeled as | ||
https://github.com/checkstyle/checkstyle/labels/good%20first%20issue. These are a great place to | ||
start. Once you complete a few of these, you will have a better understanding of the project and | ||
be ready to move on to https://github.com/checkstyle/checkstyle/labels/good%20second%20issue, | ||
and so on. Once you have completed a few of these, you will be ready to start working on some | ||
more challenging issues, like bug fixes and new features. | ||
- **Take a Look at Our Project Ideas.** We have a list of project ideas that we think would be | ||
great for GSoC. You can find them in our wiki [Checkstyle Wiki](https://github.com/checkstyle/checkstyle/wiki). | ||
You can also propose your own project idea. We are open to new ideas and would love to hear | ||
what you are interested in working on. | ||
- **Create a Draft Proposal.** Once you have a good understanding of the project and have an idea | ||
of what you would like to work on, create a draft proposal. We are happy to help you refine your | ||
proposal and provide feedback. The best way to share your draft proposal is through Google docs. | ||
- **Submit Your Proposal.** Now that you have refined your proposal, submit it through the | ||
GSoC website **before the final submission deadline**. | ||
|
||
## Additional Tips | ||
|
||
- **Start Early.** The earlier you start, the more time you will have to get to know the project, | ||
accumulate contributions, and refine your proposal. | ||
- **Communicate Effectively.** We are looking for participants who can communicate effectively. This | ||
includes using clear and concise language, being responsive to feedback, and being proactive. | ||
- **Contribute, Contribute, Contribute.** This is the single best way to show us that you are | ||
serious becoming a valuable member of our community. | ||
|
||
## Your Proposal | ||
|
||
Your proposal is your opportunity to show us that you are the right person for the job. To this end, | ||
we have provided a list of things that we would like to see in your proposal. We are not looking for | ||
a long proposal, but we are looking for a well-thought-out proposal that shows us that you have | ||
taken the time to understand the project and have a clear plan for how you will contribute. | ||
|
||
### Proposal Outline | ||
|
||
#### Introduction | ||
|
||
All projects aim to solve a problem or improve something. Start your proposal by introducing the | ||
problem you are trying to solve or the improvement you are trying to make. This is your opportunity | ||
to show us that you understand the problem, why it is important, and why it is worth solving. | ||
Include any relevant background information that will help us understand the problem, like | ||
statistics, examples, references to existing issues, etc. | ||
|
||
#### Project Goals | ||
|
||
This should be concise and to the point. What are you trying to accomplish? What are the | ||
deliverables? What are the success criteria? What are the key milestones? Effective goals are | ||
specific, measurable, and achievable. This section may be a bulleted list or outline. | ||
|
||
#### Implementation Plan | ||
|
||
Describe your solution to the problem. This should include a high-level overview of the | ||
architecture, a list of tasks, and a list of potential challenges, as well as some technical | ||
details. We want to see that you have thought through the problem and can visualize how you will | ||
solve it. | ||
|
||
#### Timeline | ||
|
||
Show us that you can break down your project into manageable tasks and that you have a clear plan | ||
for how you will accomplish your goals. This should be a timeline that shows what you will be | ||
working on each week. It should include milestones and deliverables. An effective way to present | ||
this is in a table. | ||
|
||
#### About You | ||
|
||
Tell us about yourself. what time zone are you located in? | ||
What is your background? What are your interests? | ||
What are your career goals? | ||
This is your opportunity to show us that you are a good fit for the project and that | ||
you are excited to work with us. **You must include a list of links to your Checkstyle contributions | ||
to be considered for GSoC; this is one of the most important selection criteria.** | ||
|
||
### Proposal Tips | ||
|
||
- Be Specific. We want to see that you have thought through the problem and | ||
how you will solve it. | ||
- Be Realistic. We are looking for a proposal that is achievable in the time frame of GSoC. | ||
We want to see that you have a clear plan. | ||
- Be Professional. We are looking for a proposal that is well-written and professional. | ||
- One Proposal <-> One Project. Do not create a proposal that spans multiple projects. | ||
- Proposal Title. If creating a proposal based on our project ideas, please use the title of the | ||
project idea as the title of your proposal. If you are proposing your own project idea, please | ||
create a title that is descriptive and concise. |
Oops, something went wrong.