Converts Office documents, PDFs, EPUB and CSV into clean GitHub-flavored Markdown via Rust, Node.js, Python and WASM bindings.
ioteverythin/OpenDocs
Python CLI that turns GitHub READMEs, Markdown files, and Jupyter notebooks into Word, PDF, PPTX, blog, LaTeX and other documentation formats.
- Stars
- 235
- Forks
- 19
- Open issues
- 0
- Last commit
- 2 months ago
What is it?
OpenDocs takes a GitHub repository URL, a local Markdown file, or a Jupyter Notebook (.ipynb) and generates structured documentation in formats such as Word (.docx), PowerPoint (.pptx), PDF, SEO-ready blog posts, Jira tickets as JSON, changelogs, IEEE-style LaTeX papers, FAQs, and architecture diagrams. A basic mode works purely from Markdown parsing without an LLM, while an optional LLM mode adds entity extraction, a knowledge graph, and stakeholder summaries.
Beyond document generation, it includes an interactive HTML knowledge graph, a queryable graph.json export, a Wikipedia-style Markdown wiki, and 25 built-in themes. It also offers commands to diff two documentation versions, lint docs in CI, measure documentation coverage against the code's API surface, and watch files for changes with optional automatic pull requests. Supported LLM providers include OpenAI, Anthropic, Google Gemini, Ollama, and Azure OpenAI.
Key features
- 01Converts GitHub READMEs, Markdown, and .ipynb notebooks into Word, PDF, PPTX, blog, and LaTeX outputs.
- 02Builds an interactive HTML knowledge graph with community clustering and provenance labels.
- 03Exports a graph.json that can be queried offline with the query command.
- 04Provides lint, diff, and coverage commands for checking documentation in CI.
- 05Includes a file watcher that regenerates docs on change and can open pull requests via gh.
- 06Supports five LLM providers and optional offline, cached operation.
Use cases
- Turning a project README into a Word report or slide deck for stakeholders.
- Generating documentation from research or data-science Jupyter notebooks.
- Checking documentation quality and API coverage in a CI pipeline.
- Keeping generated docs up to date with a cron job that opens automatic pull requests.
Topics
FAQ
- What is OpenDocs?
- Python CLI that turns GitHub READMEs, Markdown files, and Jupyter notebooks into Word, PDF, PPTX, blog, LaTeX and other documentation formats. OpenDocs takes a GitHub repository URL, a local Markdown file, or a Jupyter Notebook (.ipynb) and generates structured documentation in formats such as Word (.docx), PowerPoint (.pptx), PDF, SEO-ready blog posts, Jira tickets as JSON, changelogs, IEEE-style LaTeX papers, FAQs, and architecture diagrams. A basic mode works purely from Markdown parsing without an LLM, while an optional LLM mode adds entity extraction, a knowledge graph, and stakeholder summaries.
- Is OpenDocs free to use? What license does it have?
- OpenDocs is open source under the MIT license. Check the license terms before using it in commercial products.
- Is OpenDocs still maintained?
- Updated within 6 months. The last commit to OpenDocs was on Aug 16, 2026.
- What can I use OpenDocs for?
- Turning a project README into a Word report or slide deck for stakeholders. Generating documentation from research or data-science Jupyter notebooks. Checking documentation quality and API coverage in a CI pipeline. Keeping generated docs up to date with a cron job that opens automatic pull requests.
- Where can I get OpenDocs?
- The source code and installation instructions are on GitHub: https://github.com/ioteverythin/OpenDocs
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A local code knowledge graph that gives AI coding tools precise review context over MCP and a CLI.
An agentic coding tool that runs in your terminal, reads your codebase, and handles coding tasks, code explanations, and git workflows through natural language.
An open-source AI coding agent that reads your project, edits files and runs commands and tests from your terminal, desktop, browser or editor.
Rust library and CLI that classifies PDFs as text-based or scanned and extracts clean Markdown without OCR by default.
Incremental data pipeline framework in Python with a Rust core that keeps vector indexes and knowledge graphs for AI agents continuously in sync with changing sources.