wolfstar-project/stars-components

HTTP-first TypeScript framework and toolkit for building Discord applications.

TypeScript

0

265 commits

updated Oct 17, 2026

See the code

See what people are saying

SourceMessageScoreDate

I built a Sapphire-inspired framework ecosystem for Discord bots (r/SideProject)

Having tried a few libraries for my Discord bots, I couldn’t find one structured quite the way I wanted. Archid Components came closest, so I forked it and started building Stars Components, drawing inspiration from Sapphire’s framework structure. Since then, it has grown into an ecosystem of…

1

Oct 14, 2026

README

Stars Components

An HTTP-first TypeScript framework and toolkit for Discord applications

Documentation · Core package · Official plugins

GitHub License Greptile: The War on Bugs codecov CodSpeed


Overview

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)

Quick Start

Scaffold a Discord application with pnpm create @wolfstar/http-framework

Run it with pnpm dev: the Stars CLI dashboard rebuilds and restarts the bot on every change

Prerequisites

  • Node.js ^22.11, ^24, or >=26
  • pnpm (automatically pinned via corepack)

Installation

# 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      # vitest

Important: Run pnpm build before pnpm typecheck, as typecheck resolves cross-package imports against built dist/*.d.ts files.

Using a Package

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

Packages

PackageDescriptionVersion
Core Framework
@wolfstar/http-frameworkThe primary framework for Star Network's HTTP-only Discord botsversion
Framework Extensions
@wolfstar/http-framework-test-utilsTest utilities and helpers for @wolfstar/http-frameworkversion
Shared HTTP Services
@wolfstar/shared-http-piecesCommon pieces and utilities for Star Network's HTTP-only botsversion
@wolfstar/shared-influx-piecesInfluxDB integration pieces for Star Network's HTTP botsversion
Internationalization (i18n)
@wolfstar/i18next-backendFast filesystem-based i18next backend for Node.jsversion
@wolfstar/i18next-type-generatorCLI utility to generate TypeScript augmentations for i18nextversion
Utilities & Helpers
@wolfstar/env-utilitiesFunctional utilities for reading and parsing environment variablesversion
@wolfstar/influx-utilitiesOpinionated abstraction layer for InfluxDB single-organization accessversion
@wolfstar/safe-fetchFetch wrapper implementing Rust-style Result types for error handlingversion
@wolfstar/start-bannerCLI banner generator utility for startup messagesversion
Third-Party Integrations
@wolfstar/reddit-helpersReddit helper functions for Star Network botsversion
@wolfstar/twitch-helpersTwitch helper functions for Star Network botsversion
@wolfstar/weather-helpersWeather API helper functions for Star Network botsversion
Project Scaffolding
@wolfstar/cliThe stars CLI: typed stars.config.ts, dev with TUI, build, info and codegen for http-framework projectsversion
@wolfstar/schemaTyped stars.config.* schema and loader shared by @wolfstar/http-framework and @wolfstar/cliversion
@wolfstar/vite-serverVite build and watch integration
@wolfstar/nitro-serverNitro server build integration
@wolfstar/create-http-frameworkCLI scaffolding tool to create new HTTP Framework bot projectsversion
Tooling
@wolfstar/oxlint-configShareable oxlint base configurationversion
@wolfstar/oxfmt-configShareable oxfmt base configurationversion
@wolfstar/eslint-configShareable ESLint flat configuration, for consumers who use ESLint instead of oxlintversion
@wolfstar/prettier-configShareable Prettier configuration, for consumers who use Prettier instead of oxfmtversion
@wolfstar/eslint-plugin-http-frameworkCustom lint rules for @wolfstar/http-framework and the @wolfstar/plugin-* ecosystem, for ESLint and oxlintversion

Examples

The examples/ directory contains runnable bot samples using the HTTP Framework and related utilities. Examples are provided in both TypeScript and JavaScript (ESM).

Running an Example

# 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 dev

For a complete list of available examples, see examples/README.md.


Development

Contributing

Contributions are welcome! Please read our Contributing Guide before submitting a pull request.

Key Conventions:

  • Commits: Conventional Commits using cz (commitizen)
  • Changes: Use pnpm changeset to add changesets; do not edit package.json#version or CHANGELOG.md directly (these are managed by Changesets)
  • Release Process: Changesets automatically publishes independent versions for affected packages

Benchmarks

Performance-sensitive code paths are benchmarked in benchmarks/ with tinybench and tracked continuously by CodSpeed. Run them locally with pnpm bench.

Contributors

Thank you to all contributors who have helped make Stars Components better!

Contributors

Development Environment

You can contribute without a local setup by using cloud-based development environments:

Open in VS Code Open in GitHub Codespaces Open in StackBlitz Open in Gitpod


License

Stars Components is licensed under the Apache License 2.0. See the LICENSE file for details.

Copyright 2022 Wolfstar Project


Resources

discord
discord-api
discord-bot
framework
http
serveless
typescript

wolfstar-project/stars-components

HTTP-first TypeScript framework and toolkit for building Discord applications.

TypeScript

0

265 commits

updated Oct 17, 2026

See the code

See what people are saying

SourceMessageScoreDate

I built a Sapphire-inspired framework ecosystem for Discord bots (r/SideProject)

Having tried a few libraries for my Discord bots, I couldn’t find one structured quite the way I wanted. Archid Components came closest, so I forked it and started building Stars Components, drawing inspiration from Sapphire’s framework structure. Since then, it has grown into an ecosystem of…

1

Oct 14, 2026

README

Stars Components

An HTTP-first TypeScript framework and toolkit for Discord applications

Documentation · Core package · Official plugins

GitHub License Greptile: The War on Bugs codecov CodSpeed


Overview

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)

Quick Start

Scaffold a Discord application with pnpm create @wolfstar/http-framework

Run it with pnpm dev: the Stars CLI dashboard rebuilds and restarts the bot on every change

Prerequisites

  • Node.js ^22.11, ^24, or >=26
  • pnpm (automatically pinned via corepack)

Installation

# 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      # vitest

Important: Run pnpm build before pnpm typecheck, as typecheck resolves cross-package imports against built dist/*.d.ts files.

Using a Package

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

Packages

PackageDescriptionVersion
Core Framework
@wolfstar/http-frameworkThe primary framework for Star Network's HTTP-only Discord botsversion
Framework Extensions
@wolfstar/http-framework-test-utilsTest utilities and helpers for @wolfstar/http-frameworkversion
Shared HTTP Services
@wolfstar/shared-http-piecesCommon pieces and utilities for Star Network's HTTP-only botsversion
@wolfstar/shared-influx-piecesInfluxDB integration pieces for Star Network's HTTP botsversion
Internationalization (i18n)
@wolfstar/i18next-backendFast filesystem-based i18next backend for Node.jsversion
@wolfstar/i18next-type-generatorCLI utility to generate TypeScript augmentations for i18nextversion
Utilities & Helpers
@wolfstar/env-utilitiesFunctional utilities for reading and parsing environment variablesversion
@wolfstar/influx-utilitiesOpinionated abstraction layer for InfluxDB single-organization accessversion
@wolfstar/safe-fetchFetch wrapper implementing Rust-style Result types for error handlingversion
@wolfstar/start-bannerCLI banner generator utility for startup messagesversion
Third-Party Integrations
@wolfstar/reddit-helpersReddit helper functions for Star Network botsversion
@wolfstar/twitch-helpersTwitch helper functions for Star Network botsversion
@wolfstar/weather-helpersWeather API helper functions for Star Network botsversion
Project Scaffolding
@wolfstar/cliThe stars CLI: typed stars.config.ts, dev with TUI, build, info and codegen for http-framework projectsversion
@wolfstar/schemaTyped stars.config.* schema and loader shared by @wolfstar/http-framework and @wolfstar/cliversion
@wolfstar/vite-serverVite build and watch integration
@wolfstar/nitro-serverNitro server build integration
@wolfstar/create-http-frameworkCLI scaffolding tool to create new HTTP Framework bot projectsversion
Tooling
@wolfstar/oxlint-configShareable oxlint base configurationversion
@wolfstar/oxfmt-configShareable oxfmt base configurationversion
@wolfstar/eslint-configShareable ESLint flat configuration, for consumers who use ESLint instead of oxlintversion
@wolfstar/prettier-configShareable Prettier configuration, for consumers who use Prettier instead of oxfmtversion
@wolfstar/eslint-plugin-http-frameworkCustom lint rules for @wolfstar/http-framework and the @wolfstar/plugin-* ecosystem, for ESLint and oxlintversion

Examples

The examples/ directory contains runnable bot samples using the HTTP Framework and related utilities. Examples are provided in both TypeScript and JavaScript (ESM).

Running an Example

# 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 dev

For a complete list of available examples, see examples/README.md.


Development

Contributing

Contributions are welcome! Please read our Contributing Guide before submitting a pull request.

Key Conventions:

  • Commits: Conventional Commits using cz (commitizen)
  • Changes: Use pnpm changeset to add changesets; do not edit package.json#version or CHANGELOG.md directly (these are managed by Changesets)
  • Release Process: Changesets automatically publishes independent versions for affected packages

Benchmarks

Performance-sensitive code paths are benchmarked in benchmarks/ with tinybench and tracked continuously by CodSpeed. Run them locally with pnpm bench.

Contributors

Thank you to all contributors who have helped make Stars Components better!

Contributors

Development Environment

You can contribute without a local setup by using cloud-based development environments:

Open in VS Code Open in GitHub Codespaces Open in StackBlitz Open in Gitpod


License

Stars Components is licensed under the Apache License 2.0. See the LICENSE file for details.

Copyright 2022 Wolfstar Project


Resources

discord
discord-api
discord-bot
framework
http
serveless
typescript