Skip to content

feat(bundles): split into slashed-essential.css + slashed-full.css (v0.6.7.0)#30

Merged
codeslash-net merged 2 commits intomainfrom
claude/split-css-bundles-27zua
May 6, 2026
Merged

feat(bundles): split into slashed-essential.css + slashed-full.css (v0.6.7.0)#30
codeslash-net merged 2 commits intomainfrom
claude/split-css-bundles-27zua

Conversation

@codeslash-net
Copy link
Copy Markdown
Owner

@codeslash-net codeslash-net commented May 6, 2026

Two-tier bundle strategy:

  • slashed-essential.css: tokens + core + utilities (lean default, replaces
    old slashed-full.css content)
  • slashed-full.css: everything — essential + components + visual utilities +
    animations + viewport utilities (single-link convenience bundle)

Both are generated by bin/build-bundle.sh and checked in CI.
slashed-experimental.css and tokens-legacy.css remain always-opt-in.

Consumers who want the pre-0.6.7.0 lean bundle: replace slashed-full.css
with slashed-essential.css — byte-for-byte identical content.

https://claude.ai/code/session_015PtCjooV5PBX9a26f3UEF1

Summary by CodeRabbit

  • New Features

    • Introduced a two-tier CSS bundle model: an essential (lean) bundle and a full (comprehensive) bundle.
  • Documentation

    • Updated installation, utilities, and guides to promote the essential bundle by default and added migration guidance.
    • Bumped project version to 0.6.7.0 across docs and examples; changelog updated.
  • Chores

    • Build and verification workflows updated to generate and validate both bundles; CI messaging simplified.

…0.6.7.0)

Two-tier bundle strategy:
- slashed-essential.css: tokens + core + utilities (lean default, replaces
  old slashed-full.css content)
- slashed-full.css: everything — essential + components + visual utilities +
  animations + viewport utilities (single-link convenience bundle)

Both are generated by bin/build-bundle.sh and checked in CI.
slashed-experimental.css and tokens-legacy.css remain always-opt-in.

Consumers who want the pre-0.6.7.0 lean bundle: replace slashed-full.css
with slashed-essential.css — byte-for-byte identical content.

https://claude.ai/code/session_015PtCjooV5PBX9a26f3UEF1
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 6, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: c659910d-d6e7-42c0-8e57-163cdc72d226

📥 Commits

Reviewing files that changed from the base of the PR and between 444b613 and 24dc957.

📒 Files selected for processing (7)
  • ROADMAP.md
  • bin/bump-version.sh
  • css/slashed-essential.css
  • css/slashed-full.css
  • css/slashed-utilities-viewport.css
  • css/slashed-utilities.css
  • docs/UTILITIES.md

📝 Walkthrough

Walkthrough

This PR introduces a two-tier CSS bundle model (v0.6.7.0): slashed-essential.css (tokens + core + utilities) as the lean default and slashed-full.css as the superset with opt-ins. Build scripts, CI verification, hooks, version headers, and documentation are updated to generate, verify, and document both bundles.

Changes

Two-Tier Bundle System

