AI Agent Documentation Standards
Applies to: New documentation, updates, and release notes. These standards ensure all BeatPass documentation is factual, accurate, and based on verified information—not assumptions.Core Principles
- Verify existence first — Search codebase to confirm feature exists before documenting
- Never assume — Always verify before writing
- Never hallucinate — If you can’t verify it, don’t document it
- Be specific — Use exact UI labels, button text, and navigation paths
- Stay current — Database configurations change; always verify current values
- Stay non-technical — Help docs are for users, not developers
- Font Awesome 6 icons only — The icon library is
fontawesome. Never use Lucide names. - WCAG AA colors — All theme colors must pass 4.5:1 contrast ratio minimum.
- Use reusable snippets — Import from
/snippets/for repeated content (fees, warnings, support sections). Never duplicate snippet content inline.
Audience & Location Rules
CRITICAL DISTINCTION:| Location | Audience | Content Type |
|---|---|---|
Documentation/help/ | End users | Non-technical, user actions |
Documentation/developers/ | Developers | Technical, code, API details |
Documentation/help/release-notes/ | End users | Non-technical, benefits |
- NO code examples
- NO API endpoints
- NO database references
- NO technical architecture
- YES user actions
- YES plain English
- YES benefits and outcomes
- Reference
/developers/docs: “See API Docs for technical details” - Keep main content focused on what users do, not how it works
Universal Pre-Documentation Checklist
Step 1: Feature Existence Verification
NEVER document a feature without verifying it exists in the codebase.Required Searches
What to Verify
- UI components implementing the feature exist
- Backend controllers/services powering it exist
- Database tables/columns for data storage exist
- Routes exposing the feature exist
- No UI components implementing it
- No backend controllers handling it
- No database tables storing it
- No routes exposing it
Step 2: UI Navigation & Labels Verification
Source: Frontend codebase (resources/client/, common/resources/client/)
Key Files to Check
| Feature Area | Key Files |
|---|---|
| Navigation | common/resources/client/ui/navigation/navbar/navbar-auth-menu.tsx |
| Account Settings | common/resources/client/auth/ui/account-settings/account-settings-sidenav.tsx |
| Billing | common/resources/client/billing/billing-page/panels/*.tsx |
| Producer Dashboard | resources/client/web-player/backstage/*.tsx |
Verification Commands
Verified UI Elements Reference
Profile Menu (Auth Dropdown)| Menu Item | Route | Notes |
|---|---|---|
| Edit Profile | /account-settings | Main account settings |
| Management | /admin | Requires admin permission |
| Backstage | /producer-dashboard | Requires producer status |
| Billing | /billing | Always visible (hardcoded) |
| Sidenav Label | Panel Title | Key Buttons |
|---|---|---|
| Account details | (varies) | Save |
| Social login | (varies) | Connect, Disconnect |
| Password | Update password | Update password |
| Two factor authentication | Two factor authentication | Enable, Disable |
| Active sessions | Active sessions | Logout other sessions |
| Location and language | (varies) | Save |
| Developers | (varies) | Create, Delete |
| Delete account | Danger zone | Delete account |
| Section | Elements |
|---|---|
| Current plan (Active) | Plan name, price, “Renews on [date]”, Change plan, Cancel plan |
| Current plan (Cancelled) | Plan name, “Access ends [date]”, Renew plan |
| Scheduled Plan Change | Pending plan, “Takes effect on [date]”, Cancel scheduled change |
| Payment method | Card brand, last 4 digits, expiration, Update |
| Payment history | Invoice list with date, amount, status |
Step 3: Database Configuration Verification
Contact & Company
contact@beatpass.ca
Subscription Plans
| Plan | Price | Interval |
|---|---|---|
| Explorer | Free | - |
| Classic | $29 CAD | Monthly |
| Plus | $45 CAD | Monthly |
| Pro | $59 CAD | Monthly |
Upload Formats
Revenue Model
Writing Standards (All Documentation)
Language & Tone
- Non-technical — Write for users, not developers
- Clear — Use simple, direct language
- Actionable — Guide users step-by-step
- Accurate — Every claim must be verifiable
Avoiding Technical Jargon
NEVER include internal system terminology:| Avoid (Technical) | Use Instead (User-Friendly) |
|---|---|
music.create permission | Ability to upload tracks |
admin.access permission | Admin access |
| Database column names | Plain English description |
| Internal IDs or slugs | Feature names |
| Code variables | Human-readable labels |
Route paths like /api/v1/... | ”the API” or feature name |
Model names (e.g., Artist, Track) | “producer profile”, “beat” |
<Tooltip> to provide an inline definition. See Mintlify Reference — Tooltips for syntax and rules.
Additional rule for /help/ documentation:
If it’s technical enough for developers, it belongs in /developers/ — not in /help/.
| Use in /help/ | Move to /developers/ |
|---|---|
| “Your payment is processed” | Implementation details |
| ”Upload your track” | Code examples |
| ”Click Billing” | API endpoint paths |
| ”You’ll receive an email” | Database schemas |
| ”See API docs” | Technical architecture |
UI References
Always use exact labels:| Element Type | How to Reference |
|---|---|
| Buttons | Bold: **Change plan** |
| Menu items | Bold: **Billing** |
| Sections | Bold: **Current plan** section |
| Page names | Title case: Billing page |
Navigation Format
Common Mistakes to Avoid
❌ Don’t Do This
-
Document features that don’t exist
- Wrong: Creating docs for “demo downloads”, “watermarked previews”
- Fix: Search codebase FIRST
-
Trust backend config without verifying frontend
- Wrong: “Legendary achievements don’t exist” (config says rarity 5)
- Fix: Check frontend code for actual display mapping
-
Assume navigation paths
- Wrong: “Go to Settings → Subscription”
- Fix: Verify actual menu structure
-
Invent menu item names
- Wrong: “Select Settings from the menu”
- Fix: Check database for actual labels
-
Use generic section names
- Wrong: “the Localization section”
- Fix: Use exact labels: “Location and language”
-
Confuse sidenav with panel titles
- Wrong: “the Delete Account section” (panel is “Danger zone”)
- Fix: Read both sidenav and panel component files
-
Use inconsistent capitalization
- Wrong: “This Device”, “Log Out Other Devices”
- Fix: “This device”, “Logout other sessions”
-
Document features without verification
- Wrong: “Select monthly or yearly billing”
- Fix: Query database to confirm intervals
-
Use generic button names
- Wrong: “Click the Cancel button”
- Fix: Use exact text: “Click Cancel plan”
-
Use technical terminology
- Wrong: “You need the
music.createpermission” - Fix: “You need the ability to upload tracks”
- Wrong: “You need the
Universal Quality Checklist
Before submitting ANY documentation:Content Verification
- Feature existence verified via codebase search
- UI elements verified in actual components
- Database values verified via queries (if applicable)
- Navigation paths verified
- No hallucinated features
- No assumed navigation
- No invented labels
Writing Quality
- All claims verifiable
- No technical jargon users don’t see
- Exact UI labels used and bolded
- User-focused language (“you”, not “we”)
- Active voice (present tense for features, past for fixes)
- Specific numbers instead of vague terms
Reusable Snippets
- Snippets checked — applicable snippets from
/snippets/imported and used - No inline duplication — content that exists as a snippet is not written inline
- Import paths absolute — all snippet imports use
/snippets/...(not relative paths) - Import names PascalCase — e.g.,
PlatformFee,NeedHelp,ApiInviteOnly - Imports after frontmatter — import statements go between
---and first content
Technical Requirements
- Frontmatter complete with all required fields
- Internal doc links use root-relative paths (
/help/pathnot../path) - App page links use full URLs (
https://open.beatpass.ca/loginnot/login) - All icon names verified against Font Awesome 6 (not Lucide)
- All Card
hreftargets verified (.mdxfile exists + indocs.jsonnav) - Mintlify components used correctly
- Tooltips added for domain jargon and technical terms (first occurrence per page)
- No duplicate tooltips for the same term on the same page
- No emoji (use Mintlify icons only)
- Proper Markdown/MDX syntax
- If colors changed in
docs.json: WCAG AA verified viamint a11y
Cross-References
- Related documentation linked
- Parent/child pages connected
- No orphaned content
Documentation Folder Structure
release-notes/v3.0/ AND an Update component entry at the top of release-notes/changelog.mdx. See template.mdx for the complete workflow.
Quick Verification Commands
Related Resources
- AI Agent Guide — Main entry point
- Update Guide — Updating existing docs
- New Doc Guide — Creating new docs
- Mintlify Reference — Component usage
- Verification Standards — Detailed verification