/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.
Syntax
Section titled “Syntax”/kit-sync [--target=<dir>] [--styles-dir=<dir>] [--seed=<hex>] [--skip-styles] [--dry-run]Arguments
Section titled “Arguments”| Flag | Description |
|---|---|
--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-styles | Components-only sync; do not seed a theme. |
--dry-run | Print the plan tree without writing any files or the manifest. |
Examples
Section titled “Examples”/kit-sync/kit-sync --seed="#4f46e5"/kit-sync --skip-styles/kit-sync --target=src/ui/fpkit --styles-dir=src/styles/kit-sync --dry-runWorkflow
Section titled “Workflow”The command delegates to the kit-sync skill. The bulk-install path runs ten phases:
-
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).
-
Enumerate the catalog — read every component named in the verification table plus the inline catalogue entries (Badge, Tag, Heading, Text/Paragraph, Details, Progress). Excludes
Formand theui.tsxfoundation. -
Resolve dependencies — walk each component’s
Generation Contractrecursively and union into one ordered list, leaves first. -
Plan — display the full file tree (foundation, components, styles, manifest path) and wait for confirmation.
--dry-runexits here. -
Generate components bottom-up — render each TSX (and SCSS) from its template, hash the normalized output, then write.
-
Foundation — copy
ui.tsxinto the target directory and record it askind: "foundation". -
Styles — generate
light.cssanddark.cssfrom the seed colour, writeacss-kit.theme.json, and validate WCAG contrast. Skipped under--skip-styles. -
Write manifest — pipe the assembled payload to
manifest_write.py; manifest captures plugin version, target dirs, and every file’s normalized SHA256. -
Verify integration — run
verify_integration.pyand surface any missing-import reasons as a fix-up list. -
Summary — print created / skipped counts plus next-step hints (
/kit-update,/kit-update --check).
Output
Section titled “Output”| File | Purpose |
|---|---|
<targetDir>/<Component>.tsx + .scss | Every component vendored from the catalogue. |
<targetDir>/ui.tsx | The polymorphic UI foundation (copied once). |
<stylesDir>/theme/light.css, dark.css | OKLCH theme CSS generated from the seed colour. |
acss-kit.theme.json | Seed-colour record so re-runs reuse the same palette. |
.acss-kit/manifest.json | SHA256 manifest used by /kit-update for drift detection. |
Re-syncing
Section titled “Re-syncing”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.