Layer / File(s) Summary
Data Shape / Outputs
bin/build-bundle.sh, css/..., bin/bump-version.sh
Build now produces two outputs: css/slashed-essential.css and css/slashed-full.css. Version headers in CSS sources updated to v0.6.7.0; bump script documents slashed-essential.css as generated.
Core Implementation
bin/build-bundle.sh
Introduces ESSENTIAL_SOURCES and FULL_SOURCES arrays, ESSENTIAL_OUT and FULL_OUT outputs, separate banner headers, and per-bundle assembly/write steps (essential written first, then full).
Wiring / Verification
.github/workflows/bundle-check.yml, bin/check-cheatsheet-sync.sh, bin/setup-hooks.sh
CI step renamed/expanded to regenerate bundles and verify diffs for both slashed-essential.css and slashed-full.css; pre-commit and sync scripts updated to exclude both generated bundles from source scans.
Docs / User Guidance
CHANGELOG.md, CLAUDE.md, CONTRIBUTING.md, README.md, docs/INSTALLATION.md, docs/UTILITIES.md, cheatsheet.html, ROADMAP.md
New changelog entry for 0.6.7.0 describing bundle split, breaking/migration notes, and roadmap update. Documentation adjusted across README, INSTALLATION, UTILITIES, and contributor docs to promote slashed-essential.css as default, explain bundle contents, load strategies, and customization guidance (viewport utilities extracted to slashed-utilities-viewport.css).
Packaging / Examples
docs/INSTALLATION.md, README.md, cheatsheet.html
Quick start and platform examples changed to recommend slashed-essential.css by default, show full-bundle as alternative, and enumerate hand-authored source files vs generated bundles.
Cosmetic / Metadata
css/slashed-*.css, css/tokens-*.css
Header comment version bumps from v0.6.6.0 → v0.6.7.0 across source CSS files; a few header doc blocks updated to reflect new bundle semantics (viewport guidance, visual utilities notes).

Sequence Diagram

sequenceDiagram
  participant Dev as Developer
  participant Build as build-bundle.sh
  participant Repo as Repository (fs)
  participant CI as GitHub Actions

  Dev->>Build: run build-bundle.sh
  Build->>Repo: write css/slashed-essential.css
  Build->>Repo: write css/slashed-full.css
  CI->>Repo: checkout + run "Regenerate bundles" step (build-bundle.sh)
  CI->>Repo: diff css/slashed-essential.css & css/slashed-full.css
  alt diffs found
    CI->>Dev: "One or both bundles are out of date." (fail)
  else no diffs
    CI->>Dev: pass
  end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

  • codeslash-net/SLASHED#53: Modifies bin/bump-version.sh — related to version anchoring and files processed.
  • codeslash-net/SLASHED#14: Adjusts CI/hook scripts to exclude generated bundles — directly related to expanded exclusions here.
  • codeslash-net/SLASHED#1: Introduced bundle build tooling — this PR extends that tooling to emit two bundle outputs.

Poem

🐰 Two bundles hop out from the tree,
Essential small, and Full — oh gee!
Docs and scripts in careful tune,
Versions bumped beneath the moon.
A lighter load for projects free.

