Skip to content

Commit 1b2bbec

Browse files
authored
Contributor guide creation (#111)
* Added guides * Added AI policy * Updated root directory markdown URLs
1 parent 0b7df9f commit 1b2bbec

10 files changed

Lines changed: 571 additions & 100 deletions

File tree

CODE_OF_CONDUCT.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
# Contributor Covenant Code of Conduct
22

3-
Please read our Organization's [Contributor Covenant Code of Conduct](https://github.com/PalisadoesFoundation/.github/blob/main/profile/CODE_OF_CONDUCT.md).
3+
Please read our Organization's [Contributor Covenant Code of Conduct](https://developer.palisadoes.org/docs/contributor-guide/code-of-conduct).

CONTRIBUTING.md

Lines changed: 1 addition & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -1,98 +1,3 @@
11
# Contributing to our Project
22

3-
Thank you for your interest in contributing to our project. Regardless of the size of the contribution you make, all contributions are welcome and are appreciated.
4-
5-
If you are new to contributing to open source, please read the Open Source Guides on [How to Contribute to Open Source](https://opensource.guide/how-to-contribute/).
6-
7-
## Ways to Contribute
8-
9-
We know you are ready to start contributing code right away! Hers is a list of [good first issues](https://github.com/PalisadoesFoundation/developer-docs/labels/good%20first%20issue) that contain issues with a limited scope.
10-
11-
## Quicklinks
12-
13-
- [Contributing to our Project](#contributing-to-our-project)
14-
- [Ways to Contribute](#ways-to-contribute)
15-
- [Quicklinks](#quicklinks)
16-
- [Our Development Process](#our-development-process)
17-
- [Issues](#issues)
18-
- [Pull Requests](#pull-requests)
19-
- [Git Flow](#git-flow)
20-
- [Contributing Code](#contributing-code)
21-
- [Who Can Contribute](#who-can-contribute)
22-
- [Internships](#internships)
23-
- [Community](#community)
24-
25-
### Our Development Process
26-
27-
We utilize GitHub issues and pull requests to keep track of issues and contributions from the community.
28-
29-
#### Issues
30-
31-
Make sure you are following [issue report guidelines](ISSUE_GUIDELINES.md) available here before creating any new issues to the project.
32-
33-
#### Pull Requests
34-
35-
[Pull Request guidelines](PR_GUIDELINES.md) is best resource to follow to start working on open issues.
36-
37-
#### Git Flow
38-
39-
For this project, we utilize the GitFlow branching model. GitFlow is geared towards efficiently tracking development and managing releases. The model makes parallel development efforts easy and safe by isolating new development efforts from completed work.
40-
41-
The different types of branches we may use are:
42-
43-
- Feature branches (feature/branch-name)
44-
- Release branches (release/1.XX)
45-
- Bug branches (bugfix/branch-name)
46-
- Hotfix branches (hotfix/branch-name)
47-
48-
Detailed document containing how GitFlow works: https://nvie.com/posts/a-successful-git-branching-model/
49-
50-
### Contributing Code
51-
52-
Code contributions to this project come in the form of pull requests. These are done by forking the repo and making changes locally.
53-
54-
Make sure you have read the [Documentation for Setting up the Project](https://github.com/PalisadoesFoundation/developer-docs#readme)
55-
56-
The process of proposing a change to this project can be summarized as:
57-
58-
1. Fork the project repository and branch off `master`.
59-
2. The repository can be cloned locally using `git clone <forked repo url>`.
60-
3. Make the desired changes to the project source code.
61-
4. Run the website and test your changes.
62-
5. If you've added code that should be tested, write tests.
63-
6. After making changes you can add them to git locally using `git add <file_name>`(to add changes only in a particular file) or `git add .` (to add all changes).
64-
7. After adding the changes you need to commit them using `git commit -m '<commit message>'`(look at the commit guidelines below for commit messages).
65-
8. Once you have successfully commited your changes, you need to push the changes to the forked repo on github using: `git push origin <branch_name>`.(Here branch name must be name of the branch you want to push the changes to.)
66-
9. Now create a pull request to the project repository from your forked repo. Open an issue regarding the same and link your PR to it.
67-
10. Ensure the test suite passes, either locally or on CI once a PR has been created.
68-
11. Review and address comments on your pull request if requested.
69-
70-
### Who Can Contribute
71-
72-
Unfortunately, because of recent abuse, we will only be assigning issues to persons who have:
73-
74-
1. At least a year of GitHub history
75-
1. Consistent code updates throughout their GitHub life, especially the most recent 12 months.
76-
77-
This is a new policy triggered by newly created accounts that:
78-
79-
1. Use automation to blindly submit and update pull requests.
80-
1. SPAM our volunteers to be assigned issues to the exclusion of others.
81-
1. Frequently abandon issues after being assigned.
82-
1. Frequently close pull requests with ratios of merged to closed PRs approaching 10:1
83-
1. Repeatedly ignore PR requested changes from reviewers
84-
1. Resolve Code Rabbit suggestions without implementing them.
85-
1. Use AI to generate generic plans of action without an in-depth knowledge of the code base. This is not helpful for us.
86-
87-
As expected, we need contributors who are interested in coding with a proven track record. This is an unfortunate development but the recent abuse of the system has given us no choice.
88-
89-
### Internships
90-
91-
If you are participating in any of the various internship programs we ar members of then please read the [internship introduction guides](https://developer.palisadoes.org/docs/category/internships).
92-
93-
## Community
94-
95-
There are many ways to communicate with the community.
96-
97-
1. The Palisadoes Foundation has a Slack channel where members can assist with support and clarification. Visit the [Palisadoes Foundation's GitHub repository home page](https://github.com/PalisadoesFoundation) for the link to join our slack channel.
98-
2. We also have a technical email list run by [freelists.org](https://www.freelists.org/). Search for "palisadoes" and join. Members on this list are also periodically added to our marketing email list that focuses on less technical aspects of our work.
3+
Please read our Organization's [Contributing Guidelines](https://developer.palisadoes.org/docs/contributor-guide/contributing).

ISSUE_GUIDELINES.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
11
# Issue Reporting Guidelines
22

3-
Please read our Organization's [Issue Reporting Guidelines](https://github.com/PalisadoesFoundation/.github/blob/main/profile/ISSUE_GUIDELINES.md).
4-
3+
Please read our Organization's [Issue Reporting Guidelines](https://developer.palisadoes.org/docs/contributor-guide/issues).

PR_GUIDELINES.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
# Pull Request Guidelines
22

3-
Please read our [General PR Guidelines](https://github.com/PalisadoesFoundation/.github/blob/main/profile/PR_GUIDELINES.md) first.
3+
Please read our Organization's [Contributing Guidelines](https://developer.palisadoes.org/docs/contributor-guide/contributing).

docs/contributor-guide/ai.md

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
---
2+
id: ai
3+
title: AI Use Policy
4+
sidebar_position: 15
5+
---
6+
7+
Our goal in our projects is to develop an excellent software system. This requires careful attention to detail in every change we integrate. Maintainer time and attention is very limited, so it's important that changes you ask us to review represent your _best_ work.
8+
9+
## AI-Assisted Contributions
10+
11+
You are encouraged to use tools that help you write good code, including AI tools. Keep the following points in mind:
12+
13+
1. The PR author should understand the core ideas behind the implementation end-to-end, and be able to justify the design and code during review whether or not you used an LLM as part of your process to produce them. The answer to "Why did you make change X?" should never be "I'm not sure. The AI did it."
14+
15+
2. **Calls out unknowns and assumptions.** It’s okay to not fully understand some bits of AI generated code. You should comment on these cases and point them out to reviewers so that they can use their knowledge of the codebase to clear up any concerns. For example, you might comment "calling this function here seems to work but I’m not familiar with how it works internally, I wonder if there’s a race condition if it is called concurrently".
16+
17+
## Why fully AI-generated PRs without understanding are not helpful
18+
19+
Today, AI tools cannot reliably make complex changes to our code on their own, which is why we rely on pull requests and code review.
20+
21+
The purposes of code review are to:
22+
23+
1. Finish the intended task.
24+
25+
1. Share knowledge between authors and reviewers, as a long-term investment in the project. For this reason, even if someone familiar with the codebase can finish a task quickly, we’re still happy to help a new contributor work on it even if it takes longer.
26+
27+
An AI dump for an issue doesn’t meet these purposes. Maintainers could finish the task faster by using AI directly, and the submitters gain little knowledge if they act only as a pass through AI proxy without understanding.
28+
29+
Please understand the reviewing capacity is very limited for our projects therefore:
30+
31+
1. PRs which appear to not have the requisite understanding, or violate these guidelines might not get reviewed, and may eventually closed or redirected.
32+
33+
2. Repeated violations of this policy will be handled by our [Code of Conduct](./code-of-conduct.md) policy.
34+
35+
## Using AI as a coding assistant
36+
37+
1. Don't skip **becoming familiar with the part of the codebase** you're working on. This will let you write better prompts and validate their output if you use an LLM. Code assistants can be a useful search engine/discovery tool in this process, but don't trust claims they make about how our projects work. LLMs are often wrong, even about details that are clearly answered in our documentation.
38+
39+
2. Split up your changes into **[coherent commits]**, even if an LLM generates them all in one go.
40+
41+
3. Don't simply ask an LLM to add **code comments**, as it will likely produce a bunch of text that unnecessarily explains what's already clear from the code. If using an LLM to generate comments, be really specific in your request, demand succinctness, and carefully edit the result.
42+
43+
## Using AI for communication
44+
45+
As noted above, our contributors are expected to communicate with intention, to avoid wasting maintainer time with long, sloppy writing. We strongly prefer clear and concise communication about points that actually require discussion over long AI-generated comments.
46+
47+
When you use an LLM to write a message for you, it remains **your responsibility** to read through the whole thing and make sure that it makes sense to you and represents your ideas concisely. A good rule of thumb is that if you can't make yourself carefully read some LLM output that you generated, nobody else wants to read it either.
48+
49+
Here are some concrete guidelines for using LLMs as part of your communication
50+
workflows.
51+
52+
1. When writing a pull request description, **do not include anything that's obvious** from looking at your changes directly (e.g., files changed, functions updated, etc.). Instead, focus on the _why_ behind your changes. Don't ask an LLM to generate a PR description on your behalf based on your code changes, as it will simply regurgitate the information that's already there.
53+
54+
1. Similarly, when responding to a pull request comment, **explain your reasoning**. Don't prompt an LLM to re-describe what can already be seen from the code.
55+
56+
1. Verify that **everything you write is accurate**, whether or not an LLM generated any part of it. Our maintainers will be unable to review your contributions if you misrepresent your work (e.g., misdescribing your code changes, their effect, or your testing process).
57+
58+
1. Complete all parts of the **PR template**, including screenshots and the self-review checklist. Don't simply overwrite the template with LLM output.
59+
60+
1. **Clarity and succinctness** are much more important than perfect grammar, so you shouldn't feel obliged to pass your writing through an LLM. If you do ask an LLM to clean up your writing style, be sure it does _not_ make it longer in the process. Demand succinctness in your prompt.
61+
62+
1. Quoting an LLM answer is usually less helpful than linking to **relevant primary sources**, like source code, reference documentation, or web standards. If you do need to quote an LLM answer in a conversation, put the answer in a **quote block** to distinguish LLM output from your own thoughts.
63+
64+
1. It’s recommended to write a high-quality issue with a clear problem statement and a minimal, reproducible example. This can make it easier for others to contribute.
65+
66+
## Unwelcome Repository Contributions
67+
68+
We do not welcome the following activities that are often the result of AI automations:
69+
70+
1. Using automation to blindly submit and update pull requests.
71+
2. Frequent closing of pull requests for the same issue.
72+
3. Repeatedly ignoring PR requested changes from reviewers and automated systems.
73+
1. This includes resolving requested changes without modifying code.
74+
4. Repeatedly ignoring answering any questions from reviewers.
75+
5. Using AI to generate generic plans of action without an in-depth knowledge of the code base. This is not helpful for us.
76+
6. Deleting all comments in the submitted edited files.
77+
7. Repeatedly submitting irrelevant files for PR review after being made aware of the practice.
78+
8. Repeatedly dismissing or resolving reviewer suggestions without modifying code.
79+
80+
Persons who violate our expectations listed above will be referred to our [Code of Conduct process](./code-of-conduct.md).
Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
---
2+
id: code-of-conduct
3+
title: Code of Conduct
4+
sidebar_position: 100
5+
---
6+
7+
Welcome to our Code of Conduct Policy page.
8+
9+
## Our Pledge
10+
11+
We as members, contributors, and leaders pledge to make participation in our
12+
community a harassment-free experience for everyone, regardless of age, body
13+
size, visible or invisible disability, ethnicity, sex characteristics, gender
14+
identity and expression, level of experience, education, socio-economic status,
15+
nationality, personal appearance, race, caste, color, religion, or sexual identity
16+
and orientation.
17+
18+
We pledge to act and interact in ways that contribute to an open, welcoming,
19+
diverse, inclusive, and healthy community.
20+
21+
## Our Standards
22+
23+
Examples of behavior that contributes to a positive environment for our
24+
community include:
25+
26+
- Demonstrating empathy and kindness toward other people
27+
- Being respectful of differing opinions, viewpoints, and experiences
28+
- Giving and gracefully accepting constructive feedback
29+
- Accepting responsibility and apologizing to those affected by our mistakes,
30+
and learning from the experience
31+
- Focusing on what is best not just for us as individuals, but for the
32+
overall community
33+
34+
Examples of unacceptable behavior include:
35+
36+
- The use of sexualized language or imagery, and sexual attention or
37+
advances of any kind
38+
- Trolling, insulting or derogatory comments, and personal or political attacks
39+
- Public or private harassment
40+
- Publishing others' private information, such as a physical or email
41+
address, without their explicit permission
42+
- Other conduct which could reasonably be considered inappropriate in a
43+
professional setting
44+
45+
## Enforcement Responsibilities
46+
47+
Community leaders are responsible for clarifying and enforcing our standards of
48+
acceptable behavior and will take appropriate and fair corrective action in
49+
response to any behavior that they deem inappropriate, threatening, offensive,
50+
or harmful.
51+
52+
Community leaders have the right and responsibility to remove, edit, or reject
53+
comments, commits, code, wiki edits, issues, and other contributions that are
54+
not aligned to this Code of Conduct, and will communicate reasons for moderation
55+
decisions when appropriate.
56+
57+
## Scope
58+
59+
This Code of Conduct applies within all community spaces, and also applies when
60+
an individual is officially representing the community in public spaces.
61+
Examples of representing our community include using an official e-mail address,
62+
posting via an official social media account, or acting as an appointed
63+
representative at an online or offline event.
64+
65+
## Enforcement
66+
67+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
68+
reported to the community leaders responsible for enforcement at [The Palisadoes Foundation](http://www.palisadoes.org/)
69+
70+
All complaints will be reviewed and investigated promptly and fairly.
71+
72+
All community leaders are obligated to respect the privacy and security of the
73+
reporter of any incident.
74+
75+
## Enforcement Guidelines
76+
77+
Community leaders will follow these Community Impact Guidelines in determining
78+
the consequences for any action they deem in violation of this Code of Conduct:
79+
80+
### 1. Correction
81+
82+
**Community Impact**: Use of inappropriate language or other behavior deemed
83+
unprofessional or unwelcome in the community.
84+
85+
**Consequence**: A private, written warning from community leaders, providing
86+
clarity around the nature of the violation and an explanation of why the
87+
behavior was inappropriate. A public apology may be requested.
88+
89+
### 2. Warning
90+
91+
**Community Impact**: A violation through a single incident or series
92+
of actions.
93+
94+
**Consequence**: A warning with consequences for continued behavior. No
95+
interaction with the people involved, including unsolicited interaction with
96+
those enforcing the Code of Conduct, for a specified period of time. This
97+
includes avoiding interactions in community spaces as well as external channels
98+
like social media. Violating these terms may lead to a temporary or
99+
permanent ban.
100+
101+
### 3. Temporary Ban
102+
103+
**Community Impact**: A serious violation of community standards, including
104+
sustained inappropriate behavior.
105+
106+
**Consequence**: A temporary ban from any sort of interaction or public
107+
communication with the community for a specified period of time. No public or
108+
private interaction with the people involved, including unsolicited interaction
109+
with those enforcing the Code of Conduct, is allowed during this period.
110+
Violating these terms may lead to a permanent ban.
111+
112+
### 4. Permanent Ban
113+
114+
**Community Impact**: Demonstrating a pattern of violation of community
115+
standards, including sustained inappropriate behavior, harassment of an
116+
individual, or aggression toward or disparagement of classes of individuals.
117+
118+
**Consequence**: A permanent ban from any sort of public interaction within
119+
the community.
120+
121+
## Attribution
122+
123+
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
124+
version 2.0, available at
125+
[https://www.contributor-covenant.org/version/2/0/code_of_conduct.html][v2.0].
126+
127+
Community Impact Guidelines were inspired by
128+
[Mozilla's code of conduct enforcement ladder][mozilla coc].
129+
130+
For answers to common questions about this code of conduct, see the FAQ at
131+
[https://www.contributor-covenant.org/faq][faq]. Translations are available
132+
at [https://www.contributor-covenant.org/translations][translations].
133+
134+
[homepage]: https://www.contributor-covenant.org
135+
[v2.0]: https://www.contributor-covenant.org/version/2/0/code_of_conduct.html
136+
[mozilla coc]: https://github.com/mozilla/diversity
137+
[faq]: https://www.contributor-covenant.org/faq
138+
[translations]: https://www.contributor-covenant.org/translations
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
id: introduction
3+
title: Introduction
4+
sidebar_position: 10
5+
---
6+
7+
Here are some general guidelines to help you get started.
8+
9+
### Code of Conduct
10+
11+
A safe environment is required for everyone to contribute. Read our [Code of Conduct Guide](code-of-conduct.md) to understand what this means. Let us know immediately if you have unacceptable experiences in this area.
12+
13+
No one should fear voicing their opinion. Respones must be respectful.
14+
15+
### Video Guides
16+
17+
We have lots of video resources about our projects.
18+
19+
1. Visit our [YouTube Channel playlists](https://www.youtube.com/@PalisadoesOrganization/playlists) for more insights
20+
1. The "[Getting Started - Developers](https://www.youtube.com/watch?v=YpBUoHxEeyg&list=PLv50qHwThlJUIzscg9a80a9-HmAlmUdCF&index=1)" videos are extremely helpful for new open source contributors.
21+
22+
These will help you get started quicker.
23+
24+
### Our Community
25+
26+
There are many ways to participate in our community.
27+
28+
1. Join our [community forum](https://community.talawa.io) and introduce yourself. There are many persons on the various forums who are willing to assist you in getting started.
29+
1. We also have a technical email list run by [freelists.org](https://www.freelists.org/). Search for "palisadoes" and join. Members on this list are also periodically added to our marketing email list that focuses on less technical aspects of our work.
30+
31+
We look forward to hearing from you.

0 commit comments

Comments
 (0)