You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Verify that the new hardcoded directory name codebase_standards is consistently used across all related docs, examples, and configuration references to avoid confusion with the previously used compliance_standards.
Note: In this structure, pr-agent-settings, codebase_standards, global, groups, metadata.yaml, and pr_compliance_checklist.yaml are hardcoded names that must be used exactly as shown. All other names (such as frontend_repos, backend_repos, repo_a, monorepo-name, service-a, etc.) are examples and should be replaced with your actual repository and service names.
</details>
<details><summary><a href='https://github.com/qodo-ai/pr-agent/pull/2019/files#diff-29b3d9a5a635d6b84da6187f673b2e128c0b5fbdba0c257c89de4b8c98ca3353R241-R291'><strong>Cross-doc Alignment</strong></a>
Ensure the hardcoded names list and examples in Improve docs match the Compliance docs (e.g., `codebase_standards`, `metadata.yaml`) so users see a single, unified convention.
</summary>
```markdown
│ ├── cpp_repos/
│ │ └── best_practices.md
│ └── ...
├── repo_a/ # For standalone repositories
│ └── best_practices.md
├── monorepo-name/ # For monorepo-specific rules
│ ├── best_practices.md # Root level monorepo rules
│ ├── service-a/ # Subproject best practices
│ │ └── best_practices.md
│ └── service-b/ # Another subproject
│ └── best_practices.md
└── ... # More repositories
Note: In this structure, pr-agent-settings, codebase_standards, global, groups, metadata.yaml, and best_practices.md are hardcoded names that must be used exactly as shown. All other names (such as frontend_repos, backend_repos, repo_a, monorepo-name, service-a, etc.) are examples and should be replaced with your actual repository and service names.
???+ tip "Grouping and categorizing best practices"
- Each folder (including the global folder) can contain a single best_practices.md file
- Organize repository best practices by creating subfolders within the groups folder. Group them by purpose, programming languages, or other categories
3. Define the metadata file metadata.yaml that maps your repositories to their relevant best practices paths, for example:
```bash
pr-agent-settings/
├── metadata.yaml # Maps repos/folders to compliance paths
└── codebase_standards/ # Root for all compliance definitions
├── global/ # Global compliance, inherited widely
│ └── pr_compliance_checklist.yaml
├── groups/ # For groups of repositories
│ ├── cpp_repos/
│ │ └── pr_compliance_checklist.yaml
│ └── ...
├── repo_a/ # For standalone repositories
│ └── pr_compliance_checklist.yaml
- ├── monorepo-name/ # For monorepo-specific compliance+ ├── monorepo-name/ # For monorepo-specific compliance
│ ├── pr_compliance_checklist.yaml # Root-level monorepo compliance
│ ├── service-a/ # Subproject compliance
│ │ └── pr_compliance_checklist.yaml
│ └── service-b/ # Another subproject
│ └── pr_compliance_checklist.yaml
└── ... # More repositories
`[To ensure code accuracy, apply this suggestion manually]`
<details><summary>Suggestion importance[1-10]: 4</summary>
__
Why: The suggestion correctly identifies and fixes a minor indentation inconsistency in the documentation's directory tree, which improves visual presentation.
</details></details></td><td align=center>Low
</td></tr><tr><td rowspan=2>General</td>
<td>
<details><summary>Clarify placeholder vs required names</summary>
___
**Clarify that only directory/file names are hardcoded while repository <br>identifiers in <code>metadata.yaml</code> (like <code>repo_a</code>, <code>monorepo-name</code>, subproject keys) must <br>match actual repo names. This prevents users from mistakenly keeping example <br>names in config, which would break path resolution.**
[docs/docs/tools/compliance.md [195]](https://github.com/qodo-ai/pr-agent/pull/2019/files#diff-b8045d5c169d90b7c27ecb56d07893db83e096b854691b7f49eb73306201711aR195-R195)
```diff
-> **Note:** In this structure, `pr-agent-settings`, `codebase_standards`, `global`, `groups`, `metadata.yaml`, and `pr_compliance_checklist.yaml` are hardcoded names that must be used exactly as shown. All other names (such as `frontend_repos`, `backend_repos`, `repo_a`, `monorepo-name`, `service-a`, etc.) are examples and should be replaced with your actual repository and service names.
+> **Note:** The following names are hardcoded and must be used exactly as shown: folders `pr-agent-settings`, `codebase_standards`, `global`, `groups` and files `metadata.yaml`, `pr_compliance_checklist.yaml`. All other names (e.g., `frontend_repos`, `backend_repos`, `repo_a`, `monorepo-name`, `service-a`) are placeholders and must be replaced with your actual repository and subproject names. Ensure that repository and subproject identifiers in `metadata.yaml` exactly match your real repo and subproject names.
Apply / Chat
Suggestion importance[1-10]: 4
__
Why: The suggestion improves documentation clarity by explicitly distinguishing between hardcoded names and placeholders, which can help prevent user configuration errors.
Low
Emphasize required filename and consistency
Explicitly state that best_practices.md is the required filename in each relevant directory and that placeholders must be replaced consistently across both the folder names and the metadata.yaml mappings. This avoids misconfigurations that cause the tool to fail loading best practices.
-> **Note:** In this structure, `pr-agent-settings`, `codebase_standards`, `global`, `groups`, `metadata.yaml`, and `best_practices.md` are hardcoded names that must be used exactly as shown. All other names (such as `frontend_repos`, `backend_repos`, `repo_a`, `monorepo-name`, `service-a`, etc.) are examples and should be replaced with your actual repository and service names.+> **Note:** Use these names exactly: folders `pr-agent-settings`, `codebase_standards`, `global`, `groups`; files `metadata.yaml`, `best_practices.md` (the filename inside each relevant directory must be `best_practices.md`). All other names (e.g., `frontend_repos`, `backend_repos`, `repo_a`, `monorepo-name`, `service-a`) are placeholders and must be replaced consistently in both the folder structure and the `metadata.yaml` mappings.
Apply / Chat
Suggestion importance[1-10]: 4
__
Why: This suggestion enhances the documentation by clarifying the usage of best_practices.md and stressing the need for consistency, which helps prevent user misconfiguration.
Low
More
Author self-review: I have reviewed the PR code suggestions, and addressed the relevant ones.
The monorepo_subprojects examples are inconsistent between compliance.md (frontend/backend keys referencing service-a/b paths) and improve.md (service-a/b keys), which is likely to confuse users; standardize the subproject identifiers across docs and clarify whether keys must match directory names. Also re-verify the new “hardcoded” list (pr-agent-settings, codebase_standards, global, groups, metadata.yaml, pr_compliance_checklist.yaml/best_practices.md); if any are configurable, document them as defaults and link to the configuration that controls them.
# In compliance.md
monorepo-name:
monorepo_subprojects:
frontend: # logical name
pr_compliance_checklist_paths:
- "monorepo-name/service-a"
backend: # logical name
pr_compliance_checklist_paths:
- "monorepo-name/service-b"
# In improve.md
monorepo-name:
monorepo_subprojects:
service-a: # directory name
best_practices_paths:
- "monorepo-name/service-a"
service-b: # directory name
best_practices_paths:
- "monorepo-name/service-b"
After:
# In both compliance.md and improve.md (standardized)
monorepo-name:
monorepo_subprojects:
# Key can be a logical name, not necessarily matching the directory.
frontend_service:
..._paths:
- "monorepo-name/service-a"
backend_service:
..._paths:
- "monorepo-name/service-b"
# Note added to documentation:# > **Note:** ... `metadata.yaml`... are hardcoded names.# > The keys under `monorepo_subprojects` are logical names for your subprojects.
Suggestion importance[1-10]: 9
__
Why: The suggestion correctly identifies a significant inconsistency in the documentation examples for monorepo_subprojects that could confuse users, and also wisely questions the absolute "hardcoded" nature of newly documented file names.
High
General
✅ Make subproject keys consistentSuggestion Impact:The commit changed the subproject keys from frontend/backend to service-a/service-b in the documented example, matching the suggestion.
Align subproject keys with the directory names used in the tree and paths to avoid misconfiguration. Replace frontend/backend with service-a/service-b for consistency with the examples and the improve doc.
Why: The suggestion correctly identifies an inconsistency in the documentation where subproject keys (frontend/backend) do not match the example directory names (service-a/service-b), and aligning them as suggested improves clarity and consistency with another documentation file.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR Type
Documentation
Description
Replace Qodo-specific repository names with generic examples
Add clarification note about hardcoded vs customizable names
Update hierarchical repository structure examples consistently
Diagram Walkthrough
File Walkthrough
compliance.md
Update compliance tool examples with generic namesdocs/docs/tools/compliance.md
qodo-merge,qodo-monorepo,qodo-github,qodo-gitlabwithgeneric names
improve.md
Update improve tool examples with generic namesdocs/docs/tools/improve.md