name: 42-readme-generator description: Generate comprehensive README files for 42 School projects. Use when creating or improving project documentation.
42 README Generator
Generate well-structured README files for 42 School projects.
README Structure
Every 42 project README should include:
- Title & Tagline (with emojis)
- Description - Overview, problem, key challenge
- Technologies & Concepts - What's used and learned
- How It Works - Visual explanations with ASCII diagrams
- Architecture - Data structures, modules
- Source Code Structure - Directory tree
- Instructions - Build, run, test
- Technical Challenges - Problems and solutions (collapsible)
- Useful Links - Guides and resources
- License - Academic disclaimer
Title Section Template
# project-name ๐ฏ [emoji]
One-sentence description of what the project does and its educational purpose.
Description Template
## Description ๐
[2-3 paragraph overview of the project]
**Key Challenge:** [Main technical difficulty in one sentence]
How It Works Section
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 Structure Template
## Source Code Structure ๐
\```
project/
โโโ binary_name
โโโ Makefile
โโโ include/
โ โโโ header.h
โโโ src/
โ โโโ main.c
โ โโโ utils.c
โโโ guides/
โโโ guide.md
\```
Instructions Template
## 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 Template
## Technical Challenges & Solutions ๐งฉ
<details>
<summary><strong>Challenge Name</strong></summary>
**Problem:** Description of the issue
**Solution:** How it was solved
</details>
Style Guidelines
Emojis
- Title: 1-2 relevant emojis
- Sections: One per header (๐ ๐ ๏ธ ๐ ๐๏ธ ๐ โ๏ธ ๐งฉ ๐)
- Body: Minimal use
Code Blocks
- Always specify language: ```c, ```bash, ```makefile
- Show actual project code when possible
ASCII Diagrams
- Use: โโโโโโโโค for boxes
- Arrows: โ โ โ โ โ โบ
- Keep simple and readable
Example Links Section
## 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)
42-Specific Elements
Norminette
Always include:
norminette -R CheckForbiddenSourceHeader src/*.c include/*.h
Makefile Rules
Document:
make/make allmake cleanmake fcleanmake remake bonus(if applicable)
Testing
Include practical tests:
# Thread Sanitizer
cc -fsanitize=thread -pthread src/*.c -o program
# Valgrind
valgrind --leak-check=full ./program
Process
- Read all source files and Makefile
- Identify key data structures and functions
- Understand program flow and architecture
- Create ASCII diagrams for complex processes
- Write clear, concise descriptions
- Include practical, tested examples
- Link to existing guides/ files
- Add relevant external resources
Quality Checklist
- All 10 sections present
- Compilation commands tested
- Examples are accurate
- ASCII diagrams render correctly
- Code snippets from actual files
- Links are valid
- Consistent emoji use
- Professional tone
- Markdown properly formatted