Rename the project from Vár/@oselvar to Varar - #39
Merged
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
Contributor
Author
|
@copilot resolve the merge conflicts in this pull request |
Contributor
Resolved by merging |
# Conflicts: # ruby/Gemfile.lock # ruby/packages/minitest/varar-minitest.gemspec # typescript/knip.json # typescript/packages/language/package.json # typescript/packages/language/src/index-workspace.ts # typescript/packages/language/src/step-defs.ts # typescript/packages/vitest/package.json # typescript/packages/vitest/src/node-grammar-loader.ts # typescript/packages/vitest/src/static-examples.ts # typescript/packages/vitest/tests/static-examples.test.ts # typescript/pnpm-lock.yaml
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CwhUMqqLLpkZYpS33fuY1d
aslakhellesoy
force-pushed
the
rename-to-varar
branch
from
July 19, 2026 10:21
0fab461 to
1062d15
Compare
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.
Renames the project from Vár (
@oselvar/var) to Varar across all fivelanguage ports, tooling, docs, and product tokens.
make check(build + testof every port + commit-lint) is green.
Motivation: a more unique/searchable name, an available domain (varar.dev),
and free namespaces (the
@vararnpm org is owned). Varar is Old Norse foroaths — so the goddess Vár (guardian of oaths) becomes a tighter mascot,
not an obsolete one.
What changed
@varar/varar(facade) +@varar/{core,config,language,runner,vitest,cli,lsp}; VS Codevarar.vararvarar,varar-core,varar-config,varar-runner,varar-unittest,pytest-varardev.varar:{varar,core,config,runner,junit,kotlin,kotest}(Kotlin pkg leafdev.varar.kotlin)varar,varar-core, …; moduleVarar::*, load pathvarar/…varar,varar-core, … (stillpublish = false)Product tokens:
varar.config.json,varar.lock.json,varar.config.schema.json(served from varar.dev); CLI commandvarar(LSP bin
varar-lsp);varar initscaffolds undervarar-examples/.Directories: package dirs drop the
var-prefix too (packages/core, …,facade
packages/varar) — on-disk only; published names are unchanged.Tooling/brand: release scripts,
languages.json, Makefile, CI, badges →varar.dev; front page + README reframed around varar = oaths (goddess Vár
kept, accent used only for the goddess). Full plan in
doc/RENAME-VARAR.md.Intentionally kept
GitHub org
oselvar(this repo will be renamedoselvar/vararseparately —the
vararorg is squatted),aslak@oselvar.com,Oselvar Ltdin LICENSE,the
Vár1Password vault, test-dataVár/várin specs/goldens, and thedated
doc/superpowers+doc/adrhistory archive.Before publishing (owner-only, external — tracked in
doc/RENAME-VARAR.md)dev.vararnamespace + DNS-verify on varar.devvararpublishersoselvar/var→oselvar/varar,oselvar/var-examples→oselvar/varar-examplesnpm-varar/pypi-varartokens to theVár1Password vault🤖 Generated with Claude Code
https://claude.ai/code/session_018FcUDtbtT4SvX2ySEN5H8n