Skip to content

/kit-sync

Vendor every component listed in the catalogue, the ui.tsx foundation, and a starter OKLCH theme into your project in a single command. /kit-sync records each generated file’s normalized SHA256 in .acss-kit/manifest.json so /kit-update can later re-copy unmodified files without clobbering your edits.

/kit-sync [--target=<dir>] [--styles-dir=<dir>] [--seed=<hex>] [--skip-styles] [--dry-run]
FlagDescription
--target=<dir>Override the components directory. Defaults to componentsDir from .acss-target.json, falling back to src/components/fpkit.
--styles-dir=<dir>Override the styles directory. Defaults to stylesDir from .acss-target.json, falling back to src/styles.
--seed=<hex>Seed colour for theme generation. If omitted, the command prompts.
--skip-stylesComponents-only sync; do not seed a theme.
--dry-runPrint the plan tree without writing any files or the manifest.
/kit-sync
/kit-sync --seed="#4f46e5"
/kit-sync --skip-styles
/kit-sync --target=src/ui/fpkit --styles-dir=src/styles
/kit-sync --dry-run

The command delegates to the kit-sync skill. The bulk-install path runs ten phases:

  1. Preflight — detect the project root, confirm Sass is installed, and read any existing manifest (an existing manifest routes every file through drift-detection before writing).

  2. Enumerate the catalog — read every component named in the verification table plus the inline catalogue entries (Badge, Tag, Heading, Text/Paragraph, Details, Progress). Excludes Form and the ui.tsx foundation.

  3. Resolve dependencies — walk each component’s Generation Contract recursively and union into one ordered list, leaves first.

  4. Plan — display the full file tree (foundation, components, styles, manifest path) and wait for confirmation. --dry-run exits here.

  5. Generate components bottom-up — render each TSX (and SCSS) from its template, hash the normalized output, then write.

  6. Foundation — copy ui.tsx into the target directory and record it as kind: "foundation".

  7. Styles — generate light.css and dark.css from the seed colour, write acss-kit.theme.json, and validate WCAG contrast. Skipped under --skip-styles.

  8. Write manifest — pipe the assembled payload to manifest_write.py; manifest captures plugin version, target dirs, and every file’s normalized SHA256.

  9. Verify integration — run verify_integration.py and surface any missing-import reasons as a fix-up list.

  10. Summary — print created / skipped counts plus next-step hints (/kit-update, /kit-update --check).

FilePurpose
<targetDir>/<Component>.tsx + .scssEvery component vendored from the catalogue.
<targetDir>/ui.tsxThe polymorphic UI foundation (copied once).
<stylesDir>/theme/light.css, dark.cssOKLCH theme CSS generated from the seed colour.
acss-kit.theme.jsonSeed-colour record so re-runs reuse the same palette.
.acss-kit/manifest.jsonSHA256 manifest used by /kit-update for drift detection.

Re-running /kit-sync after edits is safe — files marked modified in the manifest are skipped and listed in the summary. For routine “pick up upstream improvements” work, use /kit-update, which is the dedicated drift-aware refresh path.