Skip to content

Commit 11a74f8

Browse files
committed
docs: add community health files and update CoC to v2.1
Add CONTRIBUTING.md, SECURITY.md, and pull request template. Update Code of Conduct attribution from v2.0 to v2.1.
1 parent 184f931 commit 11a74f8

File tree

4 files changed

+157
-2
lines changed

4 files changed

+157
-2
lines changed

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
## Description
2+
3+
<!-- What does this PR do? Why is it needed? -->
4+
5+
## Type of change
6+
7+
- [ ] Bug fix
8+
- [ ] New content (quest, cheatsheet)
9+
- [ ] Content improvement (typo, clarity, accuracy)
10+
- [ ] Translation (FR/EN parity)
11+
- [ ] Accessibility improvement
12+
- [ ] Verification script update
13+
- [ ] Website (CSS, JS, templates)
14+
- [ ] CI/CD or tooling
15+
- [ ] Other
16+
17+
## Related issue
18+
19+
<!-- Link the issue this PR addresses: Fixes #123 -->
20+
21+
## Checklist
22+
23+
- [ ] I have read the [Contributing guidelines](../CONTRIBUTING.md)
24+
- [ ] `npm run check` passes locally
25+
- [ ] If I changed content in one language, I updated the other language too
26+
- [ ] If I added/modified a quest, I updated both `verifier.sh` and `verifier.ps1`

CODE_OF_CONDUCT.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,8 +115,8 @@ the community.
115115
## Attribution
116116

117117
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
118-
version 2.0, available at
119-
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
118+
version 2.1, available at
119+
https://www.contributor-covenant.org/version/2/1/code_of_conduct.html.
120120

121121
Community Impact Guidelines were inspired by [Mozilla's code of conduct
122122
enforcement ladder](https://github.com/mozilla/diversity).

CONTRIBUTING.md

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
# Contributing to Git Chronicles
2+
3+
First off, thanks for taking the time to contribute! This project started as a learning resource for friends and colleagues, and community contributions help make it better for everyone.
4+
5+
## Code of Conduct
6+
7+
This project follows the [Contributor Covenant Code of Conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. Please report unacceptable behavior to daihyxsk+coc.github@pm.me.
8+
9+
## How can I contribute?
10+
11+
### Reporting bugs
12+
13+
Use the [Bug Report](https://github.com/Dxsk/git-chronicles/issues/new?template=bug_report.yml) issue template. Include:
14+
- The affected page or quest
15+
- The language (FR/EN)
16+
- Steps to reproduce
17+
- Screenshots if relevant
18+
19+
### Suggesting improvements
20+
21+
Use the [Content Improvement](https://github.com/Dxsk/git-chronicles/issues/new?template=content_improvement.yml) or [Feature Request](https://github.com/Dxsk/git-chronicles/issues/new?template=feature_request.yml) issue templates.
22+
23+
### Submitting changes
24+
25+
1. **Open an issue first** to discuss the change you'd like to make.
26+
2. Fork the repository and create a branch from `main`.
27+
3. Make your changes.
28+
4. Run the checks before submitting:
29+
```bash
30+
npm run check
31+
```
32+
This runs i18n parity checks, the build, link checking, and accessibility checks.
33+
5. Open a Pull Request referencing the related issue.
34+
35+
## Development setup
36+
37+
```bash
38+
git clone https://github.com/<your-fork>/git-chronicles.git
39+
cd git-chronicles
40+
npm install
41+
npm run dev # Local server with hot reload
42+
```
43+
44+
Requires **Node.js 18+**.
45+
46+
## Project structure
47+
48+
```
49+
src/
50+
fr/quetes/ # French quest content (Nunjucks templates)
51+
en/quests/ # English quest content
52+
assets/ # CSS, JS (vanilla, no dependencies)
53+
exercises/
54+
*/verifier.sh # Bash verification scripts
55+
*/verifier.ps1 # PowerShell verification scripts
56+
themes/fantasy/ # Theme messages (i18n)
57+
```
58+
59+
## Content guidelines
60+
61+
### Bilingual content
62+
63+
The course is bilingual (FR/EN). If you modify quest content in one language, the corresponding content in the other language should also be updated. The `npm run check:i18n` script verifies parity between both languages.
64+
65+
### Writing style
66+
67+
- Keep explanations clear and beginner-friendly.
68+
- Use the fantasy narrative tone (guilds, quests, scrolls) to stay consistent with the rest of the course.
69+
- Explain the *why*, not just the *how*.
70+
- Include practical examples whenever possible.
71+
72+
### Verification scripts
73+
74+
Each quest has verification scripts in both Bash (`verifier.sh`) and PowerShell (`verifier.ps1`). If you add or modify a quest, update both scripts. They support `--lang fr` and `--lang en` flags.
75+
76+
## Types of welcome contributions
77+
78+
- Fixing typos or unclear explanations
79+
- Improving accessibility
80+
- Adding or improving translations
81+
- Writing new quests or bonus quests
82+
- Improving verification scripts
83+
- Fixing CSS/JS issues
84+
85+
## Licenses
86+
87+
By contributing, you agree that your contributions will be licensed under:
88+
- **[MIT](LICENSE-MIT)** for code (scripts, CSS, JS, templates)
89+
- **[CC BY-SA 4.0](LICENSE-CC-BY-SA)** for content (quest texts, cheatsheets, narratives)

SECURITY.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# Security Policy
2+
3+
## Supported versions
4+
5+
| Version | Supported |
6+
| ------- | ------------------ |
7+
| latest | :white_check_mark: |
8+
9+
Only the latest version deployed on [git.learning.dxscloud.fr](https://git.learning.dxscloud.fr) is supported.
10+
11+
## Reporting a vulnerability
12+
13+
If you discover a security vulnerability, **please do not open a public issue**.
14+
15+
Instead, report it privately by emailing **daihyxsk+security.github@pm.me**.
16+
17+
Please include:
18+
- A description of the vulnerability
19+
- Steps to reproduce it
20+
- The potential impact
21+
- A suggested fix (if you have one)
22+
23+
## Response timeline
24+
25+
- **Acknowledgment**: within 72 hours
26+
- **Assessment**: within 1 week
27+
- **Fix or mitigation**: as soon as reasonably possible
28+
29+
## Scope
30+
31+
This is a static educational website with no user accounts, databases, or server-side processing. The main security concerns are:
32+
33+
- XSS vulnerabilities in the generated static site
34+
- Malicious content in verification scripts (Bash/PowerShell)
35+
- Supply chain issues in npm dependencies
36+
- GitHub Actions workflow security
37+
38+
## Disclosure
39+
40+
We follow coordinated disclosure. Once a fix is deployed, we will credit the reporter (unless they prefer to remain anonymous).

0 commit comments

Comments
 (0)