Skip to content

Latest commit

 

History

146 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Stars Components

A comprehensive collection of shared utilities and components powering the Star Network

GitHub License Greptile: The War on Bugs codecov


Overview

Stars Components is a monorepo containing 16 publishable TypeScript packages under the @wolfstar npm scope. These packages provide foundational utilities and frameworks for building HTTP-only Discord bots and related services within the Star Network ecosystem.

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

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 in order
pnpm lint      # oxlint + oxfmt check
pnpm typecheck # TypeScript check (requires pnpm build first)
pnpm test      # vitest
pnpm build     # tsdown for each package

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

Package Description Version
Core Framework
@wolfstar/http-framework The primary framework for Star Network's HTTP-only Discord bots version
Framework Extensions
@wolfstar/http-framework-test-utils Test utilities and helpers for @wolfstar/http-framework version
@wolfstar/http-framework-i18n DEPRECATED: Use @wolfstar/plugin-i18next instead. Legacy i18n layer for HTTP framework version
Shared HTTP Services
@wolfstar/shared-http-pieces Common pieces and utilities for Star Network's HTTP-only bots version
@wolfstar/shared-influx-pieces InfluxDB integration pieces for Star Network's HTTP bots version
Internationalization (i18n)
@wolfstar/i18next-backend Fast filesystem-based i18next backend for Node.js version
@wolfstar/i18next-type-generator CLI utility to generate TypeScript augmentations for i18next version
Utilities & Helpers
@wolfstar/env-utilities Functional utilities for reading and parsing environment variables version
@wolfstar/influx-utilities Opinionated abstraction layer for InfluxDB single-organization access version
@wolfstar/logger Lightweight logger system with level-based filtering version
@wolfstar/safe-fetch Fetch wrapper implementing Rust-style Result types for error handling version
@wolfstar/start-banner CLI banner generator utility for startup messages version
Third-Party Integrations
@wolfstar/reddit-helpers Reddit helper functions for Star Network bots version
@wolfstar/twitch-helpers Twitch helper functions for Star Network bots version
@wolfstar/weather-helpers Weather API helper functions for Star Network bots version
Project Scaffolding
@wolfstar/cli The stars CLI: typed stars.config.ts, dev with TUI, build, info and codegen for http-framework projects version
@wolfstar/create-http-framework CLI scaffolding tool to create new HTTP Framework bot projects version
Tooling
@wolfstar/oxlint-config Shareable oxlint base configuration version
@wolfstar/oxfmt-config Shareable oxfmt base configuration version
@wolfstar/eslint-config Shareable ESLint flat configuration, for consumers who use ESLint instead of oxlint version
@wolfstar/prettier-config Shareable Prettier configuration, for consumers who use Prettier instead of oxfmt version
@wolfstar/eslint-plugin-http-framework Custom lint rules for @wolfstar/http-framework and the @wolfstar/plugin-* ecosystem, for ESLint and oxlint version

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

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

About

A collection of shared utilities for Wolfstar, original based on https://github.com/skyra-project/archid-components

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages