Skip to content

docs: version-anchor the v0 to Vuetify relationship - #722

Draft
johnleider wants to merge 2 commits into
masterfrom
docs/v0-vuetify-relationship
Draft

docs: version-anchor the v0 to Vuetify relationship#722
johnleider wants to merge 2 commits into
masterfrom
docs/v0-vuetify-relationship

Conversation

@johnleider

@johnleider johnleider commented Jul 27, 2026

Copy link
Copy Markdown
Member

Important

Held until vuetifyjs/vuetify#23039 merges — do not merge before it.
Every claim here is anchored to vuetify 4.2.0 taking @vuetify/v0 as a dependency. If that PR changes scope or slips its milestone, this copy has to change with it.

Description

Copy across the repo disagreed with itself about how vuetify consumes @vuetify/v0 — some lines said it already did, others led with Vuetify 5 and would go stale the day 4.2.0 ships. Neither set named anything a reader could check.

The fix is direction claim + checkable specifics, not one replacing the other.

  • Direction claims stay. "Vuetify itself is being rebuilt on v0", "v0 is being built directly into Vuetify" — #23039 is explicitly the first slice of an intended full adoption, and its own body defers composables as "the bigger prize" for later. Present-progressive describes the program accurately; watering it down to "adopting" would judge the increment instead of the program.
  • What gets added is the falsifiable part. Every direction claim now carries the version and the scope alongside it.

The specifics being standardized on

@vuetify/v0 becomes a runtime dependency of vuetify in 4.2.0, starting with the utility layer; deeper adoption lands through subsequent 4.x minors.

Checkable against #23039:

  • packages/vuetify/package.json gains "dependencies": { "@vuetify/v0": "^1.0.1" } — the package's first runtime dependency. ^1.0.1 matches this repo's current packages/0 version.
  • packages/vuetify/src/util/v0.ts (new) re-exports 12 type guards plus a re-widened isObject (13 total) and range as createRange.
  • packages/vuetify/src/labs/VHighlight/toHighlight.ts collapses to a re-export of v0's implementation.
  • Milestone v4.2.0.

Deliberately not written anywhere: "Vuetify 4 is built on v0." Present-perfect state is false; present-progressive direction is not.

Changes

Present-tense claims that overstated what has already shipped

File Before After
skills/vuetify0/SKILL.md:8 "Feeds Vuetify 4 through minor releases." "Consumed by Vuetify 4 from 4.2.0, starting with the utility layer; deeper adoption lands through subsequent minors."
skills/vuetify0/SKILL.md:287 "vuetify v4 — Material Design framework, integrates v0 via minor releases" names the 4.2.0 dependency, the utility-layer scope, and states composables/components are not yet consumed
skills/vuetify0/references/layer-decisions.md stack diagram labelled Vuetify 4 (design system consumer), no direct-consumption note diagram unchanged; a sentence beneath it records the direct 4.2.0 dependency and its scope
packages/0/PHILOSOPHY.md:16 "Vuetify 4 is one such consumer." "…is one such consumer, and from 4.2.0 it also depends on v0 directly — the utility layer first, with deeper adoption through subsequent 4.x minors." (existing intent: tags untouched)

Vuetify 5 copy, rewritten to lead with the present

File Change
apps/docs/src/pages/sponsor.md:35 leads with the 4.2.0 dependency; keeps Paper and Vuetify 5 as what v0 is the foundation for
apps/docs/src/components/home/HomeFoundation.vue:61 pull quote reworked to lead with 4.2.0 and keep Vuetify 5 as the trajectory. Still attributed to John Leider, still in his voice
.claude/rules/new-feature-checklist.md:149 "(Vuetify 5, …)" → "(Vuetify 4 and 5, …)" — Vuetify 4 is a downstream consumer as of 4.2.0

Direction claims kept verbatim, specifics appended

File Kept Added
apps/docs/src/pages/roadmap.md:53 "v0 is being built directly into Vuetify. The composables and patterns here are the same ones powering Vuetify's next generation." "— vuetify takes @vuetify/v0 as a runtime dependency from 4.2.0, starting with the utility layer, and adopts more of the surface each minor."
apps/docs/src/pages/roadmap.md:121 "v0 is the foundation layer being built directly into Vuetify's next generation. The composables and patterns in v0 are the same ones that will power Vuetify's styled components." "— vuetify takes @vuetify/v0 as a runtime dependency from 4.2.0, starting with the shared utilities, and adopts more of the surface through subsequent minors."
apps/docs/src/pages/roadmap.md:125 "the core is already being used to build Vuetify itself" "— vuetify takes it as a runtime dependency from 4.2.0."

apps/docs/src/pages/introduction/why-vuetify0.md:30 — "Vuetify itself is being rebuilt on v0." Unchanged. It was briefly rewritten to "adopting" during review and has been restored verbatim; that file is no longer in this diff.

Left alone, deliberately

  • apps/docs/src/pages/introduction/frequently-asked.md:31 — "the foundation layer that Vuetify and other component libraries could be built on top of." Conditional, so not false. Arguably now understated, but tightening it is a copy decision, not an accuracy fix.
  • apps/docs/src/pages/introduction/why-vuetify0.md:308 — "v0 complements all of them — it's the foundation layer, not a replacement." Makes no claim about Vuetify consuming v0.
  • packages/0/README.md:35 — "the foundation of the Vuetify ecosystem." True as written; scoped to the ecosystem, not to vuetify the package.
  • packages/0/src/composables/useBreakpoints/index.ts:11 — "Vuetify 4 default widths." Factual, unrelated.

Notes

  • No changeset. Docs, skill, and philosophy copy only — no package behavior changes and nothing ships a version. Per CLAUDE.md's branch-model table, docs/chore changes that ship no package version target master, patch/none.
  • skills/vuetify0/SKILL.md edits are both outside the @generated:counts markers, so pnpm skill will not clobber them.
  • Every line number in the tables was re-verified against master before editing.
  • Follow-up worth its own issue: the rebuild claim is now load-bearing marketing copy resting on one utilities PR. A public adoption-tracking issue on vuetifyjs/vuetify listing the slices (utilities → observers → registries → selection → validation), each linked to its PR as it lands, would keep the claim evidenced rather than asserted.

Copy across the repo disagreed with itself about how `vuetify` consumes
`@vuetify/v0`: some claims read as present-tense adoption that has not
happened yet, others led with Vuetify 5 and will read as stale the day
4.2.0 ships.

Anchor every claim to the actual scope of vuetifyjs/vuetify#23039 —
`@vuetify/v0` becomes a runtime dependency of `vuetify` in 4.2.0,
starting with the utility layer (13 type guards, `range`, `toHighlight`),
with deeper adoption through subsequent 4.x minors.
@johnleider johnleider added this to the v1.1.0 milestone Jul 27, 2026
@johnleider johnleider added the documentation Improvements or additions to documentation label Jul 27, 2026
@johnleider johnleider self-assigned this Jul 27, 2026
Direction claims about Vuetify being rebuilt on v0 are accurate — #23039
is the first slice of an intended full adoption, not the whole of it, so
present-progressive describes the program correctly.

Restore `why-vuetify0.md` verbatim and put the original direction
sentences back at the head of the roadmap claims, keeping the
version-anchored detail appended rather than substituted.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant