shelf Docs
On this page
shelf propagate <name> [options]
ArgumentDescription
<name>Skill name
OptionTypeDefaultDescription
--project <project>stringLimit to these projects (comma-separated names)
--dry-runbooleanShow what would change without changing it

Also takes the global options --json and --actor (CLI overview).

What it does

For every active loan of the skill (in the selected projects):

Project's copyResult
Already on the latest revisionalready current
Unedited and behind (or missing copies)Rewritten from the latest revision: updated
Edited (modified or diverged)skipped (local edits)
Project directory goneskipped (directory missing)

--project takes a comma-separated list of project names, paths or ids. --dry-run reports what would happen without writing anything (would update).

Use it after editing a skill in the library, shelf restore, or shelf pull --yes. shelf promote --propagate runs it right after promoting.

Examples

terminal
shelf propagate pdf-tools --dry-run
pdf-tools → dca5f929e7 (dry run)
  billing-api: would update
  storefront: would update

shelf propagate pdf-tools
pdf-tools → dca5f929e7
  billing-api: updated
  storefront: updated

With no borrowers: No projects borrow pdf-tools.

JSON output

json
{"schemaVersion":1,"ok":true,"data":{"skill":"pdf-tools","revision":"sha256:dca5f929e749b602869f964b944ab1c8567353094f413d0f53dabe7dfa015b67","dryRun":true,"projects":[{"project":"billing-api","path":"/home/me/code/billing-api","status":"current"},{"project":"storefront","path":"/home/me/code/storefront","status":"current"}]}}
FieldMeaning
revisionThe library's latest revision, which borrowers were moved to.
dryRunWhether this was a dry run.
projects[].statusupdated (or would be, in a dry run), current, skipped-local-changes, skipped-missing-project.

Errors

CodeWhen
SKILL_NOT_FOUNDNo skill by that name in the library.