#markdown #knowledge-graph #wiki #ai

app wistra

AI-powered personal wiki builder

14 releases

0.1.18 Apr 5, 2026
0.1.17 Apr 5, 2026
0.1.8 Mar 29, 2026

#337 in Text processing

MIT license

270KB
6.5K SLoC

wistra

AI-powered personal wiki builder. Scans a knowledge graph, fills stub concepts, resolves disambiguation, and keeps everything connected — entirely from the command line.

Features

  • AI-Powered Growth: Automatically generates new concepts and expands stubs using Claude
  • Knowledge Graph: Tracks links between documents with bidirectional backlinks
  • Local Web UI: Browse your wiki with a beautiful, responsive web interface
  • Static Export: Deploy your wiki to Firebase Hosting or Cloudflare Pages with one command
  • Full CLI: Complete toolkit for managing documents, tags, links, and more

Installation

cargo install wistra

Or download pre-built binaries from GitHub Releases.

Quick Start

# Initial setup (configure API key, wiki path, interests)
wistra onboard

# Grow your wiki with AI-generated content
wistra run

# Start local web server to browse your wiki
wistra serve

# Export and deploy to the web
wistra export --deploy

Commands

Core

Command Description
wistra onboard Run the setup wizard
wistra run Grow the wiki with AI-generated concepts
wistra scan Scan wiki and print detailed report
wistra status Print compact status summary
wistra serve Start HTTP server to browse wiki
wistra export Export wiki as static site

Document Management

Command Description
wistra rename <old> <new> Rename a document and update all links
wistra merge <source> <target> Merge two documents
wistra delete <title> Delete a document and clean up links
wistra import <path> Import external markdown files

Analysis

Command Description
wistra backlinks <title> Show documents linking to a document
wistra orphans Find documents with no incoming links
wistra search <query> Full-text search across documents
wistra graph <title> Show document connection graph
wistra stats [type] Extended statistics (basic, trends, tags, links)
wistra dedup Detect duplicate or similar documents
wistra clean Detect and fix wiki technical debt

Tags

Command Description
wistra tags list List all tags with document counts
wistra tags rename <old> <new> Rename a tag across all documents
wistra tags merge <source> <target> Merge tags
wistra tags orphans Find unused tags

Configuration

Command Description
wistra config Modify configuration
wistra interests Modify interest domains
wistra cron Manage scheduled runs

Deployment

Wistra can export your wiki as a static site and deploy it directly to hosting platforms.

Cloudflare Pages

Deploy to Cloudflare Pages with automatic project creation:

# Deploy to Cloudflare (creates project if needed)
wistra export --hosting=cloudflare --deploy

# With custom project name
wistra export --hosting=cloudflare --deploy --project my-wiki

Requirements:

  • Wrangler CLI installed (npm install -g wrangler)
  • Cloudflare account authenticated (wrangler login)

Firebase Hosting

Export for Firebase Hosting:

# Generate static files and firebase.json
wistra export --hosting=firebase

# Then deploy manually
firebase deploy --only hosting

Or deploy automatically (requires Firebase CLI):

wistra export --hosting=firebase --deploy

Requirements:

  • Firebase CLI installed (npm install -g firebase-tools)
  • Firebase project configured (firebase init hosting)

Both Platforms

Generate configuration for both platforms at once:

wistra export --hosting=both --deploy

Export Options

# Full usage
wistra export [PATH] [OPTIONS]

Options:
  -o, --output <DIR>    Output directory (default: dist)
  --hosting <TARGET>    Hosting target: firebase, cloudflare, or both (default: firebase)
  --project <NAME>      Project name (auto-derived from wiki name if not set)
  --deploy              Deploy to hosting immediately after export

Local Web UI

The wistra serve command starts a local web server with a beautiful, responsive interface:

# Start server on default port (15432)
wistra serve

# Custom port and host
wistra serve --port 8080 --host 0.0.0.0

# Auto-open in browser
wistra serve --open

Features:

  • Home: Recent documents, random picks, wiki statistics
  • All Pages: Grid/list view with filtering by status and tags
  • Tags: Browse by tag hierarchy
  • Graph: Visual knowledge graph
  • Search: Full-text search across all documents
  • Responsive: Works on desktop and mobile

Wiki Format

Wistra uses standard Markdown with YAML frontmatter:

---
title: Concept Name
aliases: ["Alternative Name", "Synonym"]
tags: ["category/subcategory", "another-tag"]
status: published
created: 2024-01-15
---

# Concept Name

Content goes here. Link to other concepts with [[Wikilinks]].

You can also use [[Target|display text]] for custom link text.

Status Values

  • published — Complete, finished document
  • stub — Placeholder waiting for content expansion
  • disambiguation — Disambiguation page for ambiguous terms
  • meta — Index or metadata document

Connect your documents with double-bracket links:

  • [[Target]] — Link to another document
  • [[Target|Display Text]] — Link with custom display text
  • [[category/subcategory/Target]] — Link with tag path

Tags

Organize documents with slash-delimited tag hierarchies:

tags:
  - computer-science/ai
  - philosophy/mind
  - projects/personal

Configuration

Global Config

Stored at ~/.wistra/config.toml:

wiki_path = "~/wiki"
language = "en"
interests = ["computer-science", "philosophy"]
daily_count = 3

Per-Wiki Config

Stored at <wiki>/.wistra/config.toml:

[scanner]
include_patterns = ["**/*.md"]
exclude_patterns = ["**/node_modules/**"]

Architecture

src/
├── adapter/     # WikiAdapter trait + Claude API integration
├── cli/         # CLI commands (onboard, config)
├── config/      # GlobalConfig, WikiConfig
├── planner/     # Execution planning, slot allocation
├── scanner/     # Wiki parsing, link graph, reports
├── serve/       # HTTP server and web UI
│   ├── renderer # Markdown rendering
│   ├── templates # HTML templates
│   └── exporter # Static site export
├── types/       # Document, Link, LinkGraph, Status
└── writer/      # Document serialization, wikilink rewriting

Requirements

  • Rust 1.70+ — For building from source
  • Claude Code CLI — For AI-powered features (wistra run)
  • Node.js — For Firebase/Wrangler CLI deployment tools

License

MIT

Dependencies

~24–43MB
~571K SLoC