Frontmatter6 fields
type- Decision
title- Product Interface Direction
description- Organize the CLI around one primary path and optional workflows over one OKF knowledge base.
tagstimestampstatus- accepted
Product Interface Direction
Decision
Open Knowledge gives one lifecycle for an OKF knowledge base. All product interfaces use the same Git-native Markdown object.
These interfaces include search, the viewer, MCP, agents, jobs, exports, and runtime generations.
The CLI exposes one primary path and three secondary workflow groups:
| Workflow | Commands |
|---|---|
| Start here | setup, search, validate |
| Work locally | agent, integration, get, list, view |
| Share and connect | export, mcp, connect, disconnect, registry |
| Automate and operate | automation |
The advanced section contains the deterministic scaffold, prompt, ast, and spec tools.
Interface Rules
- Root help starts with user outcomes.
- Command pages contain the command details.
- Each capability has one canonical command.
- Deterministic OKF operations do not require a model, network, or service.
- Service roles use the same validation, publication, retrieval, and export contracts.
- Provider configuration stays under
automation deploy. - Runtime operations stay under
automation runtime.
The primary activation flow is:
okn setup
The command prints a portable setup prompt. A person runs it from the project and copies the complete output into an existing agent. The optional --agent mode can launch a runtime, but it is not the primary flow.
The agent also demonstrates one search that uses source evidence. Thus, activation does not require another command.
Use search independently after activation. Use validate independently after activation. scaffold remains an agent-free primitive, not a second activation path.
Use prompt setup|from|rules|review for additional portable instructions. Use export html|json|graph|tar for publication. Use automation jobs|insights|runtime|deploy for unattended and hosted work.
Use the top-level connect command to add a connection. Use the top-level disconnect command to remove a connection.
Commands remain separate when they have different process or security boundaries. The local view, stdio mcp, and hosted runtime are separate interfaces.