Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

Apps on ENC Protocol

ENC Protocol ships 10 first-party apps, each as a composition of enclaves + dataview + UI schema. Each app has:

  • A per-app SDK (@enc-protocol/<app>-cli) — typed class with submit/query methods.
  • A Claude Code skill (@enc-protocol/skill-<app>) — installable agent capability.
  • A CLI surface (enc <app> ...) via the @enc-protocol/cli binary.
AppEnclavesKindPer-app SDKSkill
helloHellosingle-enclave@enc-protocol/hello-cli@enc-protocol/skill-hello
dmDM, Personal, Registrysingle-enclave + cross-enclave reads@enc-protocol/dm-cli@enc-protocol/skill-dm
groupGroup, Personalsingle-enclave + cross-enclave reads@enc-protocol/group-cli@enc-protocol/skill-group
personalPersonal, Groupsingle-enclave + cross-enclave reads@enc-protocol/personal-cli@enc-protocol/skill-personal
registryRegistrysingle-enclave, read-only@enc-protocol/registry-cli@enc-protocol/skill-registry
timelineTimeline, Personalsingle-enclave + cross-enclave reads@enc-protocol/timeline-cli@enc-protocol/skill-timeline
superDM, Group, Personalmulti-enclave composition@enc-protocol/super-cli@enc-protocol/skill-super
walletDM, Personal, Registrymulti-enclave + external chain@enc-protocol/wallet-cli@enc-protocol/skill-wallet
appstoreall 6 enclaveshost app (no own commands)@enc-protocol/appstore-cli@enc-protocol/skill-appstore
nodeall 6 enclaveshost app (no own commands)@enc-protocol/node-cli@enc-protocol/skill-node

Two layers

Enclaves (enclaves/<Name>.json)

A protocol-level state machine — states, traits, customs, readers, lifecycle. Atomic unit; one ENC enclave on a node. Six exist today: DM, Group, Hello, Personal, Registry, Timeline.

Apps (apps/<id>/)

A composition of enclaves + dataview + UI schema. Authored as three files:

  • app.json — id, name, enclaves[], data_types (form shapes)
  • flow.json — tableMap (data_type → enclave event), derived views, sources, encrypt list
  • schema.json — actions (write/delete targeting a data_type), reads (with cross_enclave: true for dataview reads)

Two consumption surfaces

Per-app SDKs — typed JavaScript classes for programmatic use. Each @enc-protocol/<app>-cli package exports a class like HelloSdk, DmSdk, SuperSdk extending AppSdk. Use when building a frontend, a CLI tool, or any consumer code.

Claude Code skills — installable agent capabilities. enc skill add <app> puts a slash command at ./.claude/commands/<app>.md. Use when you want Claude Code (or any agent) to operate on protocol data.

See also