@wolfstar/schema. For the weekly summary across all packages, see the changelog overview.
0.12.0 (2026-10-18)
New features
tui.style— Configure Nuxt-style, dashboard, or plainstars devoutput.dev.layoutkeeps working. (#344)- Port conflict policies — Configure how
stars devhandles an occupied development port for automation.
Updates
- Display URLs — Explicit display and health URLs stay independent of the bot listener and are kept across port overrides. In framework mode, unrelated ambient
PORTvalues are ignored. Nitro runtime ports are read fromNITRO_PORTbeforePORT.
0.11.0 (2026-10-17)
New features
ctx.addPiecesDir(directory)— Modules can register a directory of pieces, with one folder per store (commands,listeners, …). The pieces are registered before the bot loads, including fortscandnonebuilds.ModulesRuntimegainspiecesDirs,stars infolists them, and a relative path fails withMODULE_PIECES_INVALID. (#335)- Client lifecycle hooks —
hooksindefineModuleacceptsclient:preGenericsInitialization,client:preInitialization,client:postInitialization,client:preLoad, andclient:postListen. Give each hook by source ({ from, export }), a function called with(client, clientOptions).ctx.addClientHook(name, source)does the same fromsetup. A module’s hooks share one runtime plugin named after it.ModulesRuntimegainsclientHooks,stars infolists them, and a bad hook fails withMODULE_HOOK_INVALID. (#337) ctx.addLocales(directory)— Modules can add a directory of locales laid out as<language>/<namespace>.json. The locales merge into the client’si18noption before@wolfstar/plugin-i18nextbuilds its handler, and your project’s own languages directory is kept.ModulesRuntimegainslocales,stars infolists them, and a bad directory fails withMODULE_LOCALES_INVALID. (#339)future.compatibilityVersion: 7— Opt in to letstars.configdecide what registers.@wolfstar/plugin-*packages inpackage.jsonare no longer activated by their name. Only the modules inmodules, and the ones they install, are.stars build,prepare,dev,info, anddoctorwarn withPLUGINS_NOT_REGISTEREDabout an installed plugin that is left out. (#338)
Updates
- Registered plugins listed — On compatibility version 6 and below nothing changes, but
stars infoandstars doctornow list the plugins registered by name.
0.10.0 (2026-10-09)
New features
- ngrok tunnel provider —
dev.tunnelacceptsprovider: 'ngrok'and adomainreserved in your ngrok account.cloudflaredstays the default. The schema exportsTUNNEL_PROVIDERSandDEFAULT_TUNNEL_PROVIDER, andResolvedTunnelConfigquick mode now carriesprovideranddomain. Conflicting options fail withTUNNEL_OPTION_CONFLICT. (#305) detectVarlock(root)— Inspects a project’s.env.schema,varlockinstallation, and dependency. (#308)
Updates
- varlock loader follows the runtime — With
future.compatibilityVersion6, a project that depends on@wolfstar/env-utilities, has a.env.schema, hasvarlockinstalled, and sets noenv.pathorenv.loadernow resolvesResolvedEnvConfig.loaderto'varlock'.ResolvedEnvConfig.optionsstill holds whatstars.configwrote.
0.9.0 (2026-10-07)
New features
- Module config keys — Top-level
stars.configkeys that aren’t built in are kept asResolvedStarsConfig.moduleOptionsinstead of rejected, so a module can read its options from its own key (meta.configKey).BUILT_IN_CONFIG_KEYSlists the keys the schema owns,assertModuleOptionsClaimedreports the first unclaimed key asUNKNOWN_OPTION, andModulesRuntime.configKeyscarries the keys modules claimed. Augment theStarsConfiginterface to type your module’s key. #293 dev.mouseoption — Controls mouse support in thestars devdashboard (defaulttrue). Set it tofalse, or passstars dev --no-mouse, to leave the mouse to your terminal. #291
Migration
ModulesRuntime.configKeysis required — If you build aModulesRuntimeliteral, addconfigKeys, or start fromEMPTY_MODULES_RUNTIME, which already has it.
0.8.0 (2026-10-06)
New features
- Compatibility version
6—future.compatibilityVersion6is now the latest and the default, gated by the newSPLIT_TSCONFIG_VERSIONconstant. Atsdownbuild’s defaultbuild.tsconfigbecomes the generated.stars/tsconfig.app.json, anddev.typecheck.projectslists whatstars typecheckchecks (DEFAULT_APP_TSCONFIG,DEFAULT_NODE_TSCONFIG). Atscornoneproject keeps its own tsconfig and gets the node config on top. Pin5or4to keep the single.stars/tsconfig.json. #282
0.7.0 (2026-10-06)
New features
codegen.commands— Setcodegen.commands(true, or{ output }, defaultsrc/@types/commands.d.ts) sostars codegengenerates aCommandOptionsRegistryfrom your built bot, read byCommand.OptionsOf<'math add'>.stars codegen --checkfails withCODEGEN_OUTDATEDwhen the file is stale. #275
Updates
- Dependencies — Updated all non-major dependencies (#253).
0.6.0 (2026-10-04)
New features
stars devoptions — Newdev.layout('auto' | 'dashboard' | 'panel'),dev.logs(channelsandlevelsshown at start,dirandkeepfor one log file per run),dev.commands.refresh('prompt' | 'auto' | 'off') anddev.hmr. An unknown value for a fixed-choice option is reported with the newINVALID_CHOICEdiagnostic.LOG_LEVELSandDEFAULT_LOG_LEVELSare exported. #254- Node env loader —
env.loaderaccepts'node', and the loader is auto-detected when you leave it unset. #265
0.5.0 (2026-10-02)
New features
modulesoption — Addmodulestostars.config: a list of package names or[name, options]tuples, installed by the CLI with@wolfstar/kit’ssetupModulesbeforeconfig:resolved. The resolved config gainsmodulesandruntime(the runtime plugins and auto-import presets the modules contributed). A failing module is reported as aMODULE_FAILEDdiagnostic, andMODULES_PRELOAD_REQUIREDwarns when atscornonebuild needs the.stars/modules.mjspreload. #247
0.4.0
New features
envinstars.config— Added a top-levelenvoption that mirrors@wolfstar/env-utilities’ setup options. It is registered automatically as the first import of the built entry, before plugin registrations and the bot’s own modules.- Lifecycle hooks — Added Nuxt-style hooks (
config:resolved,env:options,prepare:*,builder:created,tsdown:options,build:*,dev:*) run withhookable.
Migration
future.compatibilityVersion: 5is now the default. It is version 4 plus the automaticenvregistration, which activates when the project depends on@wolfstar/env-utilitiesand stays off with Nitro. Version 4 is still supported. Version 3 is end of life: it still works but now reports aCOMPATIBILITY_VERSION_EOLwarning and will be removed in the next major.- Projects generated by
@wolfstar/create-http-frameworkwith thetsdownorvitebuild no longer callsetup()from@wolfstar/env-utilitiesby hand.tscand JavaScript projects keep it and setenv: false(#243).
0.3.0
Updates
- Decorators split into new package — Moved the utility decorators out of
@wolfstar/http-frameworkinto a new package,@wolfstar/decorators, mirroring the split between@sapphire/frameworkand@sapphire/decorators.- Breaking (
@wolfstar/http-framework):ApplyOptions,RequiresGuildContext,RequiresDMContext,RequiresUserPermissions,RequiresClientPermissions,Enumerable,EnumerableMethod,createClassDecorator,createMethodDecorator,createProxy,createFunctionPrecondition, and thePieceConstructor/ContextFallbacktypes are no longer exported by the framework. Install@wolfstar/decoratorsand import them from there instead; their behaviour is unchanged. TheRegister*decorators andRestrictGuildIdsstay in the framework. @wolfstar/decoratorsdeclares@wolfstar/http-frameworkas a peer dependency.@wolfstar/schemanow includes@wolfstar/decoratorsin the defaultimports.presets, so projects using thestarsCLI’s auto imports keep getting the decorators without an explicit import once the package is installed (#238).
- Breaking (
0.2.1
Updates
- Dependencies — Updated all non-major dependencies (#227).
0.2.0
New features
- Separate Vite and Nitro builder packages — The optional Vite and Nitro builders are now dedicated server packages with a shared host context and builder lifecycle contract in
@wolfstar/schema. CLI configuration, lazy loading, project-local dependencies, and plugin registration are preserved (#209). - Nuxt-style configuration entry points — Aligned configuration entry points with Nuxt by adding framework schema and package metadata exports, a lightweight schema/config helper, and separating schema input types from config resolution while preserving existing exports (#209).
2026-09-24
New features
- New package — The
stars.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.
Updates
- Structured diagnostics — Config errors are now
nosticsdiagnostics with stable codes.ConfigErroris removed. Catch errors withinstanceof Diagnosticinstead. See Config errors.