"Knowledge" in Guarani — your AI-powered personal knowledge workspace.
Drop your notes, transcriptions, and documents — arandu turns them into a structured, searchable wiki you can chat with.
arandu is a self-hosted web app that acts as your personal knowledge assistant. You feed it raw content — meeting transcriptions, documents, notes, decisions — and it automatically builds and maintains a structured wiki. Then you can chat with it, ask questions, and get answers grounded in your own knowledge base.
No cloud sync. No subscriptions. Your data stays local.
The entire wiki management philosophy is defined in LLM-WIKI.md — the instruction set that guides the LLM on how to organize, structure, and evolve your knowledge base. Read it to understand the core idea.
Requires: Node.js 18+ and an Anthropic API key (or Claude Code CLI)
npx arandu ./my-project
cd my-project
npm run setup # install deps + build (first time only)
npm startOpen http://localhost:3000 — that's it.
The npx command scaffolds a new workspace interactively, asking you for:
- Project name
- LLM provider (
claude-code,claude, oropenai) - Knowledge spaces (e.g.
work,personal,research) - Document categories (e.g.
docs,transcriptions,decisions)
| Feature | Description | |
|---|---|---|
| 📚 | Wiki | Auto-generated markdown wiki organized by space, with customizable folders and categories |
| 💬 | Chat | Multi-turn Q&A over your wiki — ask anything, get answers with context. Save insights as raw files. |
| 📥 | Ingest | Drop a raw file → the LLM reads it and updates the wiki automatically. Background processing with progress tracking. |
| 🔄 | Re-ingest | Re-process any wiki page from its original source files |
| 🔍 | Lint | LLM reviews wiki pages for quality, broken links, and missing cross-references |
| 🕸️ | Graph | Visual knowledge graph showing connections between wiki pages |
| 🔀 | Git | Track changes to your wiki with built-in git diff view, AI-generated commit messages |
| ⚙️ | Settings | Switch LLM provider and model, manage spaces and categories, customize wiki folders — all from the UI |
raw/ wiki/
├── work/ ├── work/
│ ├── transcriptions/ │ ├── topics/
│ │ └── team-standup- │ │ ├── api-design.md
│ │ 2026-05-12.md ──► │ │ └── architecture.md
│ └── docs/ │ ├── people/
│ └── doc-arch- │ │ └── john-doe.md
│ 2026-05-10.md │ └── decisions/
│ │ └── use-nextjs.md
└── personal/ │
└── notes/ └── personal/
└── note-idea- └── topics/
2026-05-11.md └── idea.md
- Drop raw files into
raw/<space>/<category>/(or use the Add File page in the UI) - Ingest — the LLM reads the file and updates relevant wiki pages
- Chat — ask questions, get answers grounded in your wiki
- Lint — the LLM reviews wiki pages for quality and consistency
Configure via the Settings page in the UI or by editing config/app.json:
| Provider | How to set up |
|---|---|
| Claude Code CLI (recommended) | npm install -g @anthropic-ai/claude-code then claude login |
| Anthropic SDK | Set ANTHROPIC_API_KEY in config/secrets.json or ui/.env.local |
| OpenAI (coming soon) | Set OPENAI_API_KEY in config/secrets.json or ui/.env.local |
config/secrets.jsonis gitignored — your API keys are safe.
Understanding these three concepts is all you need to get started:
A space is a top-level knowledge area — a domain, team, project, or context you want to track separately.
Examples:
work → everything related to your job
personal → personal notes and ideas
research → a specific research topic
acme-corp → a client or company you follow
Each space has its own folder in raw/ and its own wiki section. You can have as many spaces as you want. Spaces are configured centrally in config/app.json.
Spaces also scope your chat. When chatting, you can select which spaces the LLM should search — so you can ask "what did we decide about the API?" scoped only to work, without noise from personal or research.
A category defines the type of document within a space. Categories tell arandu how to process and weight the content.
Examples:
transcription → meeting recordings, interviews
doc → reference documents, specs, articles
note → quick thoughts, ideas, observations
decision → architectural or strategic decisions
Categories are fully customizable — you define them when running npx arandu, and can add or edit them later in config/app.json or via the Settings UI. Each category can have ingest_instructions that tell the LLM what to extract.
The wiki is the output — automatically generated and maintained by the LLM. It's organized by space and folder (e.g. wiki/work/topics/, wiki/work/people/). Each page is a plain markdown file with YAML frontmatter.
You never edit the wiki manually — you ingest raw files and the LLM keeps the wiki up to date.
Space (work)
└── Category (transcriptions)
└── Raw file (transcription-standup-2026-05-12.md)
↓ ingest
Wiki pages updated automatically
(work/topics/api-design.md, work/people/john.md, ...)
After running npx arandu, your project looks like this:
my-project/
├── raw/ # Drop your source files here
│ └── <space>/ # e.g. work/, personal/
│ └── <category>/ # e.g. transcriptions/, docs/
├── wiki/ # Auto-generated wiki (commit this!)
│ └── <space>/ # e.g. work/, personal/
│ └── <folder>/ # e.g. topics/, people/, decisions/
├── config/
│ ├── app.json # Project config: spaces, categories, wiki folders, LLM settings
│ ├── secrets.json # API keys (gitignored)
│ ├── prompts/ # Customizable LLM prompts
│ └── templates/ # Document templates per category
├── .arandu/ # UI source bundle (don't edit — refresh with `arandu upgrade`)
└── package.json # Proxies to .arandu/ (setup, start, build)
<category>-<slug>-YYYY-MM-DD.md
Examples:
transcription-team-standup-2026-05-12.md
doc-architecture-overview-2026-05-10.md
note-quick-idea-2026-05-11.md
decision-use-nextjs-2026-05-09.md
Files created through the UI (Add File, Chat Save) follow this convention automatically.
See @todo/FUTURE.md for what's coming:
- 🖼️ Assets Manager — embedded images and file attachments in wiki pages
- 📄 Multi-format Ingest — PDF and image ingestion (OCR)
- ⚙️ More providers — OpenAI, Ollama, OpenRouter
- 🔗 Confluence Extension — import and sync Confluence pages
- 🏠 Hosting — externally hosted wikis with app-managed git
- 📦 Vaults — mount external arandu projects as path references
- 🖥️ Tauri Desktop — native desktop app with Node.js sidecar
See CONTRIBUTING.md for architecture details, API reference, and how to add new LLM providers.
MIT — use it, fork it, build on it.