Skip to content

Comments

Update CONTRIBUTING.md w/ a workflow diagram#3155

Merged
arkid15r merged 4 commits intomainfrom
ark/contribution-diagram
Jan 3, 2026
Merged

Update CONTRIBUTING.md w/ a workflow diagram#3155
arkid15r merged 4 commits intomainfrom
ark/contribution-diagram

Conversation

@arkid15r
Copy link
Collaborator

@arkid15r arkid15r commented Jan 2, 2026

Proposed change

Add contribution diagram.

https://github.com/OWASP/Nest/blob/ark/contribution-diagram/CONTRIBUTING.md#contributing-workflow

Checklist

  • Required: I read and followed the contributing guidelines
  • Required: I ran make check-test locally and all tests passed
  • I used AI for code, documentation, or tests in this PR

@github-actions github-actions bot added the docs Improvements or additions to documentation label Jan 2, 2026
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 2, 2026

Walkthrough

Adds Mermaid diagram support to MkDocs via a custom pymdownx.superfences fence and embeds a Mermaid flowchart of the contribution workflow into CONTRIBUTING.md; the same diagram is duplicated within the Contributing Workflow section. No code or API changes.

Changes

Cohort / File(s) Summary
MkDocs config / Markdown extension
mkdocs.yaml
Added pymdownx.superfences under markdown_extensions with a custom mermaid fence (fence name, CSS class, code-format hook) to enable Mermaid rendering.
Contribution documentation
CONTRIBUTING.md
Inserted a full Mermaid flowchart illustrating the contribution workflow (issue assignment, local checks, PR states, review, CI, merge). The same diagram is duplicated in the Contributing Workflow section.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: adding a workflow diagram to CONTRIBUTING.md documentation.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description check ✅ Passed The PR description accurately describes the changeset: adding a contribution workflow diagram to CONTRIBUTING.md and configuring MkDocs to support Mermaid diagrams.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch ark/contribution-diagram

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
CONTRIBUTING.md (1)

419-420: Consider adding a note about viewing the rendered diagram.

The diagram is quite detailed with 70 lines of Mermaid code. You might want to add a note that the diagram is best viewed in the rendered documentation rather than in the raw markdown file.

🔎 Optional enhancement
-The following diagram illustrates the complete contribution workflow:
+The following diagram illustrates the complete contribution workflow (view in [rendered documentation](https://owasp.github.io/Nest/contributing/) for best experience):
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 183970c and f160d12.

📒 Files selected for processing (2)
  • CONTRIBUTING.md
  • mkdocs.yaml
🧰 Additional context used
🧠 Learnings (2)
📚 Learning: 2025-07-28T14:51:14.736Z
Learnt from: adithya-naik
Repo: OWASP/Nest PR: 1894
File: frontend/src/components/TopContributorsList.tsx:74-74
Timestamp: 2025-07-28T14:51:14.736Z
Learning: In the OWASP/Nest project, the maintainer adithya-naik prefers not to create separate components for code that's only used in two specific cases, following the YAGNI principle to avoid over-engineering when the duplication is limited and manageable.

Applied to files:

  • CONTRIBUTING.md
📚 Learning: 2025-12-26T06:08:58.549Z
Learnt from: ahmedxgouda
Repo: OWASP/Nest PR: 3041
File: .github/workflows/run-ci-cd.yaml:233-243
Timestamp: 2025-12-26T06:08:58.549Z
Learning: Ensure Redis image versions stay in sync across all environments by updating every relevant YAML file together (docker-compose files and CI/CD workflow configurations). When upgrading Redis, bump the image version in all docker-compose files and in all CI workflow YAMLs in one coordinated change to maintain parity across production, staging, local, E2E, and CI tests.

Applied to files:

  • mkdocs.yaml
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: Run frontend unit tests
  • GitHub Check: Run backend tests
  • GitHub Check: Run frontend e2e tests
🔇 Additional comments (2)
CONTRIBUTING.md (2)

419-420: Clear introduction for the workflow diagram.

The introductory text appropriately sets context for the visual diagram that follows.


421-490: Comprehensive workflow diagram is well-structured and correct.

The Mermaid flowchart effectively visualizes the contribution process with clear decision points and feedback loops. The edge count matches all linkStyle declarations (25 edges, indices 0-24). Color coding—green for success paths, red for rework—reinforces the project's quality standards. The use of invisible waypoint nodes (WP1, WP2) for feedback loops is valid Mermaid syntax and appropriately emphasizes key requirements like local checks and automated tool resolution.

@arkid15r arkid15r marked this pull request as ready for review January 2, 2026 20:46
@arkid15r arkid15r requested a review from kasya as a code owner January 2, 2026 20:46
@arkid15r arkid15r enabled auto-merge January 2, 2026 20:46
coderabbitai[bot]
coderabbitai bot previously approved these changes Jan 2, 2026
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (1)
CONTRIBUTING.md (1)

419-543: Consider consolidating duplicate workflow documentation.

The contribution workflow is now documented in two formats:

  1. Visual representation (lines 419–493): The Mermaid flowchart diagram
  2. Textual instructions (lines 495–543): Numbered steps 1–6 describing the same workflow

Both cover the same process (Find Issue → Create Branch → Make Changes → Push → Open PR → Review & Merge), which creates maintenance overhead—any workflow changes must now be updated in two places.

Consider one of these approaches:

  • Consolidate: Keep the diagram and make the numbered steps brief references that add only actionable details (e.g., specific commands, links) not already communicated visually.
  • Clarify roles: Add a short paragraph explaining that the diagram is the overview and the numbered steps provide detailed "how-to" instructions for each phase.

This will improve clarity for readers and reduce duplication burden for future maintainers.

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 2a56745 and 013bce1.

📒 Files selected for processing (1)
  • CONTRIBUTING.md
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-07-28T14:51:14.736Z
Learnt from: adithya-naik
Repo: OWASP/Nest PR: 1894
File: frontend/src/components/TopContributorsList.tsx:74-74
Timestamp: 2025-07-28T14:51:14.736Z
Learning: In the OWASP/Nest project, the maintainer adithya-naik prefers not to create separate components for code that's only used in two specific cases, following the YAGNI principle to avoid over-engineering when the duplication is limited and manageable.

Applied to files:

  • CONTRIBUTING.md
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (5)
  • GitHub Check: Run frontend unit tests
  • GitHub Check: Run backend tests
  • GitHub Check: Run frontend e2e tests
  • GitHub Check: CodeQL (javascript-typescript)
  • GitHub Check: CodeQL (python)
🔇 Additional comments (1)
CONTRIBUTING.md (1)

419-493: Verify Mermaid diagram rendering and configuration.

The Mermaid flowchart diagram is well-structured and comprehensive. However, the AI summary indicates mkdocs.yaml was updated to enable Mermaid support via pymdownx.superfences, but that configuration file is not included in the provided files.

Please confirm that:

  1. The mkdocs.yaml has been updated with the necessary Mermaid extension configuration
  2. The diagram renders correctly when the documentation is built locally

You can verify this by running the appropriate MkDocs build command and checking that the flowchart displays properly in the generated HTML documentation.

coderabbitai[bot]
coderabbitai bot previously approved these changes Jan 2, 2026
@sonarqubecloud
Copy link

sonarqubecloud bot commented Jan 2, 2026

Copy link
Collaborator

@kasya kasya left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! 🔥

@arkid15r arkid15r added this pull request to the merge queue Jan 3, 2026
Merged via the queue into main with commit 53e8020 Jan 3, 2026
27 checks passed
@arkid15r arkid15r deleted the ark/contribution-diagram branch January 3, 2026 01:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants