Commit 3b1940b
[RHIDP#12779]: CQA tooling optimization and content modularization (#1947)
* RHIDP-12779: Optimize CQA tooling and Claude configuration
- Rewrite CQA scripts (01, 02, 03) for correctness and brevity
- Fix empty-line bug in list-all-included-files-starting-from.sh
- Create condensed CQA extracts for SSG, peer review, and content types
- Convert peer review resource from HTML to Markdown
- Remove redundant resources (cqa-common-issues, vale-acceptable-warnings)
- Clean stale permissions in .claude/settings.json
- Update skill files to match rewritten scripts
- Fix cqa-04 template ordering (content type first) and procedure title form
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* RHIDP-12779: Add --fix mode to cqa-02 assembly structure script
- Add 11 auto-fixes: content type, context save/restore, prerequisites
heading, additional resources, ID suffix, context line positioning
- Enforce assembly template structure: content type line 1, context save
line 2, context restore as last two lines
- Add checks: intro length, prerequisites count, prerequisites format,
ID suffix, additional resources role attribute
- Script now resolves 99% of violations across all 33 titles (497 → 6)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* RHIDP-12779: Add --fix to cqa-01 script and standardize skill workflows
Add auto-fix support for DITA Vale issues (AuthorLine, CalloutList,
BlockTitle, TaskContents, TaskStep) and apply fixes across all titles.
Standardize all 16 CQA skill files to follow a consistent 6-step
workflow: report, auto-fix, verify, manual fix, re-verify, report.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* RHIDP-12779: Add assembly template resource file
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* RHIDP-12779: Add project CLAUDE.md with CQA compliance directive
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* RHIDP-12779: Remove obsolete CQA.md (replaced by .claude/skills/cqa-*.md)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* RHIDP-12779: Fix TaskStep autofix to handle .Procedure context
TaskStep autofix now distinguishes two cases:
- After .Procedure before first step: remove erroneous blank line
- After a list: attach to preceding step with + continuation
Also fixes two .adoc files with erroneous + after .Procedure.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* RHIDP-12779: Consolidate CQA scripts with shared library and unified interface
- Create cqa-lib.sh shared library eliminating ~90% duplicated boilerplate
- Add --fix, --all, --title flags to all 17 scripts via unified argument parsing
- Add cqa.sh orchestrator running all checks in optimal workflow order
- Standardize output with [AUTOFIX], [FIXED], [MANUAL], [-> CQA #NN] markers
- Add autofix capabilities to scripts that previously lacked them
- Add SARIF JSON output format (--format json) for CI integration
- Rename cqa-master-workflow.md to cqa-main-workflow.md
- Update all skill files, checklist, and documentation references
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* RHIDP-12779: Add summary/SARIF modes to cqa.sh and rename cqa-15
- cqa.sh --all: compact summary checklist with deduplicated issues
- cqa.sh --format json: single merged SARIF document (17 runs)
- cqa.sh sources cqa-lib.sh for argument parsing
- Rename cqa-15-redirects-if-needed-are-in-place-and-work-correc -> cqa-15-redirects
- Fix grep stray backslash warnings in summary mode
- Update CLAUDE.md examples to reference cqa.sh
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* RHIDP-12779: Add fix_type to delegated output and file paths to all checklist lines
- cqa-lib.sh: Include file path in [AUTOFIX], [FIXED], [MANUAL] output
- cqa-lib.sh: Add fix_type parameter to cqa_delegated() showing [-> CQA #N AUTOFIX/MANUAL]
- cqa-05: Handle snippets (skip ID/abstract checks, report titles as MANUAL)
- cqa-05: Change block title violations to MANUAL (not delegated to CQA #1)
- cqa-02: Mark intro length delegations as MANUAL (requires human judgment)
- cqa-01: Mark ShortDescription/DocumentId delegations as MANUAL
- cqa.sh: Show individual issue lines in summary mode (file path included)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* RHIDP-12779: Add CQA #0 orphaned modules check and overhaul CI workflow
- Create cqa-00-orphaned-modules.sh using cqa-lib (replaces fix-orphaned-modules.sh)
- Rewrite content-quality-assessment.yml:
- Source scripts from main branch (not base branch) for backport compatibility
- Remove reviewdog, changed-files detection, apply-fixes steps
- Run cqa.sh --all on entire repository
- Post checklist as PR comment, upload SARIF to Code Scanning
- Add CQA #0 as first step in cqa.sh and workflow docs
- Document all GitHub workflows in CLAUDE.md
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* RHIDP-12779: Fix all shellcheck alerts across CQA scripts
- SC1091: Add disable for dynamic source paths
- SC2329: Suppress for callback/helper functions invoked indirectly
- SC2034: Suppress for variables used by sourcing scripts (CQA_FORMAT, CQA_OUTPUT_FORMAT, CQA_DELEGATES_TO)
- SC2155: Separate local declarations from assignments
- SC2318: Split combined local declarations
- SC2004: Remove unnecessary $ in arithmetic expressions
- SC2094: Suppress false positive for cqa_is_in_block (reads cached data)
- SC2001: Replace sed with parameter expansion for CQA number extraction
- Remove unused variables (level, file_fixed, need_ar_fix)
- Rename loop variable to avoid shadowing function parameter (target -> delegate_to)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* RHIDP-12779: Add CQA #0 directory structure check and remove old scripts
- Create cqa-00-directory-structure.sh (replaces align-title-directories.sh)
with cqa-lib integration, --fix/--format support, SARIF output
- Delete align-title-directories.sh and list-all-included-files-starting-from.sh
(functionality integrated into cqa-lib.sh cqa_collect_files)
- Add cqa-00-directory-structure.sh as second entry in cqa.sh
- Update skill files, checklist, and CLAUDE.md references (19 checks)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* RHIDP-12779: Add autofix and manual fix guidance to cqa.sh output
When issues are found, the summary now suggests running with --fix
for autofixable issues and asking Claude for the CQA main workflow
for manual fixes.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* RHIDP-12779: Make CQA guidance a copy-pasteable Claude prompt
Reference .claude/skills/cqa-main-workflow.md explicitly so users
can copy-paste the prompt directly to Claude for manual fixes.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* RHIDP-12779: Fix CQA script false positives and apply content fixes
Script fixes (eliminate false positives):
- cqa-05: Allow .Example/.Sample block titles and descriptive labels in
reference modules; broaden allowed procedure block titles
- cqa-09: Resolve {abstract} attribute references before measuring length
- cqa-12: Only report Vale errors as failures (not warnings/suggestions);
show issue count instead of "(see output above)"
- cqa-13: Remove assembly body content check (belongs to CQA #6)
- cqa-14: Resolve images via :imagesdir: attribute; skip URLs/YAML
- cqa-17: Skip Technology Preview mentions inside source blocks;
accept inline mentions with official Red Hat support link
Content fixes:
- Shorten 9 too-long abstracts (auth, service-to-service, tokens)
- Expand 1 too-short abstract (troubleshoot authentication)
- Remove open block markers from 2 abstracts (guest user, s2s auth)
- Fix 8 Vale TermsWarnings (click on→click, like→such as, etc.)
- Fix .Procedure trailing space in sidebar menu localization
- CQA autofix: parent-context preservation in nested assemblies
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* RHIDP-12779: Align CQA #5 block title rules with modular docs checklist
Revert permissive block title exceptions. Per the official modular
documentation templates checklist:
- Concept/Reference: only .Additional resources and .Next steps allowed
- Procedure: only standard section titles allowed (no .Example/.Sample)
- Assembly: no block titles except .Additional resources
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* RHIDP-12779: Refine CQA prompt to trigger per-skill workflow
The copy-paste prompt now instructs Claude to:
1. Run the CQA script first to identify issues
2. Read each matching skill file individually
3. Fix issues following the skill instructions
This ensures Claude applies skills in order rather than
working from the output alone.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* RHIDP-12779: Fix CQA script false positives and add subheading checks
- CQA #1: Clean up output message (remove "see output above")
- CQA #3: Skip single-step check when includes may contain steps
- CQA #5: Add subheading checks (concept/ref: no ===+; proc: no ==+),
add autofix for missing _{context} in module topic IDs
- CQA #14: Fall back to artifacts/attributes.adoc for :imagesdir:
- Add concept and reference template resource files
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* RHIDP-12779: Inline assemblies, extract concepts, standardize titles
Content structure:
- Inline unique assemblies into master.adoc (extend plugins, MCP)
- Extract supplementary content to concept modules (install methods,
adoption insights, audit logs)
- Delete 4 orphaned assembly files
Module fixes:
- Add _{context} suffix to 8 module topic IDs
Title standardization:
- Move inline abstracts to :abstract: attribute
- Remove redundant :imagesdir: (inherited from artifacts/attributes.adoc)
- Normalize blank line spacing in header attributes
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* RHIDP-12779: Move topology plugin assembly to its owning title directory
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* RHIDP-12779: Fix broken xrefs and update shellcheck workflow
- Fix 11 broken cross-references caused by cross-assembly context
mismatches (ccutil build now passes for all 33 titles)
- Update shellcheck workflow to always update existing PR comment
- Add PR template and post-push rules to CLAUDE.md
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* RHIDP-12779: Fix SonarCloud static analysis findings in CQA scripts
Address all SonarCloud code analysis warnings:
- Add explicit return statements at end of functions across all CQA scripts
- Assign positional parameters to local variables (cqa-00, cqa-02, cqa-03)
- Merge nested if statements (cqa-01, cqa-17)
- Define constants for repeated string literals (cqa-lib checklist,
cqa-00 shared, cqa-03 include pattern)
- Add default case to case statement (cqa-01)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>1 parent 08fe0a0 commit 3b1940b
194 files changed
Lines changed: 6343 additions & 11781 deletions
File tree
- .claude
- resources
- skills
- .github/workflows
- .vscode
- assemblies
- configure_configuring-rhdh
- configure_customizing-rhdh
- configure_techdocs-for-rhdh
- develop_manage-and-consume-technical-documentation-within-rhdh
- develop_streamline-software-development-and-management-in-rhdh
- extend_using-dynamic-plugins-in-rhdh
- integrate_interacting-with-model-context-protocol-tools-for-rhdh
- build/scripts
- modules
- configure_techdocs-for-rhdh
- develop_streamline-software-development-and-management-in-rhdh
- discover_about-rhdh
- install_installing-rhdh-on-ocp
- integrate_interacting-with-model-context-protocol-tools-for-rhdh
- observability_adoption-insights-in-rhdh
- observability_audit-logs-in-rhdh
- titles
- configure_configuring-rhdh
- configure_customizing-rhdh
- configure_techdocs-for-rhdh
- control-access_authentication-in-rhdh
- control-access_authorization-in-rhdh
- develop_manage-and-consume-technical-documentation-within-rhdh
- develop_streamline-software-development-and-management-in-rhdh
- discover_about-rhdh
- extend_configuring-dynamic-plugins
- extend_develop-and-deploy-pugins-in-rhdh
- extend_dynamic-plugins-reference
- extend_installing-and-viewing-plugins-in-rhdh
- extend_orchestrator-in-rhdh
- extend_troubleshooting-rhdh-plugins
- extend_using-dynamic-plugins-in-rhdh
- get-started_setting-up-and-configuring-your-first-red-hat-developer-hub-instance
- install_installing-rhdh-in-an-air-gapped-environment
- install_installing-rhdh-on-aks
- install_installing-rhdh-on-eks
- install_installing-rhdh-on-gke
- install_installing-rhdh-on-ocp
- install_installing-rhdh-on-osd-on-gcp
- integrate_accelerating-ai-development-with-openshift-ai-connector-for-rhdh
- integrate_integrating-rhdh-with-github
- integrate_interacting-with-developer-lightspeed-for-rhdh
- integrate_interacting-with-model-context-protocol-tools-for-rhdh
- observability_adoption-insights-in-rhdh
- observability_audit-logs-in-rhdh
- observability_evaluate-project-health-using-scorecards
- observability_monitoring-and-logging
- observability_telemetry-data-collection-and-analysis
- upgrade_upgrade-rhdh
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
8 | | - | |
9 | 7 | | |
10 | 8 | | |
11 | | - | |
12 | | - | |
13 | 9 | | |
14 | 10 | | |
15 | | - | |
| 11 | + | |
16 | 12 | | |
17 | | - | |
18 | | - | |
| 13 | + | |
| 14 | + | |
19 | 15 | | |
20 | 16 | | |
21 | 17 | | |
22 | 18 | | |
23 | | - | |
24 | | - | |
| 19 | + | |
25 | 20 | | |
26 | 21 | | |
27 | | - | |
| 22 | + | |
28 | 23 | | |
29 | | - | |
30 | | - | |
| 24 | + | |
31 | 25 | | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
36 | | - | |
37 | | - | |
38 | | - | |
| 26 | + | |
| 27 | + | |
39 | 28 | | |
40 | 29 | | |
41 | | - | |
42 | | - | |
43 | | - | |
44 | | - | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
50 | | - | |
51 | | - | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | | - | |
58 | | - | |
59 | | - | |
60 | | - | |
61 | | - | |
62 | | - | |
63 | | - | |
64 | | - | |
65 | | - | |
66 | | - | |
67 | | - | |
68 | | - | |
69 | | - | |
70 | | - | |
71 | | - | |
72 | | - | |
73 | | - | |
74 | | - | |
75 | | - | |
76 | | - | |
77 | | - | |
78 | | - | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | | - | |
87 | | - | |
88 | | - | |
89 | | - | |
90 | | - | |
91 | | - | |
92 | | - | |
93 | | - | |
94 | | - | |
95 | | - | |
96 | | - | |
97 | | - | |
98 | | - | |
99 | | - | |
100 | | - | |
101 | | - | |
102 | | - | |
103 | | - | |
104 | | - | |
105 | 30 | | |
106 | 31 | | |
107 | 32 | | |
108 | | - | |
109 | | - | |
110 | | - | |
111 | | - | |
| 33 | + | |
112 | 34 | | |
113 | 35 | | |
114 | | - | |
115 | | - | |
116 | | - | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
117 | 40 | | |
118 | | - | |
119 | | - | |
120 | | - | |
121 | | - | |
122 | | - | |
123 | | - | |
124 | | - | |
125 | | - | |
126 | | - | |
127 | | - | |
128 | | - | |
129 | | - | |
130 | | - | |
131 | | - | |
132 | | - | |
133 | | - | |
134 | | - | |
135 | | - | |
136 | | - | |
137 | | - | |
138 | | - | |
139 | | - | |
140 | | - | |
141 | | - | |
| 41 | + | |
142 | 42 | | |
143 | 43 | | |
144 | 44 | | |
145 | 45 | | |
146 | 46 | | |
147 | | - | |
148 | | - | |
149 | | - | |
150 | | - | |
151 | | - | |
152 | | - | |
153 | | - | |
154 | | - | |
155 | | - | |
156 | | - | |
157 | | - | |
158 | | - | |
159 | | - | |
160 | | - | |
161 | | - | |
162 | | - | |
163 | | - | |
164 | | - | |
165 | | - | |
166 | | - | |
167 | | - | |
168 | | - | |
169 | | - | |
170 | | - | |
| 47 | + | |
171 | 48 | | |
172 | 49 | | |
173 | 50 | | |
174 | | - | |
175 | | - | |
176 | | - | |
177 | | - | |
178 | | - | |
179 | | - | |
180 | | - | |
181 | | - | |
182 | | - | |
183 | | - | |
184 | | - | |
185 | | - | |
186 | | - | |
187 | | - | |
188 | | - | |
189 | | - | |
190 | | - | |
191 | | - | |
192 | | - | |
193 | | - | |
194 | | - | |
195 | | - | |
196 | | - | |
197 | | - | |
198 | | - | |
199 | | - | |
| 51 | + | |
200 | 52 | | |
201 | | - | |
202 | | - | |
203 | | - | |
204 | | - | |
205 | | - | |
| 53 | + | |
206 | 54 | | |
207 | 55 | | |
208 | 56 | | |
| |||
212 | 60 | | |
213 | 61 | | |
214 | 62 | | |
215 | | - | |
216 | | - | |
217 | | - | |
218 | 63 | | |
219 | 64 | | |
220 | 65 | | |
221 | 66 | | |
222 | 67 | | |
223 | 68 | | |
224 | | - | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
38 | | - | |
39 | | - | |
| 38 | + | |
| 39 | + | |
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
| |||
0 commit comments