🚀 Never Write a README.md from Scratch Again - Meet readmeai
Every developer has been there. You finally finish that side project, push it to GitHub, open the repo and the README.md is just # project-name. You tell yourself you'll fix it tomorrow. Tomorrow becomes next week. The repo quietly gathers dust.
The excuse is always the same: writing a good README is harder than it looks. You need a hero description, install instructions, usage examples, badges, a contributing guide, a license section and you have to make it not look like a templated ghost wrote it. It's not technical work; it's polishing work. And polishing work is the first thing that gets pushed aside when the next idea hits.
That's exactly why I built readmeai. It's a small Python CLI that scans your project structure, reads your key config files (pyproject.toml, package.json, Cargo.toml, go.mod, Dockerfile, …) and asks an LLM to generate a complete, badge-laden README.md ready to commit. One command, about ten seconds, and your repo stops looking orphaned. Local-first if you want it (Ollama works out of the box), zero heavy dependencies (requests is the only one), MIT-licensed, on PyPI today.
Quickstart in 90 Seconds
Install readmeai via pip:
pip install readmeai
Then run it in your project directory:
readmeai
That's it. Your README.md is generated and written to disk.
How It Works (Under the Hood)
- readmeai scans your project directory for known configuration files and source code patterns.
- It extracts metadata: project name, dependencies, language, build system, and file structure.
- It sends this context to an LLM provider with a carefully crafted prompt.
- The LLM returns a structured README, which readmeai writes to
README.md.
The entire pipeline runs in about ten seconds for most projects.
Picking a Provider: OpenCode vs OpenAI vs Ollama
readmeai supports three LLM backends:
- OpenCode – Free, open-source model, no API key required. Best for quick experiments.
- OpenAI – Uses GPT-4 or GPT-3.5. Requires an API key. Produces the most polished output.
- Ollama – Run models locally on your machine. No data leaves your network. Works with any Ollama-compatible model.
Set the provider with the --provider flag:
readmeai --provider openai
Interactive Mode: Preview Before You Commit
Use the --interactive flag to review the generated README before it's written:
readmeai --interactive
This opens a diff view showing the proposed changes. You can accept, edit, or reject the output.
Supported Project Types & Config Files
readmeai automatically detects the following project types and their config files:
- Python:
pyproject.toml,setup.py,setup.cfg,requirements.txt - Node.js:
package.json - Rust:
Cargo.toml - Go:
go.mod - Docker:
Dockerfile - Java/Kotlin:
pom.xml,build.gradle - Ruby:
Gemfile - PHP:
composer.json - .NET:
*.csproj
If your project type isn't listed, readmeai falls back to a generic analysis of your file structure.
Customising the Output
You can control the tone, length, and sections of the generated README:
readmeai --style concise
readmeai --style detailed
readmeai --sections install,usage,license
Available sections include: description, install, usage, badges, contributing, license, acknowledgements, and roadmap.
Roadmap & Contributing
Planned features:
- Support for monorepos with multiple packages
- Custom templates via YAML configuration
- GitHub Actions integration for auto-updating READMEs on push
- Support for more LLM providers (Anthropic, Gemini, Mistral)
Contributions are welcome. The project is MIT-licensed and hosted on GitHub. Open an issue or pull request for any feature requests or bug reports.
Closing Thoughts
A good README is the front door to your project. It tells people what your code does, why it matters, and how to use it. readmeai doesn't replace thoughtful documentation - it removes the friction of starting from a blank page. One command, ten seconds, and your repo stops looking orphaned.
Comments
No comments yet. Start the discussion.