docs: add CLAUDE.md guide + vendored manifest tracking - #111
Conversation
sync-core.mjs now writes SLASHED-for-WP/admin-app/.vendored-manifest.json after every sync run (local or GitHub). The manifest lists every file copied from the framework's configurator/src/ with its source path, so editors and AI tools can immediately tell which files in admin-app/src/ must not be edited directly. CLAUDE.md (new) documents the vendored-file rule, links to the manifest, and provides a quick reference for where to make changes (framework vs. plugin) and what is safe to edit in this repo. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0124dAf4BHiKD1uESapMZdnK
|
Warning Review limit reached
Next review available in: 39 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (5)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
PR Summary by Qododocs: add CLAUDE.md guide and generate vendored manifest on sync
AI Description
Diagram
High-Level Assessment
Files changed (2)
|
Code Review by Qodo
1.
|
Synced from codeslash-dev/SLASHED configurator/src (local checkout,
feature branch claude/configurator-sync-framework-plugins-56vzb3):
persistence.ts — upgraded to full computeDerivedOverrides engine:
- Replaces computeScaleTokens with computeDerivedOverrides (exported)
- Adds radius (2xs–4xl, none, full), border-width (1–4), and motion
(duration, animation-delay) derived token computation alongside text
and space scale already present
- reduceMotion guard prevents unlayered :root motion tokens from
overriding the framework's prefers-reduced-motion @media rules
- --sf-radius-pill uses var(--sf-radius-full) and --sf-radius-outer
uses calc(var(--sf-radius-m) + var(--sf-component-pad)) so fine-tune
overrides on those tokens propagate correctly
- wpSave same-origin guard (URL constructor validation)
- injectLivePreview now reads matchMedia and passes reduceMotion
Other vendored components:
- CommandPalette.svelte: tabindex="-1" on dialog root
- ColorInput.svelte: tick()+bind:this autofocus (removes autofocus attr)
- SliderRow.svelte: rawDraft init fix + isEditing guard
- ShadowsPanel.svelte: dynamic aria-label on glow toggle
Co-Authored-By: Claude <noreply@anthropic.com>
4ae25f6 to
c53d848
Compare
Merge conflict resolution: - persistence.ts: combine reduceMotion parameter (HEAD) with isNumericLiteral guards for radius/border/motion (main); also combine !reduceMotion check with the numeric literal guard on the motion block Review fixes (Qodo): - sync-core.mjs: avoid leaking absolute local paths into .vendored-manifest.json; local mode now records 'local' or 'local:SLASHED_CONFIGURATOR_SRC' instead of the resolved filesystem path (Bug 1 — High) - sync-core.mjs: add toPosix() helper and apply it in trackVendored() and isIgnored() so path separators are consistent on Windows (Bug 2 — Medium) - CLAUDE.md: fix contradictory vendoring statement; clarify that .syncignore- protected files (AppOverlay.svelte, plugin-main.ts) are NOT overwritten (Bug 3 — Optional)
Summary
Adds comprehensive developer documentation (
CLAUDE.md) explaining the plugin architecture, vendored file management, and sync workflow. Also implements automatic.vendored-manifest.jsongeneration in the sync script to help developers and AI tools identify which files are framework-sourced and must not be edited locally.Type
Changes
CLAUDE.md(new)admin-app/src/sync-core.mjs(modified)trackVendored()to record each synced file's originwriteManifest()to generate.vendored-manifest.jsonafter synctrackVendored()in both local and GitHub sync pathswriteManifest()at end of both sync modesRationale
The plugin maintains a complex vendoring relationship with the SLASHED framework configurator. Developers and AI tools need clear guidance on:
The manifest provides machine-readable proof of vendoring, enabling tooling (linters, IDE plugins, AI assistants) to warn before editing framework-sourced files.
Checklist
CLAUDE.mdreflects current repo structure and workflowsNotes
The
.vendored-manifest.jsonis generated on every sync and should be committed to help reviewers and tools understand the codebase state. It serves as a "source of truth" for which files originated from the framework.https://claude.ai/code/session_0124dAf4BHiKD1uESapMZdnK