Files
2026-07-13 12:58:18 +08:00

1.8 KiB

AGENTS.md - Vue storybook parity rules

Scope

  • Scope: examples/v2/vue/storybook/**.
  • Goal: visual and story-structure parity with examples/v2/react/storybook/**.

Source of truth

  • Treat React story names, grouping, and scenario intent as canonical.
  • Mirror stories one-by-one with equivalent Vue components as they are ported.
  • Keep story file ownership close to React so each Vue story maps directly to its React counterpart.

Parity constraints

  • If React has no Storybook equivalent for a shipped Vue parity feature, a Vue-only parity story is allowed and should be marked explicitly as a parity bridge.
  • Story titles should stay aligned with React naming to preserve comparison clarity.
  • Avoid introducing Vue-only scaffold abstractions that make React↔Vue story diffs harder to follow.

Implementation guidance

  • Start with placeholder/minimal parity stories when a Vue component exists but is incomplete.
  • Upgrade each story to full behavior parity as the corresponding Vue primitive lands.
  • Prefer stable, deterministic props/data so visual comparisons remain consistent.

Story Completion Checklist (Blocking)

For each ported user-visible Vue feature, story parity is complete only if all items below are true.

  1. There is a Vue story that maps to the corresponding React story intent.
  2. Story title/grouping is aligned with React naming.
  3. Core interaction states are represented (default, active/loading, error/fallback where applicable).
  4. Slot/customization behavior is demonstrated when the feature uses Vue slots.
  5. Story data is deterministic and stable for side-by-side React↔Vue comparison.
  6. Story build and dev both succeed (storybook build, storybook dev).

Validation

Run after meaningful changes:

  1. pnpm -C examples/v2/vue/storybook dev
  2. pnpm -C examples/v2/vue/storybook build