docs: add Varar rename migration plan - #41
Closed
aslakhellesoy wants to merge 13 commits into
Closed
Conversation
Full plan for renaming oselvar/var -> varar across all language ports, release tooling, docs, and registries. Executed on the rename-to-varar branch. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018FcUDtbtT4SvX2ySEN5H8n
Package coordinates change from @oselvar/var* to the @VarAR scope with the redundant prefix dropped: @varar/varar (facade), @varar/core, @varar/config, @varar/language, @varar/runner, @varar/vitest, @varar/cli, @varar/lsp. The VS Code extension becomes varar.varar (publisher varar, display name "Varar"). Subpath exports, the vitest plugin's virtual-module codegen, the init scaffold, website config, and doc/repo URLs (github.com/oselvar/varar, varar.dev) update to match. BREAKING CHANGE: npm packages are renamed from the @oselvar scope to @VarAR. Update imports: `@oselvar/var` -> `@varar/varar`, `@oselvar/var-vitest` -> `@varar/vitest`, etc. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018FcUDtbtT4SvX2ySEN5H8n
Distributions rename oselvar-var* -> varar* (facade `varar`, plus varar-core, varar-config, varar-runner, varar-unittest, and the pytest plugin `pytest-varar`). Import packages become varar, varar_core, varar_config, varar_runner, varar_unittest, varar_pytest. Homepage -> varar.dev. BREAKING CHANGE: PyPI distributions are renamed. Install `varar` / `pytest-varar` instead of `oselvar-var` / `pytest-var`, and import `varar*` instead of `var*`. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018FcUDtbtT4SvX2ySEN5H8n
groupId com.oselvar -> dev.varar; artifactIds drop the redundant prefix (dev.varar:varar facade, plus core, config, runner, junit, kotlin, kotest). Java packages com.oselvar.var* -> dev.varar.*; the Kotlin leaf com.oselvar.varkt -> dev.varar.kotlin (and .kotest). SCM/URLs -> oselvar/varar. BREAKING CHANGE: Maven coordinates change from com.oselvar:var* to dev.varar:* and package imports from com.oselvar.var* to dev.varar.* (Kotlin: com.oselvar.varkt -> dev.varar.kotlin). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018FcUDtbtT4SvX2ySEN5H8n
Gems rename oselvar-var* -> varar* (facade `varar`, plus varar-core, varar-config, varar-runner, varar-rspec, varar-minitest). The load path moves from oselvar/var/** to varar/**, and the module nesting Oselvar::Var::* collapses to a top-level Varar::*. Homepage -> varar.dev. BREAKING CHANGE: RubyGems names change from oselvar-var* to varar*; require paths from 'oselvar/var...' to 'varar...'; and the module namespace from Oselvar::Var to Varar. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018FcUDtbtT4SvX2ySEN5H8n
Crate + lib names, workspace members, dependency keys/paths and crate directories move var* -> varar* (facade `varar`, plus varar-core, varar-config, varar-runner, varar-cargotest). All crates remain publish=false; the planned crates.io facade name becomes `varar` (the `var` name was taken). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018FcUDtbtT4SvX2ySEN5H8n
Retarget the release scripts at the @VarAR / dev.varar / varar coordinates and the oselvar/varar-examples sync repo (rubygems dir lookup by gemspec, maven namespace dev.varar, open-vsx/marketplace varar.varar, 1Password npm-varar / pypi-varar tokens, 70-varar-examples.sh). Point languages.json, the Makefile, CI, and the badge generator at the new names and varar.dev. Reframe the front page and README around "Varar" (Old Norse for *oaths*) while keeping the goddess Vár; update CLAUDE.md, CONTRIBUTING, ARCHITECTURE, RELEASING, and the package READMEs. The dated doc/superpowers and doc/adr archive is left as a historical record. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018FcUDtbtT4SvX2ySEN5H8n
…to varar The project's product tokens follow the rename: the config file var.config.json -> varar.config.json, the drift baseline var.lock.json -> varar.lock.json, and the JSON schema var.config.schema.json -> varar.config.schema.json (served from varar.dev). The command-line tool is now `varar` (varar run / varar lint / varar init) with the LSP binary varar-lsp, and `varar init` scaffolds specs under varar-examples/. BREAKING CHANGE: rename var.config.json -> varar.config.json and var.lock.json -> varar.lock.json in your project, point "$schema" at varar.config.schema.json, and invoke the CLI as `varar` instead of `var`. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018FcUDtbtT4SvX2ySEN5H8n
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018FcUDtbtT4SvX2ySEN5H8n
Rename the package container directories to match the dropped-prefix package names: <lang>/packages/var -> varar (facade) and var-core -> core, var-config -> config, var-language -> language, var-runner -> runner, var-vitest -> vitest, var-cli -> cli, var-lsp -> lsp, var-vscode -> vscode, var-junit -> junit, var-kotlin -> kotlin, var-kotest -> kotest, var-unittest -> unittest, var-pytest -> pytest, var-rspec -> rspec, var-minitest -> minitest (Rust varar-* -> bare too). Only directory names change — published package names, crate names, gem names, and Maven coordinates are unaffected; workspace members, path dependencies, module lists, and build configs are updated to match. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018FcUDtbtT4SvX2ySEN5H8n
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018FcUDtbtT4SvX2ySEN5H8n
Full-pipeline port on the CLR (no runtime sharing), gated on all four conformance artifacts. C# owns the engine; F# is a later facade over it (Kotlin-over-Java route, registry-only conformance). Coordinates use the post-rename Varar scheme (NuGet Varar.*; varar.config.json; varar-examples). - ADR 0008 (.NET port) + ADR 0009 (VSTest ITestDiscoverer/ITestExecutor adapter) - core+facade and config+runner+adapter design specs - two TDD task plans Key forks (static-language precedent): injected Registrar, full-replacement immutable Value state, [CallerFilePath]/[CallerLineNumber] call-site capture. UTF-16 offsets expected free (C# strings are UTF-16); official Cucumber.CucumberExpressions 20.0.0 gives exact version parity. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TZsEqbSdXCtqvKcs5cuMMj
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.
Superseded by #42, which targets
rename-to-vararas its base so the diff is only the six .NET (C#) port planning docs. Closing to avoid confusion — this PR pointed the same branch atmain, which pulled in the whole unmerged rename (963 files).