Skip to content

feat: add @wolfstar/plugin-subcommands-advanced - #17

Merged
kodiakhq[bot] merged 9 commits into
mainfrom
cursor/plugin-subcommands-advanced-5634
Jul 29, 2026
Merged

feat: add @wolfstar/plugin-subcommands-advanced#17
kodiakhq[bot] merged 9 commits into
mainfrom
cursor/plugin-subcommands-advanced-5634

Conversation

@RedStar071

@RedStar071 RedStar071 commented Jul 29, 2026

Copy link
Copy Markdown
Member

Summary

Adds @wolfstar/plugin-subcommands-advanced, adapted from @kaname-png/plugin-subcommands-advanced for @wolfstar/http-framework.

Slash subcommands (and groups) can live in separate command classes instead of methods on a single parent class.

API

  • Subcommand — parent chat-input command
  • Command — child with registerSubCommand / registerSubcommandInGroup options
  • @RegisterAsSubcommand / @RegisterAsSubcommandGroup — class decorators
  • @wolfstar/plugin-subcommands-advanced/register — installs a CommandLoaderStrategy that wires children onto the parent after pieces are constructed

Build tooling

  • Shared scripts/tsdown.config.ts (same pattern as stars-components)
  • Both packages build with tsdowndist/esm/
  • tsconfig.build.json for declaration emit used by tsdown

Testing / tooling

  • Integration tests via @wolfstar/http-framework-test-utils
  • Vitest pinned to Vite 6 so experimental decorators still transform through esbuild

Test plan

  • pnpm build (both packages via shared tsdown config)
  • pnpm typecheck
  • pnpm test (24 tests)
  • pnpm lint
Open in Web Open in Cursor 

View with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is enabled.

Confidence Score: 3/5

The PR is not yet clearly safe to merge because preservation of framework-native subcommand handler mappings remains unverified.

The rebuilt resolver relies on recovering non-enumerable handler-link symbols from toJSON() output, but the available implementation evidence does not establish that serialization retains those symbols or that null links remain routable.

Files Needing Attention: packages/plugin-subcommands-advanced/src/lib/utils/wiring.ts

T-Rex T-Rex Logs

What T-Rex did

  • Executed the test suite for the @wolfstar/plugin-subcommands-advanced package using pnpm with verbose reporter, and Vitest completed in 475 ms with exit code 0.

View all artifacts

T-Rex Ran code and verified through T-Rex

Reviews (6): Last reviewed commit: "Merge branch 'main' into cursor/plugin-s..." | Re-trigger Greptile

cursoragent and others added 2 commits July 29, 2026 10:37
Port modular slash-subcommand classes from @kaname-png/plugin-subcommands-advanced
to @wolfstar/http-framework, with wiring via CommandLoaderStrategy and tests using
http-framework-test-utils.
Comment thread packages/plugin-subcommands-advanced/src/lib/utils/wiring.ts Outdated
RedStar071 and others added 3 commits July 29, 2026 10:50
Add scripts/tsdown.config.ts and tsconfig.build.json, switch both packages
to `tsdown` with dist/esm output, and drop the build.mjs workaround.
@RedStar071
RedStar071 marked this pull request as ready for review July 29, 2026 11:45
The reusable label-sync workflow merges this file with the shared
sapphiredev/.github core labels, but it was missing here, causing
the workflow to fail (open overwrite-labels/.github/labels.yml: no
such file or directory).
@RedStar071
RedStar071 requested a review from lorypelli July 29, 2026 16:13

@lorypelli lorypelli left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM!

@kodiakhq
kodiakhq Bot merged commit e108528 into main Jul 29, 2026
13 checks passed
@kodiakhq
kodiakhq Bot deleted the cursor/plugin-subcommands-advanced-5634 branch July 29, 2026 16:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants