No reviews yetBe the first to leave a review for OpenWiki
Hunter
📌
Hey Product Hunt! 👋
As AI coding assistants and agents become a core part of our daily workflows, we noticed a recurring problem: agents spend too much time (and context window) trying to decipher poorly documented codebases, or worse, hallucinating how a project works.
We built OpenWiki to bridge that gap. It’s a simple CLI tool that scans your repository and automatically generates highly optimized, agent-friendly documentation.
Key features:
🤖 Built for Agents: Automatically creates AGENTS.md and CLAUDE.md files to give LLMs immediate, accurate context.
🔄 Always Up-to-Date: Comes with a built-in GitHub Action workflow to automatically open a PR with documentation updates whenever your code changes.
⚡ Flexible LLM Support: Works out of the box with Anthropic, OpenAI, Fireworks, OpenRouter, and more.
We’d love to hear your feedback! How are you currently managing documentation for your AI tools? Let us know in the comments! 👇
Report
how does it handle large monorepos, does it run on the whole tree at once or per package, and is there a way to keep certain folders out of the docs it generates
Report
Hunter
@habibeyzrl 1. Gestion des monorepos (Arborescence vs Par package)
Par défaut, OpenWiki est conçu comme un agent CLI interactif qui scanne le dépôt. Lors de son initialisation (openwiki --init), il va analyser l'ensemble de l'arborescence du dépôt pour dresser une carte des relations entre les fichiers et générer un index central sous forme de wiki.
Cependant, comme il s'agit d'un agent interactif basé sur un LLM (via OpenRouter), vous pouvez lui donner des instructions contextuelles directement dans le terminal (par exemple : openwiki "Génère la documentation uniquement pour le package /apps/web"). Il peut ainsi cibler des sous-sections spécifiques plutôt que de ré-analyser l'intégralité du monorepo à chaque fois.
2. Exclusion de dossiers spécifiques
Oui, c'est tout à fait possible et même recommandé pour éviter d'épuiser la fenêtre de contexte du modèle (avec des dossiers comme node_modules, dist ou les fichiers de build). Deux approches permettent de le faire :
Filtrage natif / Configuration : OpenWiki respecte généralement l'arborescence standard et ignore les fichiers exclus.
Via l'invite (Prompt) : Lors du lancement de la commande ou dans la configuration initiale, vous pouvez lui spécifier explicitement les dossiers à ignorer (ex: openwiki --update "Mets à jour la documentation en ignorant le dossier /packages/legacy").
Report
Love that this lives in the terminal instead of another web dashboard. Documentation as a CLI you can wire into your actual dev loop feels like the right call, and it shows you understood the audience.
how does it handle large monorepos, does it run on the whole tree at once or per package, and is there a way to keep certain folders out of the docs it generates
@habibeyzrl 1. Gestion des monorepos (Arborescence vs Par package)
Par défaut, OpenWiki est conçu comme un agent CLI interactif qui scanne le dépôt. Lors de son initialisation (openwiki --init), il va analyser l'ensemble de l'arborescence du dépôt pour dresser une carte des relations entre les fichiers et générer un index central sous forme de wiki.
Cependant, comme il s'agit d'un agent interactif basé sur un LLM (via OpenRouter), vous pouvez lui donner des instructions contextuelles directement dans le terminal (par exemple : openwiki "Génère la documentation uniquement pour le package /apps/web"). Il peut ainsi cibler des sous-sections spécifiques plutôt que de ré-analyser l'intégralité du monorepo à chaque fois.
2. Exclusion de dossiers spécifiques
Oui, c'est tout à fait possible et même recommandé pour éviter d'épuiser la fenêtre de contexte du modèle (avec des dossiers comme node_modules, dist ou les fichiers de build). Deux approches permettent de le faire :
Filtrage natif / Configuration : OpenWiki respecte généralement l'arborescence standard et ignore les fichiers exclus.
Via l'invite (Prompt) : Lors du lancement de la commande ou dans la configuration initiale, vous pouvez lui spécifier explicitement les dossiers à ignorer (ex: openwiki --update "Mets à jour la documentation en ignorant le dossier /packages/legacy").
Love that this lives in the terminal instead of another web dashboard. Documentation as a CLI you can wire into your actual dev loop feels like the right call, and it shows you understood the audience.