Skip to content

Commit 4c45d76

Browse files
committed
docs: update .github/CONTRIBUTING.md via Apex Optimizer
1 parent 5d139bc commit 4c45d76

File tree

1 file changed

+100
-0
lines changed

1 file changed

+100
-0
lines changed

.github/CONTRIBUTING.md

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
# Contributing to Python-Foundation-Libraries-And-Scripts-Python-Lib
2+
3+
Thank you for considering contributing to the `Python-Foundation-Libraries-And-Scripts-Python-Lib` repository! We aim to maintain a high standard of quality, efficiency, and professionalism.
4+
5+
## 1. Code of Conduct
6+
7+
This project adheres to the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code. Please report any violations to [[email protected]](mailto:[email protected]) or via a direct GitHub issue.
8+
9+
## 2. How to Contribute
10+
11+
We welcome contributions in the form of bug reports, feature requests, and code contributions.
12+
13+
### 2.1. Reporting Bugs
14+
15+
Before reporting a bug, please check the [Issues](https://github.com/chirag127/Python-Foundation-Libraries-And-Scripts-Python-Lib/issues) page to see if it has already been reported.
16+
17+
If it's a new bug, please:
18+
19+
1. **Create a New Issue:** Use the `Bug Report` template.
20+
2. **Provide Details:** Include a clear and concise description of the bug, steps to reproduce it, your operating system, Python version, and any relevant error messages or logs.
21+
3. **Use the Template:** Ensure you fill out all sections of the `Bug Report` issue template.
22+
23+
### 2.2. Suggesting Features & Enhancements
24+
25+
For new ideas or feature requests:
26+
27+
1. **Create a New Issue:** Use the `Feature Request` template (if available, otherwise a general issue).
28+
2. **Describe Your Idea:** Explain the proposed feature, its benefits, and how it might be implemented.
29+
3. **Be Specific:** The more detailed your suggestion, the better we can understand and consider it.
30+
31+
### 2.3. Submitting Code Changes (Pull Requests)
32+
33+
We encourage you to submit your improvements via Pull Requests (PRs).
34+
35+
**Workflow:**
36+
37+
1. **Fork the Repository:** Create your own fork of the repository: `https://github.com/chirag127/Python-Foundation-Libraries-And-Scripts-Python-Lib`.
38+
2. **Clone Your Fork:** Clone your forked repository to your local machine:
39+
bash
40+
git clone https://github.com/chirag127/Python-Foundation-Libraries-And-Scripts-Python-Lib.git
41+
cd Python-Foundation-Libraries-And-Scripts-Python-Lib
42+
43+
3. **Set Up Development Environment:** Follow the setup instructions in the `README.md` to install dependencies (using `uv` as per the project's standard) and prepare your environment.
44+
4. **Create a New Branch:** Create a feature branch for your changes:
45+
bash
46+
git checkout -b feature/your-feature-name
47+
48+
(Replace `your-feature-name` with a descriptive name).
49+
5. **Make Your Changes:** Implement your feature or bug fix. Adhere to the project's coding standards and architectural principles (Modular Monolith, DRY, SOLID).
50+
6. **Test Your Changes:** Ensure all tests pass and consider adding new tests for your changes. Run tests using `pytest`.
51+
7. **Lint and Format:** Use `ruff` to ensure your code is clean and formatted correctly.
52+
bash
53+
ruff check .
54+
ruff format .
55+
56+
8. **Commit Your Changes:** Commit your work with clear, descriptive commit messages.
57+
bash
58+
git add .
59+
git commit -m "feat: Add awesome new feature for X"
60+
# or
61+
git commit -m "fix: Resolve critical bug in Y"
62+
63+
9. **Push to Your Fork:** Push your branch to your fork on GitHub:
64+
bash
65+
git push origin feature/your-feature-name
66+
67+
10. **Open a Pull Request:** Go to the original repository (`https://github.com/chirag127/Python-Foundation-Libraries-And-Scripts-Python-Lib`) and open a new Pull Request from your feature branch.
68+
* **Title:** Use a concise and descriptive title (e.g., "Feat: Add X functionality").
69+
* **Description:** Clearly explain the changes, the problem they solve, and reference any related issues.
70+
* **Use the PR Template:** Ensure the Pull Request template is filled out.
71+
72+
## 3. Development Standards & Environment
73+
74+
* **Language:** Python 3.10+
75+
* **Package Management:** `uv` is the standard for dependency management.
76+
* **Linting & Formatting:** `ruff` is used for code quality and style enforcement.
77+
* **Testing:** `pytest` is used for all unit and integration tests.
78+
* **Architecture:** Adheres to Modular Monolith principles.
79+
* **Principles:** We follow SOLID, DRY, and YAGNI principles.
80+
81+
## 4. Code Review Process
82+
83+
* All PRs will be reviewed by at least one maintainer.
84+
* Reviews will focus on correctness, adherence to standards, maintainability, and performance.
85+
* Please be responsive to feedback and make necessary revisions.
86+
87+
## 5. Project Structure
88+
89+
Refer to the `README.md` for the detailed project structure. Key components include:
90+
91+
* `src/` or package directory: Core application logic.
92+
* `tests/`: Unit and integration tests.
93+
* `scripts/`: Utility scripts.
94+
* `pyproject.toml`: Project configuration and dependencies.
95+
96+
## 6. AI Agent Directives
97+
98+
This project is designed to be compatible with Apex AI Agent Directives. For detailed information on the expected structure, tooling, and architectural patterns, please refer to the `AGENTS.md` file in the root of this repository.
99+
100+
By contributing, you agree to help maintain these standards.

0 commit comments

Comments
 (0)