140 lines
5.6 KiB
Plaintext
140 lines
5.6 KiB
Plaintext
# Code of Conduct & Contribution Guidelines
|
||
|
||
Welcome to our project! We expect all contributors to abide by our **Code of Conduct** (outlined below) and adhere to our **Project Contribution Standards**, which specify how to document code, attribute authors, and write Git commit messages.
|
||
|
||
## 1. Our Pledge
|
||
|
||
In the interest of fostering an open and welcoming environment, we, as contributors and maintainers, pledge to make participation in our project and our community a harassment-free experience for everyone—regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
|
||
|
||
## 2. Expected Behavior
|
||
|
||
- Be kind and courteous to others.
|
||
- Respect differing viewpoints and experiences.
|
||
- Gracefully accept constructive criticism.
|
||
- Give and receive feedback in a positive manner.
|
||
- Collaborate and help each other whenever possible.
|
||
|
||
## 3. Unacceptable Behavior
|
||
|
||
- The use of sexualized language or imagery and unwelcome sexual attention.
|
||
- Trolling, insulting or derogatory comments, and personal or political attacks.
|
||
- Public or private harassment.
|
||
- Publishing others’ private information (e.g., physical or electronic addresses) without explicit permission.
|
||
- Other conduct which could reasonably be considered inappropriate.
|
||
|
||
## 4. Reporting and Enforcement
|
||
|
||
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at `[YOUR CONTACT EMAIL HERE]`. The project team will review and investigate all complaints and respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident.
|
||
|
||
---
|
||
|
||
# Project Contribution Standards
|
||
|
||
In addition to general conduct, our project enforces **coding style**, **docstring conventions**, **author attribution**, and **commit message guidelines** to ensure clarity and consistency.
|
||
|
||
## 5. Docstring Style
|
||
|
||
We follow the **Google Style Python Docstrings** as documented here:
|
||
[https://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html](https://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html)
|
||
|
||
Please ensure all public functions, classes, and modules include docstrings adhering to this style.
|
||
|
||
### 5.1 Module-Level Docstring Format
|
||
|
||
When creating a **new module**, please include a docstring at the top with the following structure (update the content as appropriate):
|
||
|
||
```python
|
||
"""
|
||
Module: twitter_connector
|
||
=========================
|
||
|
||
This module implements the TwitterConnector class for interacting with Twitter APIs.
|
||
|
||
Title: Twitter Connector
|
||
Summary: Twitter connector implementation.
|
||
Authors:
|
||
- @TheBlockRhino
|
||
Date: 2024-12-31
|
||
Last Updated: 2024-12-31
|
||
URLs:
|
||
- https://arai-ai.io
|
||
- https://github.com/ARAIDevHub/arai-ai-agents
|
||
- https://x.com/TheBlockRhino
|
||
"""
|
||
```
|
||
|
||
When **modifying an existing module**, add your name to the list of authors, and **update the last updated date**. For example:
|
||
|
||
```python
|
||
#
|
||
# Module: twitter_app_auth
|
||
#
|
||
# This module implements the TwitterAppAuth class for authenticating with the Twitter API using OAuth 1.0a.
|
||
#
|
||
# Title: Twitter App Auth
|
||
# Summary: Twitter app authentication implementation.
|
||
# Authors:
|
||
# - @TheBlockRhino
|
||
# Created: 2024-12-31
|
||
# Last edited by: @TheBlockRhino
|
||
# Last edited date: 2025-01-04
|
||
# URLs:
|
||
# - https://arai-ai.io
|
||
# - https://github.com/ARAI-DevHub/arai-ai-agents
|
||
# - https://x.com/TheBlockRhino
|
||
```
|
||
|
||
Please make sure the rest of the comments in the file are also updated to match your changes, and follow the **Google Style** guidelines for any function/class docstrings.
|
||
|
||
---
|
||
|
||
## 6. Git Commit Messages
|
||
|
||
We encourage **descriptive, consistent commit messages**. Use semantic versioning and tagging where appropriate. For guidelines, see:
|
||
[https://www.gitkraken.com/gitkon/semantic-versioning-git-tags](https://www.gitkraken.com/gitkon/semantic-versioning-git-tags)
|
||
|
||
### 6.1 Examples
|
||
|
||
- **feat:** Introduce a new feature (`feat: add user login flow`)
|
||
- **fix:** Bug fix or patch (`fix: handle null pointer in user data`)
|
||
- **docs:** Documentation-only changes (`docs: update readme installation steps`)
|
||
- **style:** Changes that do not affect meaning (white-space, formatting, etc.)
|
||
- **refactor:** Code change that neither fixes a bug nor adds a feature
|
||
- **perf:** Code change that improves performance
|
||
- **test:** Add or correct tests
|
||
|
||
**Example** commit message:
|
||
|
||
```
|
||
feat: add advanced prompt chaining for TwitterConnector
|
||
|
||
- Created new step_4.py for multi-step Twitter workflow
|
||
- Updated docstring for step_3.py with new Authors entry
|
||
- Bumped version from 1.2.0 to 1.3.0
|
||
```
|
||
|
||
---
|
||
|
||
## 7. Adding Tags & Versions
|
||
|
||
For **major changes** or new releases, we recommend creating a new Git tag using semantic versioning (e.g., `v2.0.0`). Use tags to mark milestones or significant updates, so others can easily reference or roll back to stable states.
|
||
|
||
---
|
||
|
||
## 8. Scope
|
||
|
||
This Code of Conduct and Contribution Standards apply to:
|
||
- All repositories under the `[YOUR_ORG/PROJECT]` umbrella.
|
||
- Communication channels such as GitHub issues, pull requests, and social media references.
|
||
|
||
## 9. Attribution
|
||
|
||
This Code of Conduct is based on the [Contributor Covenant](https://www.contributor-covenant.org), with custom additions to guide documentation practices and commit messages in our project.
|
||
|
||
---
|
||
|
||
**Thank you for helping us maintain a welcoming, organized, and productive environment!**
|
||
|
||
If you have any questions or concerns about this Code of Conduct or the Contribution Standards, please contact `[YOUR CONTACT EMAIL HERE]`.
|
||
|
||
*Happy coding and contributing!* |