The official web dashboard for WolfStar, a Discord moderation bot.
Official Site Β· Blog Β· WolfStar Invite Link Β· Support Server Β· Feedback
Pioneering the new age of server
moderation management. Built for you, the Super Admin.
Table of contents
- β¨ Features
- π³ Self-Hosting WolfStar.rocks
- π Self-Hosting WolfStar.rocks Requirements
- β¨οΈ Local Development
- π» Online Development
- π€ Contributing
- β€οΈ Sponsor
WolfStar.rocks is the official web dashboard for WolfStar, a Discord moderation bot. It gives your team one place to configure filters and server settings, and to review moderation, command, and settings history.
- Modern Web Interface: Built with Nuxt 4 and modern web technologies for a smooth user experience.
- Server Management: Manage your Discord server's settings, roles, and permissions through an intuitive web interface.
- Responsive Design: Works seamlessly on desktop, tablet, and mobile devices.
- OAuth Integration: Secure Discord authentication and authorization.
- Audit Trail: Dashboard settings changes and denied access attempts are
recorded in a tamper-evident audit log. Each event is persisted to PostgreSQL
with a SHA-256 hash chain, and
pnpm audit:verifyreplays the chain to verify it. - Multi-language Dashboard: The dashboard is translated through Tolgee, and
/translation-statusshows how far each language has come. - Accessibility: Built with semantic HTML, keyboard navigation, and reduced-motion support.
On the roadmap
- Real-time Updates: Live updates for guild data and bot status.
- Dashboard Analytics: Server statistics and bot usage metrics.
- Node.js: WolfStar.rocks is built on Node.js, so you will need to have Node.js (v24+) installed.
- WolfStar Bot: You need a running instance of WolfStar bot to connect this dashboard to.
- Discord Bot Application: A Discord bot application with proper OAuth2 configuration.
- PostgreSQL: PostgreSQL database (shared with WolfStar bot instance).
-
Clone the repository
git clone https://github.com/wolfstar-project/wolfstar.rocks.git cd wolfstar.rocks -
Install dependencies
pnpm install
-
Environment Configuration
- Duplicate
.env.exampleand rename it to.env. - Fill in all required environment variables.
- Configure Discord OAuth2 settings in your Discord Developer Portal.
- Duplicate
-
Database Setup
- Ensure your WolfStar bot database is accessible.
- Run database migrations if needed.
-
Start the development server
pnpm dev
- Duplicate
.env.exampleand rename it to.env. - Fill in all required environment variables.
- Configure Discord OAuth2 settings in your Discord Developer Portal.
- Go to the Discord Developer Portal.
- Select your bot application.
- Navigate to the OAuth2 tab.
- Add redirect URLs:
http://localhost:3000/oauth/callbackhttp://localhost:3000/oauth/guild
- Save your changes.
pnpm dev- Start development server.pnpm dev:pwa- Start development server with PWA support.pnpm build- Build for production.pnpm preview- Preview production build.pnpm lint:fix- Run Oxlint & Oxfmt and fix issues.pnpm prisma:migrate:dev- Create and apply a new migration in development.pnpm prisma:migrate:diff- Check for schema drift between migrations and schema (exits with error if differences found).pnpm prisma:migrate:deploy- Apply all pending migrations to the database.pnpm prisma:push- Push the Prisma schema to the database without generating a migration.pnpm prisma:seed- Seed the database with initial data.pnpm prisma:studio- Open Prisma Studio for database management.pnpm prisma:generate- Generate Prisma client.pnpm test- Run all tests.pnpm test:unit- Run unit tests.pnpm test:nuxt- Run Nuxt environment tests.pnpm test:browser- Run browser tests with Playwright.pnpm test:bench- Run performance benchmarks.pnpm typecheck- Run TypeScript checks.
Occasional one-off tasks are not wrapped in package.json. Run their binary
directly instead:
pnpm exec prisma migrate dev --create-only- Create a migration without applying it.pnpm exec prisma migrate status- Check the status of migrations.pnpm exec prisma migrate resolve- Mark a migration as applied or rolled back.pnpm exec prisma migrate reset- Reset the local database.pnpm exec prisma generate --watch- Regenerate the Prisma client on change.pnpm exec pwa-assets-generator- Generate PWA icons and assets.pnpm exec taze- Interactive dependency updates.
pnpm test- Run all tests with Vitestpnpm test:unit- Run unit tests only (Node.js environment)pnpm test:nuxt- Run Nuxt component tests (Nuxt environment with browser)pnpm test:browser- Run full browser E2E tests with Playwrightpnpm test:bench- Run performance benchmarks
WolfStar.rocks uses CodSpeed for continuous performance tracking. Benchmarks automatically run in CI on every commit and PR, with results visible on the CodSpeed dashboard.
Currently Benchmarked:
shared/utils/comparators.ts- Functions:
differenceArray,differenceMap - Benchmark:
test/unit/shared/utils/comparators.bench.ts
- Functions:
server/utils/guildNameToAcronym.ts- Function:
guildNameToAcronym - Benchmark:
test/unit/server/utils/guild-name-to-acronym.bench.ts
- Function:
Adding New Benchmarks:
- Create a
.bench.tsfile undertest/unit/mirroring the path of the code you're benchmarking (e.g., forshared/utils/myUtil.ts, createtest/unit/shared/utils/myUtil.bench.ts) - Import the utility and Vitest's
bench()function:import { bench, describe } from "vitest"; import { myUtility } from "../../../../shared/utils/myUtility";
- Write benchmarks with descriptive names:
describe("myUtility benchmarks", () => { bench("small dataset (10 items)", () => { myUtility(smallData); }); bench("large dataset (1000 items)", () => { myUtility(largeData); }); });
- Run locally:
pnpm test:bench - CI will automatically track performance when you open a PR
- Follow the existing code style and conventions.
- Write clear, descriptive commit messages.
- Add tests for new features.
- Update documentation as needed.
- Ensure all CI checks pass.
- Nuxt 4 - Vue.js framework
- TypeScript - Type safety
- Oxlint - Code linting
- Oxfmt - Code formatting
- Prisma - Database ORM
- Tailwind CSS - Utility-first CSS framework
- Nuxt UI - Vue component library and design tokens
- Custom GitHub Copilot Agent - Specialized WolfStar development agent with
Context7 MCP integration (see
.github/agents/wolfstar-dev-agent.md). - Autonomous Problem-Solving - Beast Mode with iterative refinement.
- Real-time Documentation - Up-to-date library docs via Context7.
- Quality First - Integrated Oxlint, Sentry, and testing workflows.
Refer to CONTRIBUTING.md for detailed setup instructions.
Click any of the buttons below to start a new development environment to demo or contribute to the codebase without having to install anything on your machine:
Thank you to all the people who already contributed to WolfStar.rocks! Please make sure to read the Contributing Guide before making a pull request.
If you like WolfStar and want to support the project, consider making a donation. Every contribution helps to maintain and improve the bot.
Thank you for your support!
Copyright Β© 2024 WolfStar.
This project is
Apache 2.0 licensed.