Intelligent README.md generator — analyzes projects, detects tech stacks, and forges professional documentation
Project description
readme-forge-cli
Intelligent README.md generator — analyzes projects, detects tech stacks, and forges professional documentation automatically.
Features
- Auto-Detection — Detects language, frameworks, project type, license automatically
- 20+ Languages — Python, JavaScript, TypeScript, Go, Rust, Java, Ruby, C#, and more
- 50+ Frameworks — Django, React, FastAPI, Next.js, Spring Boot, Rails, and more
- Smart Badges — Auto-generates shields.io badges for language, version, license, CI, PyPI/npm
- Tech Stack Table — Categorized framework display with language versions
- Directory Tree — Optional project structure visualization
- Template Support — Built-in templates (minimal, detailed) or custom Jinja2 templates
- Configurable Sections — Toggle badges, TOC, features, installation, usage, contributing
- Multiple Styles — Banner, simple, or minimal header styles
- Rich Terminal UI — Beautiful project analysis output with Rich
Installation
pip install readme-forge-cli
Quick Start
# Generate README for current project
readme-forge generate .
# Preview without writing
readme-forge generate . --preview
# Analyze project without generating
readme-forge analyze .
# Quick detection (great for scripting)
readme-forge detect . --format json
Commands
readme-forge generate
Generate a README.md for your project.
readme-forge generate [PATH] [OPTIONS]
Options:
-o, --output TEXT Output file path (default: README.md)
--style [banner|simple|minimal] Header style
--badge-style [flat|flat-square|for-the-badge|plastic] Badge style
--no-badges Skip badges
--no-toc Skip table of contents
--no-features Skip features section
--no-install Skip installation section
--no-usage Skip usage section
--no-contributing Skip contributing section
--no-license Skip license section
--tree Include project structure tree
--tree-depth INT Tree depth (default: 3)
--api Include API reference section
--emoji / --no-emoji Use emoji in headers (default: on)
--preview Preview without writing file
-f, --force Overwrite existing README
-q, --quiet Minimal output
Example:
$ readme-forge generate ./my-project --force
🔍 Analyzing project at my-project...
╭─── 📋 Project Analysis ─────────────────────────────╮
│ Name my-awesome-tool │
│ Description An awesome CLI tool │
│ Version 2.1.0 │
│ Type CLI Tool │
│ Language Python │
│ Frameworks Click, pytest, Hatch │
│ License MIT │
│ Author Jane Dev │
│ Structure ✅ Tests ✅ CI/CD ✅ Docker │
╰──────────────────────────────────────────────────────╯
╭─── ✅ README Generated ─────────────────────────────╮
│ Output README.md │
│ Sections 8 │
│ Badge Style flat │
│ Header Style banner │
╰──────────────────────────────────────────────────────╯
readme-forge analyze
Analyze a project and display detected information.
readme-forge analyze [PATH]
readme-forge tree
Display the project directory tree.
readme-forge tree [PATH] [--depth INT]
readme-forge stats
Show project file statistics.
readme-forge stats [PATH]
readme-forge detect
Quick detection for scripting and CI/CD.
readme-forge detect [PATH] [--format text|json]
JSON output:
{
"name": "my-project",
"language": "Python",
"languages": ["Python", "TypeScript"],
"frameworks": ["FastAPI", "Docker", "GitHub Actions"],
"project_type": "API Server",
"license": "MIT",
"version": "1.0.0"
}
readme-forge templates
List available README templates.
readme-forge from-template
Generate README from a built-in or custom Jinja2 template.
readme-forge from-template [PATH] -t TEMPLATE [-o OUTPUT] [-f]
Supported Languages
| Language | Extensions |
|---|---|
| Python | .py |
| JavaScript | .js, .jsx |
| TypeScript | .ts, .tsx |
| Go | .go |
| Rust | .rs |
| Java | .java |
| C# | .cs |
| C/C++ | .c, .cpp, .cc |
| Ruby | .rb |
| PHP | .php |
| Swift | .swift |
| Kotlin | .kt, .kts |
| Dart | .dart |
| Shell | .sh, .bash |
| Scala | .scala |
| Elixir | .ex, .exs |
| Haskell | .hs |
Detected Frameworks
Python: Django, Flask, FastAPI, Click, Typer, pytest, Hatch, Poetry, setuptools, Sphinx, Celery, SQLAlchemy, Pydantic
JavaScript/TypeScript: React, Next.js, Vue.js, Angular, Express, NestJS, Vite, Webpack, Jest, Mocha, ESLint, Prettier, Tailwind CSS, Storybook
Go: Gin, Echo, Fiber, Cobra
Rust: Actix, Rocket, Tokio, clap, serde
Java: Spring Boot, Maven, Gradle
Ruby: Rails, Sinatra, RSpec
DevOps: Docker, Kubernetes, Terraform, GitHub Actions, GitLab CI
Custom Templates
Create a Jinja2 template file:
# {{ info.name }}
{{ info.description }}
**Language:** {{ info.primary_language.value }}
**License:** {{ info.license.value }}
{% for fw in info.frameworks %}
- {{ fw.value }}
{% endfor %}
Use it:
readme-forge from-template . -t my-template.j2 -o README.md
Development
git clone https://github.com/SanjaySundarMurthy/readme-forge.git
cd readme-forge
pip install -e ".[dev]"
pytest tests/ -v
License
MIT License — see LICENSE for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file readme_forge_cli-1.0.0.tar.gz.
File metadata
- Download URL: readme_forge_cli-1.0.0.tar.gz
- Upload date:
- Size: 34.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d044bbb290dd61814705807e1299d1af5772052fb61a735ca72f4f83039dc4f7
|
|
| MD5 |
5ea9cf0ee5e08aea6916907ae6c40a25
|
|
| BLAKE2b-256 |
b845797bbeec9001d656121c5c20200dd21fbc6ebc7a61968cdab34bfb7dea0c
|
File details
Details for the file readme_forge_cli-1.0.0-py3-none-any.whl.
File metadata
- Download URL: readme_forge_cli-1.0.0-py3-none-any.whl
- Upload date:
- Size: 26.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
92bea922e91ff1ba83f61623d16cc257a3d6db2ae0fd8b25a77e4e73383c9b9a
|
|
| MD5 |
78ca42350aec3cef7fb094e3985ec988
|
|
| BLAKE2b-256 |
14579d769d9273b7348c9e3d96e81e46e30853b922feadde5a39818964007b1a
|