Skip to content

Commit e60b4dd

Browse files
ofriwclaude
andcommitted
Add project documentation
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent ef7f59d commit e60b4dd

File tree

2 files changed

+430
-0
lines changed

2 files changed

+430
-0
lines changed

CONTRIBUTING.md

Lines changed: 287 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,287 @@
1+
# Contributing to AI Coding Course
2+
3+
Thank you for your interest in contributing! This document provides guidelines for contributing to the AI Coding Course.
4+
5+
## Code of Conduct
6+
7+
Be respectful, inclusive, and professional. We're building a learning resource for the community.
8+
9+
## How to Contribute
10+
11+
### Content Contributions
12+
13+
The most valuable contributions are:
14+
15+
1. **New Lessons** - Add lessons to existing modules
16+
2. **Case Studies** - Real-world examples and blog posts
17+
3. **Code Examples** - Interactive examples and exercises
18+
4. **Improvements** - Fix errors, improve clarity, update outdated content
19+
20+
### Types of Contributions
21+
22+
#### 1. Bug Fixes
23+
24+
Found a typo, broken link, or error?
25+
26+
1. Open an issue describing the problem
27+
2. Submit a PR with the fix
28+
3. Reference the issue in your PR
29+
30+
#### 2. New Lessons
31+
32+
Adding a new lesson:
33+
34+
1. Choose the appropriate module (or propose a new one)
35+
2. Follow the lesson template (see below)
36+
3. Include code examples and exercises
37+
4. Submit a PR with a clear description
38+
39+
#### 3. Blog Posts
40+
41+
Share case studies or insights:
42+
43+
1. Create a new file in `website/blog/`
44+
2. Follow the blog post format (see examples)
45+
3. Include practical examples and takeaways
46+
4. Submit a PR
47+
48+
#### 4. Code Examples
49+
50+
Improve interactive examples:
51+
52+
1. Use the live code block feature when appropriate
53+
2. Include comments explaining key concepts
54+
3. Ensure code is production-quality
55+
4. Test thoroughly before submitting
56+
57+
## Content Guidelines
58+
59+
### Writing Style
60+
61+
- **Audience:** Experienced developers (not beginners)
62+
- **Tone:** Professional but approachable
63+
- **Format:** Clear, concise, actionable
64+
- **Examples:** Real-world, production-ready code
65+
66+
### Lesson Template
67+
68+
```markdown
69+
---
70+
sidebar_position: X
71+
sidebar_label: 'Lesson Title'
72+
---
73+
74+
# Lesson Title
75+
76+
Brief introduction (1-2 paragraphs)
77+
78+
## What You'll Learn
79+
80+
- Bullet point 1
81+
- Bullet point 2
82+
- Bullet point 3
83+
84+
## Section 1: Main Content
85+
86+
Content with examples...
87+
88+
\`\`\`javascript
89+
// Code example
90+
\`\`\`
91+
92+
## Section 2: Practical Application
93+
94+
Hands-on example or exercise...
95+
96+
## Exercise
97+
98+
Practice exercise with clear instructions...
99+
100+
## Summary
101+
102+
Key takeaways (3-5 bullet points)
103+
104+
---
105+
106+
**Next:** [Link to next lesson](#)
107+
```
108+
109+
### Code Standards
110+
111+
- **Quality:** Production-ready, not tutorial-quality
112+
- **Comments:** Explain why, not what
113+
- **Style:** Follow common conventions for the language
114+
- **Safety:** No security vulnerabilities or bad practices
115+
- **Testing:** Include tests where appropriate
116+
117+
### Interactive Examples
118+
119+
Use live code blocks for JavaScript/React examples:
120+
121+
````markdown
122+
```javascript live
123+
function example() {
124+
return "This code runs in the browser!";
125+
}
126+
```
127+
````
128+
129+
## Submission Process
130+
131+
### 1. Fork and Clone
132+
133+
```bash
134+
git clone https://github.com/YOUR_USERNAME/AI-Coding-Course.git
135+
cd AI-Coding-Course
136+
```
137+
138+
### 2. Create a Branch
139+
140+
```bash
141+
git checkout -b feature/your-feature-name
142+
```
143+
144+
Use descriptive branch names:
145+
- `feature/add-testing-lesson`
146+
- `fix/broken-link-fundamentals`
147+
- `docs/improve-prompting-guide`
148+
149+
### 3. Make Changes
150+
151+
```bash
152+
cd website
153+
npm install
154+
npm start
155+
```
156+
157+
Edit files in `website/docs/` or `website/blog/`
158+
159+
### 4. Test Locally
160+
161+
```bash
162+
npm run build
163+
npm run serve
164+
```
165+
166+
Verify:
167+
- Content renders correctly
168+
- Links work
169+
- Code examples run
170+
- Search indexes properly
171+
172+
### 5. Commit
173+
174+
```bash
175+
git add .
176+
git commit -m "feat: add lesson on test generation with AI"
177+
```
178+
179+
Use conventional commit messages:
180+
- `feat:` new features or lessons
181+
- `fix:` bug fixes
182+
- `docs:` documentation improvements
183+
- `style:` formatting changes
184+
- `refactor:` code restructuring
185+
186+
### 6. Push and Create PR
187+
188+
```bash
189+
git push origin feature/your-feature-name
190+
```
191+
192+
Create a pull request on GitHub with:
193+
- Clear title
194+
- Description of changes
195+
- Screenshots (if applicable)
196+
- Testing done
197+
198+
## PR Review Process
199+
200+
1. Automated checks must pass
201+
2. Content review by maintainers
202+
3. Feedback and iteration
203+
4. Approval and merge
204+
205+
## Project Structure
206+
207+
```
208+
AI-Coding-Course/
209+
├── .github/
210+
│ └── workflows/
211+
│ └── deploy.yml # GitHub Actions deployment
212+
├── website/
213+
│ ├── docs/ # Course content
214+
│ │ ├── intro.md
215+
│ │ ├── fundamentals/
216+
│ │ ├── prompting-techniques/
217+
│ │ ├── tools-and-workflows/
218+
│ │ ├── architecture-design/
219+
│ │ └── advanced-topics/
220+
│ ├── blog/ # Blog posts
221+
│ ├── src/
222+
│ │ ├── components/ # Custom React components
223+
│ │ ├── css/ # Custom styles
224+
│ │ └── pages/ # Custom pages
225+
│ ├── static/ # Static assets
226+
│ ├── docusaurus.config.ts # Main configuration
227+
│ ├── sidebars.ts # Sidebar structure
228+
│ └── package.json
229+
├── README.md
230+
└── CONTRIBUTING.md
231+
```
232+
233+
## Development Tips
234+
235+
### Adding a New Module
236+
237+
1. Create directory in `website/docs/`
238+
2. Add `index.md` with module overview
239+
3. Create lesson files
240+
4. Sidebar updates automatically
241+
242+
### Creating Interactive Examples
243+
244+
Use the live code block feature:
245+
246+
````markdown
247+
```jsx live
248+
function Button() {
249+
const [count, setCount] = React.useState(0);
250+
return <button onClick={() => setCount(count + 1)}>Count: {count}</button>;
251+
}
252+
```
253+
````
254+
255+
### Versioning Content
256+
257+
When making breaking changes:
258+
259+
```bash
260+
cd website
261+
npm run docusaurus docs:version 2.0
262+
```
263+
264+
### Local Search
265+
266+
Search indexes rebuild automatically during development. Test search thoroughly before submitting.
267+
268+
## Getting Help
269+
270+
- **Questions:** Open a [GitHub Discussion](https://github.com/ofriw/AI-Coding-Course/discussions)
271+
- **Bugs:** Open a [GitHub Issue](https://github.com/ofriw/AI-Coding-Course/issues)
272+
- **Ideas:** Start a discussion or open an issue
273+
274+
## Recognition
275+
276+
Contributors are recognized in:
277+
- Git commit history
278+
- Blog post author attribution (for blog contributions)
279+
- Community acknowledgments
280+
281+
## License
282+
283+
By contributing, you agree that your contributions will be licensed under the same license as the project (MIT License).
284+
285+
---
286+
287+
Thank you for helping make AI coding education better for everyone!

0 commit comments

Comments
 (0)