Generate comprehensive README files for 42 School projects. Use when creating or improving project documentation.
Generate well-structured README files for 42 School projects.
Every 42 project README should include:
# project-name šÆ [emoji]
One-sentence description of what the project does and its educational purpose.
## Description š
[2-3 paragraph overview of the project]
**Key Challenge:** [Main technical difficulty in one sentence]
Use ASCII diagrams:
## How It Works š
### Data Flow:
āāāāāāāāāāā āāāāāāāāāāā ā INPUT āāāāāāāāāāŗā PROCESS ā āāāāāāāāāāā āāāāāā¬āāāāā ā ā¼ āāāāāāāāāāā ā OUTPUT ā āāāāāāāāāāā ```
## Architecture Section
Show actual code structures:
```markdown
## Architecture šļø
### Data Structures:
\```c
typedef struct s_data
{
int value;
char *str;
} t_data;
\```
## Source Code Structure š
\```
project/
āāā binary_name
āāā Makefile
āāā include/
ā āāā header.h
āāā src/
ā āāā main.c
ā āāā utils.c
āāā guides/
āāā guide.md
\```
## Instructions āļø
### Building the Project
\```bash
make # Compile
\```
### Running the Program
\```bash
./program [args]
\```
### Examples:
\```bash
# Basic test
./program test
# Edge case
./program 0
\```
### Development Commands
- Clean: `make clean`
- Full clean: `make fclean`
- Rebuild: `make re`
- Check style: `norminette -R CheckForbiddenSourceHeader`
## Technical Challenges & Solutions š§©
<details>
<summary><strong>Challenge Name</strong></summary>
**Problem:** Description of the issue
**Solution:** How it was solved
</details>
## Useful Links š
### Project Guides (in `/guides/`):
- `guide.md` ā - Main guide
- `concepts.md` - Core concepts
### External Resources:
#### Category 1:
- [Resource Name](URL)
#### Category 2:
- [Resource Name](URL)
Always include:
norminette -R CheckForbiddenSourceHeader src/*.c include/*.h
Document:
make / make allmake cleanmake fcleanmake remake bonus (if applicable)Include practical tests:
# Thread Sanitizer
cc -fsanitize=thread -pthread src/*.c -o program
# Valgrind
valgrind --leak-check=full ./program