fix: docs llms order, bmgd draft, tea link#1525
Conversation
📝 WalkthroughWalkthroughThe PR marks three BMGD documentation files as draft, adds three new reference documentation pages covering agents, commands, and testing options, updates a QA agent menu trigger label, and implements deterministic sorting for documentation assembly in the build process. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
🧪 Generate unit tests (beta)
Important Action Needed: IP Allowlist UpdateIf your organization protects your Git platform with IP whitelisting, please add the new CodeRabbit IP address to your allowlist:
Reviews will stop working after February 8, 2026 if the new IP is not added to your allowlist. 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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (2)
tools/build-docs.js (2)
33-42:⚠️ Potential issue | 🟡 MinorFix exclude pattern matching for Windows path separators.
On Windows,
path.relative()returns backslashes, so patterns containing forward slashes (e.g.,bmgd/) won't match in the.includes()check at line 296, allowing excluded docs to leak into llms-full.txt. The code already uses a defensive dual-check pattern ingetLlmSortKey()(lines 251–256). Apply the same pattern toshouldExcludeFromLlm():Suggested fix
function shouldExcludeFromLlm(filePath) { // Exclude if ANY path component starts with underscore // (e.g., _STYLE_GUIDE.md, _archive/file.md, dir/_STYLE_GUIDE.md) const pathParts = filePath.split(path.sep); if (pathParts.some((part) => part.startsWith('_'))) return true; // Check configured patterns (handle both forward slashes and platform-specific separators) return LLM_EXCLUDE_PATTERNS.some((pattern) => { // Normalize pattern for platform-specific comparison const normalizedPattern = pattern.replace(/\//g, path.sep); return filePath.includes(pattern) || filePath.includes(normalizedPattern); }); }
198-245:⚠️ Potential issue | 🟡 MinorUse a fixed locale for deterministic ordering.
The
localeCompare()call without an explicit locale uses the host environment's default locale, making file ordering non-deterministic across environments. Since this function generates documentation for LLM consumption, consistent output across build environments matters. Apply this fix:return a.localeCompare(b, 'en');
🤖 Fix all issues with AI agents
In `@docs/reference/agents.md`:
- Line 19: Update the docs table entry that currently shows the trigger as `qa`
to match the updated agent config which uses `QA` (and supports fuzzy matching
like `qa-automate`); change the trigger cell for "QA Engineer (Quinn)" from `qa`
to `QA` in docs/reference/agents.md so it reflects the actual setting in
qa.agent.yaml and the new fuzzy-match behavior.
|
I have further documentation changes, even a branch in the works that does half of what this PR does, but directionally, I like this PR and the best way to move forward is to merge it and I will then submit my changes on top. |
Docs cleanup + references: