Skip to content

chore: migrate build to Stars CLI - #107

Merged
RedStar071 merged 16 commits into
mainfrom
chore/migrate-to-stars-cli-0.6
Sep 20, 2026
Merged

RedStar071 merged 16 commits into
mainfrom
chore/migrate-to-stars-cli-0.6

Conversation

@RedStar071

@RedStar071 RedStar071 commented Sep 15, 2026

Copy link
Copy Markdown
Member

Summary

  • migrate build/dev commands from raw tsdown to @wolfstar/cli 0.6.0
  • move build aliases and locale copying into stars.config.ts
  • replace legacy i18n/logger packages with @wolfstar/plugin-i18next and @wolfstar/plugin-logger
  • rely on automatic @wolfstar/plugin-*/register side-effect injection
  • update the Docker build for Stars and remove the custom tunnel implementation

Verification

  • pnpm lint
  • pnpm prisma:generate
  • pnpm build

RetriggerConfidence Score: 5/5

Merge-safe. The only remaining concern is non-blocking and does not make the change unsafe to merge.

Reviews (4) · Last reviewed commit: "chore(deps): migrate to http-framework v..."

@coldtea-pr-lens

coldtea-pr-lens Bot commented Sep 15, 2026

Copy link
Copy Markdown

◈ PR Lens

🟢 +1 new · 🟠 ~4 changed · 🔴 -2 removed · 1 flow · 7 files · commit ed94f2d


Architecture

Architecture diagram for wolfstar-project/ring at ed94f2d

7 components touched across 4 lanes.

Play the interactive walkthrough


Inside the changed components — 2 views

Component view — Server runtime & initialization

HTTP server startup sequence, framework v5 migration, and integrated plugin setup

Architecture view of Component view — Server runtime & initialization in wolfstar-project/ring

Component view — Build toolchain & bundling

Migration from custom tsdown configuration to stars CLI with path alias resolution

Architecture view of Component view — Build toolchain & bundling in wolfstar-project/ring

Data flow

Data flow diagram for wolfstar-project/ring at ed94f2d

Server startup and initialization

Follow each request, response and payload


View

  • Architecture lens
  • Data flow lens
  • Expand every detail

Tip

Run npx @coldtea/pr-lens-cli analyze --base origin/main on a branch, then npx @coldtea/pr-lens-cli render .pr-lens/graph.json. Same lenses, your own model key, before the pull request exists

🪧 More tips
  • Run npx skills add coldteadotai/pr-lens, then tell your coding agent: "Diagram the change you just made with PR Lens and attach it to the pull request."
  • Untick Architecture lens or Data flow lens under View to hide a diagram, or tick Expand every detail to open every section. The comment redraws in a few seconds
  • Click the link under each diagram to open it on a canvas you can zoom, pan and step through
  • The diagrams are links. Click one to open it on the canvas, then press W or click play to walk through the change
  • Open a diagram on the canvas, then press W or click play to walk through the change one step at a time
  • The CLI's render reads .github/pr-lens.yml and applies your renames, exclusions and lane pins at draw time
  • Set github.comment.collapsed: true in .github/pr-lens.yml to fold the comment behind one View architecture and data flow row. Drawing still runs on every push
  • Set github.draw: on-demand in .github/pr-lens.yml and PR Lens stops drawing every push. Comment @pr-lens draw on a pull request when you want that one drawn
  • Add .github/workflows/pr-lens.yml with coldteadotai/pr-lens/packages/action@v0 and your model provider's key as its api-key to run PR Lens from your own CI. Any /chat/completions endpoint works
  • Push a commit and the comment redraws for the new head. A slow older run never overwrites a newer one
  • Switch GitHub to dark mode and the diagrams follow. The moving dots are this pull request's data in motion

Thanks for using PR Lens! It's built by Coldtea, free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment thread package.json
Comment thread src/main.ts
Comment on lines +23 to +24
defaultNS: "globals",
defaultMissingKey: "globals:default",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Point fallback at locale

