/kit-update
Refresh every component, foundation, and theme file recorded in .acss-kit/manifest.json whose on-disk SHA256 still matches the recorded hash. Files you’ve edited (drift detected) are skipped by default and listed in the summary so your changes are preserved.
Pair with /kit-sync, which writes the manifest in the first place — /kit-update halts if no manifest exists.
Syntax
Section titled “Syntax”/kit-update [<component> ...] [--check] [--force]Arguments
Section titled “Arguments”| Argument | Description |
|---|---|
<component> ... | Optional positional list. Restrict the refresh to specific components (e.g. /kit-update button alert). Default: every entry in the manifest. |
--check | Report drift only — no writes. Useful for previewing what would change. |
--force | Overwrite modified files too. Each modified file is backed up to <file>.bak before being overwritten. |
Examples
Section titled “Examples”/kit-update # update every tracked file that's still clean/kit-update button alert # restrict to specific components/kit-update --check # preview drift, no writes/kit-update --force # overwrite modifications, writes <file>.bak firstWorkflow
Section titled “Workflow”The command delegates to the kit-sync skill. The safe-update path runs eight phases:
-
Read manifest — load
.acss-kit/manifest.jsonviamanifest_read.py. Halts if missing or schema-mismatched (re-sync via/kit-syncinstead). -
Compute drift —
diff_status.pyclassifies every tracked file asclean,modified, ormissingagainst its recorded normalized SHA256. -
Filter — when positional component names are supplied, intersect each list with the requested set.
-
Report — display counts plus the modified and missing file lists.
--checkexits here. -
Regenerate clean + missing — re-run the bulk-install logic for each entry, hash the new content, write the file, and stage a manifest update.
-
Skip or force modified — without
--force, modified files are preserved untouched. With--force, the current content is copied to<file>.bakbefore regeneration. -
Rewrite manifest — pipe the merged payload through
manifest_write.py. Skipped entries keep their previous SHA, so there is no spurious churn. -
Summary — print updated / skipped / recreated counts and the manifest path.
Drift classifications
Section titled “Drift classifications”| Class | Meaning | Default action |
|---|---|---|
clean | On-disk SHA256 matches the manifest. | Overwrite with the latest generated content. |
modified | On-disk SHA256 differs — you’ve edited the file. | Skip (preserve your changes). --force overwrites with a .bak backup. |
missing | Manifest entry exists but the file was deleted. | Recreate from the template. |