🚥 Pre-merge checks | ✅ 8
✅ Passed checks (8 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and specifically describes the main change: splitting CSS bundles into two tiers (essential and full) for version 0.6.7.0, which is the core objective of the pull request.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Version Consistency ✅ Passed All 17 project-level version declarations are consistent at 0.6.7.0 across CSS files, documentation, and bundled assets. No version inconsistencies detected.
Changelog Coverage ✅ Passed CHANGELOG.md was updated with a substantive v0.6.7.0 entry covering the two-tier bundle split, including Breaking and Migration sections at a user-facing level.
Roadmap Planned Section Hygiene ✅ Passed Bundle split implemented and ROADMAP updated correctly. v0.6.7.0 review date set, bundle references corrected, scope notes updated. No stale Planned entries found.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/split-css-bundles-27zua

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 Microsoft Presidio Analyzer (2.2.362)
ROADMAP.md

Microsoft Presidio Analyzer failed to scan this file


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
css/slashed-utilities.css (1)

2-12: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Bundle guidance in this header appears out of date for v0.6.7.0.

This file still says viewport utilities are not included in slashed-full.css, which conflicts with the two-tier bundle contract described in this PR.

Suggested text update
-  They live in slashed-utilities-viewport.css — not included in
-  slashed-full.css. Load that file separately when needed.
+  They live in slashed-utilities-viewport.css and are included in
+  slashed-full.css. Load that file separately when using
+  slashed-essential.css.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@css/slashed-utilities.css` around lines 2 - 12, Update the header comment in
the slashed-utilities.css top block (the v0.6.7.0 banner) to reflect the new
two-tier bundle contract: remove or change the sentence that says viewport
utilities live in slashed-utilities-viewport.css and are not included in
slashed-full.css, and instead state that viewport breakpoint utilities are now
included in slashed-full.css (or clearly document when
slashed-utilities-viewport.css should be loaded separately). Keep the version
string (v0.6.7.0) and the references to tokens-default.css + slashed-core.css
(or slashed-full.css), but make the wording consistent with the PR contract so
readers aren’t misled.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@ROADMAP.md`:
- Line 4: Update the ROADMAP.md mention of the single essential bundle to
reflect the new bundle split: replace references that call only
"slashed-full.css" as the essential bundle with a clear distinction between
"slashed-essential.css" (the essential bundle) and "slashed-full.css" (the full
bundle), and adjust any explanatory text so readers understand which bundle is
required for minimal functionality versus the full feature set; ensure
occurrences of "slashed-full.css" in the roadmap are updated to either
"slashed-essential.css" where minimal/essential is intended or left as
"slashed-full.css" where full styling is meant.

---

Outside diff comments:
In `@css/slashed-utilities.css`:
- Around line 2-12: Update the header comment in the slashed-utilities.css top
block (the v0.6.7.0 banner) to reflect the new two-tier bundle contract: remove
or change the sentence that says viewport utilities live in
slashed-utilities-viewport.css and are not included in slashed-full.css, and
instead state that viewport breakpoint utilities are now included in
slashed-full.css (or clearly document when slashed-utilities-viewport.css should
be loaded separately). Keep the version string (v0.6.7.0) and the references to
tokens-default.css + slashed-core.css (or slashed-full.css), but make the
wording consistent with the PR contract so readers aren’t misled.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 18a04f1b-8389-4882-9534-6537e54d1711

📥 Commits

Reviewing files that changed from the base of the PR and between c75b173 and 444b613.

📒 Files selected for processing (22)
  • .github/workflows/bundle-check.yml
  • CHANGELOG.md
  • CLAUDE.md
  • CONTRIBUTING.md
  • README.md
  • ROADMAP.md
  • bin/build-bundle.sh
  • bin/bump-version.sh
  • bin/check-cheatsheet-sync.sh
  • bin/setup-hooks.sh
  • cheatsheet.html
  • css/slashed-animations.css
  • css/slashed-components.css
  • css/slashed-core.css
  • css/slashed-essential.css
  • css/slashed-experimental.css
  • css/slashed-full.css
  • css/slashed-utilities-visual.css
  • css/slashed-utilities.css
  • css/tokens-default.css
  • css/tokens-legacy.css
  • docs/INSTALLATION.md

Comment thread ROADMAP.md
…tract

- bin/bump-version.sh: add slashed-utilities-viewport.css to anchor list
  (was missing — that's why the file stayed at v0.6.6.0 after the bump).
  Also bumped 0.6.5.0 example references to 0.6.7.0.
- css/slashed-utilities-viewport.css: bump banner to v0.6.7.0 and rewrite
  load-order / customisation guidance for the two-tier bundle model.
- css/slashed-utilities.css: rewrite the viewport-utilities pointer
  comments to reflect that they ship inside slashed-full.css and are
  opt-in only when using slashed-essential.css.
- ROADMAP.md: refer to slashed-essential.css (not slashed-full.css) for
  the lean bundle in the post-0.6.0.0 note and the breakpoints scope note.
- docs/UTILITIES.md: rewrite source-of-truth note, container/viewport
  responsive variants, customisation, and visual-utilities pointers for
  the new bundle contract.
- Bundles regenerated.

https://claude.ai/code/session_015PtCjooV5PBX9a26f3UEF1
@codeslash-net
Copy link
Copy Markdown
Owner Author

@coderabbitai review

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 6, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@codeslash-net codeslash-net merged commit 40e7621 into main May 6, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants