feat: add markdownlint linting to CI#87
Conversation
- Add .markdownlint.jsonc with commented rule configuration - Add .markdownlint-cli2.yaml with ignore patterns for venvs and generated files - Replace ruff.yml with consolidated code-quality.yml (ruff + markdownlint) - Update CONTRIBUTING.md with markdownlint usage instructions Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
📝 WalkthroughWalkthroughAdds markdownlint to CI by renaming and updating the workflow to "Code Quality" and adding lint steps/config; also applies widespread Markdown formatting fixes (fenced languages, heading levels, spacing, trailing newlines) across README, docs, agent READMEs, and templates. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Review rate limit: 9/10 reviews remaining, refill in 6 minutes. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
CONTRIBUTING.md (1)
38-41: ⚡ Quick winUse markdownlint-cli2@0.22.1 to match CI version
Lines 39-40 currently use unpinned
npx, which pulls the latest version and can differ from the pinned GitHub Action. The CI workflow usesmarkdownlint-cli2-action@v23.0.0, which internally uses markdownlint-cli2 v0.22.1. Pin local commands to the same version for consistency.Proposed doc update
- npx markdownlint-cli2 "**/*.md" # lint - npx markdownlint-cli2 --fix "**/*.md" # auto-fix + npx markdownlint-cli2@0.22.1 "**/*.md" # lint + npx markdownlint-cli2@0.22.1 --fix "**/*.md" # auto-fix🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@CONTRIBUTING.md` around lines 38 - 41, Update the CONTRIBUTING.md lint commands to pin markdownlint-cli2 to v0.22.1 so local runs match CI: replace the unpinned npx commands (`npx markdownlint-cli2 "**/*.md"` and `npx markdownlint-cli2 --fix "**/*.md"`) with invocations that reference markdownlint-cli2@0.22.1 (e.g., using `npx markdownlint-cli2@0.22.1 ...`) so both lint and auto-fix use the same version as the CI action.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@agents/langflow/simple_tool_calling_agent/README.md`:
- Line 208: The README's LlamaStack internal endpoint example is malformed due
to stray angle-bracket escapes; update the snippet so the hostname uses a proper
templated form (e.g.
http://llamastack-service.<namespace>.svc.cluster.local:8321/v1) instead of
`<http://llamastack-service.\><namespace\>...`; locate the table row containing
"Via LlamaStack (internal)" and replace the broken
`<http://llamastack-service.\><namespace\>.svc.cluster.local:8321/v1` with the
corrected `http://llamastack-service.<namespace>.svc.cluster.local:8321/v1`
string so users can copy a valid endpoint.
---
Nitpick comments:
In `@CONTRIBUTING.md`:
- Around line 38-41: Update the CONTRIBUTING.md lint commands to pin
markdownlint-cli2 to v0.22.1 so local runs match CI: replace the unpinned npx
commands (`npx markdownlint-cli2 "**/*.md"` and `npx markdownlint-cli2 --fix
"**/*.md"`) with invocations that reference markdownlint-cli2@0.22.1 (e.g.,
using `npx markdownlint-cli2@0.22.1 ...`) so both lint and auto-fix use the same
version as the CI action.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Enterprise
Run ID: b6274c56-936c-498d-912b-6afdab76a21c
📒 Files selected for processing (26)
.github/ISSUE_TEMPLATE/bug_report.md.github/workflows/code-quality.yml.markdownlint-cli2.yaml.markdownlint.jsoncAGENTS.mdCONTRIBUTING.mdMAINTAINERS.mdREADME.mdagents/a2a/langgraph_crewai_agent/README.mdagents/autogen/mcp_agent/README.mdagents/autogen/mcp_agent/mcp_automl_template/AUTOML_DEPLOYMENT.mdagents/autogen/mcp_agent/mcp_automl_template/README.mdagents/crewai/websearch_agent/README.mdagents/google/adk/README.mdagents/langflow/simple_tool_calling_agent/README.mdagents/langgraph/agentic_rag/README.mdagents/langgraph/human_in_the_loop/README.mdagents/langgraph/react_agent/README.mdagents/langgraph/react_with_database_memory/README.mdagents/llamaindex/websearch_agent/README.mdagents/vanilla_python/openai_responses_agent/README.mddocs/adding-a-new-agent.mddocs/adding-behavioral-tests.mddocs/local-development.mddocs/openshift-deployment.mdtracing.md
💤 Files with no reviewable changes (1)
- MAINTAINERS.md
cbcb283 to
fe644a5
Compare
The default glob *.{md,markdown} only matches root-level files.
Use **/*.md to lint all markdown files in subdirectories.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
fe644a5 to
f8d121c
Compare
There was a problem hiding this comment.
🧹 Nitpick comments (1)
CONTRIBUTING.md (1)
38-41: Consider updating markdownlint-cli2 in CI to match the local development version.The CONTRIBUTING.md specifies
markdownlint-cli2@0.22.1(the latest version), while the GitHub ActionDavidAnson/markdownlint-cli2-action@v23.0.0bundlesmarkdownlint-cli2@0.22.0. Although this is only a patch version difference, aligning versions between local and CI environments prevents potential inconsistencies.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@CONTRIBUTING.md` around lines 38 - 41, The CONTRIBUTING.md uses markdownlint-cli2@0.22.1 while the GitHub Action DavidAnson/markdownlint-cli2-action@v23.0.0 bundles 0.22.0; pick one source of truth and align them: either change the CLI references in CONTRIBUTING.md (the two lines invoking markdownlint-cli2) to `@0.22.0` to match the action, or update the workflow using DavidAnson/markdownlint-cli2-action@v23.0.0 to a release that bundles 0.22.1 (or replace the action with an explicit install of markdownlint-cli2@0.22.1) so both local dev (CONTRIBUTING.md) and CI (GitHub Action) use the same markdownlint-cli2 patch version.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@CONTRIBUTING.md`:
- Around line 38-41: The CONTRIBUTING.md uses markdownlint-cli2@0.22.1 while the
GitHub Action DavidAnson/markdownlint-cli2-action@v23.0.0 bundles 0.22.0; pick
one source of truth and align them: either change the CLI references in
CONTRIBUTING.md (the two lines invoking markdownlint-cli2) to `@0.22.0` to match
the action, or update the workflow using
DavidAnson/markdownlint-cli2-action@v23.0.0 to a release that bundles 0.22.1 (or
replace the action with an explicit install of markdownlint-cli2@0.22.1) so both
local dev (CONTRIBUTING.md) and CI (GitHub Action) use the same
markdownlint-cli2 patch version.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Enterprise
Run ID: 98e6574a-89e5-46ac-b434-d4947a69d3a6
📒 Files selected for processing (3)
.github/workflows/code-quality.ymlCONTRIBUTING.mdagents/langflow/simple_tool_calling_agent/README.md
✅ Files skipped from review due to trivial changes (2)
- .github/workflows/code-quality.yml
- agents/langflow/simple_tool_calling_agent/README.md
|
Are actionlint and pre-commit integration (the remaining RHAIENG-4067 scope) planned as follow-up PRs? Assisted by Claude Opus 4.6 (1M context) |
| Run locally before pushing: | ||
|
|
||
| ```bash | ||
| npx markdownlint-cli2@0.22.1 "**/*.md" # lint |
There was a problem hiding this comment.
Suggestion: since the repo is Python-only (uv, ruff), running markdownlint locally requires Node.js/npm which developers may not have. Consider adding a note that local linting is optional — CI will catch violations on push anyway. Something like: "Requires Node.js. Optional — the Code Quality CI workflow catches violations automatically."
Assisted by Claude Opus 4.6 (1M context)
Yes. Will include the suggestion in that PR |
Description
Add markdownlint as a blocking CI check alongside ruff in a consolidated
Code Qualityworkflow, and fix all existing violations across the repo..github/workflows/ruff.ymlwith.github/workflows/code-quality.yml(ruff + markdownlint).markdownlint.jsonc(rule config with comments) and.markdownlint-cli2.yaml(ignore patterns)CONTRIBUTING.mdwith markdownlint usage instructionsLint fixes include
####→###under## Local Development)Jira Ticket
RHAIENG-4067
Testing
Code Qualityworkflow passes on this PR (ruff + markdownlint)npx markdownlint-cli2 "**/*.md"reports 0 errors locallyruff check . && ruff format --check .still passesChecklist
.envor secret files are included in this PRReview Guidance
feat: add markdownlint linting to CI): Config files and CI workflow — review the rule choices in.markdownlint.jsoncand ignore patterns in.markdownlint-cli2.yamldocs: fix markdownlint violations): Bulk lint fixes — heading level corrections in agent READMEs are the most substantive changes; the rest are whitespace/formatting auto-fixesRelated PRs
🤖 Generated with Claude Code