Minimal nestable wiki for AI coding harnesses with filesystem access (Claude Code, Codex, Cursor, Windsurf, etc.). A folder + index.md, for any use case (notes, research, recipes, writing, team docs). Spec, conventions catalog, and reference skills. Out of scope: browser-only AI assistants.
Project description
wiki-spaces
A minimal nestable wiki — a folder with index.md, for any use case. Research, recipes, code notes, writing, team docs, a personal life wiki — your shape, your call.
Markdown flavor is Obsidian — wikilinks, frontmatter, callouts, embeds, comments, Bases. One dialect across the spec, the skills, and the tools. Non-Obsidian renderers (GitHub preview, vanilla VS Code, plain markdown viewers) display the content but will not render Obsidian-specific syntax (provenance comments, embeds, .base files) the way Obsidian does — view your wiki in Obsidian for full fidelity.
Audience
wiki-spaces is built for AI coding harnesses with filesystem access — Claude Code, Codex, Cursor, Windsurf, Gemini CLI, Aider, and similar tools that read and write local files. Browser-only AI assistants (ChatGPT in a tab, Claude.ai web) are out of scope: they can't reach the filesystem to read or write your wiki. If your AI lives in a browser, this isn't the tool.
The shape of the wiki — research notes, recipes, journal, team reference, anything — is yours. The harness that drives it is what wiki-spaces assumes you have.
Install
Installing gives your agent the reference skills plus a scaffolded, registered wiki. Letting an agent do it is the recommended path — setup is a short interview, and an agent runs the steps end to end without fat-fingering a path or a flag.
Let your AI agent do it (recommended)
Paste this to your coding agent (Claude Code, Codex, Cursor, Windsurf, Gemini CLI, Antigravity, …):
Install and set up wiki-spaces for me by following the instructions here:
https://raw.githubusercontent.com/anfreire/wiki-spaces/main/references/SETUP.md
The agent reads SETUP.md, asks what the wiki is for and where it should live, infers a layout, links the skills into your harness, scaffolds the wiki, and writes the config — confirming the plan with you before it runs anything.
Manual
uvx wiki-spaces install # link skills into detected harnesses
uvx wiki-spaces init ~/Wiki # scaffold a wiki + register it
uvx wiki-spaces doctor --no-net # verify
install auto-detects and links the skills into whichever of Claude Code, Codex, Gemini CLI, Antigravity, Hermes, and Kiro are present (--all pre-positions for every one). Cursor, Windsurf, GitHub Copilot, and Aider have no global skills directory — they integrate via a rule-file snippet (wiki-spaces install --bridge <key>; see HARNESS_INTEGRATION.md). For a permanent install, pip install wiki-spaces or uv tool install wiki-spaces, then drop the uvx prefix.
Once a wiki exists, the space subcommands manage its structure:
uvx wiki-spaces space add projects/foo # create a space + register it
uvx wiki-spaces space audit # audit drift, broken links, orphans
uvx wiki-spaces space mount <url> shared/team --as submodule # mount an external space
space add, space remove, and space mount need a ## Spaces section in the parent's index.md; wiki-spaces init scaffolds that automatically.
No tooling at all
mkdir -p ~/Wiki && echo "# My Wiki" > ~/Wiki/index.md
A folder with index.md is already a complete wiki — the whole spec is one page, AGENTS.md. The skills still work on it (they discover the wiki from your current directory); run wiki-spaces init later to register it for config-based discovery.
What you get
Three reference skills your AI agent uses to work with the wiki:
wiki-search— find contentwiki-update— capture / save / syncwiki-tend— audit, normalize tags, cross-link
Cursor / Windsurf / Copilot / Aider integration is covered under Install above and in HARNESS_INTEGRATION.md.
Search at scale
wiki-search works out of the box with grep / ripgrep, which is fine for personal/team wikis up to a few hundred pages. For larger vaults, install qmd — the markdown-aware MCP backend Andrej Karpathy references in the canonical LLM-wiki gist. See CONVENTIONS.md § Recommended search backends.
Learn more
AGENTS.md— the spec, one pageCONVENTIONS.md— opt-in conventions catalogreferences/EXAMPLES.md— topology examples per use casereferences/MOUNT.md— mount external spaces into your wiki
Dependencies
Python >=3.11. uv recommended (handles Python provisioning). git optional.
Prior art
- Andrej Karpathy's LLM Wiki gist
- Ar9av/obsidian-wiki — broader framework wiki-spaces extracts from
- kepano — vendored
obsidian-markdownandobsidian-basesskills (MIT-licensed; seevendor/kepano/LICENSE)
License
MIT. See LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file wiki_spaces-0.6.0.tar.gz.
File metadata
- Download URL: wiki_spaces-0.6.0.tar.gz
- Upload date:
- Size: 82.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4e8044e242da896da5430e9e966593086d83662dfaab045ce7a5fe177040f09e
|
|
| MD5 |
07e7e124154da34a71e841a51df23e8c
|
|
| BLAKE2b-256 |
d9974d8707e17c991ee10c6c1a60ebd124fee2696ae5cada7a548938e86c3306
|
Provenance
The following attestation bundles were made for wiki_spaces-0.6.0.tar.gz:
Publisher:
release.yml on anfreire/wiki-spaces
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
wiki_spaces-0.6.0.tar.gz -
Subject digest:
4e8044e242da896da5430e9e966593086d83662dfaab045ce7a5fe177040f09e - Sigstore transparency entry: 1616019614
- Sigstore integration time:
-
Permalink:
anfreire/wiki-spaces@53f84e90d61241bc2b5c3b8054007e7fdcd2f53b -
Branch / Tag:
refs/tags/v0.6.0 - Owner: https://github.com/anfreire
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@53f84e90d61241bc2b5c3b8054007e7fdcd2f53b -
Trigger Event:
push
-
Statement type:
File details
Details for the file wiki_spaces-0.6.0-py3-none-any.whl.
File metadata
- Download URL: wiki_spaces-0.6.0-py3-none-any.whl
- Upload date:
- Size: 102.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e802742cc85c8a40509cb69161cfbad79d4732016d8226aa4e3b31c2251bd808
|
|
| MD5 |
681ab1322cac7a4037b0ac0be0f6bde0
|
|
| BLAKE2b-256 |
39e2954ca1b4a1f44925b67694f8fef09d9d409ff37d8480617c9cda6a006660
|
Provenance
The following attestation bundles were made for wiki_spaces-0.6.0-py3-none-any.whl:
Publisher:
release.yml on anfreire/wiki-spaces
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
wiki_spaces-0.6.0-py3-none-any.whl -
Subject digest:
e802742cc85c8a40509cb69161cfbad79d4732016d8226aa4e3b31c2251bd808 - Sigstore transparency entry: 1616019653
- Sigstore integration time:
-
Permalink:
anfreire/wiki-spaces@53f84e90d61241bc2b5c3b8054007e7fdcd2f53b -
Branch / Tag:
refs/tags/v0.6.0 - Owner: https://github.com/anfreire
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@53f84e90d61241bc2b5c3b8054007e7fdcd2f53b -
Trigger Event:
push
-
Statement type: