Skip to content

Commit bdcdc82

Browse files
Revise FAQ contribution guidelines
Updated the contributing guidelines for proposing new FAQ entries and clarified the process for automated processing and manual contributions.
1 parent 9fe9cef commit bdcdc82

File tree

1 file changed

+9
-116
lines changed

1 file changed

+9
-116
lines changed

CONTRIBUTING.md

Lines changed: 9 additions & 116 deletions
Original file line numberDiff line numberDiff line change
@@ -2,54 +2,32 @@
22

33
Thank you for your interest in contributing to the DataTalks.Club FAQ! This guide will help you understand how to propose new FAQ entries or updates.
44

5-
## Proposing a New FAQ Entry
5+
## FAQ Proposal Form
66

77
We have an automated system that helps maintain the FAQ repository. Here's how to propose a new FAQ entry:
88

9-
### 1. Create a New Issue
10-
119
1. Go to the [FAQ Proposal form](https://github.com/DataTalksClub/faq/issues/new?template=faq-proposal.yml)
1210
2. Fill out the form:
1311
- **Course**: Which course this FAQ is for (e.g., `machine-learning-zoomcamp`)
1412
- **Question**: The FAQ question
1513
- **Answer**: A clear, helpful answer with examples if applicable
1614
- Check the validation boxes
15+
3. Submit your issue
1716

18-
### 2. Automated Processing
19-
20-
Once you submit your issue, our FAQ Bot will automatically:
17+
After that, our FAQ bot will:
2118

2219
1. **Analyze your proposal** using AI to compare it with existing FAQs
2320
2. **Make a decision**:
2421
- **NEW**: Create a new FAQ entry if the question isn't covered
2522
- **UPDATE**: Update an existing FAQ if your proposal adds valuable context
2623
- **DUPLICATE**: Mark as duplicate if the question is already fully answered
2724

28-
### 3. What Happens Next
29-
30-
#### For NEW or UPDATE Decisions
31-
32-
- A Pull Request will be automatically created with the proposed changes
33-
- The PR will include:
34-
- The new or modified FAQ file(s)
35-
- Explanation of why this action was chosen
36-
- Section placement and reasoning
37-
- A maintainer will review the PR
38-
- Once approved and merged, your FAQ contribution will be live!
39-
- The originating issue will be automatically closed when the PR is merged
25+
If it's NEW or UPDATE, the bot will create a PR with the changes. If it's DUPLICATE,
26+
the issue will be automatically closed.
4027

41-
#### For DUPLICATE Decisions
28+
## Writing Good FAQ Guidelines
4229

43-
- The bot will comment on your issue with:
44-
- Explanation of why it's considered a duplicate
45-
- Link to the existing FAQ that covers your question
46-
- Link to the source file
47-
- The issue will be automatically closed
48-
- If you believe this is incorrect, you can reopen and mention a maintainer
49-
50-
## Writing Good FAQ Entries
51-
52-
### Question Guidelines
30+
Question:
5331

5432
- Be specific and clear
5533
- Use the actual words students might search for
@@ -58,105 +36,20 @@ Once you submit your issue, our FAQ Bot will automatically:
5836
- ✅ "How do I install Python dependencies using uv?"
5937
- ❌ "Dependencies"
6038

61-
### Answer Guidelines
39+
Answer
6240

6341
- Start with a direct answer
6442
- Include code examples when relevant
6543
- Add links to documentation or resources
6644
- Keep it concise but complete
6745
- Use markdown formatting for readability
6846

69-
**Example:**
70-
71-
### Course
72-
machine-learning-zoomcamp
73-
74-
### Question
75-
How do I run the tests for this project?
76-
77-
### Answer
78-
To run all tests, use:
79-
80-
```bash
81-
make test
82-
```
83-
84-
For unit tests only:
85-
86-
```bash
87-
make test-unit
88-
```
89-
90-
For integration tests only:
91-
92-
```bash
93-
make test-int
94-
```
95-
96-
See the [testing documentation](tests/README.md) for more details.
97-
98-
## Manual Contributions
99-
100-
If you prefer to contribute directly via Pull Request:
101-
102-
1. Fork the repository
103-
2. Create a new branch: `git checkout -b faq/your-topic`
104-
3. Add your FAQ file in the appropriate location:
105-
- `_questions/{course}/{section}/{NNN}_{id}_{slug}.md`
106-
4. Follow the frontmatter format:
107-
108-
```markdown
109-
---
110-
id: abc123
111-
question: 'Your question here?'
112-
sort_order: 10
113-
---
114-
115-
Your answer content here.
116-
```
117-
118-
5. Update `_questions/{course}/_metadata.yaml` if adding a new section
119-
6. Run tests: `make test`
120-
7. Create a Pull Request
121-
122-
## FAQ File Structure
123-
124-
FAQ files are organized as:
125-
126-
```
127-
_questions/
128-
├── machine-learning-zoomcamp/
129-
│ ├── _metadata.yaml # Course configuration
130-
│ ├── general/
131-
│ │ ├── 001_abc123_when-does-course-start.md
132-
│ │ └── 002_def456_what-are-prerequisites.md
133-
│ └── module-1/
134-
│ ├── 001_xyz789_install-docker.md
135-
│ └── 002_uvw456_docker-errors.md
136-
└── data-engineering-zoomcamp/
137-
└── ...
138-
```
139-
140-
### Frontmatter Fields
141-
142-
- **id** (required): Unique 10-character identifier
143-
- **question** (required): The FAQ question
144-
- **sort_order** (required): Integer for ordering within section
145-
- **images** (optional): Array of image objects for embedded images
146-
147-
### Markdown Content
148-
149-
- Write the answer in markdown
150-
- Use code blocks with language specifications
151-
- Include links where helpful
152-
- Keep formatting clean and readable
15347

15448
## Questions or Issues?
15549

15650
If you have questions about contributing or encounter issues with the FAQ Bot:
15751

158-
1. Check existing issues for similar questions
52+
1. Check existing issues for similar problems
15953
2. Create a new issue with the "question" or "bug" label
160-
3. Tag a maintainer if urgent
16154

16255
Thank you for helping improve the DataTalks.Club FAQ! 🎉

0 commit comments

Comments
 (0)