Baru-baru ini, LangChain — perusahaan di balik framework AI agent paling populer — ngerilis OpenWiki, open-source CLI tool yang generate dan maintain dokumentasi kode secara otomatis menggunakan AI agent. Dalam 2 minggu pertama, repo-nya dapet 7,264 stars di GitHub. Gw yang udah bertahun-tahun struggle dengan dokumentasi kode yang selalu outdated — langsung tertarik.
Selama 3 tahun terakhir, manage beberapa open-source project dan beberapa internal tools. Masalahnya selalu sama: dokumentasi ditulis dengan antusias di awal project, lalu makin lama makin ditinggal. Kode berubah, fitur baru ditambah, tapi dokumentasi tetep di versi awal. Akhirnya dokumentasi gak pernah dipake — dan developer baru harus baca source code langsung buat ngerti cara pakai tool-nya.
OpenWiki janjiin solusi: AI agent yang otomatis sinkronisasi dokumentasi dengan kode. Lo tinggal jalanin command, dia scan codebase, generate docs, dan update halaman yang berubah. Apakah beneran works? Atau cuma hype AI lagi? Gw test selama seminggu di 3 codebase berbeda: Python library, TypeScript API, dan Go CLI tool.
Apa Itu OpenWiki?
OpenWiki adalah CLI tool + AI agent yang secara otomatis:
- Scan source code dan extract functions, classes, APIs, types, dan interfaces
- Generate documentation dalam berbagai format (Markdown, MDX, HTML)
- Maintain consistency — detect ketika kode berubah dan update docs yang relevan
- Publish ke platform manapun — GitHub Wiki, GitBook, Docusaurus, atau static site
Yang bikin OpenWiki beda dari tool dokumentasi lain: dia bukan cuma documentation generator kayak JSDoc atau Sphinx yang cuma generate API reference. OpenWiki pake AI agent untuk baca, analisis, dan tulis dokumentasi dalam konteks keseluruhan project. Dia bisa jelasin kenapa suatu fungsi dibuat dan gimana cara pakainya — bukan cuma ngasih type signature.
Instalasi dan Setup
# Install via npm (untuk project Node.js/TypeScript)
npx openwiki init
# Install via pip (untuk project Python)
pip install openwiki
# Atau via binary release
curl -sSf https://openwiki.langchain.com/install.sh | sh
# Init di project lo
cd my-project
openwiki init
Setup cukup simple. Command openwiki init bikin file openwiki.yaml di root project — ini konfigurasi untuk OpenWiki:
# openwiki.yaml — example
version: "1"
project:
name: "My CLI Tool"
description: "CLI tool untuk data processing"
language: python
documentation:
output: "docs/"
format: "markdown" # atau "mdx", "html"
include:
- "src/**/*.py"
exclude:
- "tests/"
- "**/__pycache__"
ai:
provider: "openai"
model: "gpt-4o" # atau "gpt-4o-mini" untuk hemat cost
api_key: "${OPENAI_API_KEY}"
wiki:
provider: "github"
repo: "username/my-repo"
Testing di 3 Codebase
Test 1: Python Library (1,200 lines, 15 modules)
Codebase: internal library untuk data validation dan transformation. Struktur cukup tipikal — beberapa modul dengan decorators, type hints, dan docstrings existing.
openwiki generate --source src/
openwiki serve # preview di http://localhost:3000
Hasil: OpenWiki berhasil generate 12 halaman dokumentasi dalam 2 menit. Quality of generated content: 7/10 untuk fungsi yang ada docstring-nya, 4/10 untuk yang tanpa docstring. Dia extract parameter, return types, dan kasih contoh usage code. Tapi untuk logika bisnis yang kompleks (misal: custom transformer pipeline), deskripsinya terlalu generik dan kadang miss konteks.
Yang impressive: OpenWiki detect cross-module dependencies. Dia tau kalau fungsi A di module 1 dipanggil dari module 2, dan generate "See also" links secara otomatis. Ini sesuatu yang gak bisa dilakukan JSDoc atau Sphinx tanpa konfigurasi manual.
Test 2: Express API (3,200 lines, 25 routes)
Codebase: REST API pakai Express.js + TypeScript. Routes, middleware, controllers, validators. Struktur typical production API dengan JSDoc minimal di beberapa endpoint.
openwiki generate --source src/ --format markdown
openwiki publish --provider github
Hasil: OpenWiki generate API documentation lengkap dengan endpoint lists, request/response schemas, dan error codes. Yang bikin gw surprised: dia bisa parse TypeScript types dan Zod validation schemas, lalu generate proper request body documentation. Contoh — dari Zod schema:
// Source code
const createUserSchema = z.object({
email: z.string().email(),
name: z.string().min(3).max(100),
role: z.enum(['admin', 'user', 'viewer']),
});
// Generated docs (by OpenWiki)
## POST /api/users
**Request Body:**
| Field | Type | Required | Validation |
|-------|------|----------|------------|
| email | string | ✅ | Must be valid email format |
| name | string | ✅ | Length 3-100 characters |
| role | string | ✅ | Must be one of: admin, user, viewer |
**Example:**
```json
{
"email": "[email protected]",
"name": "John Doe",
"role": "user"
}
```
8/10 untuk codebase ini. TypeScript + Zod adalah sweet spot OpenWiki — type system yang ketat bikin AI punya konteks yang jelas untuk generate docs akurat.
Test 3: Go CLI Tool (800 lines)
Codebase: CLI tool untuk file processing dengan Cobra CLI framework. Minimal comments.
Hasil: 5/10. OpenWiki bisa generate basic docs untuk command structure dan flags, tapi quality deskripsinya rendah — kebanyakan generic. Karena Go gak punya rich type system kayak TypeScript, AI punya lebih sedikit konteks untuk generate docs yang meaningful. Plus, Cobra framework pake struct tags yang gak selalu di-parse dengan baik.
Perbandingan dengan Tool Lain
| Feature | OpenWiki | Docusaurus | MKDocs | readme.so | JSDoc/Sphinx |
|---|---|---|---|---|---|
| Auto-generate docs dari kode | ✅ AI-powered | ❌ Manual | ❌ Manual | ❌ Manual | ✅ Template-based |
| AI context awareness | ✅ Full project context | ❌ | ❌ | ❌ | ❌ Only function-level |
| Auto-update saat kode berubah | ✅ `openwiki sync` | ❌ | ❌ | ❌ | ❌ |
| CI/CD integration | ✅ GitHub Action | ✅ Build only | ✅ Build only | ❌ | ✅ Build only |
| Multi-language | Python, TS, Go, Rust, Java | Any (manual) | Any (manual) | Any (manual) | Python/JS primarily |
| Cost | Free + API key (AI cost) | Free | Free | Free | Free |
| Learning curve | Low (1 CLI command) | Medium | Low | Very Low | Medium |
| API docs quality | Good (TypeScript best) | Depends on manual effort | Depends on manual effort | Basic | Good (structured) |
OpenWiki gak intended untuk replace Docusaurus atau MKDocs sepenuhnya — mereka adalah complementary tools. Docusaurus/MKDocs untuk dokumentasi high-level (overview, tutorial, use cases), OpenWiki untuk auto-generated documentation dari kode yang selalu up-to-date. Kombinasi keduanya ideal.
AI Cost Analysis
Pertanyaan paling umum: berapa biaya API untuk pake OpenWiki? Gw hitung dari testing di 3 codebase:
| Codebase | Lines of Code | AI Model | Tokens Used | Estimated Cost | Time |
|---|---|---|---|---|---|
| Python Library | 1,200 | GPT-4o | 45K | ~$0.15 | 2 min |
| Express API | 3,200 | GPT-4o | 120K | ~$0.38 | 4 min |
| Go CLI | 800 | GPT-4o-mini | 28K | ~$0.02 | 1 min |
| Incremental update (sync) | ~100 changed | GPT-4o-mini | ~8K | ~$0.005 | 30 sec |
Initial generation untuk project medium (~3K lines) biaya sekitar $0.40. Incremental sync (update docs saat kode berubah) biaya kurang dari $0.01 per run. Total setahun: mungkin $5-10 untuk project aktif. Sangat reasonable dibandingkan waktu yang lo hemat — gak nulis dokumentasi manual selama berjam-jam.
Tips: pakai GPT-4o-mini untuk initial generation dan sync sehari-hari. Pakai GPT-4o untuk first-time documentation dari codebase besar (quality lebih baik tapi cost 10x). Hybrid approach: GPT-4o untuk generate first draft, GPT-4o-mini untuk maintenance.
Workflow Integrasi
Setup CI/CD integration biar dokumentasi auto-update tiap kali merge ke main branch:
# .github/workflows/docs.yml
name: Update Documentation
on:
push:
branches: [main]
paths: ['src/**'] # Trigger cuma kalau source code berubah
jobs:
docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
- run: npm install openwiki
- run: openwiki sync
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
- run: openwiki publish --provider github
Workflow ini automatisir maintenance dokumentasi. Setiap commit yang menyentuh source code akan trigger OpenWiki sync — AI agent cek apa yang berubah, update halaman yang relevan, dan publish ke GitHub Wiki. Developer gak perlu mikirin dokumentasi. Dokumentasi tetep fresh tanpa manual effort.
Yang Gw Suka
- Auto-detect kode yang berubah: OpenWiki pake git diff untuk detect file mana yang berubah, cuma update halaman yang relevan. Gak perlu regenerate seluruh docs. Ini kunci biar cost tetap rendah.
- Output format fleksibel: Markdown, MDX, HTML. Lo bisa publish ke platform manapun. Pake markdown → GitHub Wiki → beres.
- Open source: MIT license. Lo bisa self-host atau kontribusi. Kode tersedia di github.com/langchain-ai/openwiki.
- Minimal setup: 1 CLI command untuk generate docs. Gak perlu template atau config complex. Cocok buat developer yang males dokumentasi.
Yang Kurang
- Konteks bisnis masih lemah: OpenWiki paham kode, tapi gak paham kenapa suatu fitur dibuat. Business context, architecture decisions, dan trade-off analysis masih harus ditulis manual.
- Quality tergantung bahasa: TypeScript/Zod dapat hasil terbaik. Go/Rust lebih rendah karena type system yang berbeda dan kurangnya runtime reflection.
- Vendor lock-in ke OpenAI: Bisa pake LLM lain via API compatible, tapi dokumentasi dan testing paling banyak buat OpenAI. Kalau lo pengen pake local LLM (via Ollama), belum ada official support.
- Gak support binary/docs untuk non-code: OpenWiki cuma generate technical documentation dari source code. Lo tetep butuh tool lain untuk user guides, tutorials, dan marketing pages.
Kesimpulan: Worth It?
Kalau project lo punya ≥3 module atau ≥2,000 lines of code, OpenWiki worth it banget. Cost $0.40 initial + $0.01/sync per bulan sangat kecil dibandingkan benefit: dokumentasi yang selalu up-to-date tanpa manual effort. Developer bisa fokus nulis kode, OpenWiki yang urus dokumentasi.
Yang perlu diingat: OpenWiki adalah pelengkap, bukan pengganti dokumentasi yang ditulis manusia. 80% technical documentation (API reference, function docs, type definitions) bisa di-generate otomatis. 20% sisanya — architecture overview, design decisions, tutorial — tetap butuh sentuhan manusia. Gunakan OpenWiki untuk 80% yang membosankan, dan lo bisa fokus ke 20% yang impactful.
Kalau lo tertarik dengan tool AI lainnya untuk developer workflow, baca juga review tentang OpenTag: Agent Mentions untuk Slack & GitHub dan perbandingan Agentic AI Tools 2026.
💬 Komentar (0)
Belum ada komentar. Jadilah yang pertama! 💬