No description
  • TypeScript 92.6%
  • CSS 4.3%
  • Python 1.9%
  • Shell 1.1%
  • HTML 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Ellie Gummere 0d868139ef
All checks were successful
CI / check (push) Successful in 59s
CI / deploy (push) Successful in 24s
CI / deploy-osiris (push) Successful in 0s
CI / deploy-1 (push) Successful in 44s
CI / deploy-cloudflare (push) Successful in 0s
Retain the fetched member roster for activity tracking
- Keep activity filters stable when Discord resets its member cache
- Add a regression test for roster retention
2026-10-19 14:59:02 -04:00
.agents/skills/guildmaster-policy Add reviewed policy operations CLI and repository skill 2026-10-15 22:24:43 -04:00
.forgejo/workflows Use Fedora CI dependencies and isolate deployment scheduling [skip ci] 2026-10-18 16:16:32 -04:00
deploy Check bot readiness before deploying the dashboard 2026-10-15 17:26:28 -04:00
docs Respect category sync state during permission reconciliation 2026-10-15 22:24:19 -04:00
src Retain the fetched member roster for activity tracking 2026-10-19 14:59:02 -04:00
.dockerignore Add Docker Compose deployment support 2026-10-02 22:09:14 -04:00
.env.example Add visual policy and subgroup management 2026-10-15 19:06:47 -04:00
.gitignore Restrict Osiris deployments to an isolated Tailscale identity 2026-10-13 19:33:13 -04:00
.oxfmtrc.json Support isolated multi-server permission management and scoped 2026-10-15 15:52:04 -04:00
.oxlintrc.json Enable type-aware linting and React accessibility rules 2026-10-15 15:55:26 -04:00
bun.lock Fix dashboard build by using browser-safe permission constants 2026-10-15 19:44:18 -04:00
components.json Add Tailwind and shadcn UI to permission editor 2026-10-12 22:01:30 -04:00
compose.cloudflare.yaml Add public Cloudflare dashboard mode 2026-10-02 22:25:08 -04:00
compose.yaml Add authenticated policy snapshot API 2026-10-12 19:21:51 -04:00
Dockerfile Add Docker Compose deployment support 2026-10-02 22:09:14 -04:00
gamers-hall-channel-permissions-review.md Add reviewed Discord permission management model 2026-10-08 17:04:09 -04:00
GLOSSARY.md Replace legacy permissions with policy management 2026-10-15 16:56:17 -04:00
package.json Add reviewed policy operations CLI and repository skill 2026-10-15 22:24:43 -04:00
README.md Support isolated multi-server permission management and scoped 2026-10-15 15:52:04 -04:00
tsconfig.json Add Tailwind and shadcn UI to permission editor 2026-10-12 22:01:30 -04:00
turbo.json Support isolated multi-server permission management and scoped 2026-10-15 15:52:04 -04:00
vite.config.test.ts Consolidate the dashboard into one Worker-hosted app 2026-10-13 18:24:06 -04:00
vite.config.ts Consolidate the dashboard into one Worker-hosted app 2026-10-13 18:24:06 -04:00
wrangler.jsonc Consolidate the dashboard into one Worker-hosted app 2026-10-13 18:24:06 -04:00

Guildmaster

Guildmaster manages Discord permissions independently for each server where it is installed. Message logging, archiving, and activity reports are enabled only for Gamers Hall. Set ACTIVITY_ENABLED=false for permissions management without activity collection.

Set up

  1. Create a Discord application and bot. Enable Server Members Intent and Message Content Intent in the Developer Portal.

  2. Copy .env.example to .env and set DISCORD_BOT_TOKEN. DISCORD_GUILD_ID selects the default dashboard server and existing session storage; it does not restrict which servers the bot manages.

  3. Invite the bot with the bot and applications.commands scopes. Give it View Channels and Read Message History in each channel to scan. Private channels and threads must be visible to the bot.

  4. Install dependencies and start the bot:

    bun install
    bun run start
    

Each server gets its own permission policy, member mirror, and reconciliation queue under reports/GUILD_ID/permissions.sqlite. Sign in as the server owner or an Administrator to configure a new server, then select its management role in the policy. The dashboard server selector opens /servers/GUILD_ID/permissions. New servers receive no policy or permission changes automatically.

For Gamers Hall only, the bot also scans history, saves reports under reports/GUILD_ID/, then continues tracking new messages. Permissions are available independently of that scan. The bot API runs at http://localhost:3000/api/status. The dashboard runs separately on the Cloudflare Worker, or at http://127.0.0.1:5173 during local development. Large servers may take hours to scan. Keep the process running.

Documentation

  • Operations: scans, reports, stored data, verification, and the member cleanup command.
  • Dashboard: dashboard pages, Officer access, permission management, and public mode.
  • Deployment: Osiris, Docker Compose, and Cloudflare.
  • Development: checks, local dashboard development, and code layout.
  • Permission policy: policy model and reviewed Discord permission changes.
  • Cloudflare dashboard: host all dashboard pages on the Worker while keeping the bot as the data and Discord API backend.
  • Model training: prepare local datasets and train or evaluate adapters.