Skip to content

Conversation

@meatsnails
Copy link
Collaborator

@meatsnails meatsnails commented Jan 3, 2026

Summary by Sourcery

Add documentation template and navigation entry for an example module.

Documentation:

  • Add a new example module documentation page describing structure and guidelines for documenting module command groups.
  • Register the example module documentation page in the docs navigation under Modules.

@meatsnails meatsnails self-assigned this Jan 3, 2026
@github-actions
Copy link
Contributor

github-actions bot commented Jan 3, 2026

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

None

@sourcery-ai
Copy link
Contributor

sourcery-ai bot commented Jan 3, 2026

Reviewer's Guide

Adds a new example module documentation page and wires it into the docs navigation under Modules.

File-Level Changes

Change Details Files
Wire new example module documentation into the Modules section of the docs navigation.
  • Insert new entry for the example module docs page in the Modules subsection of the nav configuration
zensical.toml
Create an example module documentation template for user modules.
  • Add front matter metadata for the example module docs page including title and tags
  • Provide introductory section outlining purpose of the module docs
  • Add a command group template section describing how to document commands, permissions, and flags, including an example shell command invocation block
docs/content/user/modules/example_module_docs.md

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@coderabbitai
Copy link

coderabbitai bot commented Jan 3, 2026

Walkthrough

This pull request reorganizes documentation navigation, restructures feature guides for conciseness, introduces template-based documentation standards with new templates for modules/commands/features, updates command syntax examples to named parameters, and adds ~50 new module-specific user guide pages spanning Fun, Info, Levels, Moderation, Snippets, Tools, and Utility modules.

Changes

Cohort / File(s) Summary
Configuration & Build Files
zensical.toml, .cursor/rules/docs/style.mdc, .markdownlint.yaml, .vscode/settings.json
Updated navigation structure with nested "Modules & Commands" categories; added nested lists formatting guidance; narrowed MD024 duplicate heading detection to siblings only; disabled markdown validation in VS Code settings
FAQ & Content Rewrites
docs/content/faq/index.md, docs/content/admin/config/roles.md
Expanded FAQ with General and Support Questions sections; converted role command syntax from positional to named parameters (e.g., rank:3 role:@Moderator``)
Feature Documentation Refactoring
docs/content/user/features/bookmarks.md, gif-limiter.md, leveling.md, starboard.md, status-roles.md, temp-vc.md, index.md
Rewrote feature pages to be more concise and action-focused, removing extensive procedural details in favor of streamlined User Experience, Configuration, and Permissions sections; updated examples and configuration formats
Reference Documentation & Templates
docs/content/reference/docs/index.md, templates/index.md, templates/module-template.md, templates/command-template.md, templates/command-group-template.md, templates/feature-template.md
Added new documentation standards page with four reusable templates (placeholder-driven structures for modules, commands, command groups, and features); includes usage guidelines, tone/tense standards, and workflow examples
Module Index Updates
docs/content/user/modules/index.md, config/index.md, fun/index.md, info/index.md, levels/index.md, moderation/index.md, snippets/index.md, tools/index.md, utility/index.md
Added new module overview pages describing purpose, command groups, common use cases, permissions, and configuration; module-level entry points for user navigation
Fun Module Documentation
fun/random.md, fun/xkcd.md
New command group documentation for Random (coinflip, dice, 8ball, number) and xkcd (latest, random, specific) with syntax, parameters, examples, and response formats
Info Module Documentation
info/avatar.md, info/info.md, info/membercount.md
New command pages documenting avatar retrieval, comprehensive object information display, and member statistics with parameters, usage examples, permissions, and response structures
Levels Module Documentation
levels/level.md, levels/levels.md
New command pages for viewing personal XP/level progress and admin-level commands (set, setxp, reset, blacklist) with syntax, examples, and permissions
Moderation Module Documentation
moderation/ban.md, moderation/cases.md, moderation/clearafk.md, moderation/jail.md, moderation/kick.md, moderation/pollban.md, moderation/pollunban.md, moderation/purge.md, moderation/report.md, moderation/slowmode.md, moderation/snippetban.md, moderation/snippetunban.md, moderation/tempban.md, moderation/timeout.md, moderation/unban.md, moderation/unjail.md, moderation/untimeout.md, moderation/warn.md
Comprehensive 19-file moderation command documentation covering user/role actions (ban, kick, warn, timeout/unjail, jail), case management, and specialized bans (poll, snippet) with parameters, flags, permissions, examples, response workflows, and error handling
Snippets Module Documentation
snippets/index.md, snippets/createsnippet.md, snippets/deletesnippet.md, snippets/editsnippet.md, snippets/snippet.md, snippets/snippetinfo.md, snippets/snippets.md, snippets/togglesnippetlock.md
New command pages for snippet management (create, delete, edit, retrieve, info, list, lock toggle) with syntax, aliases, parameters, permissions, and examples
Tools Module Documentation
tools/tldr.md, tools/wolfram.md
New command pages for TLDR (CLI cheat sheets with platform/language support) and Wolfram (computational queries and conversions) with usage examples and response formats
Utility Module Documentation
utility/afk.md, utility/encode-decode.md, utility/ping.md, utility/poll.md, utility/remindme.md, utility/run.md, utility/self-timeout.md, utility/timezones.md, utility/wiki.md
New command pages documenting away status, encoding utilities, latency checking, polls, reminders, code execution, self-timeout, timezone display, and wiki lookups with parameters, examples, interactive features, and error handling

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Title check ❓ Inconclusive The title '[DRAFT] docs' is extremely vague and generic, providing no meaningful information about the extensive documentation changes in the changeset. Replace with a more descriptive title like 'Add comprehensive documentation templates and module guides' or 'Reorganize docs navigation and add template structure'.
✅ Passed checks (2 passed)
Check name Status Explanation
Description check ✅ Passed The description is partially related to the changeset, mentioning templates and navigation, but significantly understates the scope of changes which include extensive module docs, feature rewrites, configuration updates, and navigation restructuring.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/docs

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Contributor

github-actions bot commented Jan 3, 2026

📚 Documentation Preview

Type URL Version Message
Production https://tux.atl.dev - -
Preview https://fd03ddde-tux-docs.allthingslinux.workers.dev fd03ddde-d3fc-4a08-91d4-d93b77e20ebb Preview: tux@97abe3b6a1c344c9108d456a53b55a73ab05f434 on 1135/merge by kzndotsh (run 259)

@sentry
Copy link

sentry bot commented Jan 3, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 40.13%. Comparing base (cd1f20e) to head (1f130cd).
⚠️ Report is 14 commits behind head on main.
✅ All tests successful. No failed tests found.

❌ Your project check has failed because the head coverage (40.13%) is below the target coverage (80.00%). You can increase the head coverage or adjust the target coverage.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1135      +/-   ##
==========================================
- Coverage   40.24%   40.13%   -0.11%     
==========================================
  Files         204      205       +1     
  Lines       14373    14444      +71     
  Branches     1686     1686              
==========================================
+ Hits         5784     5797      +13     
- Misses       8589     8647      +58     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🧹 Nitpick comments (2)
docs/content/user/modules/example_module_docs.md (1)

1-9: Consider a more descriptive title for user-facing documentation.

The title "example_module_docs" uses underscores and doesn't clearly indicate this is template documentation. Consider a title like "Module Documentation Template" or "Example Module" for better clarity.

🔎 Suggested improvement
 ---
-title: example_module_docs
+title: Module Documentation Template
 tags:
   - user-guide
   - features
   - example
 ---
 
-# example_module_docs
+# Module Documentation Template
zensical.toml (1)

31-41: Consider reordering the navigation entry.

The new example documentation is placed before index.md in the Modules navigation. Typically, index pages appear first in the navigation hierarchy for better organization and user experience. Consider moving this entry after the index, or if this placement is intentional for testing purposes in this draft PR, it may be worth adding a comment.

