docs: rename CLAUDE.md to AGENTS.md across the project
Some checks failed
Deploy to Production / test (push) Failing after 34s

This commit is contained in:
syntaxbullet
2026-04-06 14:18:56 +02:00
parent 0fc88323ea
commit 2b89fb7ede
14 changed files with 125 additions and 382 deletions

View File

@@ -0,0 +1,9 @@
# Feature Flags Module
- **No caching.** Every `isFlagEnabled()` and `hasAccess()` call hits the database directly.
- `isFlagEnabled(flagName)` checks global on/off state. `hasAccess(flagName, context)` checks both global state AND per-entity access records (guild, user, or role).
- Access logic: flag must be globally enabled AND user must have an explicit access grant. Grants can target guildId, userId, or roleId independently.
- Commands declare `beta: true` and optionally `featureFlag: string` in the Command interface. `CommandHandler` intercepts beta commands and calls `hasAccess()` before execution.
- If a command has no explicit `featureFlag`, the command name (`interaction.commandName`) is used as the flag name fallback.
- Flag names are case-sensitive. Convention is snake_case or camelCase — no enforcement.
- Admin management via `/featureflags` command: CRUD on flags and access grants/revokes.