stars-components and plugins repositories.
All packages
Stars Components
Plugins
Weekly summaries
2026-10-30
The new@wolfstar/plugin-opentelemetry 0.1.0 traces your bot with OpenTelemetry.
New features
- New
@wolfstar/plugin-opentelemetrypackage — Load@wolfstar/plugin-opentelemetry/preloadwith--importto start the OpenTelemetry SDK when an OTLP endpoint is set, with an optional Sentry exporter fromSENTRY_DSN. The plugin, or the module under theopentelemetrykey ofstars.config, opens one span per command and handler.flushTraces()exports pending spans on shutdown. See@wolfstar/plugin-opentelemetry.
2026-10-23
Stars modules can now ship pieces, locales, and client hooks,stars dev gains --host and startup port checks, plugin-gateway 0.15.0 adds application commands, emojis, and monetization, and every plugin gets its own stars.config key.
New features
- Modules ship pieces, locales, and hooks —
@wolfstar/kit0.3.0addsctx.addPiecesDir(directory),ctx.addLocales(directory), and client lifecyclehooks(orctx.addClientHook(name, source)).stars infolists what each module adds. - Opt-in module-only registration — With
future.compatibilityVersion: 7, only the modules instars.configregister. Installed@wolfstar/plugin-*packages are no longer activated by name, and a skipped plugin warns withPLUGINS_NOT_REGISTERED. See@wolfstar/schema. stars dev --hostand-p—@wolfstar/cli2.12.0sets the listen address with--host [address], and a bare--hostlistens on every interface.-pis now short for--port.- Remove a subcommand or group —
stars commands clean --nameaccepts paths likesettings server, keeping the parent and its other subcommands. - Dev output styles and startup checks —
@wolfstar/cli2.11.0addstui.styleand--style(Nuxt-style, dashboard, or plain).stars devchecks ports before startup and offers the next free one. stars codegen --only— Run only thei18norcommandsgenerator, for example to check i18next types in CI without secrets or a build.- Shared pieces as modules —
@wolfstar/shared-http-pieces2.1.0and@wolfstar/shared-influx-pieces1.2.0add a/moduleentry to list inmodulesinstead of importing/register. - Application commands, emojis, and monetization —
@wolfstar/plugin-gateway0.15.0addsclient.application.commands,guild.commands,client.application.emojis,client.application.entitlements,fetchSKUs(), and subscriptions. RegisterAsDispatchListener— Run a gateway listener on one process only, so a bot sharing pieces between the gateway andplugin-brokerworkers no longer handles each dispatch twice.- More gateway helpers —
Message#threadable,client.channels.createMessage(channel, options), andchannel.messages.crosspostby ID.
Updates
- Plugin
stars.configkeys — Every plugin setsmeta.configKey, so you can configure it under its own key (api,broker,i18n,logger,scheduledTasks, …) instead of amodulestuple. Plugins now need@wolfstar/kit^0.2.0. See theplugin-apichangelog. - Thread option checks —
plugin-gatewayrejects mixed thread and forum post options at compile time and before any request. Guild-only message methods throwChannelMessagesGuildOnlyin DMs. @wolfstar/http-frameworkpeer range —decorators,http-framework-test-utils,http-framework-utilities, and the shared pieces now publish a^6.4.0range.
Bug fixes
- EventSub secret and callback —
@wolfstar/twitch-helpers2.0.9no longer swaps the EventSub secret and callback insetVariables. - Stable subcommand order —
@wolfstar/plugin-subcommands-advanced2.2.1registers modular subcommands sorted by name, so commands no longer update on every start. clientReadyand dropped guilds —plugin-gatewayno longer stallsclientReadyon guilds the bot left during startup, and forwards theirguildDeleteto broker workers.- Steadier
stars dev— The dashboard no longer flickers, and--tunnelrecovers from a brokencloudflaredbinary.
2026-10-16
http-framework 6.4.0 can register commands on startup, stars dev gains an ngrok tunnel, varlock projects get first-class CLI support, and plugin-logger 0.4.0 reworks its transports.
New features
- Startup command registration —
@wolfstar/http-framework6.4.0registers commands when the client starts throughClientOptions.commands, with incrementalApplicationCommandRegistry.sync(). Pick the registering process withwhen. Failures warn without stopping the HTTP server. - ngrok tunnel provider — Set
dev.tunnel: { provider: 'ngrok' }in@wolfstar/cli2.7.0to tunnel through ngrok, and adddev.tunnel.domainto keep a reserved hostname across restarts. Install@ngrok/ngrokand setNGROK_AUTHTOKEN.cloudflaredstays the default. stars doctor --fix—@wolfstar/cli2.8.0reports an implicit varlock loader asVARLOCK_LOADER_IMPLICITorVARLOCK_NOT_INSTALLED.stars doctor --fixwritesenv: { loader: 'varlock' }tostars.configfor you.- Scaffold varlock projects —
@wolfstar/create-http-framework2.10.0adds--env varlock, which generates a starter.env.schemaand derivesEnvfrom it. Existing varlock setups are detected automatically. See Environment. client.application—@wolfstar/plugin-gateway0.14.0adds a discord.js-styleClientApplication, available from client construction, plusresolveGuildEmoji(client, emojiId).- evlog wide events —
@wolfstar/plugin-logger0.4.0adds anevlogmodule option and emits one wide event per interaction. Add fields from a command withuseInteractionLogger().SentryTransportcan record breadcrumbs and send Sentry Logs.
Updates
- CLI follows varlock auto-detection — With compatibility version 6,
stars devandstars doctornow read variables throughvarlock loadwhen the runtime picks varlock on its own. - Breaking:
plugin-loggerpeers — The@sentry/nodepeer is dropped and theevlogpeer is raised to^2.30.0.LogPayloadgainsmessage,error, andcontext. Seeplugin-loggerchangelog. plugin-gatewayfetch*checks —fetchHighest,fetchPermissions, andfetchPermissionsInare no longer deprecated. Use them for accurate checks with a filtered cache or aplugin-brokerworker.- Sentry 11 —
@wolfstar/shared-http-pieces2.0.12updates@sentry/nodeto v11.
Bug fixes
- Crash after an answered interaction —
@wolfstar/http-framework6.3.2no longer crashes withERR_STREAM_WRITE_AFTER_ENDwhen a handler throws after answering. WinstonTransportclose — Closing the transport twice no longer hangs.
2026-10-08
http-framework 6.3.0 adds preconditions, stars.config gains installable modules, and the stars CLI picks up new commands, a full-screen dev dashboard, and typed command options.
New features
- Preconditions —
@wolfstar/http-framework6.3.0adds aPreconditionpiece and apreconditionsoption onCommand.OptionsandInteractionHandler.Options. Combine entries with nested AND/OR arrays, or run them together withPreconditionRunMode.Parallel. Denials emitchatInputCommandDenied,contextMenuCommandDenied,autocompleteDenied, orinteractionHandlerDenied. - Modules in
stars.config— Addmodulestostars.configto install packages built withdefineModulefrom the new@wolfstar/kit. A module can read its options from its own top-level key throughmeta.configKey. ThestarsCLI reports keys that no module claims asUNKNOWN_OPTION. - Module and plugin entry points for plugins — Every plugin now ships a
/moduleentry point formodules, and most also ship a/pluginentry point for the new object-baseddefinePluginAPI inhttp-framework6.1.0. See Plugins. - New
@wolfstar/plugin-scheduled-taskspackage — RunScheduledTaskpieces on a BullMQ worker, created withcontainer.tasks.create()or repeated on anintervalor cronpattern.0.2.0adds areadygate andwaitForReadyso tasks wait for your app. See@wolfstar/plugin-scheduled-tasks. - New CLI commands —
@wolfstar/cliaddsstars commands diff,stars commands deploy,stars doctor,stars completions, andstars typecheck. - Typed command options —
stars codegenwithcodegen.commandsgenerates aCommandOptionsRegistry. Type options withCommand.OptionsOf<'math add'>, orSubcommand.OptionsOffrom@wolfstar/plugin-subcommands-advanced2.2.0. stars devdashboard —stars devnow opens a clickable full-screen dashboard with log channels and atracelevel. Switch to the compact panel withdev.layout: 'panel'or thevkey. Turn off mouse support withdev.mouse: false. Toggle the tunnel with--tunneland--no-tunnel.nodeenv loader —@wolfstar/env-utilities2.3.0adds anodeloader that needs no extra packages, sodotenvis now optional. varlock’s typedENVis exported asenvfrom@wolfstar/env-utilities/varlock. See Environment.plugin-gatewayadditions —@wolfstar/plugin-gatewayaddsAttachmentBuilder, guild-scopedguild.members,guild.roles,guild.voiceStates, andguild.presencesmanagers,Guild#searchMessages(), voice channelstatus, discord.js-stylesweepers, and synchronous getters such asGuildMember#permissions.- Dispatch replay on workers —
@wolfstar/plugin-broker0.4.0addsreplayGatewayDispatches, so workers can run gateway listeners with the same structures and previous state.
Updates
- Compatibility version 6 is the default —
stars preparenow writes separate.stars/tsconfig.app.jsonand.stars/tsconfig.node.jsonfiles. Switch your roottsconfig.jsonto solution-style, or pin version 5 or 4 to keep the old layout. Projects from@wolfstar/create-http-framework2.9.0are already set up. - Breaking:
UserErrorgoes to*Deniedevents — A thrownUserErrorno longer reachescommandError,autocompleteError, orinteractionHandlerError. Move user-facing replies to the matching*Deniedlistener. Seehttp-frameworkchangelog. - Breaking: env loader detection — Projects with a
.env.schemaandvarlockinstalled now load through varlock. Setloader: 'dotenv'to keep the old behaviour.EnvSetupResultis nowEnvLoaderOutput. - Breaking:
plugin-gatewaymanager caches — Managers now cache in memory by default throughmanager.cache. Passcache: nullto opt out.manager.get()andMessage#fetchEditable()are removed, andbulkDeleteresolves to aCollection. Seeplugin-gatewaychangelog. - Scaffolded projects —
create-http-frameworknow generatesAGENTS.mdandllms.txt, turns on@wolfstar/eslint-plugin-http-frameworkrules, and supports--tunnel. - Legacy plugin API deprecated — The class-based
Plugin, symbol hooks, andregisterXHookemit anHTTP_FRAMEWORK_LEGACY_PLUGINwarning. UsedefinePlugininstead.
Bug fixes
stars devcommand prompts —stars devno longer asks you to redeploy commands that did not change.- Dev tunnel crash — Closing the tunnel no longer crashes
stars devwith an unhandled rejection. - Resumed gateway sessions —
clientReadynow fires andclient.useris restored when shards resume a stored session. plugin-shardercluster defaults —ClusterStrategyno longer throws whenexecArgvorargsare omitted. Failing spawns are reported asShardSpawnError.- Sentry noise —
@wolfstar/shared-http-piecesno longer reports aUserErrorto Sentry. - Peer warnings —
@wolfstar/http-framework-utilitiesaccepts@wolfstar/plugin-gateway>=0.8.0.
2026-10-01
http-framework 6.0.0 moves the decorators into their own package. stars.config gains env and lifecycle hooks, and three new packages land.
New features
envinstars.config— Configure@wolfstar/env-utilitiesfromstars.configwith the newenvoption. ThestarsCLI loads your environment before plugins and your own modules, so you no longer callsetup()by hand. See Environment.- Lifecycle
hooks— Addhookstostars.configto run code at build and dev lifecycle points, such asconfig:resolved,env:options,prepare:*,builder:created,tsdown:options,build:*, anddev:*. See@wolfstar/cli. - New
@wolfstar/http-framework-utilitiespackage — Type guards,app_permissions-based permission helpers,MessageBuilder,PaginatedMessage, andMessagePrompterfor@wolfstar/http-framework. Sessions use a pluggable store:MemorySessionStorefor one process, orRedisSessionStoreto share across replicas. The optional/gatewayentry point adds collectors,GatewayPaginatedMessage, andGatewayMessagePrompterfor@wolfstar/plugin-gateway. - New
@wolfstar/discord-utilitiespackage — Discord limits, regexes, and option resolvers for raw API payloads, with the same exports as@sapphire/discord-utilities. - New
@wolfstar/decoratorspackage — Utility decorators now live in their own package, mirroring@sapphire/decorators.
Updates
- Compatibility version 5 is the default — Version 5 is version 4 plus automatic
envloading. It turns on when your project depends on@wolfstar/env-utilities, and stays off with Nitro. Version 4 is still supported. Version 3 is end-of-life: it still works, reports aCOMPATIBILITY_VERSION_EOLwarning, and will be removed in the next major. - Scaffolded projects skip manual
setup()—@wolfstar/create-http-framework2.7.0projects using thetsdownorvitebuild rely on theenvoption.tscand JavaScript projects keep callingsetup()and setenv: false. - Breaking: decorators moved out of
http-framework—@wolfstar/http-framework6.0.0no longer exportsApplyOptions,RequiresGuildContext,RequiresDMContext,RequiresUserPermissions,RequiresClientPermissions,Enumerable,EnumerableMethod,createClassDecorator,createMethodDecorator,createProxy, orcreateFunctionPrecondition. Install@wolfstar/decoratorsand import them from there. Their behaviour is unchanged.Register*decorators andRestrictGuildIdsstay in the framework. CLI auto imports include@wolfstar/decoratorsby default once it is installed. - Breaking:
plugin-api2.0.0—@wolfstar/plugin-apinow aligns with@sapphire/plugin-api8.3.1, except auth.ApiServeris nowServer,ApiPluginis nowApi, andHttpMethodis nowMethodName. Routes with no methods no longer default toGET.ApiResponse#json()no longer takes a status code, so usestatus(code).json(data). The release adds cookies, body readers, aprefixoption, and per-routemaximumBodyLength. It requires Node.js>=20.18.1. - Breaking:
plugin-gatewaymanager.cache— An upcoming@wolfstar/plugin-gatewayrelease exposes a discord.js-stylemanager.cache, built by a client-levelcacheConstructor. Managers now cache every entity in memory by default. Bound memory withcacheOptionsorpolicies.filter, or passcache: nullto keep the previous no-cache behaviour. Replaceclient.users.get(id)withclient.users.cache.get(id). @wolfstar/loggerand@wolfstar/http-framework-i18nremoved — Both deprecated packages are no longer maintained. Use@wolfstar/plugin-loggerand@wolfstar/plugin-i18nextinstead. See Migration.
Bug fixes
plugin-apifixes — Router path, route removal, andsupportedMethodsbugs are fixed.Server#connect()now rejects instead of throwing uncaught when the port is in use. MalformedCookieheaders no longer crash cookie parsing.
2026-09-24
Nitro deploys, themed dev UI, and clearer diagnostics. This week also brings thehttp-framework 5.x release and a new @wolfstar/schema package.
New features
- Nitro builds (experimental) — Set
experimental.enableNitroto build your bot with Nitro v3.stars buildoutputs.output/for the configuredexperimental.nitro.preset(node-serverby default), so you can deploy to Cloudflare, AWS Lambda, Vercel, Netlify, Bun, Deno Deploy, and more. Installnitroandvite(Vite 8) as dev dependencies. See@wolfstar/cli. Client.fetch()—@wolfstar/http-framework5.0.0addsclient.fetch(request), the WebRequest/Responsecounterpart oflisten(). It runs the same signature verification and routing without binding a port, for Workers,Bun.serve,Deno.serve, and similar runtimes. See@wolfstar/http-framework.stars devcolour themes — PressTin the interactive UI to pickdark,light, colour-blind friendlydark-daltonized/light-daltonized, terminal-palettedark-ansi/light-ansi, orauto.stars devsaves your choice between runs. Use--theme <name>orSTARS_THEMEto override it for one run.- varlock support (experimental) —
@wolfstar/env-utilities2.2.0can load environment files with varlock instead ofdotenv. Opt in withloader: 'varlock'or theDOTENV_LOADERenvironment variable. See Environment. starsbinary ships withhttp-framework— Installing@wolfstar/http-frameworknow gives you thestarscommand, with no separate@wolfstar/cliinstall.
Updates
- Structured diagnostics — Config and CLI errors are now
nosticsdiagnostics with stable codes, a reason, an actionable fix, and a docs link.ConfigErrorandCliErrorare removed. Catch errors withinstanceof Diagnosticinstead. Exit codes are unchanged. See Config errors and CLI errors. - Readable crash reports — Unexpected errors and
stars devstartup crashes now render as sourcemapped, syntax-highlighted reports instead of raw stack traces. - Faster
stars devexit — The firstCtrl+Cstops your bot gracefully. A second one kills the bot and its helper processes immediately, without waiting fordev.killTimeout. - New
@wolfstar/schemapackage — Thestars.config.*schema and loader now live in@wolfstar/schema. Imports from@wolfstar/http-framework/configkeep working unchanged. If you install@wolfstar/cliwithout@wolfstar/http-framework, add@wolfstar/http-frameworkyourself. Scaffolded projects are unaffected. - Optional Vite and Nitro builders — The Vite and Nitro builders now ship as separate
@wolfstar/vite-serverand@wolfstar/nitro-serverpackages. They load only when you use them. Your CLI configuration is unchanged. - Oxc configs as TypeScript —
@wolfstar/oxfmt-configand@wolfstar/oxlint-config0.2.0now default-exportdefineConfigobjects. Spread the formatter config intooxfmt.config.tsand pass the linter config toextendsinoxlint.config.ts. Theindex.jsonand.oxlintrc.jsonentry points are removed. - Plugins support
http-framework5 —@wolfstar/plugin-api,@wolfstar/plugin-i18next,@wolfstar/plugin-logger, and@wolfstar/plugin-subcommands-advancednow target@wolfstar/http-framework5.x.
Bug fixes
stars devreadability on light terminals — The dev UI now uses semantic theme colours, so body text keeps your terminal’s foreground colour and stays readable on light backgrounds.
2026-09-17
Conventions land in the CLI: v4 is the new default, projects auto-register their plugins, and a quick tunnel now works out of the box.New features
- Convention-first
starsworkflow — Compatibility version 4 is now the default in@wolfstar/cliand@wolfstar/http-framework.stars devforces development mode,src/localesis copied and watched automatically, and environment files are discovered under bothsrc/and the project root. The interactive dev UI adds atshortcut to open or close a public quick tunnel without configuringdev.tunnel. - Auto-registered WolfStar plugins — Bundler builds now inject the
/registerside-effect entrypoint of every installed@wolfstar/plugin-*dependency before your app entry, so plugins activate without manualimport '@wolfstar/plugin-x/register'lines. See Plugins. - Generated TypeScript alias config —
stars prepare,stars dev, andstars buildwrite an extendable.stars/tsconfig.jsonwhose paths match thetsdownaliases. Scaffolded projects extend it and pick up Sapphire base, extra-strict, and decorators options automatically. See@wolfstar/create-http-framework.
Updates
- HTTP-framework
4.0.x— Structured, leveled logging replaces rawconsolecalls for HMR events and command-router warnings.@wolfstar/env-utilities2.1.xfollows the same move, usingcontainer.loggerfrom@sapphire/pieceswhen available and falling back toconsole.debugfor standalone consumers.
Bug fixes
- Quick tunnel reliability —
dev.tunnelnow opens thecloudflaredtunnel throughuntuninstead of spawningcloudflaredand scraping stdout.untunmanages the binary (downloading it if missing) and exposes the URL and lifecycle programmatically, which also fixes the tunnel never closing when the spawn failed silently. @wolfstar/shared-http-pieces— Consumer locale paths are preserved and the bundledcommands/sharednamespace loads correctly when using the register entrypoint. See@wolfstar/shared-http-pieces.@wolfstar/plugin-subcommands-advanced— Subcommand builder callbacks are now deferred until every command piece has been constructed, fixing crashes when builders referenced not-yet-loaded siblings. See@wolfstar/plugin-subcommands-advanced.