generated from nhcarrigan/template
1c31a49bc4
## Summary - Replaces the old AI companion bot with a full Discord moderation system - Adds 8 slash commands: `warn`, `mute`, `unmute`, `kick`, `softban`, `ban`, `unban`, `prune` - Adds logging for member join/leave, activity (messages, threads, voice), and moderation actions - Audit log integration captures manual bans, kicks, timeouts, and unbans - All applicable actions post sanctions to the Hikari sanction API - All commands are ephemeral, use Components v2, and enforce permission + role hierarchy checks ## Test plan - [ ] Run `pnpm register` to register all 8 commands to the guild - [ ] Verify each command appears in Discord and is only visible to members with the appropriate permissions - [ ] Test each command against a valid target and confirm mod log entry, DM notification, and sanction record - [ ] Test each command against an invalid target (equal/higher role, self, bot) and confirm correct error response - [ ] Perform a manual ban, kick, and timeout in the Discord UI and confirm audit log handler picks them up - [ ] Perform a manual unban and confirm it logs correctly without creating a sanction - [ ] Verify join/leave messages appear in the welcome log channel - [ ] Verify message edits, deletes, thread events, and voice state changes appear in the activity log channel ✨ This issue was created with help from Hikari~ 🌸 Reviewed-on: #11 Co-authored-by: Hikari <hikari@nhcarrigan.com> Co-committed-by: Hikari <hikari@nhcarrigan.com>
22 lines
955 B
YAML
22 lines
955 B
YAML
# Security
|
|
|
|
# Do not execute any scripts of installed packages (project scripts still run)
|
|
ignoreDepScripts: true
|
|
# Do not automatically run pre/post scripts (e.g. preinstall, postbuild)
|
|
enablePrePostScripts: false
|
|
# Only allow packages published at least 10 days ago (reduces risk of compromised packages)
|
|
minimumReleaseAge: 14400
|
|
# Fail if a package's trust level has decreased compared to previous releases
|
|
trustPolicy: no-downgrade
|
|
# Ignore trust policy for packages published more than 1 year ago (predates provenance signing)
|
|
trustPolicyIgnoreAfter: 525960
|
|
# Peer dependency conflicts exist with the current TypeScript version; disabled until upstream resolves
|
|
strictPeerDependencies: false
|
|
# Prevent transitive dependencies from using exotic sources (git repos, direct tarball URLs)
|
|
blockExoticSubdeps: true
|
|
|
|
# Lockfile
|
|
|
|
# Allow the lockfile to be updated during install (set to true in CI for stricter reproducibility)
|
|
preferFrozenLockfile: false
|