diff --git a/src/components/navigation.ts b/src/components/navigation.ts index ffea53b..5dc9329 100644 --- a/src/components/navigation.ts +++ b/src/components/navigation.ts @@ -728,7 +728,7 @@ export const navigation = [ { label: "Valerium", link: "/projects/valerium", - badge: { text: "unreleased", variant: "danger" }, + badge: { text: "v1.0.1", variant: "tip" }, }, { label: "Lore", diff --git a/src/content/docs/projects/valerium.md b/src/content/docs/projects/valerium.md index 3d7c3a1..801c1dc 100644 --- a/src/content/docs/projects/valerium.md +++ b/src/content/docs/projects/valerium.md @@ -2,36 +2,59 @@ title: Valerium --- -Valerium (hereinafter the "Application") is +Valerium (hereinafter the "Application") is the Discord Boost Monitor bot that removes configured booster-only roles when members stop boosting a server. ## 1. User Documentation -:::note -This section is coming soon! -::: +Valerium is a Discord bot service and does not currently publish a public hosted web app for end users. -This section is for those interacting with a live instance of the Application. +Operational behavior: + +1. On startup, the bot connects to Discord with `Guilds` and `GuildMembers` intents. +2. On `guildMemberUpdate`, it checks member eligibility roles. +3. If a member is no longer qualified, configured colour/perk roles are removed. +4. A small Fastify health/info page is served on port `3443`. ## 2. Technical Documentation -:::note -This section is coming soon! -::: +Valerium is a TypeScript `discord.js` service with a lightweight `fastify` process for health visibility. -This section is for those interested in running their own instance of the Application. +Local setup: + +1. Install dependencies with `pnpm install`. +2. Build with `pnpm build`. +3. Start with `pnpm start`. +4. Lint source with `pnpm lint`. + +Key source modules: + +1. `src/modules/manageRoles.ts`: booster-role enforcement logic. +2. `src/config/roles.ts`: qualified roles and removable colour roles. +3. `src/server/serve.ts`: health/info endpoint on `/`. +4. `src/index.ts`: bot startup, event wiring, and server initialization. + +Environment configuration is loaded via `dotenv` at runtime, including Discord token and webhook settings. ## 3. Legal Documentation -:::note -This section is coming soon! -::: +Project policy files reference the following documentation: -This section is for expansions to our legal policies specific to the Application. +1. License: `https://docs.nhcarrigan.com/#/license` +2. Terms: `https://docs.nhcarrigan.com/#/terms` +3. Privacy: `https://docs.nhcarrigan.com/#/discord-boost-monitor/privacy` +4. Security: `https://docs.nhcarrigan.com/#/security` + +Copyright is held by Naomi Carrigan. ## 4. Contributing Documentation -:::note -This section is coming soon! -::: +Contributions are accepted through pull requests under the repository contributing guidelines and code of conduct. -This section is for documentation related to contributing to the Application's codebase. +Before opening a pull request: + +1. Run `pnpm install`. +2. Run `pnpm lint`. +3. Run `pnpm build`. +4. Verify bot behavior in a test Discord server. + +Feedback and bug reports are handled via `https://support.nhcarrigan.com`.