🔎 Suggested reordering
         { "Modules" = [
-            "user/modules/example_module_docs.md",
             "user/modules/index.md",
+            "user/modules/example_module_docs.md",
             "user/modules/fun.md",
             "user/modules/info.md",
             "user/modules/levels.md",
             "user/modules/moderation.md",
             "user/modules/snippets.md",
             "user/modules/tools.md",
             "user/modules/utility.md",
         ] },
📜 Review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between cd1f20e and 3f4630e.

📒 Files selected for processing (2)
  • docs/content/user/modules/example_module_docs.md
  • zensical.toml
🧰 Additional context used
📓 Path-based instructions (1)
**/*.md

📄 CodeRabbit inference engine (.cursor/rules/rules.mdc)

Follow documentation standards as defined in docs/docs.mdc, docs/patterns.mdc, docs/principals.mdc, docs/structure.mdc, docs/style.mdc, and docs/syntax.mdc

Files:

  • docs/content/user/modules/example_module_docs.md
🪛 LanguageTool
docs/content/user/modules/example_module_docs.md

[grammar] ~20-~20: Ensure spelling is correct
Context: ...s in this case are when module contains multuiple related commands I.E ban & unban If a c...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[grammar] ~21-~21: Ensure spelling is correct
Context: ... have any commands then they can be "by themeselves" in the module docs Firstly give a ...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[grammar] ~25-~25: Ensure spelling is correct
Context: ...nd has when using it and what each flag corosponds to sh command <flag1> <flag2>

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[grammar] ~25-~25: Ensure spelling is correct
Context: ...sing it and what each flag corosponds to sh command <flag1> <flag2>

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Run All Tests (3.13.8)

Comment on lines 11 to 13
## Introduction

Introduces the module and gives a brief overview of it's purpose and what it offers.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix grammatical error: use "its" instead of "it's".

"Its" is the possessive form; "it's" means "it is".

🔎 Proposed fix
 ## Introduction
 
-Introduces the module and gives a brief overview of it's purpose and what it offers.
+Introduces the module and gives a brief overview of its purpose and what it offers.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
## Introduction
Introduces the module and gives a brief overview of it's purpose and what it offers.
## Introduction
Introduces the module and gives a brief overview of its purpose and what it offers.
🤖 Prompt for AI Agents
In docs/content/user/modules/example_module_docs.md around lines 11 to 13, the
text uses the contraction "it's" where the possessive "its" is required; update
the sentence "Introduces the module and gives a brief overview of it's purpose
and what it offers." to use "its" (i.e., "its purpose") so the possessive form
is correct.

Comment on lines 15 to 21
<!-- Groups in this case are when module contains multuiple related commands I.E ban & unban
If a command dosen't have any commands then they can be "by themeselves" in the module docs -->

## Command Group (Template/Guideline)
>
>Groups in this case are when module contains multuiple related commands I.E ban & unban
If a command dosen't have any commands then they can be "by themeselves" in the module docs
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix multiple spelling errors and blockquote formatting.

This section contains several issues:

  1. Spelling errors: "multuiple" → "multiple", "dosen't" → "doesn't", "themeselves" → "themselves"
  2. Malformed blockquote: lines 20-21 are missing the > prefix
  3. Redundant content between HTML comment and blockquote
🔎 Proposed fix
-<!-- Groups in this case are when module contains multuiple related commands I.E ban & unban
-If a command dosen't have any commands then they can be "by themeselves" in the module docs -->
+<!-- Groups in this case are when module contains multiple related commands I.E ban & unban
+If a command doesn't have any commands then they can be "by themselves" in the module docs -->
 
 ## Command Group (Template/Guideline)
->
->Groups in this case are when module contains multuiple related commands I.E ban & unban
-If a command dosen't have any commands then they can be "by themeselves" in the module docs
+
+> Groups in this case are when module contains multiple related commands I.E ban & unban.
+> If a command doesn't have any commands then they can be "by themselves" in the module docs.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
<!-- Groups in this case are when module contains multuiple related commands I.E ban & unban
If a command dosen't have any commands then they can be "by themeselves" in the module docs -->
## Command Group (Template/Guideline)
>
>Groups in this case are when module contains multuiple related commands I.E ban & unban
If a command dosen't have any commands then they can be "by themeselves" in the module docs
<!-- Groups in this case are when module contains multiple related commands I.E ban & unban
If a command doesn't have any commands then they can be "by themselves" in the module docs -->
## Command Group (Template/Guideline)
> Groups in this case are when module contains multiple related commands I.E ban & unban.
> If a command doesn't have any commands then they can be "by themselves" in the module docs.
🧰 Tools
🪛 LanguageTool

[grammar] ~20-~20: Ensure spelling is correct
Context: ...s in this case are when module contains multuiple related commands I.E ban & unban If a c...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[grammar] ~21-~21: Ensure spelling is correct
Context: ... have any commands then they can be "by themeselves" in the module docs Firstly give a ...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

🤖 Prompt for AI Agents
In docs/content/user/modules/example_module_docs.md around lines 15 to 21, fix
spelling and formatting: correct "multuiple" → "multiple", "dosen't" →
"doesn't", and "themeselves" → "themselves"; ensure the blockquote lines 20–21
have the leading ">" so the quoted guideline renders properly; and remove the
redundant duplicate text (either the HTML comment or the blockquote) so only one
clear guideline remains.

Comment on lines 23 to 25
**Firstly** give a brief overview of the command(s) what it does and what its ment to be used for. \
**Secondly** ==Specify any server permisions== needed for both the bot and the user to run. \
**Finally** specifiy ==all of the flags== the command has when using it and what each flag corosponds to
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Correct multiple spelling errors in the template guidelines.

Several typos need correction:

  • "ment" → "meant"
  • "permisions" → "permissions"
  • "specifiy" → "specify"
  • "corosponds" → "corresponds"
🔎 Proposed fix
-**Firstly** give a brief overview of the command(s) what it does and what its ment to be used for. \
-**Secondly** ==Specify any server permisions== needed for both the bot and the user to run. \
-**Finally** specifiy ==all of the flags== the command has when using it and what each flag corosponds to
+**Firstly** give a brief overview of the command(s) what it does and what its meant to be used for. \
+**Secondly** ==Specify any server permissions== needed for both the bot and the user to run. \
+**Finally** specify ==all of the flags== the command has when using it and what each flag corresponds to
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
**Firstly** give a brief overview of the command(s) what it does and what its ment to be used for. \
**Secondly** ==Specify any server permisions== needed for both the bot and the user to run. \
**Finally** specifiy ==all of the flags== the command has when using it and what each flag corosponds to
**Firstly** give a brief overview of the command(s) what it does and what its meant to be used for. \
**Secondly** ==Specify any server permissions== needed for both the bot and the user to run. \
**Finally** specify ==all of the flags== the command has when using it and what each flag corresponds to
🧰 Tools
🪛 LanguageTool

[grammar] ~25-~25: Ensure spelling is correct
Context: ...nd has when using it and what each flag corosponds to sh command <flag1> <flag2>

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[grammar] ~25-~25: Ensure spelling is correct
Context: ...sing it and what each flag corosponds to sh command <flag1> <flag2>

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

🤖 Prompt for AI Agents
In docs/content/user/modules/example_module_docs.md around lines 23 to 25, fix
the spelling mistakes in the template guidance: change "ment" to "meant",
"permisions" to "permissions", "specifiy" to "specify", and "corosponds" to
"corresponds", preserving the original sentence structure and emphasis markers.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (1)
docs/content/faq/index.md (1)

13-35: Structure and content are clear; minor capitalization inconsistency to address.

The new Q&A sections are well-organized and provide helpful guidance. However, there's a capitalization inconsistency with "GitHub": line 29 uses lowercase "github" while line 35 uses "Github". For consistency with proper nouns, both should use "GitHub".

🔎 Proposed capitalization fix
-**A:** Open a github issue with the "[FEATURE]" or open a pull-request and we'll think about it.
+**A:** Open a GitHub issue with the "[FEATURE]" or open a pull-request and we'll think about it.
-**A:** Feel free to open a Github issue or ask in the [Discord](https://discord.gg/gpmSjcjQxg).
+**A:** Feel free to open a GitHub issue or ask in the [Discord](https://discord.gg/gpmSjcjQxg).
📜 Review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 3f4630e and 3c45907.

📒 Files selected for processing (1)
  • docs/content/faq/index.md
🧰 Additional context used
📓 Path-based instructions (1)
**/*.md

📄 CodeRabbit inference engine (.cursor/rules/rules.mdc)

Follow documentation standards as defined in docs/docs.mdc, docs/patterns.mdc, docs/principals.mdc, docs/structure.mdc, docs/style.mdc, and docs/syntax.mdc

Files:

  • docs/content/faq/index.md
🪛 LanguageTool
docs/content/faq/index.md

[style] ~33-~33: Using many exclamation marks might seem excessive (in this case: 4 exclamation marks for a text that’s 919 characters long)
Context: ...tions Q: I need help setting up Tux! A: Feel free to open a Github issu...

(EN_EXCESSIVE_EXCLAMATION)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Run All Tests (3.13.8)
  • GitHub Check: Sourcery review

…ocumentation

- Introduced a new section on proper formatting for nested lists, emphasizing the need for a blank line between bold list items and their nested bullet points to ensure correct rendering.
- Provided examples to illustrate the correct and incorrect formatting practices.
- Revised command examples for assigning and unassigning roles to include explicit parameter labels, enhancing readability and understanding.
- Updated documentation to reflect the new syntax format for role commands, ensuring consistency across the documentation.
…d groups, features, and modules

- Introduced templates for documenting commands, command groups, features, and modules to ensure consistency and clarity across the documentation.
- Each template includes structured outlines, placeholders for key information, and guidelines for usage to assist contributors in creating comprehensive documentation.
- Updated the index to provide an overview of available templates and instructions on how to use them effectively.
- Introduced a new index file for the documentation section, providing an overview of templates and resources for creating consistent documentation for Tux.
- Included links to various templates such as Module, Command, Command Group, and Feature templates to assist contributors in documentation efforts.
- Enhanced the documentation for the Bookmarks feature, detailing how to save and manage important messages in Discord.
- Updated the GIF Limiter section to clarify its functionality in preventing GIF spam through rate limiting.
- Revised the XP & Leveling documentation to explain the XP earning process and role assignment upon leveling up.
- Improved the Starboard feature documentation to outline how popular messages are highlighted based on reactions.
- Clarified the Status Roles feature, detailing how roles are assigned based on users' custom status messages using regex patterns.
- Updated the Temp VC documentation to explain the automatic creation and management of temporary voice channels.
- Deleted the example_module_docs file, which provided an overview and guidelines for documenting modules and commands. This change helps streamline the documentation by removing outdated or redundant content.
…cumentation

- Added comprehensive sections for Moderation, Utility, Fun, Info, Snippets, Tools, Levels, and Config modules, enhancing the user guide's navigation.
- Removed the outdated Modules section to streamline the documentation and improve organization.
- Introduced a new Docs section in the reference, including templates for various documentation types to assist contributors.
- Set the extends property to null to remove inherited rules.
- Changed MD024 to check only sibling headings, enhancing heading structure validation.
- Introduced the Fun module, detailing entertainment commands for Discord servers.
- Added documentation for the Random command group, including coin flips, dice rolls, magic 8-ball, and number generation.
- Included documentation for the XKCD command group, allowing users to fetch and share comics from xkcd.com.
- Provided usage examples, command syntax, and related commands to enhance user understanding and engagement.
…ed commands

- Introduced detailed documentation for the Info module, covering commands to retrieve information about Discord entities such as users, channels, and servers.
- Added specific documentation for the `/avatar`, `/membercount`, and `/info` commands, including syntax, parameters, usage examples, and permissions.
- Enhanced user understanding by providing structured information and related command links.
…elated commands

- Introduced detailed documentation for the Levels module, covering XP tracking and leveling system for Discord servers.
- Added specific documentation for the `/level` and `/levels` commands, including syntax, parameters, usage examples, and permissions.
- Enhanced user understanding by providing structured information on command groups, common use cases, and configuration requirements.
…ated commands

- Introduced the Tools module, detailing utility commands for enhanced functionality within Discord.
- Added specific documentation for the `/tldr` and `/wolfram` commands, including syntax, parameters, usage examples, and permissions.
- Enhanced user understanding by providing structured information on common use cases and related documentation links.
- Deleted outdated documentation files for Fun, Info, Levels, Moderation, Snippets, Tools, and Utility modules.
- Renamed the User Commands section to Modules for better clarity and organization.
- Updated the section header to reflect the new focus on modules, indicating ongoing work in progress.
…nd related commands

- Introduced the Snippets module, detailing commands for creating, managing, and using code snippets and aliases within Discord.
- Added documentation for the `$createsnippet`, `$deletesnippet`, `$editsnippet`, `$snippet`, `$snippets`, `$snippetinfo`, and `$togglesnippetlock` commands, including syntax, parameters, usage examples, and permissions.
- Enhanced user understanding by providing structured information on common use cases, error handling, and related commands.
… related commands

- Introduced the Utility module, detailing various commands for server management and user interaction.
- Added documentation for commands including `/afk`, `/encode`, `/poll`, `/remindme`, `/run`, `/self_timeout`, `/timezones`, and `/wiki`, covering syntax, parameters, usage examples, and permissions.
- Enhanced user understanding by providing structured information on command groups, common use cases, and related commands.
…ands

- Introduced the Moderation module, detailing commands for managing server behavior and user interactions.
- Added documentation for commands including `/ban`, `/kick`, `/warn`, `/timeout`, `/jail`, `/unjail`, `/tempban`, `/clearafk`, `/purge`, `/report`, and others, covering syntax, parameters, usage examples, and permissions.
- Enhanced user understanding by providing structured information on command groups, common workflows, and related commands.
…elated commands

- Introduced the Config module, detailing the configuration and management system for guilds.
- Added documentation for commands including `/config overview`, `/config ranks`, `/config roles`, `/config commands`, and `/config logs`, covering syntax, parameters, usage examples, and permissions.
- Enhanced user understanding by providing structured information on command groups, common use cases, and related documentation links.
- Updated the VSCode settings to disable markdown validation for improved editing experience.
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 14

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
zensical.toml (1)

18-268: The nav structure references 176 missing markdown files—this will break the documentation build.

All referenced markdown files must exist before this change can be merged. Currently missing files include entire sections like admin guides, developer tutorials, user module documentation, and references. Either create the missing documentation files or remove the broken nav entries. Verify file paths are correct if these files exist elsewhere in the repository.

🤖 Fix all issues with AI agents
In @docs/content/admin/config/roles.md:
- Line 59: The example command "/config role assign rank:3 role:@Moderator" uses
the placeholder <rank_number> but the docs do not define it; update the Roles
documentation to add a brief definition for <rank_number> (e.g., "where
<rank_number> is the target rank (1-5)") near the example or in the parameter
glossary so readers know the valid range and meaning of the rank parameter.

In @docs/content/user/features/gif-limiter.md:
- Line 12: Update the phrase "rate limiting" to the hyphenated form
"rate-limiting" in the sentence that describes the feature ("Prevents GIF spam
by rate limiting GIF messages in channels...") so the compound adjective
correctly modifies "GIF messages" and reads "Prevents GIF spam by rate-limiting
GIF messages in channels."

In @docs/content/user/modules/fun/random.md:
- Line 88: Replace the incorrect phrase "a 20-sided dice" with the grammatically
correct singular form "a 20-sided die" in
docs/content/user/modules/fun/random.md; search for occurrences (notably the
instances at lines 52 and 88) and update the text so the indefinite article "a"
is followed by "die" rather than "dice".
- Line 52: Replace the incorrect phrase "Roll a dice with a specified number of
sides." with the grammatically correct singular form, e.g., "Roll a die with a
specified number of sides." (or alternatively "Roll the dice with a specified
number of sides." if you prefer plural/idiomatic tone) so the sentence uses a
matching article and noun.

In @docs/content/user/modules/levels/index.md:
- Around line 42-58: The heading text contains the template prefix "Use Case
Name:" which should be removed; update the markdown headings by replacing "###
Use Case Name: Checking Ranking Progress" with "### Checking Ranking Progress"
and likewise change "### Use Case Name: Manual Level Adjustments" to "### Manual
Level Adjustments" (keep the same heading level and surrounding content intact).

In @docs/content/user/modules/moderation/ban.md:
- Around line 95-102: The "Basic Usage" heading claims "no specified reason or
message purge" but the example includes a reason; update the Basic Usage section
so the prose and the example match by either removing the reason from the
example (change the code block to "/ban member:@user" and mention no message
purge) or changing the description to state that a reason is provided (e.g.,
"Banning a user with a specified reason") and keep the example "/ban
member:@user reason:\"Unspecified violation\""; edit the code block under the
"Basic Usage" heading accordingly.

In @docs/content/user/modules/moderation/clearafk.md:
- Around line 43-54: Reword the AFK behavior and confirmation message text in
the clearafk documentation to avoid ambiguous phrasing: replace “Optionally
timeouts the user (self-timeout) if enforced AFK is used” with a clearer phrase
that explains enforced AFK may apply a server-enforced timeout (referred to as a
“self-timeout”) to the user, and change the “ephemeral confirmation message”
note to specify that ephemeral confirmations are sent only for slash commands
while prefix/legacy commands send normal channel replies; update the relevant
descriptions referencing the clearafk command and apply the same clarification
to the other occurrence around lines 81-83 so both places consistently mention
“self-timeout (server-enforced timeout)” and “ephemeral only for slash commands,
non-ephemeral for prefix commands.”

In @docs/content/user/modules/moderation/index.md:
- Around line 56-65: Remove the template prefix "Use Case Name:" from the header
so it reads "### Handling Rule Violations", and change the three steps to
consistent imperative/clear grammar: "Issue a warning for first-time violations
using `/warn`.", "Use `/timeout` for repeat violations to temporarily restrict a
member's interactions.", and "Use `/ban` for severe violations to permanently
remove a member." Ensure punctuation and possessive ("member's interactions")
are corrected.

In @docs/content/user/modules/moderation/report.md:
- Line 88: Fix the grammar in the error-handling sentence in the moderation
report docs: replace "The bot attempt to post the report but the server's
designated report/log channel has not been configured." with a correct form such
as "The bot's attempt to post the report failed because the server's designated
report/log channel has not been configured." or "When the bot attempts to post
the report, the server's designated report/log channel has not been configured."
to correct the subject-verb agreement (edit the sentence in
docs/content/user/modules/moderation/report.md near the existing sentence).

In @docs/content/user/modules/moderation/unjail.md:
- Around line 65-66: Update the markdown heading text "## permissions" to use
title case as "## Permissions" in the
docs/content/user/modules/moderation/unjail.md file so the section heading
follows the repository's capitalization style.

In @docs/content/user/modules/moderation/untimeout.md:
- Around line 81-90: Update the "Basic Untimeout (Slash)" example so it is truly
minimal by removing the optional reason from the example command or else rename
the heading to indicate the example includes an optional reason; specifically,
change the example line `/untimeout member:@user reason:"Manual release"` to
`/untimeout member:@user` (or rename the heading "Basic Untimeout (Slash)" to
"Basic Untimeout (Slash) (with optional reason)" if you keep the reason shown)
and ensure the displayed block matches that choice.

In @docs/content/user/modules/snippets/createsnippet.md:
- Line 48: The sentence "Save a block of code with markdown formatting." should
capitalize the proper noun by changing "markdown" to "Markdown" so it reads
"Save a block of code with Markdown formatting."; update the text in the
docs/content/user/modules/snippets/createsnippet.md accordingly.

In @docs/content/user/modules/utility/poll.md:
- Line 45: Change the header text "Multiple Choice Poll" to use a hyphenated
compound modifier: replace the string "Multiple Choice Poll" with
"Multiple-Choice Poll" in the docs content (the header line currently titled
Multiple Choice Poll).

In @docs/content/user/modules/utility/remindme.md:
- Line 57: Update the compound adjectives used as modifiers by adding hyphens:
change the heading "Short Term Reminder" (and any other occurrences of "Short
Term" used before a noun) to "Short-Term Reminder" and change "Long Term" (and
its occurrences used as modifiers) to "Long-Term"; search for the headings or
inline phrases "Short Term" and "Long Term" in this document and replace them
with the hyphenated forms to satisfy the static analysis rule.
🧹 Nitpick comments (9)
docs/content/user/features/index.md (1)

22-22: Use hyphen in compound adjective: "on-demand" instead of "on demand".

When "on demand" is used as a compound adjective modifying a noun (as in "Create temporary voice channels on-demand"), it should be hyphenated per standard compound adjective styling in technical documentation.

✏️ Proposed fix
-- **[Temp VC](temp-vc.md)** - Create temporary voice channels on demand
+- **[Temp VC](temp-vc.md)** - Create temporary voice channels on-demand
docs/content/user/modules/snippets/snippet.md (1)

53-63: Consider adding Error Handling section for consistency.

The createsnippet and editsnippet documentation files include Error Handling sections. For consistency and user guidance, this file should document the error case when a snippet with the provided name doesn't exist, including the expected error message and suggested next steps.

For example:

## Error Handling

### Error: Snippet Not Found

**When it occurs:** When you try to retrieve a snippet with a name that doesn't exist.

**Solution:** Use the `$snippets` command to list all available snippets in the server.
docs/content/user/modules/snippets/togglesnippetlock.md (1)

1-10: Reconsider icon choice for lock command.

The icon lucide/square-slash (line 4) represents prohibition or "not allowed" rather than locking. For a command that toggles locks, consider using lucide/lock or lucide/lock-closed instead to better convey the semantic meaning of the command.

docs/content/user/modules/snippets/snippets.md (1)

1-10: Icon choice does not match command semantics.

The icon lucide/square-slash (line 4) represents prohibition, but this command is for listing/searching snippets. Consider using a more appropriate icon such as lucide/list, lucide/search, or lucide/database to better convey a directory/listing operation.

docs/content/user/features/starboard.md (1)

51-61: Clarify user permissions statement.

Line 61 states "None required (admins can configure)" which is ambiguous. Clarify whether this means users have no permission requirements to react/view starboard messages, or whether the command itself is admin-only. Consider rephrasing to: "None required for users to react and view starboard; administrators can configure via /starboard setup" or similar.

docs/content/user/modules/moderation/purge.md (1)

13-13: Reduce wordiness in intro sentence.

Line 13 uses "large number of messages" which could be more concise as "many messages" while maintaining clarity.

📝 Proposed change
-The `purge` command (also available as `p`) allows server moderators to quickly delete a large number of messages from a channel. This is essential for cleaning up spam, removing inappropriate content, or clearing out old messages from a channel.
+The `purge` command (also available as `p`) allows server moderators to quickly delete many messages from a channel. This is essential for cleaning up spam, removing inappropriate content, or clearing out old messages from a channel.
docs/content/user/modules/moderation/clearafk.md (1)

17-34: Show the alias in at least one syntax/example to reduce ambiguity.
Right now unafk is listed but not demonstrated.

Example addition
 **Prefix Command:**

 ```text
 $clearafk @user
+$unafk @user
</details>



Also applies to: 71-77

</blockquote></details>
<details>
<summary>docs/content/user/modules/moderation/ban.md (1)</summary><blockquote>

`37-52`: **Avoid mixing slash args and prefix flags in one “Flags” model.**  
Right now `reason` is described as positional (prefix) but also as a slash argument; the section title/table layout makes this hard to parse quickly.




Also applies to: 53-77

</blockquote></details>
<details>
<summary>docs/content/user/features/leveling.md (1)</summary><blockquote>

`58-67`: **Command table could clarify permission levels more explicitly.**

The commands are accurately listed, but permission levels are indicated only via inline "(admin)" labels. Consider adding a separate indicator (e.g., a "Level" column with "User" / "Admin" or a visual marker) to make scanning easier for users trying to determine which commands they can use.

This would improve accessibility, especially when users are quickly looking up whether a command requires elevated permissions.

</blockquote></details>

</blockquote></details>

<details>
<summary>📜 Review details</summary>

**Configuration used**: Organization UI

**Review profile**: CHILL

**Plan**: Pro

<details>
<summary>📥 Commits</summary>

Reviewing files that changed from the base of the PR and between 3c45907fcba15154c421e459bd260423b62c5238 and 1f130cdda3b992ff30fd4b3ea415168f338cd721.

</details>

<details>
<summary>📒 Files selected for processing (77)</summary>

* `.cursor/rules/docs/style.mdc`
* `.markdownlint.yaml`
* `.vscode/settings.json`
* `docs/content/admin/config/roles.md`
* `docs/content/reference/docs/index.md`
* `docs/content/reference/docs/templates/command-group-template.md`
* `docs/content/reference/docs/templates/command-template.md`
* `docs/content/reference/docs/templates/feature-template.md`
* `docs/content/reference/docs/templates/index.md`
* `docs/content/reference/docs/templates/module-template.md`
* `docs/content/user/features/bookmarks.md`
* `docs/content/user/features/gif-limiter.md`
* `docs/content/user/features/index.md`
* `docs/content/user/features/leveling.md`
* `docs/content/user/features/starboard.md`
* `docs/content/user/features/status-roles.md`
* `docs/content/user/features/temp-vc.md`
* `docs/content/user/modules/config/index.md`
* `docs/content/user/modules/fun.md`
* `docs/content/user/modules/fun/index.md`
* `docs/content/user/modules/fun/random.md`
* `docs/content/user/modules/fun/xkcd.md`
* `docs/content/user/modules/index.md`
* `docs/content/user/modules/info.md`
* `docs/content/user/modules/info/avatar.md`
* `docs/content/user/modules/info/index.md`
* `docs/content/user/modules/info/info.md`
* `docs/content/user/modules/info/membercount.md`
* `docs/content/user/modules/levels.md`
* `docs/content/user/modules/levels/index.md`
* `docs/content/user/modules/levels/level.md`
* `docs/content/user/modules/levels/levels.md`
* `docs/content/user/modules/moderation.md`
* `docs/content/user/modules/moderation/ban.md`
* `docs/content/user/modules/moderation/cases.md`
* `docs/content/user/modules/moderation/clearafk.md`
* `docs/content/user/modules/moderation/index.md`
* `docs/content/user/modules/moderation/jail.md`
* `docs/content/user/modules/moderation/kick.md`
* `docs/content/user/modules/moderation/pollban.md`
* `docs/content/user/modules/moderation/pollunban.md`
* `docs/content/user/modules/moderation/purge.md`
* `docs/content/user/modules/moderation/report.md`
* `docs/content/user/modules/moderation/slowmode.md`
* `docs/content/user/modules/moderation/snippetban.md`
* `docs/content/user/modules/moderation/snippetunban.md`
* `docs/content/user/modules/moderation/tempban.md`
* `docs/content/user/modules/moderation/timeout.md`
* `docs/content/user/modules/moderation/unban.md`
* `docs/content/user/modules/moderation/unjail.md`
* `docs/content/user/modules/moderation/untimeout.md`
* `docs/content/user/modules/moderation/warn.md`
* `docs/content/user/modules/snippets.md`
* `docs/content/user/modules/snippets/createsnippet.md`
* `docs/content/user/modules/snippets/deletesnippet.md`
* `docs/content/user/modules/snippets/editsnippet.md`
* `docs/content/user/modules/snippets/index.md`
* `docs/content/user/modules/snippets/snippet.md`
* `docs/content/user/modules/snippets/snippetinfo.md`
* `docs/content/user/modules/snippets/snippets.md`
* `docs/content/user/modules/snippets/togglesnippetlock.md`
* `docs/content/user/modules/tools.md`
* `docs/content/user/modules/tools/index.md`
* `docs/content/user/modules/tools/tldr.md`
* `docs/content/user/modules/tools/wolfram.md`
* `docs/content/user/modules/utility.md`
* `docs/content/user/modules/utility/afk.md`
* `docs/content/user/modules/utility/encode-decode.md`
* `docs/content/user/modules/utility/index.md`
* `docs/content/user/modules/utility/ping.md`
* `docs/content/user/modules/utility/poll.md`
* `docs/content/user/modules/utility/remindme.md`
* `docs/content/user/modules/utility/run.md`
* `docs/content/user/modules/utility/self-timeout.md`
* `docs/content/user/modules/utility/timezones.md`
* `docs/content/user/modules/utility/wiki.md`
* `zensical.toml`

</details>

<details>
<summary>✅ Files skipped from review due to trivial changes (20)</summary>

* docs/content/user/modules/moderation/warn.md
* docs/content/user/modules/moderation/cases.md
* docs/content/user/modules/utility/timezones.md
* docs/content/user/modules/moderation/tempban.md
* docs/content/reference/docs/index.md
* docs/content/user/modules/config/index.md
* docs/content/user/modules/info/avatar.md
* docs/content/user/modules/moderation/pollunban.md
* docs/content/user/modules/moderation/slowmode.md
* docs/content/user/modules/snippets/deletesnippet.md
* docs/content/user/modules/utility/run.md
* docs/content/user/modules/utility/ping.md
* docs/content/user/modules/snippets/index.md
* docs/content/user/modules/fun/xkcd.md
* docs/content/user/modules/info/membercount.md
* docs/content/user/modules/info/info.md
* docs/content/user/modules/snippets/snippetinfo.md
* docs/content/user/modules/moderation/kick.md
* docs/content/user/modules/utility/afk.md
* docs/content/user/modules/utility/index.md

</details>

<details>
<summary>🧰 Additional context used</summary>

<details>
<summary>📓 Path-based instructions (2)</summary>

<details>
<summary>**/*.md</summary>


**📄 CodeRabbit inference engine (.cursor/rules/rules.mdc)**

> Follow documentation standards as defined in docs/docs.mdc, docs/patterns.mdc, docs/principals.mdc, docs/structure.mdc, docs/style.mdc, and docs/syntax.mdc

Files:
- `docs/content/user/modules/levels/levels.md`
- `docs/content/user/modules/moderation/purge.md`
- `docs/content/user/modules/index.md`
- `docs/content/user/modules/fun/random.md`
- `docs/content/user/modules/utility/self-timeout.md`
- `docs/content/user/modules/moderation/pollban.md`
- `docs/content/user/modules/moderation/timeout.md`
- `docs/content/user/modules/utility/remindme.md`
- `docs/content/user/modules/tools/wolfram.md`
- `docs/content/user/modules/utility/poll.md`
- `docs/content/user/modules/moderation/untimeout.md`
- `docs/content/user/modules/snippets/snippet.md`
- `docs/content/reference/docs/templates/command-template.md`
- `docs/content/user/features/bookmarks.md`
- `docs/content/user/features/status-roles.md`
- `docs/content/reference/docs/templates/feature-template.md`
- `docs/content/user/modules/moderation/ban.md`
- `docs/content/user/modules/moderation/index.md`
- `docs/content/user/features/gif-limiter.md`
- `docs/content/user/modules/utility/encode-decode.md`
- `docs/content/user/modules/moderation/snippetunban.md`
- `docs/content/user/features/temp-vc.md`
- `docs/content/user/modules/utility/wiki.md`
- `docs/content/user/modules/moderation/unban.md`
- `docs/content/user/features/starboard.md`
- `docs/content/user/modules/tools/index.md`
- `docs/content/reference/docs/templates/index.md`
- `docs/content/user/features/leveling.md`
- `docs/content/user/modules/fun/index.md`
- `docs/content/user/modules/moderation/snippetban.md`
- `docs/content/user/modules/snippets/editsnippet.md`
- `docs/content/user/modules/info/index.md`
- `docs/content/user/modules/tools/tldr.md`
- `docs/content/user/modules/snippets/snippets.md`
- `docs/content/reference/docs/templates/module-template.md`
- `docs/content/user/modules/moderation/report.md`
- `docs/content/admin/config/roles.md`
- `docs/content/user/modules/moderation/unjail.md`
- `docs/content/user/features/index.md`
- `docs/content/reference/docs/templates/command-group-template.md`
- `docs/content/user/modules/levels/index.md`
- `docs/content/user/modules/levels/level.md`
- `docs/content/user/modules/moderation/clearafk.md`
- `docs/content/user/modules/moderation/jail.md`
- `docs/content/user/modules/snippets/createsnippet.md`
- `docs/content/user/modules/snippets/togglesnippetlock.md`

</details>
<details>
<summary>.cursor/**/*.{mdc,md}</summary>


**📄 CodeRabbit inference engine (AGENTS.md)**

> Validate Cursor rules and commands before committing

Files:
- `.cursor/rules/docs/style.mdc`

</details>

</details><details>
<summary>🧠 Learnings (1)</summary>

<details>
<summary>📚 Learning: 2025-12-30T22:44:56.692Z</summary>

Learnt from: CR
Repo: allthingslinux/tux PR: 0
File: .cursor/rules/rules.mdc:0-0
Timestamp: 2025-12-30T22:44:56.692Z
Learning: Applies to **/*.md : Follow documentation standards as defined in docs/docs.mdc, docs/patterns.mdc, docs/principals.mdc, docs/structure.mdc, docs/style.mdc, and docs/syntax.mdc


**Applied to files:**
- `.cursor/rules/docs/style.mdc`
- `docs/content/reference/docs/templates/index.md`

</details>

</details><details>
<summary>🪛 LanguageTool</summary>

<details>
<summary>docs/content/user/modules/levels/levels.md</summary>

[style] ~132-~132: Using many exclamation marks might seem excessive (in this case: 9 exclamation marks for a text that’s 3185 characters long)
Context: ...assigned/removed during level changes.  !!! info "Configuration Guide"     For deta...

(EN_EXCESSIVE_EXCLAMATION)

</details>
<details>
<summary>docs/content/user/modules/moderation/purge.md</summary>

[style] ~13-~13: To reduce wordiness, try specifying a number or using “many” or “numerous” instead.
Context: ...ows server moderators to quickly delete a large number of messages from a channel. This is essent...

(LARGE_NUMBER_OF)

</details>
<details>
<summary>docs/content/user/modules/fun/random.md</summary>

[grammar] ~52-~52: Ensure spelling is correct
Context: ...  - **Aliases:** `cf`  ### dice  Roll a dice with a specified number of sides.  - **...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

---

[grammar] ~88-~88: Ensure spelling is correct
Context: ...### Complex Dice Rolls  Roll a 20-sided dice for a game or activity.  ```text /rando...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

</details>
<details>
<summary>docs/content/user/modules/moderation/timeout.md</summary>

[grammar] ~11-~11: Ensure spelling is correct
Context: ...uide   - commands   - moderation ---  # Timeout  The `timeout` command (also available as...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

---

[style] ~90-~90: Using many exclamation marks might seem excessive (in this case: 6 exclamation marks for a text that’s 3716 characters long)
Context: ...ation permissions to use this command.  !!! info "Permission System"     Command pe...

(EN_EXCESSIVE_EXCLAMATION)

</details>
<details>
<summary>docs/content/user/modules/utility/remindme.md</summary>

[grammar] ~12-~12: Ensure spelling is correct
Context: ...mmands   - utility   - reminders ---  # Remindme  The `remindme` command is a personal pro...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

---

[grammar] ~57-~57: Use a hyphen to join words.
Context: ...`, `500s`.  ## Usage Examples  ### Short Term Reminder  Set a reminder for a quic...

(QB_NEW_EN_HYPHEN)

---

[grammar] ~65-~65: Use a hyphen to join words.
Context: ...der:"Take the laundry out" ```  ### Long Term Planning  Set a reminder for next w...

(QB_NEW_EN_HYPHEN)

</details>
<details>
<summary>docs/content/user/modules/utility/poll.md</summary>

[grammar] ~45-~45: Use a hyphen to join words.
Context: ...el?" options:"Yes, No" ```  ### Multiple Choice Poll  Get feedback on several ite...

(QB_NEW_EN_HYPHEN)

</details>
<details>
<summary>docs/content/reference/docs/templates/command-template.md</summary>

[style] ~256-~256: Using many exclamation marks might seem excessive (in this case: 12 exclamation marks for a text that’s 2910 characters long)
Context: ...iption and effect on command behavior}  !!! info "Configuration Guide"     See the ...

(EN_EXCESSIVE_EXCLAMATION)

</details>
<details>
<summary>docs/content/reference/docs/templates/feature-template.md</summary>

[style] ~338-~338: Using many exclamation marks might seem excessive (in this case: 9 exclamation marks for a text that’s 3944 characters long)
Context: ...}:** {Description and any workarounds}  !!! warning "Important"     {Important limi...

(EN_EXCESSIVE_EXCLAMATION)

</details>
<details>
<summary>docs/content/user/features/gif-limiter.md</summary>

[uncategorized] ~12-~12: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...--  # GIF Limiter  Prevents GIF spam by rate limiting GIF messages in channels. Monitors mess...

(EN_COMPOUND_ADJECTIVE_INTERNAL)

</details>
<details>
<summary>docs/content/user/modules/tools/index.md</summary>

[style] ~70-~70: Using many exclamation marks might seem excessive (in this case: 3 exclamation marks for a text that’s 1903 characters long)
Context: ...are available to all users by default.  !!! tip "Permission System"     Tux uses a ...

(EN_EXCESSIVE_EXCLAMATION)

</details>
<details>
<summary>docs/content/reference/docs/templates/module-template.md</summary>

[style] ~136-~136: Using many exclamation marks might seem excessive (in this case: 6 exclamation marks for a text that’s 1830 characters long)
Context: ...re available to all users by default"}  !!! tip "Permission System"     Tux uses a ...

(EN_EXCESSIVE_EXCLAMATION)

</details>
<details>
<summary>docs/content/user/modules/moderation/report.md</summary>

[style] ~72-~72: Using many exclamation marks might seem excessive (in this case: 4 exclamation marks for a text that’s 2707 characters long)
Context: ...ral message: > "Thank you for the report! It has been sent to the moderation team...

(EN_EXCESSIVE_EXCLAMATION)

</details>
<details>
<summary>docs/content/user/features/index.md</summary>

[uncategorized] ~22-~22: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...md)** - Create temporary voice channels on demand - **[Bookmarks](bookmarks.md)** - Save ...

