Skip to content

refactor(workspaces): rename @gsd/* scope to @hyveon/*#215

Merged
CoderCoco merged 5 commits into
mainfrom
worktree-claude+issue-142-rename-gsd-scope-hyveon
May 13, 2026
Merged

refactor(workspaces): rename @gsd/* scope to @hyveon/*#215
CoderCoco merged 5 commits into
mainfrom
worktree-claude+issue-142-rename-gsd-scope-hyveon

Conversation

@CoderCoco
Copy link
Copy Markdown
Owner

Closes #142

Summary

  • Renames app/packages/serverapp/packages/desktop-main and changes its package name from @gsd/server@hyveon/desktop-main
  • Migrates all remaining workspace packages from the @gsd/* scope to @hyveon/*: shared, web, all five Lambda packages (lambda-interactions, lambda-followup, lambda-update-dns, lambda-watchdog, lambda-efs-seeder), and scripts
  • Updates every import … from '@gsd/…' across the TS source tree, all npm workspace scripts, tsconfig.json, vitest.config.ts, embed-tfstate.mjs, and Playwright configs
  • Updates CLAUDE.md, README, all docs, and the Electron design spec to use the new scope
  • Also fixes the .gitignore entry for the generated tfstate file (path was still pointing at packages/server/)

Test plan

  • npm install succeeded (lock file regenerated)
  • npm run app:build passes (shared → desktop-main → web)
  • npm run app:test — 480 tests pass unchanged
  • npm run app:lint — clean
  • Zero @gsd/ references remain (grep -r "@gsd/" --include="*.ts" --include="*.tsx" --include="*.json" returns nothing)

🤖 Generated with Claude Code

Renames all npm workspace packages from the @gsd/* scope to @hyveon/*
and moves app/packages/server to app/packages/desktop-main:

- @gsd/server → @hyveon/desktop-main (dir renamed accordingly)
- @gsd/shared → @hyveon/shared
- @gsd/web → @hyveon/web
- @gsd/lambda-* → @hyveon/lambda-* (all five lambdas)
- @gsd/scripts → @hyveon/scripts

Pure rename — no logic changes. All imports, scripts, configs, docs,
and package-lock.json updated. 480 tests pass, build clean, lint clean.

Closes #142

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 11, 2026 16:28
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Refactors the monorepo workspace naming by migrating the @gsd/* npm scope to @hyveon/*, including renaming the Nest backend workspace from app/packages/server (@gsd/server) to app/packages/desktop-main (@hyveon/desktop-main), and updates code/docs/tooling references accordingly.

Changes:

  • Migrated workspace package names and cross-workspace imports from @gsd/* to @hyveon/*.
  • Renamed the server workspace to desktop-main and updated build/test tooling to point at the new paths.
  • Updated documentation and scripts to reflect the new scope and workspace layout.

Reviewed changes

Copilot reviewed 38 out of 79 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
scripts/package.json Renames workspace package to @hyveon/scripts.
README.md Updates docs references to @hyveon/* scope (structure diagram partially updated).
package.json Updates root scripts to use @hyveon/* workspace names.
docs/superpowers/specs/2026-05-10-electron-desktop-pivot-design.md Updates design spec to new @hyveon/* scope references.
docs/docs/intro.md Updates docs references to @hyveon/shared and new server package name.
docs/docs/guides/submodule.md Updates docs reference to @hyveon/shared.
docs/docs/guides/maintainer.md Updates maintainer docs for new package scope + server path changes.
docs/docs/components/management-app.md Updates component docs for @hyveon/* packages and new server path.
docs/docs/components/lambdas.md Updates lambda docs to @hyveon/* scope references.
docs/docs/components/integration-tests.md Updates integration test docs to new desktop-main paths and @hyveon/* packages.
docs/docs/components/index.md Updates docs reference to @hyveon/shared.
docs/docs/architecture.md Updates architecture docs reference to @hyveon/shared.
CLAUDE.md Updates repo instructions and package references to @hyveon/* + desktop-main.
app/vitest.setup.ts Updates comment references from @gsd/web to @hyveon/web.
app/vitest.config.ts Updates Vitest aliases and coverage excludes for new desktop-main paths and @hyveon/shared.
app/tsconfig.json Updates TS project references to packages/desktop-main.
app/scripts/embed-tfstate.mjs Writes embedded tfstate into packages/desktop-main/src/generated/.
app/packages/web/playwright.integration.config.ts Points integration server dist path at packages/desktop-main/dist.
app/packages/web/package.json Renames workspace package to @hyveon/web.
app/packages/shared/package.json Renames workspace package to @hyveon/shared.
app/packages/lambda/watchdog/src/handler.ts Updates doc reference to @hyveon/lambda-update-dns.
app/packages/lambda/watchdog/package.json Renames workspace package to @hyveon/lambda-watchdog.
app/packages/lambda/update-dns/src/handler.ts Updates shared import to @hyveon/shared.
app/packages/lambda/update-dns/src/handler.test.ts Updates mocks/importActual to @hyveon/shared.
app/packages/lambda/update-dns/package.json Renames package + dependency to @hyveon/shared.
app/packages/lambda/interactions/src/handler.ts Updates shared imports/types to @hyveon/shared.
app/packages/lambda/interactions/src/handler.test.ts Updates mocks/importActual to @hyveon/shared.
app/packages/lambda/interactions/package.json Renames package + dependency to @hyveon/shared.
app/packages/lambda/followup/src/handler.ts Updates shared imports/types to @hyveon/shared.
app/packages/lambda/followup/src/handler.test.ts Updates mocks/importActual to @hyveon/shared.
app/packages/lambda/followup/package.json Renames package + dependency to @hyveon/shared.
app/packages/lambda/efs-seeder/package.json Renames workspace package to @hyveon/lambda-efs-seeder.
app/packages/desktop-main/tsconfig.json Adds TS config for renamed server workspace (desktop-main).
app/packages/desktop-main/src/test-mocks/test-mocks.module.ts Adds Nest module for integration-test-only mock control endpoints.
app/packages/desktop-main/src/test-mocks/test-mocks.controller.ts Adds HTTP endpoints to control queued AWS SDK mock responses for integration tests.
app/packages/desktop-main/src/test-mocks/mock-store.ts Adds in-process FIFO mock response store for integration tests.
app/packages/desktop-main/src/test-main.ts Adds integration-test Nest bootstrap wiring aws-sdk-client-mock + test-only modules.
app/packages/desktop-main/src/services/LogsService.ts Adds CloudWatch Logs tail + SSE streaming logic.
app/packages/desktop-main/src/services/LogsService.test.ts Adds unit tests for LogsService polling + getRecentLogs.
app/packages/desktop-main/src/services/FileManagerService.ts Adds ECS-on-demand FileBrowser launcher for EFS browsing.
app/packages/desktop-main/src/services/FileManagerService.test.ts Adds unit tests for FileManagerService.
app/packages/desktop-main/src/services/EcsService.ts Adds ECS wrapper for start/stop/status + helpers for file-manager tasks.
app/packages/desktop-main/src/services/EcsService.test.ts Adds unit tests for EcsService.
app/packages/desktop-main/src/services/Ec2Service.ts Adds EC2 ENI → IP resolver.
app/packages/desktop-main/src/services/Ec2Service.test.ts Adds unit tests for Ec2Service.
app/packages/desktop-main/src/services/DiscordConfigService.ts Updates shared import scope to @hyveon/shared.
app/packages/desktop-main/src/services/DiscordConfigService.test.ts Updates shared mocks/importActual to @hyveon/shared.
app/packages/desktop-main/src/services/DiscordCommandRegistrar.ts Updates COMMAND_DESCRIPTORS import to @hyveon/shared.
app/packages/desktop-main/src/services/DiscordCommandRegistrar.test.ts Adds unit tests for Discord command registration via REST.
app/packages/desktop-main/src/services/CostService.ts Adds Fargate estimate math + Cost Explorer query wrapper.
app/packages/desktop-main/src/services/CostService.test.ts Adds unit tests for cost estimation + CE error handling.
app/packages/desktop-main/src/services/ConfigService.ts Adds config + tfstate parsing (runtime + embedded fallback) under desktop-main.
app/packages/desktop-main/src/services/ConfigService.test.ts Adds unit tests for tfstate parsing + config/token behavior.
app/packages/desktop-main/src/modules/discord.module.ts Adds Discord feature module wiring.
app/packages/desktop-main/src/modules/aws.module.ts Adds AWS feature module wiring (Config/ECS/EC2/Logs/Cost/FileManager).
app/packages/desktop-main/src/main.ts Adds desktop-main Nest bootstrap + prod SPA serving with /api carve-out.
app/packages/desktop-main/src/logger.ts Adds Winston logger configuration for desktop-main.
app/packages/desktop-main/src/guards/api-token.guard.ts Adds global bearer-token guard (header + SSE query param support).
app/packages/desktop-main/src/guards/api-token.guard.test.ts Adds unit tests for ApiTokenGuard behavior.
app/packages/desktop-main/src/controllers/logs.controller.ts Adds logs fetch + SSE log streaming endpoints.
app/packages/desktop-main/src/controllers/logs.controller.test.ts Adds unit tests for LogsController.
app/packages/desktop-main/src/controllers/games.controller.ts Adds game list/status/start/stop endpoints over tfstate + ECS.
app/packages/desktop-main/src/controllers/games.controller.test.ts Adds unit tests for GamesController.
app/packages/desktop-main/src/controllers/files.controller.ts Adds file-manager status/start/stop endpoints.
app/packages/desktop-main/src/controllers/files.controller.test.ts Adds unit tests for FilesController.
app/packages/desktop-main/src/controllers/env.controller.ts Adds environment metadata endpoint.
app/packages/desktop-main/src/controllers/env.controller.test.ts Adds unit tests for EnvController.
app/packages/desktop-main/src/controllers/discord.controller.ts Adds Discord config/admin/guild/permission/registration endpoints.
app/packages/desktop-main/src/controllers/discord.controller.test.ts Adds unit tests for DiscordController.
app/packages/desktop-main/src/controllers/costs.controller.ts Adds cost estimate + actual endpoints.
app/packages/desktop-main/src/controllers/costs.controller.test.ts Adds unit tests for CostsController.
app/packages/desktop-main/src/controllers/config.controller.ts Adds watchdog config get/update endpoints.
app/packages/desktop-main/src/controllers/config.controller.test.ts Adds unit tests for ConfigController.
app/packages/desktop-main/src/app.module.ts Adds root Nest module wiring controllers + global guard + request logger.
app/packages/desktop-main/package.json Renames server package to @hyveon/desktop-main and updates dependency on @hyveon/shared.
app/package.json Updates app workspace scripts to use @hyveon/* and desktop-main paths.
.gitignore Fixes generated tfstate ignore path to packages/desktop-main.
.claude/agents/discord-iam-reviewer.md Updates agent guidance references to @hyveon/* scope.

Comment thread README.md Outdated
│ ├── server/ # @gsd/server (Nest.js API)
│ ├── web/ # @gsd/web (React + Vite)
│ ├── shared/ # @hyveon/shared
│ ├── server/ # @hyveon/desktop-main (Nest.js API)
Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 0079f71server/desktop-main/ in the structure diagram.

Comment on lines 80 to 82

@gsd/desktop-main RENAMED from @gsd/server. Electron main entry
@hyveon/desktop-main RENAMED from @hyveon/desktop-main. Electron main entry
point; bootstraps the Nest microservice with
Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 0079f71 — "RENAMED from @hyveon/desktop-main" → "RENAMED from @gsd/server".

CoderCoco and others added 2 commits May 11, 2026 13:02
- README structure diagram: server/ → desktop-main/
- Electron spec: 'RENAMED from @hyveon/desktop-main' → 'RENAMED from @gsd/server'

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Take Hyveon URLs from main and @hyveon/shared package name from branch.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 12, 2026 00:40
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 38 out of 79 changed files in this pull request and generated 2 comments.

Comment thread docs/docs/intro.md
Comment on lines 74 to +78
├── app/ # Nest.js + React monorepo (npm workspaces)
│ └── packages/
│ ├── shared/ # @gsd/shared
│ ├── server/ # @gsd/server (Nest.js API)
│ ├── web/ # @gsd/web (React + Vite)
│ ├── shared/ # @hyveon/shared
│ ├── server/ # @hyveon/desktop-main (Nest.js API)
│ ├── web/ # @hyveon/web (React + Vite)
Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in c02336eserver/desktop-main/ in the directory diagram.

Comment on lines +370 to +372
| Epic | Scope summary |
|---|---|
| **A — Electron shell + build pipeline** | Add `@gsd/desktop-main` (rename of `@gsd/server`) and `@gsd/desktop-preload`. Adopt `electron-vite` + `electron-builder`. Three-target CI matrix. `asarUnpack` for Lambda bundles + `terraform/`. `userData` paths for caches and logs. `fix-path` at boot. Main-process Winston logger. |
| **A — Electron shell + build pipeline** | Add `@hyveon/desktop-main` (rename of `@hyveon/desktop-main`) and `@hyveon/desktop-preload`. Adopt `electron-vite` + `electron-builder`. Three-target CI matrix. `asarUnpack` for Lambda bundles + `terraform/`. `userData` paths for caches and logs. `fix-path` at boot. Main-process Winston logger. |
Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in c02336e — "rename of @hyveon/desktop-main" → "rename of @gsd/server".

@CoderCoco
Copy link
Copy Markdown
Owner Author

Code review

Found 2 issues:

  1. Dockerfile not updated for serverdesktop-main rename — docker build will fail

    The COPY on line 13 references app/packages/server/package.json, which no longer exists on disk. The CMD on line 39 references packages/server/dist/main.js, which is now at packages/desktop-main/dist/main.js. Both will error at Docker image build / container start time.

    Hyveon/Dockerfile

    Lines 12 to 15 in 010ef51

    COPY app/packages/shared/package.json app/packages/shared/
    COPY app/packages/server/package.json app/packages/server/
    COPY app/packages/web/package.json app/packages/web/
    COPY app/packages/lambda/interactions/package.json app/packages/lambda/interactions/

    https://github.com/CoderCoco/Hyveon/blob/010ef51403f90d868f079951dccc47bffe9dfb74/Dockerfile#L38-L40

  2. Makefile not updated — all make build targets will fail

    The Makefile still references @gsd/shared, @gsd/server, @gsd/web, and @gsd/lambda-* (lines 44, 49, 54, 59–62). npm will error with "Workspace @gsd/... not found" for each target. The packages/server path on lines 14 and 120 is also stale.

    Hyveon/Makefile

    Lines 13 to 15 in 010ef51

    SHARED_SRCS := $(shell find $(APP_DIR)/packages/shared/src -name '*.ts' 2>/dev/null)
    SERVER_SRCS := $(shell find $(APP_DIR)/packages/server/src -name '*.ts' 2>/dev/null)
    WEB_SRCS := $(shell find $(APP_DIR)/packages/web/src -name '*.ts' -o -name '*.tsx' -o -name '*.css' 2>/dev/null) \

    Hyveon/Makefile

    Lines 43 to 63 in 010ef51

    $(SHARED_STAMP): $(INSTALL_STAMP) $(SHARED_SRCS) $(TS_CONFIGS)
    cd $(APP_DIR) && npm run build -w @gsd/shared
    touch $@
    # ── Server ───────────────────────────────────────────────────────────────────
    $(SERVER_STAMP): $(SHARED_STAMP) $(SERVER_SRCS) $(TS_CONFIGS)
    cd $(APP_DIR) && npm run build -w @gsd/server
    touch $@
    # ── Web ──────────────────────────────────────────────────────────────────────
    $(WEB_STAMP): $(SHARED_STAMP) $(WEB_SRCS) $(TS_CONFIGS)
    cd $(APP_DIR) && npm run build -w @gsd/web
    touch $@
    # ── Lambdas ──────────────────────────────────────────────────────────────────
    $(LAMBDAS_STAMP): $(SHARED_STAMP) $(LAMBDA_SRCS) $(TS_CONFIGS)
    cd $(APP_DIR) && npm run build -w @gsd/lambda-interactions \
    -w @gsd/lambda-followup \
    -w @gsd/lambda-update-dns \
    -w @gsd/lambda-watchdog
    touch $@

🤖 Generated with Claude Code

- If this code review was useful, please react with 👍. Otherwise, react with 👎.

CoderCoco and others added 2 commits May 12, 2026 00:01
- Dockerfile: COPY and CMD paths updated to packages/desktop-main/
- Makefile: SERVER_SRCS path + all @gsd/* workspace refs → @hyveon/*,
  including clean target
- docs/intro.md, maintainer.md: server/ → desktop-main/ in dir diagrams
- Electron spec: Epic A table 'rename of @hyveon/desktop-main' →
  'rename of @gsd/server'

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The lockfile regenerated during the @GSD→@hyveon rename nested these
two packages under app/packages/web/node_modules/ instead of root.
npm ci does not install nested workspace devDependencies, so both e2e
and integration CI jobs failed with ERR_MODULE_NOT_FOUND for
@vitejs/plugin-react. Relocating both entries to node_modules/ (root)
matches the pre-rename state and restores npm ci installation.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 12, 2026 04:16
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 40 out of 81 changed files in this pull request and generated no new comments.

@CoderCoco CoderCoco merged commit d30e1a6 into main May 13, 2026
13 checks passed
@CoderCoco CoderCoco deleted the worktree-claude+issue-142-rename-gsd-scope-hyveon branch May 13, 2026 01:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(workspaces): rename @gsd/* scope to @hyveon/* (incl. server → desktop-main)

2 participants