claudeers.

🔓 unclaimed — this page was auto-generated from GitHub. Are you the creator?

Claim this page →
// RAG & Knowledge

ontoship

md+git knowledge base: FTS5 search (bm25+trigram/fuzzy), HTML+graph, code-ontology linter, Claude Code plugin

// RAG & Knowledge[ cli ][ api ][ claude ]#claude#ragMIT$open-sourceupdated 14 days ago
Actively maintained
95/100
last commit 20 days ago
last release none
releases 0
open issues 0
// install
git clone https://github.com/vakovalskii/ontoship

OntoShip

A project knowledge base is just markdown + a README index + git. Nothing simpler works better.

OntoShip graph of a real project

Above: the actual documentation graph of a live production project (hub.neuraldeep.ru) — generated by gitmark map, gravity mode on. Colors = services. This isn't a mockup; it's a KB being used and evolved daily.


The idea

Markdown is the source of truth — the thing you and your AI assistant read directly, in any editor. Everything derived (a search index, this HTML overview, the link graph) is regenerated from the md, so git stays clean. No service, no database, no embeddings, no vendor. The entry point is CLAUDE.md / AGENTS.md; every folder's README.md is its index.

CLAUDE.md / AGENTS.md      ← entry point
/docs
  README.md                ← master index
  /services
    /<service>
      README.md            ← always the folder index

Battle-tested over months of building with AI assistants. The KB an agent (and a human) actually wants is plain md you can read anywhere — plus instant search so you find the right file instead of grepping blind.

What's in here

gitmark — one self-contained Python-stdlib CLI, zero dependencies:

commandwhat
indexbuild a SQLite FTS5 index: bm25trigram (substring) ∪ fuzzy (4-char windows, typo/morphology/non-Latin tolerant)
searchranked file:line · heading · snippet; --json for tooling
mapself-contained HTML: collapsible tree + rendered markdown + a force/radial graph of links
servetiny local HTTP server to view the map
statindex/KB stats
lint(optional) ontology checks: broken links, frontmatter, folder READMEs
version

OntoShip ships as a Claude Code marketplace with two pluginsgitmark (KB + dev-flow) and destructive-guard (safety hook).

gitmark — three skills and five commands:

skillwhat
kb-searchsearch the KB (FTS5) instead of grepping blind
kb-curatelight ontology rules when adding/editing docs (types, frontmatter, typed links)
dev-flowthe spec-driven loop to ship a feature: research → tasks → goal → spec (md via kb-curate) → isolated git worktree → implement → tests → independent review → dev-tests → prod-tests → ship (MR → devmain). Feature to prod in ~40 min – 2 h.

So the agent searches the KB instead of grepping, follows light curation rules when editing, and ships changes through one repeatable, gated flow built around the KB.

commandwhat
/kbsearch the KB (FTS5) and answer from the top hits
/kb-mapbuild the self-contained HTML graph of the KB and open it
/doccompose/update one KB doc following the ontology (wraps kb-curate)
/onto-docbuild the whole KB — fans out kb-curate curator agents per area, then lint + index + map
/shiprun the dev-flow on a feature/fix: research → … → ship (MR → dev → main)

What to write after a command (for best results)

The argument after the command is the prompt — be specific, results scale with it.

/kb <query> — a topic, symbol, concept or question to find in the KB.

  • Good: /kb how is the billing webhook signature verified, /kb tier rate limits, /kb sandbox isolation.
  • Use concrete nouns, not full sentences. Cyrillic, typos and substrings are fine (trigram/fuzzy).
  • Bare /kb → prints index stats + the syntax.

/kb-map [output-path] — usually nothing (defaults to docs-map.html).

  • Optional path: /kb-map build/graph.html.

/doc <topic / what to document> — name the thing to write up; the agent picks the node_type+folder, writes frontmatter + typed links, and indexes it.

  • Good: /doc how the billing webhook verifies the YooKassa signature, /doc decision: drop Firecracker-per-session.
  • It searches first and edits an existing doc instead of duplicating.

/onto-doc [scope] — bootstrap/rebuild the entire KB. Empty = whole repo; or scope it (/onto-doc services/api services/billing, or /onto-doc only reference docs).

  • Surveys the codebase, splits it into doc areas, and dispatches a curator agent per area (parallel), then lints + reindexes + regenerates the graph.
  • Use it on a fresh repo to stand up docs/ from nothing, or to backfill coverage.

