Skip to content

Product Map

Dokime is one product assembled from a contract crate, an SDK kit crate, an app crate, and the shells over it. Harmos supplies the general durable runtime substrate. The dependency direction never reverses: dokime-api ← dokime ← dokime-app ← shells, and dokime-api ← dokime ← plugins. Nothing depends on a plugin crate.

flowchart TD
    A[dokime-api\ncontracts · data · serde] --> V[dokime\nplugin SDK kit · execution · transport]
    V --> R[dokime-app\nstate · transactions · streams · machinery]
    A --> R
    H[Harmos\njournal · work · streams · artifacts · installed artifacts] --> R
    R --> S[dokime-server\nnative gRPC services]
    R --> C[dokime-cli\ncommand-line interface]
    R --> G[dokime-gui\nTauri + React]
    V --> P[Plugins and sidecars]
    P -. admitted at runtime .-> R
    S --> G
    R --> Y[dokime-python\nauthoring bindings]
    A --> O[dokime-host\nplatform collectors]
    O --> R
CrateRole
dokime-apiThe contracts every party compiles: definitions, records, telemetry, prompts, settings, documents, and domain contributions. Data and serde only, wasm32-clean.
dokimeThe plugin SDK kit layered on dokime-api: authoring macros, the execution context, registration, transport, and evaluators. It re-exports every contract, so a plugin compiles the kit and names dokime::….
dokime-appWhat the application is and how a runtime runs it: state, transactions, streams, entry verbs, and every capability.
dokime-protocolThe host-to-shell gRPC contract: public protobuf messages and native service bindings.
dokime-serverNative gRPC services and bounded content transfers.
dokime-cliCommand-line service, diagnostics, skills, and version operations.
dokime-hostNative host telemetry collectors and task helpers; compiled against dokime-api.
dokime-pythonTyped Python authoring and PyO3 runtime bridge.
dokime-guiTauri desktop shell and React operator application.
dokime-xtaskRepository automation and product packaging commands.
mini-sidecarSingle-crate authoring specimen for suites, workflows, and continuous streams.

The implementations under plugins/ and the isolated route fixture are also workspace members, so the normal Rust gates validate the whole composition.

Dokime markDokime · Stokker Technologies