Conversation
The alpha CLI has no message/message-scroller generators. Only the CLI (a devDependency) moves; @spartan-ng/brain stays on 0.0.1-alpha.720.
Turns rules that only lived in AGENTS.md and the skills into a check: barrels, package exports, stories and contracts per component, no leftover Tailwind in React or Angular component code, no TODOs in contracts, and matching React/Angular story titles. Known exceptions are listed in scripts/conventions.allowlist.json.
Scaffolds a component in contracts plus React and/or Angular: vendors it with the shadcn or Spartan CLI, writes the barrel, package exports, CSS and story stubs, and saves a pristine upstream copy in .upstream/. Also undoes CLI side effects: dependency bumps, the bogus `cn` package and import from the shadcn registry, tw-animate-css, duplicate copies of components Curve already vendors, and edits to other tracked files. Refuses up front when the component exists or Spartan needs a newer @spartan-ng/brain than the repo has.
Fetches today's upstream in a temporary git worktree (with the working tree's tracked edits carried over) and merges it into the vendored component per file with git merge-file, using the .upstream/ snapshot as the base. Conflicts get standard markers; the snapshot then advances. Components without a snapshot fall back to the manual skill flow.
Vendored with pnpm new:component from shadcn (base-vega) and Spartan, then ported to a CSS module and curve-message* classes that share one set of rules. The align prop is typed from messageContract, and both Storybooks have the same five stories.
Vendored with pnpm new:component on @shadcn/react's message-scroller primitive and ported to a CSS module. The bottom fade and jump button follow the primitive's data-scrollable/data-active state, with motion only under prefers-reduced-motion: no-preference. React only for now: the Spartan equivalent needs @spartan-ng/brain 1.x.
Lead with pnpm new:component / update:component / check:conventions and keep the manual playbooks as the reference and fallback. Also remove the duplicated refresh paragraphs in AGENTS.md, correct the React style (base-vega), note that autodocs is set project-wide in preview.ts, and document the Spartan CLI/brain version split.
…stom Home-grown components (curve-<name>, like curve-data-table) have no upstream CLI to vendor from. With --custom the generator skips the CLIs and the .upstream/ snapshot and writes a small working component instead: each contract axis becomes a typed prop that sets a data-* attribute, with a CSS rule stub per value and Playground + per-axis stories named the same in both frameworks. The curve- prefix is required with --custom (and rejected without it), so home-grown names never collide with upstream components. update:component now says there is no upstream to merge for curve-* components.
Contributor
♿ Accessibility audit — WCAG 2.2 AA✅ No violations across 436 stories / 12208 theme·mode combinations in Automated axe covers ~30–50% of WCAG 2.2 AA. Keyboard, screen-reader and reflow checks still need a manual pass. Full per-story JSON is in the run’s |
This branch has not been deployed
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
Moves some instruction and work to scripts that do the same as what a LLM assistant would do, but reducing the interpreting/use of tokens and moving the automation to scripts.
Related issue
N/A
Type of change
Checklist
pnpm build,pnpm lint, andpnpm formatpasspnpm changeset) — required for any change to@surfnet/curve-reactor@surfnet/curve-angular; N/A for docs/CI-only changes@surfnet/curve-contracts)Screenshots