Skip to content

sync

Terminal window
holocron sync [steps..] [--repo owner/name] [--dry-run]

sync pushes metadata defined in holocron.config.ts to the configured source provider (GitHub) and to local files. Run it after updating any of the synced fields in config.

Pass specific step names to run only those steps. Omit to run all.

Terminal window
holocron sync # run all steps
holocron sync labels properties # run only labels and properties
Step What it syncs Requires provider token
labels GitHub labels — upserts canonical set, deletes stale ones Yes (HOLOCRON_ADMIN_TOKEN)
properties Org-level custom properties (repo.properties) Yes
teams Team repository access (repo.teams) Yes
topics GitHub topics (repo.topics) Yes
keywords package.json#keywords — set from repo.topics No
description package.json#description and GitHub repo description No (local) / Yes (GitHub)
homepage package.json#homepage and GitHub repo website field No (local) / Yes (GitHub)
readme Regenerates the README Installation/Usage block No
workflows .github/workflows/*.yml thin callers from tasks No
scripts package.json#scripts — the holocron entry + holocron run <task> wrappers from tasks No
wiki Publishes engineering docs to the wiki No

Local steps (everything except labels, properties, teams, topics) write to the local filesystem. description and homepage also push to GitHub when a source plugin is configured; running without a token skips the GitHub push but still updates local files.

Merges into package.json#scripts — only the managed keys are touched, every other script is left alone:

  • holocron → the value of holocronScript (default "holocron", the installed bin)
  • one "<task>": "holocron run <task>" per runnable task in tasks

Set syncScripts: false in holocron.config.ts to disable the step entirely (the Holocron repo itself does this — its root scripts must stay bootstrap-safe).

Option Description
[steps..] Subset of steps to run (default: all)
--repo owner/name Override repo coordinate
--dry-run Print changes without writing
Terminal window
# Sync everything
holocron sync
# Only sync labels and topics to GitHub
holocron sync labels topics
# Update local package.json fields without touching GitHub
holocron sync description homepage keywords scripts
# Dry-run all
holocron sync --dry-run