/ship <what + why + done> — describe the change as fully as you can; this is what makes the dev-flow good. Include what to do, why (the goal), and the done-criteria, and name the target service/file if you know it.

  • Good: /ship add a 60 rpm rate-limit to /api/search; goal: stop abuse; done = HTTP 429 over the limit + a unit test + a note in docs/reference/limits.md.
  • Weak: /ship fix search → the agent has to guess the goal and the done-criteria.
  • Add "deploy it" / "don't deploy" if you want to control the last step.

destructive-guard — a PreToolUse Bash hook that intercepts destructive commands (rm, git reset --hard, docker rm -v, SQL DROP/TRUNCATE) and forces a y/n confirmation even in bypassPermissions, with sound + a macOS banner. Token-level parsing — no false positives on perform/transform/terraform.

Quickstart

python3 skills/kb-search/gitmark.py index            # build .gitmark/index.db
python3 skills/kb-search/gitmark.py search "auth flow"
python3 skills/kb-search/gitmark.py map -o docs-map.html && open docs-map.html

Pure python3 (≥3.7) with SQLite FTS5; the trigram tokenizer (SQLite ≥ 3.34) adds fuzzy/substring/non-Latin matching — detected automatically, degrades gracefully. Add .gitmark/ to .gitignore — it's a build artifact.

Install as a Claude Code plugin

/plugin marketplace add vakovalskii/ontoship
/plugin install gitmark@ontoship
/plugin install destructive-guard@ontoship   # optional: the safety hook

Or just copy skills/ and commands/ into your repo's .claude/ — project-local, no marketplace needed.

Optional: the ontology (only if you want guardrails)

The simple core needs no frontmatter at allindex/search/map work on raw markdown. If a team wants the KB not to rot as it grows, there's a light code-ontology (inspired by Palantir's Ontology): each doc gets a node_type, a few frontmatter properties, and typed links — and gitmark lint enforces it (no broken links, no orphans, every folder has a README index). See docs/ontology.md. Use it or ignore it; the tool doesn't force it.

Why this and not a wiki / Notion / vector-DB memory

Because the simplest thing wins: md you already read, git you already use, one stdlib file you can audit in an afternoon. It runs offline, leaks nothing to a SaaS, and you own every byte. There are a thousand "memory banks" — this one's bet is radical simplicity that you can watch working on a real product, not another service to run.

License

MIT — see LICENSE.

// compatibility

Platformscli, api
Operating systems
AI compatibilityclaude
LicenseMIT
Pricingopen-source
LanguagePython

// faq

What is ontoship?

md+git knowledge base: FTS5 search (bm25+trigram/fuzzy), HTML+graph, code-ontology linter, Claude Code plugin. It is open-source on GitHub.

Is ontoship free to use?

ontoship is open-source under the MIT license, so it is free to use.

What category does ontoship belong to?

ontoship is listed under plugins in the Claudeers registry of Claude-compatible tools.

0 views
57 stars
unclaimed
updated 14 days ago

// embed badge

ontoship on Claudeers
[![Claudeers](https://claudeers.com/api/badge/ontoship.svg)](https://claudeers.com/ontoship)

// retro hit counter

ontoship hit counter
[![Hits](https://claudeers.com/api/counter/ontoship.svg)](https://claudeers.com/ontoship)

// reviews

// guestbook

0/500

// related in RAG & Knowledge

🔓

✨ Light and Fast AI Assistant. Support: Web | iOS | MacOS | Android | Linux | Windows

// ragChatGPTNextWeb/TypeScript88,415MIT[ claude ]
🔓

Persistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant contex…

// ragthedotmack/JavaScript86,462Apache-2.0[ claude ]
🔓

A light-weight and powerful meta-prompting, context engineering and spec-driven development system for Claude Code by TÂCHES.

// raggsd-build/JavaScript64,711MIT[ claude ]
🔓

Compress tool outputs, logs, files, and RAG chunks before they reach the LLM. 60-95% fewer tokens, same answers. Library, proxy, MCP server.

// ragheadroomlabs-ai/Python56,255Apache-2.0[ claude ]
→ see how ontoship connects across the ecosystem