Author

Compose

Create a plugin, attach resources and dependencies, and preview apply.

A plugin is the versioned package you apply, export, and publish. Compose it from library resources and optional plugin dependencies.

ht plugin create my-setup --description "Shared project assistant setup"
ht plugin edit my-setup --add research-helper --type skill
ht plugin edit my-setup --add plugin:shared-baseline --version "^1.2.0"
ht plugin show my-setup
ht plugin doctor my-setup

plugin doctor checks duplicate resources, empty definition, and invalid metadata. Upstream and catalog plugins are read-only until you fork:

ht plugin fork web-search --as my-web-search
ht plugin edit my-web-search

Preview, then apply

ht apply my-setup --project . --dry-run
ht apply my-setup --project . --harness claude-code,cursor
ht apply my-setup --explain

apply resolves the whole dependency graph (one version per plugin name; nearest-to-root resource wins), then materializes. Cut a frozen version before share or publish — dirty working heads are refused:

ht plugin cut my-setup --version 1.0.1