Thank you for helping improve CertForge study resources. All contributions that improve accuracy, clarity, or coverage of exam-relevant content are welcome.
This file covers contribution standards shared across all CertForge repositories. Each repo may include additional repo-specific notes at the bottom of its own
CONTRIBUTING.md.
- Accuracy corrections — Exam objectives and platform features change. If something is outdated, flag it.
- New practice questions — Must follow the question format below.
- Lab and demo improvements — Clearer steps, troubleshooting sections, or additional examples.
- Better explanations — Simpler, more precise descriptions of complex concepts.
- Glossary additions — New terms or improved definitions.
- Script improvements — Error handling, portability, or additional API examples.
- Typos and formatting fixes — Small improvements add up.
- Content copied verbatim from official documentation (paraphrase and cite instead)
- Practice questions without answer explanations
- Speculative content not tied to official exam objectives
- Changes that remove accurate content without explanation
- Content referencing deprecated features as current (flag them as deprecated instead)
- Third-party tool promotions outside the exam ecosystem
Typos, dead links, minor wording — open a PR directly.
Step 1 — Open an Issue First
Describe what you want to change and why. This prevents duplicate effort and allows early feedback.
Step 2 — Fork and Branch
git clone https://github.com/YOUR_USERNAME/REPO_NAME.git
cd REPO_NAME
# Use a descriptive branch name
git checkout -b fix/brief-description
# or
git checkout -b add/brief-descriptionStep 3 — Make Your Changes
Follow the content standards below, then commit with a clear message:
git add path/to/changed-file.md
git commit -m "fix: short description of what changed and why"Step 4 — Open a Pull Request
- Reference any related issues
- Summarize what changed and why
- Confirm the content is accurate against official documentation
- All technical content must reflect current official documentation
- Link to the relevant official docs page when adding new topics
- If you are uncertain about something, add:
> Note: Verify this against current docs — this may have changed. - Never guess at behavior. Research it or leave it out.
Content depth should reflect official exam domain weights.
Heavier domains deserve proportionally deeper coverage.
Refer to exam-metadata/ in each repo for domain weights.
- Use ATX-style headers (
#,##,###) - Use fenced code blocks with language identifiers (
```bash,```yaml,```python) - Use tables for comparisons, not prose lists
- Use
<details>/<summary>for collapsible answer sections - Use GitHub admonitions for exam tips:
> [!NOTE],> [!TIP],> [!WARNING],> [!IMPORTANT] - Keep lines under 120 characters where possible
- One blank line before and after headings
All practice questions must follow this format:
### Question N
**Domain**: Domain X — [Domain Title]
**Topic**: [Specific sub-topic]
**Difficulty**: Beginner | Intermediate | Advanced
[Question text — 2–4 sentence business scenario]
A. [Option A]
B. [Option B]
C. [Option C]
D. [Option D]
<details>
<summary>Answer</summary>
**Correct Answer: X**
**Explanation**: [Why the answer is correct and why other options are wrong]
**Reference**: [Link to official docs]
</details>Requirements:
- Exactly one correct answer (or clearly specify "select all that apply")
- Explanations must teach the concept, not just repeat the answer
- Difficulty: Beginner = recall, Intermediate = application, Advanced = analysis/scenario
- Questions must be unambiguous — if reviewers disagree on the answer, revise it
If you find inaccurate content but cannot fix it, open an issue with:
- The file and section where the inaccuracy exists
- What the current (incorrect) content says
- What the correct content should say
- A link to the official documentation that confirms the correction
If you discover a real security issue in this repository, do not open a public issue. Follow the process in SECURITY.md.
Be respectful. Everyone here is learning.
By contributing, you agree that your contributions will be licensed under the MIT License that covers this repository.