Skip to main content

Indexed knowledge bases with command-line tools for agents.

Project description

wiki

license build docs lint tests codecov pre-commit

Indexed knowledge bases with command-line tools for agents.

A wiki keeps project knowledge as plain markdown, indexed at every level by _index.md files, read by consulting the index and opening only the pages that a task needs. Andrej Karpathy named this shape the LLM Wiki pattern, and Google's Open Knowledge Format describes a standardized format for such markdown knowledge bases. Most approaches leave a great deal of structuring for agents to maintain by hand; here a deterministic CLI generates the indexes and cross-links and reconciles _index.md merges when parallel edits collide, so content is the only judgment call.


Source: https://github.com/plasma-ai/wiki

Package: https://pypi.org/project/plasma-wiki/

Documentation: https://docs.plasma.ai/wiki


Installation

Install the wiki CLI from PyPI:

pipx install plasma-wiki

(pip install plasma-wiki or uv tool install plasma-wiki work too.)

Skill

Install the /wiki skill for your agent via the plugin marketplace (Claude Code and Codex):

# Claude Code
/plugin marketplace add plasma-ai/plugins
/plugin install wiki@plasma

# Codex
codex plugin marketplace add plasma-ai/plugins
codex plugin add wiki@plasma

Or from the CLI, which copies the skill into ~/.claude/skills and ~/.agents/skills (add --project for the current project only):

wiki install

Usage

A wiki is a tree of markdown files linked together by _index.md files. Each folder becomes a section, and each markdown file becomes an entry. Wikis are designed to be read and written by both humans and agents: humans author content in Obsidian (or any editor), and agents query the wiki through the CLI to ground their work in project-specific knowledge.

Page, folder, and wiki names are lenient by default: spaces, dashes, mixed case, and unicode are all fine. Only characters that would break the wiki's structure — its path, link, and index syntax — are rejected, along with leading dots (hidden files) and the reserved _index / _config names. A wiki can opt into stricter rules, such as ASCII-only or identifier-style names, through the naming block in _config/settings.json; wiki lint flags any name that violates the policy.

Frontmatter timestamps default to UTC in ISO-8601. To change them, set a timezone (any IANA name) and format (a strftime string) under timestamp in _config/settings.json.

Use the /wiki skill to manage wikis. The wiki CLI is also available directly — run wiki --help and wiki <command> --help to explore.

Development

Install

Run install.sh in the package root. With no environment active it creates and uses a local .venv; with one active (e.g. pyenv) it syncs into that:

./install.sh --all-extras --groups=test,lint,type

Run tools with uv run <command>, or activate the environment first (source .venv/bin/activate). Run ./install.sh --help for all options.

Alternatively, run uv sync --all-extras --group test --group lint --group type and uv run pre-commit install to set up the environment manually.

Installing a dependency as editable (e.g. a sibling package) is left to the caller: uv pip install --editable <path>.

Tests

Run the test suite:

pytest .

Linting

Run linters and formatters:

pre-commit run --all-files

Acknowledgements

wiki sets up the Front Matter Title Obsidian plugin by Snezhig, which displays each note's name frontmatter as its title. The plugin is licensed GPL-3.0; wiki init/wiki config download version 4.1.0 from the upstream GitHub release at setup time rather than redistributing it.

License

Licensed under the Apache License 2.0 — see LICENSE.

Copyright © 2026 Plasma AI

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

plasma_wiki-0.1.0.tar.gz (47.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

plasma_wiki-0.1.0-py3-none-any.whl (48.9 kB view details)

Uploaded Python 3

File details

Details for the file plasma_wiki-0.1.0.tar.gz.

File metadata

  • Download URL: plasma_wiki-0.1.0.tar.gz
  • Upload date:
  • Size: 47.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for plasma_wiki-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4893832a1d254c45c649ade282183c14b5cf697ab53f744909bd903b61276433
MD5 fb6d15ea6ac238e97ab4b8d08295f880
BLAKE2b-256 25a3ba6973e49fea1824c7154f50df07a6e0f46fd7afdaf7d14fb6c02de02871

See more details on using hashes here.

Provenance

The following attestation bundles were made for plasma_wiki-0.1.0.tar.gz:

Publisher: build.yaml on plasma-ai/wiki

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file plasma_wiki-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: plasma_wiki-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 48.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for plasma_wiki-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 193e66d8a231389b53ba24ea32cde5f9b0a365aaaaaff6eaab0a346401e34a77
MD5 626000ae78740cc3eb8d377abd631e7e
BLAKE2b-256 1016ea905e27cc370a9b103ae8aa623bb88384d5d3c319c8eb92a7f9f6ef1135

See more details on using hashes here.

Provenance

The following attestation bundles were made for plasma_wiki-0.1.0-py3-none-any.whl:

Publisher: build.yaml on plasma-ai/wiki

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page