Skip to content

Commit bf6fe3a

Browse files
authored
Merge pull request #38 from MiravaOrg/docs/contributing
docs: add contributing.md
2 parents 34ee6b0 + 6a8dd6a commit bf6fe3a

File tree

1 file changed

+156
-0
lines changed

1 file changed

+156
-0
lines changed

CONTRIBUTING.md

Lines changed: 156 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,156 @@
1+
# Contributing to Mirava
2+
3+
Thank you for your interest in contributing to **Mirava**! 🎉
4+
We welcome contributions — whether they’re bug fixes, documentation improvements, mirror additions, or new features that benefit the community.
5+
6+
This document outlines our recommended process and expectations for submitting contributions.
7+
8+
---
9+
10+
## Table of Contents
11+
12+
- [Code of Conduct](#code-of-conduct)
13+
- [Ways to Contribute](#ways-to-contribute)
14+
- [Getting Started](#getting-started)
15+
- [Development Workflow](#development-workflow)
16+
- [Adding or Updating Mirrors](#adding-or-updating-mirrors)
17+
- [Pull Request Guidelines](#pull-request-guidelines)
18+
- [Reporting Issues](#reporting-issues)
19+
- [Style Guidelines](#style-guidelines)
20+
- [License](#license)
21+
22+
---
23+
24+
## Code of Conduct
25+
26+
We expect all contributors to follow the project’s **Code of Conduct**.
27+
Please review the `CODE_OF_CONDUCT.md` before participating.
28+
29+
Be respectful, constructive, and collaborative.
30+
31+
---
32+
33+
## Ways to Contribute
34+
35+
There are many ways to contribute:
36+
37+
- 🐛 Reporting bugs
38+
- 💡 Suggesting improvements
39+
- 🛠 Adding features
40+
- 📚 Improving documentation
41+
- 📦 Adding or updating mirror entries
42+
43+
Every contribution matters.
44+
45+
---
46+
47+
## Getting Started
48+
49+
1. **Fork** the repository on GitHub.
50+
2. **Clone** your fork locally:
51+
52+
```bash
53+
git clone https://github.com/YOUR_USERNAME/Mirava.git
54+
```
55+
56+
3. Navigate into the project folder.
57+
4. Create a new branch for your work:
58+
59+
```bash
60+
git checkout -b feature/your-feature-name
61+
```
62+
63+
5. Make your improvements or additions.
64+
65+
---
66+
67+
## Development Workflow
68+
69+
- Keep commits small and focused.
70+
- Write clear, descriptive commit messages.
71+
- Follow the existing structure and formatting style.
72+
- Test your changes before submitting.
73+
74+
Example commit message format:
75+
76+
```text
77+
feat: add npm mirror validation script
78+
fix: correct mirror URL formatting
79+
docs: improve README setup section
80+
```
81+
82+
---
83+
84+
## Adding or Updating Mirrors
85+
86+
Mirava maintains a curated list of package mirrors.
87+
88+
When contributing a new mirror:
89+
90+
1. Ensure it is stable and publicly accessible.
91+
2. Add its details to `mirrors_list.yaml`.
92+
3. If needed, update or add scripts under the `scripts/` directory.
93+
4. Verify accessibility (ideally without VPN).
94+
5. Provide a short description of the mirror’s purpose and supported packages.
95+
96+
Make sure formatting stays consistent with existing entries.
97+
98+
---
99+
100+
## Pull Request Guidelines
101+
102+
When your changes are ready:
103+
104+
1. Push your branch:
105+
106+
```bash
107+
git push origin feature/your-feature-name
108+
```
109+
110+
2. Open a **Pull Request** against the `main` branch.
111+
3. Include in your PR description:
112+
- What you changed
113+
- Why the change is needed
114+
- Any related issue numbers
115+
116+
Be responsive to feedback. Maintainers may request revisions before merging.
117+
118+
---
119+
120+
## Reporting Issues
121+
122+
If you find a bug, please open a GitHub issue and include:
123+
124+
- A clear title
125+
- Steps to reproduce
126+
- Expected behavior
127+
- Actual behavior
128+
- Logs or screenshots (if applicable)
129+
130+
Detailed reports help us fix problems faster.
131+
132+
---
133+
134+
## Style Guidelines
135+
136+
- Follow existing YAML and code formatting.
137+
- Avoid unnecessary reformatting of unrelated files.
138+
- Keep documentation concise and clear.
139+
- Use meaningful branch names:
140+
141+
```text
142+
feature/add-npm-mirror
143+
fix/yaml-validation
144+
docs/update-readme
145+
```
146+
147+
---
148+
149+
## License
150+
151+
By contributing to Mirava, you agree that your contributions will be licensed under the same license as the project.
152+
153+
---
154+
155+
Thank you for helping improve Mirava 🚀
156+
Your contributions make the ecosystem stronger.

0 commit comments

Comments
 (0)