An HTTP-first TypeScript framework and toolkit for Discord applications
Stars Components is a monorepo containing 23 independently versioned TypeScript packages under the @wolfstar npm scope. Its core is @wolfstar/http-framework, a framework for Discord applications that receive interactions over HTTP—well suited to webhook and serverless deployments without a persistent Gateway connection.
The ecosystem also includes a project scaffolder, development CLI, interaction test utilities, integrations, and reusable tooling. Optional features such as REST routes, i18n, logging transports, and modular subcommands are available from the official plugin repository.
Technology Stack:
- Language: TypeScript (Node.js
^22.11 || ^24 || >=26) - Package Manager: pnpm with workspaces
- Monorepo Runner: Turbo
- Testing: Vitest
- Linting: oxlint with oxfmt
- Release: Changesets v3 (independent semver per package)
- Node.js
^22.11,^24, or>=26 - pnpm (automatically pinned via corepack)
# Clone the repository
git clone https://github.com/wolfstar-project/stars-components.git
cd stars-components
# Install dependencies (uses pnpm workspaces)
pnpm install
# Run quality gates
pnpm lint # oxlint + oxfmt check
pnpm build # tsdown for each package
pnpm typecheck # TypeScript check (uses built declarations)
pnpm test # vitestImportant: Run pnpm build before pnpm typecheck, as typecheck resolves cross-package imports against built dist/*.d.ts files.
Each package is independently published to npm under @wolfstar/ scope. Install any package directly:
# Example: Install the HTTP framework and environment utilities
npm install @wolfstar/http-framework @wolfstar/env-utilities
# or with pnpm
pnpm add @wolfstar/http-framework @wolfstar/env-utilities| Package | Description | Version |
|---|---|---|
| Core Framework | ||
@wolfstar/http-framework |
The primary framework for Star Network's HTTP-only Discord bots | |
| Framework Extensions | ||
@wolfstar/http-framework-test-utils |
Test utilities and helpers for @wolfstar/http-framework | |
| Shared HTTP Services | ||
@wolfstar/shared-http-pieces |
Common pieces and utilities for Star Network's HTTP-only bots | |
@wolfstar/shared-influx-pieces |
InfluxDB integration pieces for Star Network's HTTP bots | |
| Internationalization (i18n) | ||
@wolfstar/i18next-backend |
Fast filesystem-based i18next backend for Node.js | |
@wolfstar/i18next-type-generator |
CLI utility to generate TypeScript augmentations for i18next | |
| Utilities & Helpers | ||
@wolfstar/env-utilities |
Functional utilities for reading and parsing environment variables | |
@wolfstar/influx-utilities |
Opinionated abstraction layer for InfluxDB single-organization access | |
@wolfstar/safe-fetch |
Fetch wrapper implementing Rust-style Result types for error handling | |
@wolfstar/start-banner |
CLI banner generator utility for startup messages | |
| Third-Party Integrations | ||
@wolfstar/reddit-helpers |
Reddit helper functions for Star Network bots | |
@wolfstar/twitch-helpers |
Twitch helper functions for Star Network bots | |
@wolfstar/weather-helpers |
Weather API helper functions for Star Network bots | |
| Project Scaffolding | ||
@wolfstar/cli |
The stars CLI: typed stars.config.ts, dev with TUI, build, info and codegen for http-framework projects |
|
@wolfstar/schema |
Typed stars.config.* schema and loader shared by @wolfstar/http-framework and @wolfstar/cli |
|
@wolfstar/vite-server |
Vite build and watch integration | |
@wolfstar/nitro-server |
Nitro server build integration | |
@wolfstar/create-http-framework |
CLI scaffolding tool to create new HTTP Framework bot projects | |
| Tooling | ||
@wolfstar/oxlint-config |
Shareable oxlint base configuration | |
@wolfstar/oxfmt-config |
Shareable oxfmt base configuration | |
@wolfstar/eslint-config |
Shareable ESLint flat configuration, for consumers who use ESLint instead of oxlint | |
@wolfstar/prettier-config |
Shareable Prettier configuration, for consumers who use Prettier instead of oxfmt | |
@wolfstar/eslint-plugin-http-framework |
Custom lint rules for @wolfstar/http-framework and the @wolfstar/plugin-* ecosystem, for ESLint and oxlint |
The examples/ directory contains runnable bot samples using the HTTP Framework and related utilities. Examples are provided in both TypeScript and JavaScript (ESM).
# Install all dependencies
pnpm install
# Build all packages
pnpm build
# Setup environment for the basic example
cp examples/basic/.env.example examples/basic/src/.env
# Run a TypeScript example (with live reloading)
pnpm --filter basic dev
# Or run a plain JavaScript example (no build step)
pnpm --filter basic-js devFor a complete list of available examples, see examples/README.md.
Contributions are welcome! Please read our Contributing Guide before submitting a pull request.
Key Conventions:
- Commits: Conventional Commits using
cz(commitizen) - Changes: Use
pnpm changesetto add changesets; do not editpackage.json#versionorCHANGELOG.mddirectly (these are managed by Changesets) - Release Process: Changesets automatically publishes independent versions for affected packages
Performance-sensitive code paths are benchmarked in benchmarks/ with tinybench and tracked continuously by CodSpeed. Run them locally with pnpm bench.
Thank you to all contributors who have helped make Stars Components better!
You can contribute without a local setup by using cloud-based development environments:
Stars Components is licensed under the Apache License 2.0. See the LICENSE file for details.
Copyright 2022 Wolfstar Project
- GitHub: https://github.com/wolfstar-project/stars-components
- npm Packages: https://www.npmjs.com/org/wolfstar
- Website: https://stars-components.js.org
- Issues & Discussions: https://github.com/wolfstar-project/stars-components/issues

