okfctl
A spec-conformant CLI for authoring, validating, linting, and searching Open Knowledge Format (OKF) Markdown knowledge bundles—distributed as a single static Go binary.
At a Glance
About okfctl
okfctl is a command-line tool built by Casey West for authoring and maintaining Open Knowledge Format (OKF) bundles—structured trees of Markdown "nodes" with a link graph, reserved index.md/log.md files, and frontmatter provenance. It is distributed as a single static Go binary (CGO_ENABLED=0) with no Python environment, model runtime, or external dependencies required. The project is licensed under Apache-2.0 and currently at v0.4.0.
What It Is
okfctl is a spec-conformant CLI that enforces the Open Knowledge Format specification, maintained by Google in the GoogleCloudPlatform/knowledge-catalog repository. The tool's job is to keep Markdown knowledge bases structurally honest: it scaffolds bundles, moves nodes without breaking links, regenerates reserved index files, validates conformance against the OKF spec floor, and reports curation health findings. It does not author the OKF spec—where the spec defines behavior, the spec wins.
Core Workflow
The tool organizes its commands into four functional groups:
- Author:
bundle init/info,node new/show/list/edit/mv/rm/refresh/promote,index build/check,log append/show - Check:
validate(spec floor, fails on violation),lint(curation health, advisory by default, CI-gateable with--strict),eval(TACA transparency gate plus accuracy/alignment/calibration sampler) - Explore:
analyze(freshness, clusters, gaps, connectivity),search(lexical and graph-neighborhood, stdlib-only),graph(export as JSON or DOT),serve(interactive web visualization) - Extend:
template,migrate(v0.1 → v0.2),registry,connect,plugin,config,completion,version
A key design point: node mv treats path as identity. Moving a node rewrites every inbound link in the corpus, recomputing relative depth per file, and records the change in log.md. node rm reports orphans it would create rather than silently leaving dangling references.
Architecture and Deployment Model
okfctl is a pure Go, CGO_ENABLED=0 static binary. It ships prebuilt for darwin and linux on amd64 and arm64, and is also available via Homebrew (brew install cwest/tap/okfctl), a one-liner install script, go install, and Debian/RPM packages. Cosign signature verification is supported. There is no model server, no interpreter, and no network dependency at runtime—making it suitable for CI pipelines without additional setup.
Semantic search ships as a separate bundled plugin (okfctl-search --semantic) that uses model2vec, keeping the core binary free of model dependencies.
Agent Plugin Integration
The repository is packaged as an Agent Plugins 1.0.0 package. The root plugin.json bundles four generic okfctl skills—okf-authoring, okf-curation-health, okf-migrate-plan, and okf-semantic-search—as an installable unit for compatible agent clients including Copilot, Cursor, and Codex. Clients that read repo instructions directly pick up the same guidance from AGENTS.md. This is distinct from the okfctl plugin command, which manages executable plugins on PATH.
Update: v0.4.0
The latest release is v0.4.0, published on 2026-08-19. The repository was created in July 2026 and has seen active development, with the last push recorded on 2026-08-21. The project tracks 15 top-level commands, a command-reference drift gate to keep docs in sync with the binary, and a two-phase migration path from OKF v0.1 to v0.2. The eval command introduces a TACA (Transparency, Accuracy, Calibration, Alignment) framework where transparency is the one dimension a no-model tool can gate deterministically; accuracy, calibration, and alignment are scaffolded for a human or out-of-band judge.
Community Discussions
Be the first to start a conversation about okfctl
Share your experience with okfctl, ask questions, or help others learn from your insights.
Pricing
Open Source
Fully free and open source under Apache-2.0. Download and use without restriction.
- All CLI commands included
- Single static Go binary
- Homebrew, go install, and one-liner install options
- Prebuilt binaries for darwin/linux amd64/arm64
- Debian/RPM packages
Capabilities
Key Features
- Scaffold OKF-conformant bundles with reserved index.md and log.md files
- node mv rewrites all inbound links and recomputes relative depth per file
- validate enforces OKF spec floor and always fails on violation
- lint reports curation findings (orphans, broken links, coverage gaps) with --strict CI gate
- eval transparency gate for TACA (Transparency, Accuracy, Calibration, Alignment)
- analyze reports freshness, clusters, gaps, connectivity, and structure
- search provides lexical and graph-neighborhood search with no model or index
- graph exports concept-node link graph as JSON or DOT
- serve provides interactive web visualization of the bundle graph
- migrate upgrades bundles from OKF v0.1 to v0.2 (two-phase, consumer-agnostic)
- registry and connect manage named remote bundle sources
- plugin system for okfctl-<name> executable plugins
- Agent Plugins 1.0.0 package with four bundled skills for Copilot, Cursor, Codex
- Single static Go binary, CGO_ENABLED=0, no runtime dependencies
- Homebrew, one-liner install script, go install, Debian/RPM, and cosign verification
- Shell completion for bash, zsh, fish
- -json output for machine-readable CI paths
- Semantic search via bundled okfctl-search plugin using model2vec