(EN_COMPOUND_ADJECTIVE_INTERNAL)

</details>
<details>
<summary>docs/content/reference/docs/templates/command-group-template.md</summary>

[style] ~172-~172: Using many exclamation marks might seem excessive (in this case: 9 exclamation marks for a text that’s 2644 characters long)
Context: ...:** {Description and how to configure}  !!! info "Configuration Guide"     For deta...

(EN_EXCESSIVE_EXCLAMATION)

</details>
<details>
<summary>docs/content/user/modules/levels/index.md</summary>

[style] ~98-~98: Using many exclamation marks might seem excessive (in this case: 6 exclamation marks for a text that’s 2914 characters long)
Context: ...r rank (typically rank 3-5) or higher.  !!! tip "Permission System"     Tux uses a ...

(EN_EXCESSIVE_EXCLAMATION)

</details>
<details>
<summary>docs/content/user/modules/levels/level.md</summary>

[uncategorized] ~14-~14: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...owing how close you are to reaching the next level milestone.  Users can also use this com...

(EN_COMPOUND_ADJECTIVE_INTERNAL)

</details>
<details>
<summary>docs/content/user/modules/moderation/clearafk.md</summary>

[grammar] ~47-~47: Ensure spelling is correct
Context: ...ending on server config). 3. Optionally timeouts the user (self-timeout) if enforced AFK...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

</details>
<details>
<summary>docs/content/user/modules/moderation/jail.md</summary>

[style] ~88-~88: Using many exclamation marks might seem excessive (in this case: 6 exclamation marks for a text that’s 3851 characters long)
Context: ...nnel jailed members are restricted to.  !!! info "Admin Setup"     Administrators m...

(EN_EXCESSIVE_EXCLAMATION)

</details>
<details>
<summary>docs/content/user/modules/snippets/createsnippet.md</summary>

[uncategorized] ~48-~48: Did you mean the formatting language “Markdown” (= proper noun)?
Context: ...Code Snippet  Save a block of code with markdown formatting.  ```text $createsnippet exa...

(MARKDOWN_NNP)

</details>
<details>
<summary>docs/content/user/modules/snippets/togglesnippetlock.md</summary>

[style] ~66-~66: Using many exclamation marks might seem excessive (in this case: 3 exclamation marks for a text that’s 1497 characters long)
Context: ...igher:** Required to use this command.  !!! info "Permission System"     Configure ...

(EN_EXCESSIVE_EXCLAMATION)

</details>

</details>

</details>

<details>
<summary>⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)</summary>

* GitHub Check: Run All Tests (3.13.8)

</details>

</details>

<!-- This is an auto-generated comment by CodeRabbit for review status -->


```text
/config role assign 3 @Moderator
/config role assign rank:3 role:@Moderator
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

# First, check if the documentation standard files exist
ls -la docs/*.mdc 2>/dev/null || echo "No .mdc files in docs root"

# Find any .mdc files in the repo
find . -name "*.mdc" -type f | head -20

Repository: allthingslinux/tux

Length of output: 838


🏁 Script executed:

# Check the file in question
if [ -f "docs/content/admin/config/roles.md" ]; then
  echo "=== File exists. Checking lines 59, 65, 123, 137 ==="
  sed -n '50,70p' "docs/content/admin/config/roles.md"
  echo "---"
  sed -n '115,145p' "docs/content/admin/config/roles.md"
else
  echo "File not found at docs/content/admin/config/roles.md"
  # Search for it
  find . -name "roles.md" -type f
fi

Repository: allthingslinux/tux

Length of output: 980


🏁 Script executed:

# Read the documentation standard files
echo "=== syntax.mdc ==="
cat "./.cursor/rules/docs/syntax.mdc"
echo ""
echo "=== style.mdc ==="
cat "./.cursor/rules/docs/style.mdc"
echo ""
echo "=== docs.mdc ==="
cat "./.cursor/rules/docs/docs.mdc"

Repository: allthingslinux/tux

Length of output: 18871


🏁 Script executed:

# Also get more context from the roles.md file around the modified lines
echo "=== Full context around lines 59, 65, 123, 137 ==="
wc -l "docs/content/admin/config/roles.md"
echo "---"
sed -n '45,75p' "docs/content/admin/config/roles.md"
echo "---"
sed -n '110,150p' "docs/content/admin/config/roles.md"

Repository: allthingslinux/tux

Length of output: 1458


🏁 Script executed:

# Check patterns.mdc for command documentation patterns
cat "./.cursor/rules/docs/patterns.mdc" | head -200

Repository: allthingslinux/tux

Length of output: 4312


🏁 Script executed:

# Verify the syntax is consistent across all lines mentioned (59, 65, 123, 137)
sed -n '59p;65p;123p;137p' "docs/content/admin/config/roles.md"

Repository: allthingslinux/tux

Length of output: 233


Add explanation for the <rank_number> placeholder to comply with documentation standards.

The named-parameter syntax is consistently applied across all command examples (e.g., rank:3 role:@Moderator, role:@RoleName), improving clarity. However, per documentation standards, placeholders require explanation. Line 123 uses <rank_number> without defining it. Add a brief explanation such as: "where <rank_number> is the target rank (1-5)" or similar.

🤖 Prompt for AI Agents
In @docs/content/admin/config/roles.md at line 59, The example command "/config
role assign rank:3 role:@Moderator" uses the placeholder <rank_number> but the
docs do not define it; update the Roles documentation to add a brief definition
for <rank_number> (e.g., "where <rank_number> is the target rank (1-5)") near
the example or in the parameter glossary so readers know the valid range and
meaning of the rank parameter.

This section is a work in progress. Please help us by contributing to the documentation.

The GIF Limiter feature automatically prevents GIF spam in Discord channels by rate limiting GIF messages. This helps maintain conversation quality and prevents channels from being flooded with animated images.
Prevents GIF spam by rate limiting GIF messages in channels. Monitors messages and automatically deletes GIFs that exceed configured limits, with brief notifications explaining why messages were removed.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Hyphenate the compound adjective.

Change "rate limiting" to "rate-limiting" since it modifies the noun "GIF messages."

✏️ Proposed fix
-Prevents GIF spam by rate limiting GIF messages in channels. Monitors messages and automatically deletes GIFs that exceed configured limits, with brief notifications explaining why messages were removed.
+Prevents GIF spam by rate-limiting GIF messages in channels. Monitors messages and automatically deletes GIFs that exceed configured limits, with brief notifications explaining why messages were removed.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Prevents GIF spam by rate limiting GIF messages in channels. Monitors messages and automatically deletes GIFs that exceed configured limits, with brief notifications explaining why messages were removed.
Prevents GIF spam by rate-limiting GIF messages in channels. Monitors messages and automatically deletes GIFs that exceed configured limits, with brief notifications explaining why messages were removed.
🧰 Tools
🪛 LanguageTool

[uncategorized] ~12-~12: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...-- # GIF Limiter Prevents GIF spam by rate limiting GIF messages in channels. Monitors mess...

(EN_COMPOUND_ADJECTIVE_INTERNAL)

🤖 Prompt for AI Agents
In @docs/content/user/features/gif-limiter.md at line 12, Update the phrase
"rate limiting" to the hyphenated form "rate-limiting" in the sentence that
describes the feature ("Prevents GIF spam by rate limiting GIF messages in
channels...") so the compound adjective correctly modifies "GIF messages" and
reads "Prevents GIF spam by rate-limiting GIF messages in channels."


### dice

Roll a dice with a specified number of sides.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix grammar: "a dice" should be "a die" or "the dice".

Line 52 reads "Roll a dice with a specified number of sides." The plural form "dice" should not follow the article "a" (which marks singular). Use either "Roll a die" (singular) or "Roll the dice" (plural form used as singular collective noun).

✏️ Proposed fix
-Roll a dice with a specified number of sides.
+Roll a die with a specified number of sides.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Roll a dice with a specified number of sides.
Roll a die with a specified number of sides.
🧰 Tools
🪛 LanguageTool

[grammar] ~52-~52: Ensure spelling is correct
Context: ... - Aliases: cf ### dice Roll a dice with a specified number of sides. - **...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

🤖 Prompt for AI Agents
In @docs/content/user/modules/fun/random.md at line 52, Replace the incorrect
phrase "Roll a dice with a specified number of sides." with the grammatically
correct singular form, e.g., "Roll a die with a specified number of sides." (or
alternatively "Roll the dice with a specified number of sides." if you prefer
plural/idiomatic tone) so the sentence uses a matching article and noun.


### Complex Dice Rolls

Roll a 20-sided dice for a game or activity.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix grammar: "a 20-sided dice" should be "a 20-sided die".

Line 88 contains the same grammar issue as line 52. Correct to use the singular form "die" after the indefinite article "a".

✏️ Proposed fix
-Roll a 20-sided dice for a game or activity.
+Roll a 20-sided die for a game or activity.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Roll a 20-sided dice for a game or activity.
Roll a 20-sided die for a game or activity.
🧰 Tools
🪛 LanguageTool

[grammar] ~88-~88: Ensure spelling is correct
Context: ...### Complex Dice Rolls Roll a 20-sided dice for a game or activity. ```text /rando...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

🤖 Prompt for AI Agents
In @docs/content/user/modules/fun/random.md at line 88, Replace the incorrect
phrase "a 20-sided dice" with the grammatically correct singular form "a
20-sided die" in docs/content/user/modules/fun/random.md; search for occurrences
(notably the instances at lines 52 and 88) and update the text so the indefinite
article "a" is followed by "die" rather than "dice".

Comment on lines +42 to +58
### Use Case Name: Checking Ranking Progress

Members can check their standing in the server and see how much XP is needed for the next level.

**Steps:**

1. Use the `/level` command in any allowed channel.
2. View the progress bar and current XP stats in the resulting embed.

**Example:**

```text
/level
/level member:@user
```

### Use Case Name: Manual Level Adjustments
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Replace “Use Case Name:” placeholder heading.
This looks like a template placeholder that should be finalized.

Proposed tweak
-### Use Case Name: Checking Ranking Progress
+### Checking Ranking Progress
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
### Use Case Name: Checking Ranking Progress
Members can check their standing in the server and see how much XP is needed for the next level.
**Steps:**
1. Use the `/level` command in any allowed channel.
2. View the progress bar and current XP stats in the resulting embed.
**Example:**
```text
/level
/level member:@user
```
### Use Case Name: Manual Level Adjustments
### Checking Ranking Progress
Members can check their standing in the server and see how much XP is needed for the next level.
**Steps:**
1. Use the `/level` command in any allowed channel.
2. View the progress bar and current XP stats in the resulting embed.
**Example:**
🤖 Prompt for AI Agents
In @docs/content/user/modules/levels/index.md around lines 42 - 58, The heading
text contains the template prefix "Use Case Name:" which should be removed;
update the markdown headings by replacing "### Use Case Name: Checking Ranking
Progress" with "### Checking Ranking Progress" and likewise change "### Use Case
Name: Manual Level Adjustments" to "### Manual Level Adjustments" (keep the same
heading level and surrounding content intact).

Comment on lines +65 to +66
## permissions

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Heading case: ## permissions## Permissions.

Proposed tweak
-## permissions
+## Permissions
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
## permissions
## Permissions
🤖 Prompt for AI Agents
In @docs/content/user/modules/moderation/unjail.md around lines 65 - 66, Update
the markdown heading text "## permissions" to use title case as "## Permissions"
in the docs/content/user/modules/moderation/unjail.md file so the section
heading follows the repository's capitalization style.

Comment on lines +81 to +90
## Usage Examples

### Basic Untimeout (Slash)

Removing a timeout from a member.

```text
/untimeout member:@user reason:"Manual release"
```

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Make “Basic Untimeout (Slash)” minimal or rename it.
It currently demonstrates an optional reason.

Proposed tweak (option A)
-Removing a timeout from a member.
+Removing a timeout from a member (no optional args).

 ```text
-/untimeout member:@user reason:"Manual release"
+/untimeout member:@user
</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

In @docs/content/user/modules/moderation/untimeout.md around lines 81 - 90,
Update the "Basic Untimeout (Slash)" example so it is truly minimal by removing
the optional reason from the example command or else rename the heading to
indicate the example includes an optional reason; specifically, change the
example line /untimeout member:@user reason:"Manual release" to /untimeout member:@user (or rename the heading "Basic Untimeout (Slash)" to "Basic
Untimeout (Slash) (with optional reason)" if you keep the reason shown) and
ensure the displayed block matches that choice.


</details>

<!-- This is an auto-generated comment by CodeRabbit -->


### Create a Code Snippet

Save a block of code with markdown formatting.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Capitalize "Markdown" as a proper noun.

The static analysis tool correctly flagged this: "Markdown" is the proper name of the markup language.

-Save a block of code with markdown formatting.
+Save a block of code with Markdown formatting.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Save a block of code with markdown formatting.
Save a block of code with Markdown formatting.
🧰 Tools
🪛 LanguageTool

[uncategorized] ~48-~48: Did you mean the formatting language “Markdown” (= proper noun)?
Context: ...Code Snippet Save a block of code with markdown formatting. ```text $createsnippet exa...

(MARKDOWN_NNP)

🤖 Prompt for AI Agents
In @docs/content/user/modules/snippets/createsnippet.md at line 48, The sentence
"Save a block of code with markdown formatting." should capitalize the proper
noun by changing "markdown" to "Markdown" so it reads "Save a block of code with
Markdown formatting."; update the text in the
docs/content/user/modules/snippets/createsnippet.md accordingly.

/poll title:"Should we add a new channel?" options:"Yes, No"
```

### Multiple Choice Poll
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Use hyphen for compound modifier.

Line 45: "Multiple Choice Poll" should be "Multiple-Choice Poll" per compound modifier conventions (e.g., "multiple-choice voting").

✏️ Proposed fix
-### Multiple Choice Poll
+### Multiple-Choice Poll
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
### Multiple Choice Poll
### Multiple-Choice Poll
🧰 Tools
🪛 LanguageTool

[grammar] ~45-~45: Use a hyphen to join words.
Context: ...el?" options:"Yes, No" ``` ### Multiple Choice Poll Get feedback on several ite...

(QB_NEW_EN_HYPHEN)

🤖 Prompt for AI Agents
In @docs/content/user/modules/utility/poll.md at line 45, Change the header text
"Multiple Choice Poll" to use a hyphenated compound modifier: replace the string
"Multiple Choice Poll" with "Multiple-Choice Poll" in the docs content (the
header line currently titled Multiple Choice Poll).


## Usage Examples

### Short Term Reminder
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix hyphenation of compound adjectives.

Lines 57 and 65 use unhyphenated compound adjectives where hyphens are needed. According to static analysis, "Short Term" should be "Short-Term" and "Long Term" should be "Long-Term" when used as modifiers before nouns.

📝 Proposed fixes
-### Short Term Reminder
+### Short-Term Reminder
-### Long Term Planning
+### Long-Term Planning

Also applies to: 65-65

🧰 Tools
🪛 LanguageTool

[grammar] ~57-~57: Use a hyphen to join words.
Context: ..., 500s`. ## Usage Examples ### Short Term Reminder Set a reminder for a quic...

(QB_NEW_EN_HYPHEN)

🤖 Prompt for AI Agents
In @docs/content/user/modules/utility/remindme.md at line 57, Update the
compound adjectives used as modifiers by adding hyphens: change the heading
"Short Term Reminder" (and any other occurrences of "Short Term" used before a
noun) to "Short-Term Reminder" and change "Long Term" (and its occurrences used
as modifiers) to "Long-Term"; search for the headings or inline phrases "Short
Term" and "Long Term" in this document and replace them with the hyphenated
forms to satisfy the static analysis rule.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants