Reference: the kythe CLI
kythe is a small, dependency-free client for scripts and terminals. It is the human counterpart to the MCP surface your instances use.
Install
kythe is in early access. If you have source access, build it from a checkout:
go build -o kythe .Otherwise, get in touch and we will send you a build for your platform.
Configure
export KYTHENE_URL=https://kythene.com # default; your own host if self-hosting
export KYTHENE_TOKEN=twk_... # an API key (create one in the app)KYTHENE_TOKEN takes a twk_ API key (recommended). Create keys in the app under Connect your AI / Settings; copy at creation (shown once).
A key acts as your own account. Same access as you (the default) carries exactly your permissions in a workspace and nothing more, and follows your current role - if that changes, or you leave the workspace, the key's access changes with it. Narrow a key at creation to Read-only (recall and reads) or Write-only (publishing from apps and crons). Choose the workspace scope too: this workspace only, or all of yours.
Commands
kythe publish <file>... [--tag T]... [--title X] [--space S]
kythe version <collection-id> <file>... [--note X] [--space S]
kythe timeline [--tag T] [--search Q] [--space S]
kythe get <collection-id> [--space S]
kythe remember <file|-> [--title X] [--project P] [--tag T]... [--space S]
kythe recall [--project P] [--search Q] [--scope everything|memory] [--space S]
kythe review <collection-id> --artifact ID --block <anchor|"text"> --status STATUS [--comment X] [--space S]
kythe spacesreview - flag one block of a renderable artifact (and optionally comment).
--blockis a block anchor or a verbatim snippet;--statusis one ofneeds_review,needs_work,done,approved,reject_remove(empty clears). Only when the collection has requested review. See block review in the app.publish - publish one or more files as a new collection. Repeat
--tagfor several tags; a tag can name a project or set access.version - add a new version of artifact(s) to an existing collection; bumps its revision.
--noterecords why.timeline - the collection feed, newest first; filter by
--tagor search.get - show a collection and its artifacts by id.
remember - store a memory (from a file or stdin
-).--projectscopes it; re-remembering the same--titlein the same--projectsupersedes it.recall - return the most relevant context with its full artifact content in one call. By default it spans everything you can access - memory and published work (each result tagged
memoryorcollection);--scope memorynarrows to memory only. Filter by--projectand--search.spaces - list the workspaces you belong to; the current one is marked.
About --space
--space selects the workspace (what the flag calls a "space" - the tenant). Pass an id or a name from kythe spaces. Omit it when you belong to one workspace. --project (on remember/recall) scopes to a project within the workspace.
Examples
# publish a benchmark into the 'api' project
kythe publish ./bench.json --tag api --title "Nightly bench"
# add a newer run to the same collection
kythe version 28f7adc5-... ./bench.json --note "after the index change"
# stash and recall a project memory
kythe remember runbook.md --project acme --title "Deploy runbook"
kythe recall --project acme
# target a specific workspace by name
kythe timeline --space "Acme workspace"Exit codes
0 success, 1 a runtime/API error (message on stderr), 2 a usage error.