Skip to content

feat(css): open the styling pipeline beyond tailwind/vanilla - #67

Merged
arshad-shah merged 1 commit into
mainfrom
claude/styling-api-docs-6k0cqy
Sep 1, 2026
Merged

arshad-shah merged 1 commit into
mainfrom
claude/styling-api-docs-6k0cqy

Conversation

@arshad-shah

Copy link
Copy Markdown
Owner

Broaden CSS support from the fixed 'tailwind' | 'vanilla' | 'none' enum to
an extensible pipeline any styling toolchain can plug into.

Core:

  • New src/core/builder/css.ts defines CssProcessor / CssTransform /
    CssTransformContext and a processStylesheet pipeline (base processor →
    onCssTransform plugin chain → write). Commands run without a shell and
    fall back to a copy on failure.
  • config.css now accepts a custom processor object (inline transform or CLI
    command) in addition to the three presets; schema validated.
  • New onCssTransform plugin hook (types, runner, fireCssTransform). CSS types
    re-exported from both extforge and extforge/plugins.
  • Presets behave correctly: 'vanilla'/'none' copy through instead of
    invoking the Tailwind CLI when it happens to be installed.
  • Scaffold: non-tailwind css no longer ships @tailwind directives in
    globals.css (new globals.vanilla.css.tpl).

Docs:

  • New Styling guide; updated configuration + plugin guides, README, index,
    and the auto-generated config reference (now handles union types and
    safely quotes frontmatter descriptions).

Tests: css pipeline + onCssTransform chain + schema cases (519 passing).

https://claude.ai/code/session_01NxAV3rCRLn29a7JZSkRACq

Broaden CSS support from the fixed 'tailwind' | 'vanilla' | 'none' enum to
an extensible pipeline any styling toolchain can plug into.

Core:
- New src/core/builder/css.ts defines CssProcessor / CssTransform /
  CssTransformContext and a processStylesheet pipeline (base processor →
  onCssTransform plugin chain → write). Commands run without a shell and
  fall back to a copy on failure.
- config.css now accepts a custom processor object (inline transform or CLI
  command) in addition to the three presets; schema validated.
- New onCssTransform plugin hook (types, runner, fireCssTransform). CSS types
  re-exported from both extforge and extforge/plugins.
- Presets behave correctly: 'vanilla'/'none' copy through instead of
  invoking the Tailwind CLI when it happens to be installed.
- Scaffold: non-tailwind css no longer ships @tailwind directives in
  globals.css (new globals.vanilla.css.tpl).

Docs:
- New Styling guide; updated configuration + plugin guides, README, index,
  and the auto-generated config reference (now handles union types and
  safely quotes frontmatter descriptions).

Tests: css pipeline + onCssTransform chain + schema cases (519 passing).

https://claude.ai/code/session_01NxAV3rCRLn29a7JZSkRACq
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying extforge with  Cloudflare Pages  Cloudflare Pages

Latest commit: 34955a9
Status: ✅  Deploy successful!
Preview URL: https://90766576.extforge.pages.dev
Branch Preview URL: https://claude-styling-api-docs-6k0c.extforge.pages.dev

View logs

@arshad-shah
arshad-shah merged commit 2bda0bc into main Sep 1, 2026
9 checks passed
arshad-shah pushed a commit that referenced this pull request Sep 1, 2026
Picks up #67, which squash-merged to main as 2bda0bc. This branch already
contained that work (commit 34955a9, merged here earlier), so the squash
produced conflicts against the Biome-formatted copies rather than any real
divergence.

Verified `git diff 34955a9 origin/main` is empty before resolving — main
carries nothing this branch lacks — so every conflict was resolved in favour
of this branch, whose files are the same content with Biome's import ordering
and the new @internal tags on top.

Git auto-merged src/core/plugins/index.ts without flagging a conflict and
duplicated the CSS type re-export block, which broke typecheck with
TS2300. Deduped.

The merged tree is byte-identical to the pre-merge head (594213a), which is
the expected invariant given main added nothing new.

Verified: typecheck, lint, 519 tests, build, docs build, cross-browser check,
and `pnpm audit --prod` all pass.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AXZCPnbtT51ASiFHLMXQTZ
arshad-shah pushed a commit that referenced this pull request Sep 1, 2026
Release extforge@1.0.0.

Major: the API stability contract (#77).
Minor: the extensible CSS pipeline (#67).
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