defaultNS and defaultMissingKey both reference globals, but the locale tree only supplies commands/shared. A missing translation therefore resolves to the literal default key fragment rather than the intended diagnostic message. Add globals:default to the locale resources or configure an existing translated fallback. This is non-blocking, but it makes missing translations harder to diagnose.

Artifacts

Missing-key fallback validation script

  • The authored script loads the real locale tree in an isolated temporary directory and formats one missing key under each configuration; it is the executed source.

Current globals fallback output

  • The current `globals` configuration discovers only `commands/shared` and resolves the missing key to `default`, proving the configured fallback is unavailable.

Existing namespace control output

  • The control using the existing `commands/shared` namespace resolves the same missing key to its configured translation, showing the fallback mechanism works when the resource exists.

View artifacts

T-Rex Ran code and verified through T-Rex

Prompt To Fix With AI
This is a comment left during a code review.
Path: src/main.ts
Line: 23-24

Comment:
**Point fallback at locale**

`defaultNS` and `defaultMissingKey` both reference `globals`, but the locale tree only supplies `commands/shared`. A missing translation therefore resolves to the literal `default` key fragment rather than the intended diagnostic message. Add `globals:default` to the locale resources or configure an existing translated fallback. This is non-blocking, but it makes missing translations harder to diagnose.

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Fix in Claude Code Fix in Cursor Fix in Cursor Cloud Agents

greptile-apps[bot]
greptile-apps Bot previously approved these changes Sep 15, 2026
Bump @wolfstar/http-framework to 4.0.2 (and the workspace override
pinning it), plus the rest of the @wolfstar/* packages, Prisma,
discord-api-types, eslint tooling, oxlint/oxfmt, and other dev
dependencies to their latest versions allowed by the repo's
minimum-release-age supply-chain policy. Verified pnpm build and
pnpm lint still pass.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FNVDCgACzS2u25z8fGC9zw
Sync the Dockerfile with wolfstar-project/staryl: bump the syntax
directive to 1.27, document why the base stage must not be pinned to
$BUILDPLATFORM, drop the redundant --frozen-lockfile flag on
`pnpm fetch` (already the default), and note that pnpm 12 may
auto-install at container startup.

Bump packageManager to pnpm@12.4.2; verified pnpm install, build and
lint all pass under the new version.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FNVDCgACzS2u25z8fGC9zw
@greptile-apps
greptile-apps Bot dismissed their stale review September 18, 2026 21:44

Dismissed because a newer commit was pushed; Greptile will re-review the current head.

@socket-security

socket-security Bot commented Sep 18, 2026

Copy link
Copy Markdown

Warning

Review the following alerts detected in dependencies.

According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.

Action Severity Alert  (click "▶" to expand/collapse)
Warn High
Obfuscated code: npm robust-predicates is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: pnpm-lock.yamlnpm/prisma@7.10.0npm/robust-predicates@3.0.3

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/robust-predicates@3.0.3. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

View full report

Follow https://stars-components.js.org/guide/migration.md to move to
@wolfstar/http-framework@5.0.0 and @wolfstar/cli@1.0.0. No source
changes were required: this codebase already calls client.listen()
directly (never used the removed createFetchHandler/FetchHandler from
http-framework/fetch) and never caught ConfigError/CliError, and
stars.config.ts's shape is unaffected by the migration.

Both packages were published same-day, so they're explicitly excluded
from the minimumReleaseAge supply-chain policy in pnpm-workspace.yaml
(accepted risk, per explicit instruction) alongside bumping the
@wolfstar/http-framework override to ^5.0.0.

Verified pnpm install, prisma:generate, build and lint all pass.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FNVDCgACzS2u25z8fGC9zw
@RedStar071
RedStar071 merged commit 36fc699 into main Sep 20, 2026
9 of 11 checks passed
@RedStar071
RedStar071 deleted the chore/migrate-to-stars-cli-0.6 branch September 20, 2026 22:13
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.

3 participants