Skip to content

Commit b575346

Browse files
committed
Update structure
1 parent 2c3c31d commit b575346

File tree

22 files changed

+1203
-247
lines changed

22 files changed

+1203
-247
lines changed
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name: Generate README
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
paths:
8+
- 'projects/**'
9+
- '.github/workflows/generate-readme.yml'
10+
- 'templates/README.template.md'
11+
workflow_dispatch:
12+
13+
jobs:
14+
generate-readme:
15+
runs-on: ubuntu-latest
16+
steps:
17+
- uses: actions/checkout@v3
18+
19+
- name: Set up Python
20+
uses: actions/setup-python@v4
21+
with:
22+
python-version: '3.10'
23+
24+
- name: Install dependencies
25+
run: |
26+
python -m pip install --upgrade pip
27+
pip install pyyaml
28+
29+
- name: Generate README
30+
run: |
31+
python scripts/generate_readme.py
32+
33+
- name: Commit and push changes
34+
run: |
35+
git config --global user.name 'GitHub Action'
36+
git config --global user.email '[email protected]'
37+
git add README.md
38+
git diff --quiet && git diff --staged --quiet || (git commit -m "docs: Auto-update README" && git push)

CONTRIBUTING.md

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
# Contributing
2+
3+
Thank you for your interest in contributing to **awesome-opensource-projects**!
4+
5+
6+
## 2. JSON Structure
7+
8+
Each project lives in its own JSON file:
9+
10+
```text
11+
projects/<category>/<project_name>.json
12+
```
13+
14+
Where `<category>` is one of the existing categories, for example:
15+
16+
- `terminal-cli`
17+
- `web-applications`
18+
- `web-frameworks`
19+
- `devops`
20+
- `operating-systems`
21+
- `management`
22+
- `package-management`
23+
- `testing`
24+
- `text-processing`
25+
- `vpn`
26+
27+
### Required fields
28+
29+
```json
30+
{
31+
"name": "Project Name",
32+
"url": "https://github.com/owner/repo-or-external-url",
33+
"description": "Short one-line description of the project",
34+
"tech_stack": ["Go", "PostgreSQL", "React"],
35+
"status": "Active",
36+
"category": "terminal-cli"
37+
}
38+
```
39+
40+
### Optional fields
41+
42+
```json
43+
{
44+
"contribution": "Open for contributors",
45+
"links": {
46+
"GitHub": "https://github.com/owner/repo",
47+
"Website": "https://example.com",
48+
"Docs": "https://docs.example.com"
49+
}
50+
}
51+
```
52+
53+
---
54+
55+
## 3. Regenerating the README Locally
56+
57+
1. Make sure you have Python 3 installed.
58+
2. From the repository root, run:
59+
60+
```bash
61+
python scripts/generate_readme.py
62+
```
63+
64+
3. Open `README.md` and verify that:
65+
66+
- Your project appears in the correct category
67+
- The description and links look correct
68+
- For GitHub projects, badges are shown
69+
- For non‑GitHub projects, there are no GitHub badges
70+
71+
---
72+
73+
## 4. Opening a Pull Request
74+
75+
1. Fork this repository.
76+
2. Create a new branch:
77+
78+
```bash
79+
git checkout -b add-my-project
80+
```
81+
82+
3. Add your JSON file under `projects/<category>/<project_name>`.
83+
4. Run the README generator:
84+
85+
```bash
86+
python scripts/generate_readme.py
87+
```
88+
89+
5. Commit and push:
90+
91+
```bash
92+
git add projects/**/*.json README.md
93+
git commit -m "Add <Project Name> to <Category>"
94+
git push origin add-my-project
95+
```
96+
97+
6. Open a Pull Request and briefly describe your project and chosen category.
98+
99+
---
100+
101+
## Join the Open Source Community
102+
103+
This list is maintained by the **Опенсорсеры** (Open Source Developers) community.
104+
105+
If you want to:
106+
107+
- discuss open source projects,
108+
- find collaborators,
109+
- get feedback on your own project,
110+
111+
join us on Telegram:
112+
113+
<a href="https://t.me/OpenSource_Chat">
114+
<img src='assets/join.svg'/>
115+
</a>

0 commit comments

Comments
 (0)