The official web dashboard for WolfStar, a powerful multi-purpose Discord
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 powerful multi-purpose Discord bot for moderation and community management.
- Modern Web Interface: Built with Nuxt 4 and modern web technologies for a smooth user experience.
- Guild Management: Manage your Discord server's settings, roles, and permissions through an intuitive web interface.
- Real-time Updates: Live updates for guild data and bot status.
- Responsive Design: Works seamlessly on desktop, tablet, and mobile devices.
- OAuth Integration: Secure Discord authentication and authorization.
- Multi-language Support: Support for multiple languages (coming soon).
- Dashboard Analytics: View 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- Run Oxlint & Oxfmt.pnpm lint:fix- Run Oxlint & Oxfmt and fix issues.pnpm prisma:migrate:dev- Create and apply a new migration in development.pnpm prisma:migrate:dev:create- Create 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:migrate:status- Check the status of migrations.pnpm prisma:migrate:resolve- Mark a migration as applied or rolled back.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 prisma:generate:watch- Watch for changes and regenerate Prisma client.pnpm generate-pwa-icons- Generate PWA icons and assets.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.
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
- DaisyUI - Tailwind CSS component library
- NuxtUI - Components
- 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.