docs: add bonus chapter — Style with wheels-basecoat#2376
Merged
Conversation
Adds 08-bonus-basecoat.mdx, a 30-minute optional follow-up to Part 7
that walks through installing the wheels-basecoat package and
rewriting the post show view using uiCard, uiField, and uiButton
helpers. Lands the Wheels package system as a teachable end-to-end
flow rather than a chapter-3 conceptual aside.
Chapter shape follows the existing tutorial conventions:
- "Where we left off" recap so readers can resume from a clean
Part-7 state.
- "Why basecoat over simple.css" frames the choice as a tradeoff,
not a recommendation. Tutorial readers stay on simple.css; the
chapter is for when you've finished the tutorial and want a real
component kit.
- Steps blocks for install, CSS asset serving, layout wiring, and
view rewrite.
- Checkpoint with three concrete `curl | grep` verifications a
reader can run themselves.
- Troubleshooting with four real failure modes I hit during
end-to-end verification on a fresh VM, including the version-
detection edge case (`No version of 'wheels-basecoat' satisfies
runtime '0.0.0-dev'`) tied to PR #2373.
The install path uses `wheels packages add wheels-basecoat` (the
canonical verb after PR #2374), not `install`. The chapter explicitly
calls out the LuCLI interception with a caution Aside so readers
who reach for the historic verb get an immediate explanation.
Adjusts:
- tutorial/index.mdx — adds the bonus chapter as a row in the
parts table and as a card in the "Ready to start" CardGrid.
- 01-hello-wheels.mdx — the existing "On styling" Aside now links
to the bonus chapter for upgrade-path readers (was a bare GitHub
repo link).
- 07-testing-deploying.mdx — adds the bonus chapter as the
first card in "What to read next" (recommended next step
immediately after finishing the main tutorial).
Prerequisites for the chapter to actually work end-to-end:
- PR #2368: BuildInfo.isDev() self-substituting sentinel fix
(merged) — needed for runtime version reporting.
- PR #2373: $detectRuntime fix (merged) — CLI knows its runtime
version.
- PR #2374: `wheels packages install` → `add` rename (merged) —
canonical install command works.
- wheels-dev/wheels-basecoat#2: drop `view` from the mixin
component attribute (open) — required for Lucee 7 helper
activation. Tutorial reader's experience depends on basecoat
1.0.2 (or whatever ships this fix) being current in the
registry.
- wheels-dev/wheels-hotwire#2: same fix on the hotwire side.
Verified end-to-end on a fresh VM: with all five fixes in place,
`wheels packages add wheels-basecoat` followed by a full server
restart produces working `#uiButton(...)#`, `#uiCard(...)#`,
`#uiField(...)#` calls in views. The rendered HTML is shadcn/ui-
quality output.
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
e87c6df to
91e91be
Compare
3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds
tutorial/08-bonus-basecoat.mdx, a 30-minute optional follow-up to Part 7 that walks through installing thewheels-basecoatpackage and rewriting the post show view usinguiCard,uiField, anduiButtonhelpers. Lands the Wheels package system as a teachable end-to-end flow rather than a chapter-3 conceptual aside.This is the chapter that originally motivated the four-PR fix chain (#2368, #2373, #2374, plus the two package-side PRs). With those fixes merged or in flight, the install path is now functional end-to-end and the chapter can be authored against verified-working instructions instead of aspirational ones.
Chapter shape
Follows the existing tutorial conventions:
curl | grepverifications a reader can run themselves.What it teaches
Beyond the visible "now your views are prettier" outcome, the chapter teaches the package model:
wheels packages add <name>— registry lookup, sha256 verification, extractionPackageLoader(no registration step, no config edit)package.json'sprovides.mixinsas the source of truth for helper injection<name>End()helper convention for block components (uiCard / uiCardEnd)These show up in the chapter narrative, not as bullet-point exposition — readers walk through them.
Verb naming caution
The chapter uses
wheels packages add(per #2374), notinstall. The Aside warning explicitly calls out the LuCLI interception so a reader who reaches for the historic verb gets immediate context, not a confusing[INFO] No git or extension dependencies to installred herring.Files
tutorial/08-bonus-basecoat.mdx(~330 lines)tutorial/index.mdx— adds the bonus chapter as a row in the parts table and as a card in the "Ready to start" CardGridtutorial/01-hello-wheels.mdx— the existing "On styling" Aside now links to the bonus chapter (was a bare GitHub repo link)tutorial/07-testing-deploying.mdx— adds the bonus chapter as the first card in "What to read next"Prerequisites for the chapter to work end-to-end
$detectRuntimefixinstall→addrenamewheels-dev/wheels-basecoat#2— dropviewmixin targetwheels-dev/wheels-hotwire#2— same fix on the hotwire sideThe chapter will work the moment
wheels-basecoat 1.0.2(or whatever version ships the package fix) is current in the registry. Until then, readers running the tutorial will hit the helper-activation issue documented in the troubleshooting section.Verified end-to-end
Fresh VM running
wheels 4.0.0-SNAPSHOT+1644with all five fixes patched in:The rendered HTML is shadcn/ui-quality output. The chapter's checkpoint
curl | grepcommands all pass.Test plan
Related
Closes the loop on the work started by the fresh-VM tutorial run earlier this session. Five PRs that together make the package system actually usable, plus this chapter that teaches it.