Skip to content

docs: credit good-css in the README and vendor its skill for agents #256

docs: credit good-css in the README and vendor its skill for agents

docs: credit good-css in the README and vendor its skill for agents #256

Workflow file for this run

name: CI
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
quality:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup toolchain
uses: moonrepo/setup-toolchain@v0
with:
moon-version: "2.0.0"
auto-install: true
# Runs before `moon ci` so the gate reads the committed metadata and not a
# tree repaired by another task in the same pipeline. `cssforge:version-sync`
# is excluded from CI for the same reason.
- name: Check release metadata consistency
run: moon run --force cssforge:version-check
# `--force` suppresses moon's InstallDependencies action, which the build
# this gate depends on needs.
- name: Install dependencies
run: pnpm install --frozen-lockfile
# Only JSR's type analysis rejects a public API without explicit types,
# and that failure would otherwise surface during publish.
# `moon exec --ignore-ci-checks` is required because `jsr-dry-run` is
# `runInCI: false`, which `moon run` refuses in a CI environment.
- name: Check JSR publishability
run: moon exec --ignore-ci-checks --force cssforge:jsr-dry-run
- name: Run CI
run: moon ci
browser-e2e:
name: Browser e2e (theme scoping)
runs-on: ubuntu-latest
# `moon ci` does not select the example suites (`runInCI: false`), so this
# job is what runs them. Pull requests only: the browser download is not
# needed on the push to main, whose commit its PR already gated.
if: github.event_name == 'pull_request'
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup toolchain
uses: moonrepo/setup-toolchain@v0
with:
moon-version: "2.0.0"
auto-install: true
# `--force` suppresses moon's InstallDependencies action.
- name: Install dependencies
run: pnpm install --frozen-lockfile
# `--filter` is required: `@playwright/test` belongs to the example
# package, so the root cannot resolve the binary. Chromium is the only
# project in the example's Playwright config.
- name: Install Playwright browsers
run: pnpm --filter vanilla-react-css exec playwright install --with-deps chromium
# `vanilla-react-css:e2e` is `runInCI: false`, which `moon run` refuses in
# a CI environment.
- name: Run the browser suite
run: moon exec --ignore-ci-checks --force vanilla-react-css:e2e
# The Playwright suite runs against the dev server. This is what proves a
# production build emits the plugin's generated stylesheet.
- name: Build the example for production
run: moon exec --ignore-ci-checks --force vanilla-react-css:build
node-floor:
name: Package smoke on Node 24.0.0
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup toolchain
uses: moonrepo/setup-toolchain@v0
with:
moon-version: "2.0.0"
auto-install: true
# 24.0.0 is the floor declared by the package `engines` field.
- name: Setup Node 24.0.0
uses: actions/setup-node@v4
with:
node-version: "24.0.0"
package-manager-cache: false
- name: Smoke test the packed package on the supported engine floor
run: moon run cssforge:smoke-test -- --node "$(command -v node)"
jsr-entries:
name: JSR entry points
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup toolchain
uses: moonrepo/setup-toolchain@v0
with:
moon-version: "2.0.0"
auto-install: true
- name: Setup Deno
uses: denoland/setup-deno@v2
with:
deno-version: v2.x
- name: Smoke test the JSR entry points with Deno
run: moon run cssforge:jsr-smoke -- --require-deno