refactor: name every private workspace @tumaet/<role>#810
Merged
Conversation
The scope carries the organization, the name carries the role. Two workspaces broke that rule for no reason: the extension's webview was unscoped, and the docs site repeated the product name. apollon-vscode-webview -> @tumaet/vscode-webview @tumaet/apollon-docs -> @tumaet/docs Neither is published and nothing depends on either via workspace:*, so both are reached only through `pnpm --filter` — the rename is inert to resolution and leaves the lockfile untouched. `apollon-vscode` keeps its unscoped name. The Marketplace requires an extension name to match [a-z0-9][a-z0-9-]* and vsce rejects a scope, so `tumaet.apollon-vscode` already is the scoped name, spelled the way the Marketplace spells scopes. Renaming it would orphan every install. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claudia-Anthropica
approved these changes
Jul 9, 2026
Claudia-Anthropica
left a comment
Collaborator
There was a problem hiding this comment.
@FelixTJDietrich This looks good to me. The renamed workspace filters resolve locally, Changesets accepts the new ignore entries, and the docs/VS Code checks that exercise these names are passing.
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.
Follow-up to #806 / #808 / #809. Pure naming; no behaviour change.
The rule
The scope carries the organization, the name carries the role.
@tumaet/apollonis the product;@tumaet/ui,@tumaet/webappand@tumaet/serverare named for the job they do. Two workspaces broke that rule for no reason:apollon-vscode-webview@tumaet/vscode-webview@tumaet/apollon-docs@tumaet/docsThe webview was unscoped purely because it inherited the look of its sibling — it is
private, has noengines.vscode, and is never packaged as a VSIX. The docs site repeated the product name that the scope already implies.What is deliberately not renamed
apollon-vscodekeeps its unscoped name, for two independent reasons — either alone is decisive:nameto match[a-z0-9][a-z0-9-]*;vsce packagerejects@tumaet/apollon-vscodeoutright.publisher.name. A different name is a new listing, and the 38 existing installs would never see another update.tumaet.apollon-vscodealready is the scoped name, spelled the way the Marketplace spells scopes. That reasoning is now recorded inproject-structure.mdandAGENTS.mdso nobody "fixes" it later.Also corrects a line in
AGENTS.mdleft stale by #806: it still describedmenu/andeditor/sub-packages, which that PR replaced with a singlewebview/.Why this is safe
Nothing depends on either package via
workspace:*— both are reached only throughpnpm --filter. The rename is inert to resolution, andpnpm-lock.yamlis untouched, because pnpm keys importers by path rather than by name.The one place a stale name would have been load-bearing is
.changeset/config.json#ignore. I falsified that rather than assuming: putting the old names back makeschangeset statusdie with aValidationErrorfrom@changesets/config, so a half-done rename fails loudly at release time instead of silently un-ignoring the docs site.Verification
Run locally against this branch:
pnpm install— lockfile unchangedpnpm -r list— all 8 workspaces resolve under the new namespnpm --filter @tumaet/vscode-webview/--filter @tumaet/docs— both filters resolvepnpm --filter @tumaet/apollon run build && pnpm --filter apollon-vscode run build:all— extension builds through the renamed webview filterpnpm --filter apollon-vscode lint | typecheck | test— clean; 44/44 tests passpnpm --filter @tumaet/docs run typecheck— clean (the exact commandpr-health-checks.ymlruns)pnpm exec changeset status— config acceptedpnpm format:check— cleanNo changeset: both packages are private and excluded from every release line, so nothing user-visible changes.
🤖 Generated with Claude Code