equilink-site/CODE_OF_CONDUCT

140 lines
5.6 KiB
Plaintext
Raw Normal View History

2025-02-12 17:38:06 +05:30
# 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!*