Skip to content

Docs Reorganization and MkDocs Update#672

Closed
akshajtiwari wants to merge 4 commits into
AOSSIE-Org:mainfrom
akshajtiwari:main
Closed

Docs Reorganization and MkDocs Update#672
akshajtiwari wants to merge 4 commits into
AOSSIE-Org:mainfrom
akshajtiwari:main

Conversation

@akshajtiwari
Copy link
Copy Markdown
Contributor

@akshajtiwari akshajtiwari commented Nov 29, 2025

Summary of Changes

README.md

  • Updated minor vocabulary/wording for clarity.
  • Added a Quick Links section for easier navigation.
  • Reordered headings: moved Contribution section below Architecture.

Documentation

  • Fixed a bug in the image processing documentation.
  • Added a visual representation of the entire pipeline flow.
20251129_130053 - Minor vocabulary improvements for clarity.

Architecture.md

  • Minor vocabulary improvements.

Configuration

  • Added a new extension and a feature
    in mkdocs.yml.

Summary by CodeRabbit

  • Documentation
    • Revamped README with expanded marketing-style intro, Quick Links, contributor flow, "Need Help?" invite, clarified Code of Conduct and reorganized Architecture; added visual flow diagrams and diagram rendering support in site config.
  • Style
    • Improved footer layout and adjusted docs formatting and tip presentation for readability.
  • Chores
    • CI/workflows restructured with clearer frontend/backend separation, dedicated lint/test jobs, updated tooling, caching and build artifact checks.

✏️ Tip: You can customize this high-level summary in your review settings.

@github-actions
Copy link
Copy Markdown
Contributor

⚠️ No issue was linked in the PR description.
Please make sure to link an issue (e.g., 'Fixes #issue_number')

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Nov 29, 2025

📝 Walkthrough

Walkthrough

This PR restructures documentation (README, architecture, backend docs), adds Mermaid diagram support and a flow diagram, tweaks site CSS and mkdocs config, and overhauls CI (separating frontend/backend lint/tests, updated actions, caching, Rust checks, and PyInstaller artifact validation).

Changes

Cohort / File(s) Change Summary
README & overview
README.md, docs/overview/architecture.md
Expanded README with Quick Links, reworked contributor flow, "Need Help?" section, clarified Code of Conduct heading; small wording change in architecture text.
Backend docs (image processing)
docs/backend/backend_python/image-processing.md
Wording/formatting edits for tips and ONNX, reorganized face-processing description, and added a Mermaid visual diagram of the image-processing flow.
Site config & stylesheets
mkdocs.yml, docs/stylesheets/extra.css
Enabled theme.features.content.diagrams, updated pymdownx.superfences mapping for mermaid fences, and added CSS to center footer meta grid (removed stray backslash).
CI workflow
.github/workflows/pr-check-tests.yml
Major CI restructuring: added permissions, upgraded actions (checkout/setup-node/setup-python), split frontend/backend lint & test jobs, npm/pip caching, Rust cargo fmt check, PyInstaller build/artifact verification, and explicit working-directory scopes.

Sequence Diagram(s)

(Skipped — changes are documentation, config, styling, and CI restructuring; no new multi-component runtime control flow requiring sequence visualization.)

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related PRs

Suggested labels

documentation, CI/CD, enhancement

Suggested reviewers

  • rahulharpal1603

Poem

🐰 I hopped through docs and lined each thread,
I drew a flow where images tread,
I nudged the CI to split and sing,
Centered the footer and polished the ring,
Hooray — small hops made big things spring ✨

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main changes: documentation reorganization in README.md and MkDocs configuration updates in mkdocs.yml.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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.

@akshajtiwari akshajtiwari marked this pull request as draft November 29, 2025 07:35
@github-actions
Copy link
Copy Markdown
Contributor

⚠️ No issue was linked in the PR description.
Please make sure to link an issue (e.g., 'Fixes #issue_number')

@akshajtiwari akshajtiwari marked this pull request as ready for review November 29, 2025 12:05
@github-actions
Copy link
Copy Markdown
Contributor

⚠️ No issue was linked in the PR description.
Please make sure to link an issue (e.g., 'Fixes #issue_number')

1 similar comment
@github-actions
Copy link
Copy Markdown
Contributor

⚠️ No issue was linked in the PR description.
Please make sure to link an issue (e.g., 'Fixes #issue_number')

Copy link
Copy Markdown
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 (7)
.github/workflows/pr-check-tests.yml (7)

12-12: Inconsistent indentation for section comment.

The # LINTING comment uses 1-space indentation while the job definition below uses 2 spaces. While valid YAML, this inconsistency reduces readability.

🔎 Suggested fix
-# LINTING
+  # LINTING

28-30: Orphaned comment placement.

The comment # Frontend Dependencies Installation appears after the cache-dependency-path parameter, separated by blank lines, making it unclear what it refers to. Consider moving it directly above the Install frontend dependencies step or removing it as redundant.

🔎 Suggested fix
          cache-dependency-path: frontend/package-lock.json
-          
-          # Frontend Dependencies Installation

+      # Frontend Dependencies Installation
       - name: Install frontend dependencies

57-58: Inconsistent section comment formatting.

The # RUST comment has inconsistent indentation (7 spaces) compared to # LINTING (1 space). Consider standardizing section comment formatting.

🔎 Suggested fix
-       # RUST   
-       
+      # RUST
       - name: Setup Rust

97-100: Single-value matrix is unnecessary overhead.

The matrix strategy with only ["3.11"] adds complexity without benefit. If you plan to add more Python versions later, this is fine. Otherwise, consider simplifying.

🔎 Suggested simplification if only testing Python 3.11
-    strategy:
-      fail-fast: false
-      matrix:
-        python-version: ["3.11"]
-
     steps:
       - name: Checkout code
         uses: actions/checkout@v4

       - name: Setup Python
         uses: actions/setup-python@v5
         with:
-          python-version: ${{ matrix.python-version }}
+          python-version: "3.11"
           cache: "pip"

118-133: PyInstaller builds are performed but artifacts are not verified or used.

The workflow builds executables with PyInstaller but doesn't:

  1. Verify the executables run successfully (e.g., ./dist/PictoPy_Server/PictoPy_Server --version)
  2. Upload artifacts for later stages
  3. Use them in subsequent test steps

If the goal is just to verify the build succeeds, the current approach works. Consider adding basic smoke tests or artifact upload if these builds are meaningful for the PR validation.

Is the intent purely to validate that PyInstaller builds succeed? If so, consider adding a comment clarifying this. If the artifacts should be tested or preserved, consider adding:

      - name: Verify build artifacts
        run: |
          test -f backend/dist/PictoPy_Server/PictoPy_Server
          test -f sync-microservice/dist/PictoPy_Sync_Microservice/PictoPy_Sync_Microservice

126-133: Sync microservice dependencies bypass pip cache.

The pip install -r requirements.txt for sync-microservice (line 129) won't benefit from the pip cache configured in the Python setup step, since that cache is typically scoped to the backend directory's requirements. Consider either:

  1. Using a cache key that includes both requirement files
  2. Accepting the minor performance impact
🔎 Suggested improvement for multi-path pip caching
       - name: Setup Python
         uses: actions/setup-python@v5
         with:
           python-version: ${{ matrix.python-version }}
           cache: "pip"
+          cache-dependency-path: |
+            backend/requirements.txt
+            sync-microservice/requirements.txt

135-137: Backend tests run without coverage reporting.

Consider adding coverage reporting to track test coverage over time, especially for PRs. This helps maintain code quality standards.

🔎 Optional: Add coverage reporting
+      - name: Install test dependencies
+        working-directory: backend
+        run: pip install pytest-cov
+
       - name: Run backend tests
         working-directory: backend
-        run: pytest -v
+        run: pytest -v --cov=. --cov-report=term-missing
📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 98eb880 and d3aac49.

📒 Files selected for processing (1)
  • .github/workflows/pr-check-tests.yml
🔇 Additional comments (3)
.github/workflows/pr-check-tests.yml (3)

8-10: Good security practice with explicit permissions.

Setting contents: read follows the principle of least privilege, restricting the workflow to only the permissions it needs.


66-89: Frontend tests job looks good.

The job correctly sets up Node.js with caching, installs dependencies using npm ci (which is preferred for CI), and runs tests with the --ci flag for CI-optimized output.


47-55: Remove explicit ruff and black installation; pre-commit manages them.

Both ruff and black are already configured in .pre-commit-config.yaml as pre-commit hooks. Since the workflow only runs pre-commit run --all-files, the explicit pip install ruff black on line 50 is redundant—pre-commit runs tools in isolated environments and handles their installation automatically. Remove this line unless these tools are needed elsewhere in the workflow.

@github-actions
Copy link
Copy Markdown
Contributor

⚠️ No issue was linked in the PR description.
Please make sure to link an issue (e.g., 'Fixes #issue_number')

2 similar comments
@github-actions
Copy link
Copy Markdown
Contributor

⚠️ No issue was linked in the PR description.
Please make sure to link an issue (e.g., 'Fixes #issue_number')

@github-actions
Copy link
Copy Markdown
Contributor

⚠️ No issue was linked in the PR description.
Please make sure to link an issue (e.g., 'Fixes #issue_number')

Copy link
Copy Markdown
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: 2

🧹 Nitpick comments (1)
.github/workflows/pr-check-tests.yml (1)

96-149: Backend tests comprehensive with good artifact verification.

The backend tests job effectively validates both build integrity and test coverage. Key strengths:

  • PyInstaller build checks for both main backend and sync microservice
  • Explicit artifact verification using test -f
  • Proper cache configuration for both dependency files
  • Test coverage reporting with pytest-cov
💡 Optional: Consider caching PyInstaller builds

If the PyInstaller builds become time-consuming, consider caching the build artifacts based on requirements.txt hashes to speed up the workflow:

- name: Cache PyInstaller builds
  uses: actions/cache@v4
  with:
    path: |
      backend/dist
      sync-microservice/dist
    key: pyinstaller-${{ runner.os }}-${{ hashFiles('backend/requirements.txt', 'sync-microservice/requirements.txt') }}

This would be placed before the build steps and could reduce build time in subsequent runs with unchanged dependencies.

📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d3aac49 and f9512b2.

📒 Files selected for processing (1)
  • .github/workflows/pr-check-tests.yml
🔇 Additional comments (3)
.github/workflows/pr-check-tests.yml (3)

8-9: Good security practice with explicit permissions.

Setting contents: read follows the principle of least privilege and is a recommended security practice for GitHub Actions workflows.


63-68: Rust formatting check is properly configured.

The Rust toolchain setup and cargo fmt check in the frontend/src-tauri directory are correctly configured.


71-93: Frontend tests job is well-structured.

The separation of frontend tests into a dedicated job with proper caching and use of npm test -- --ci is a good practice. The configuration mirrors the linting job appropriately.

Comment on lines +19 to 40
- name: Checkout code
uses: actions/checkout@v4


- name: Set up Node.js
uses: actions/setup-node@v3
# Frontend

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "18"
node-version: 18
cache: npm
cache-dependency-path: frontend/package-lock.json

- name: Install Dependencies
run: |
cd frontend
npm install
cd ..
cd backend
pip install pre-commit ruff black
cd ..
- name: Run Linters
- name: Install frontend dependencies
working-directory: frontend
run: npm ci

- name: Run frontend linters
working-directory: frontend
run: |
cd frontend/
npm run lint:check
npm run format:check
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Update GitHub Actions versions and Node.js to current LTS.

Upgrade actions/checkout and actions/setup-node from v4 to v6, and update Node.js from 18 to 22. Node.js 18 exits maintenance support in April 2025, while Node.js 22 is the current stable LTS release.

🤖 Prompt for AI Agents
.github/workflows/pr-check-tests.yml lines 19-40: the workflow uses
actions/checkout@v4, actions/setup-node@v4 and node-version 18; update those to
current LTS by changing actions/checkout to actions/checkout@v6,
actions/setup-node to actions/setup-node@v6 and set node-version to 22 (retain
cache and cache-dependency-path settings as-is or adjust if needed for npm
lockfile layout).

Comment on lines +45 to +58
- name: Setup Python
uses: actions/setup-python@v5
with:
node-version: "18"
python-version: "3.11"
cache: pip

- name: Install Dependencies & Run Tests
- name: Install pre-commit
run: |
cd frontend
npm install
npm test
python -m pip install --upgrade pip
pip install pre-commit

- name: Run backend linters
working-directory: backend
run: pre-commit run --config ../.pre-commit-config.yaml --all-files
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Check if .pre-commit-config.yaml exists at root
echo "=== Checking for .pre-commit-config.yaml ===" 
test -f .pre-commit-config.yaml && echo "✓ Config found at root" || echo "✗ Config NOT found at root"

# Check directory structure
echo ""
echo "=== Repository root files/dirs ===" 
ls -la | grep -E "^\." | head -20

# Check for Python version specifications in codebase
echo ""
echo "=== Python version usage in YAML/config files ===" 
find . -type f \( -name "*.yml" -o -name "*.yaml" -o -name "pyproject.toml" -o -name "setup.py" \) -exec grep -l "python" {} \; | head -10

# Check for other Python 3.x version mentions
echo ""
echo "=== Python 3.x version mentions ===" 
rg "python-version|3\.[0-9]+|Python 3\.[0-9]+" --type yaml --type toml | head -20

Repository: AOSSIE-Org/PictoPy

Length of output: 1405


🏁 Script executed:

#!/bin/bash
# Check Python versions in GitHub workflow files
echo "=== Python versions in workflow files ===" 
rg "python-version" .github/workflows/ -A 1 -B 1

echo ""
echo "=== Check pyproject.toml for Python version constraints ===" 
if [ -f pyproject.toml ]; then
  cat pyproject.toml | grep -A 5 -i "python"
fi

echo ""
echo "=== Check setup.py for Python version constraints ===" 
if [ -f setup.py ]; then
  cat setup.py | head -30
fi

echo ""
echo "=== Check backend directory for Python version specs ===" 
find backend -type f \( -name "pyproject.toml" -o -name "setup.py" -o -name "requirements*.txt" \) -exec echo "File: {}" \; -exec head -20 {} \;

Repository: AOSSIE-Org/PictoPy

Length of output: 2319


Backend linting setup is correct; consider Python version consistency.

The pre-commit config path works correctly—.pre-commit-config.yaml exists at the repository root. However, this workflow uses Python 3.11 while build-and-release.yml uses Python 3.12. Consider aligning the Python version across workflows for consistency, or document why different versions are necessary.

🤖 Prompt for AI Agents
.github/workflows/pr-check-tests.yml lines 45-58: the workflow sets up Python
3.11 but build-and-release.yml uses 3.12, causing inconsistent CI environments;
choose one approach—either update this workflow's setup-python python-version to
"3.12" to match build-and-release.yml (and verify pip/cache behavior still
works), or add a short inline comment in the workflow documenting why 3.11 is
intentionally different; make the change consistently across workflows if you
opt to harmonize versions.

@github-actions
Copy link
Copy Markdown
Contributor

⚠️ No issue was linked in the PR description.
Please make sure to link an issue (e.g., 'Fixes #issue_number')

1 similar comment
@github-actions
Copy link
Copy Markdown
Contributor

⚠️ No issue was linked in the PR description.
Please make sure to link an issue (e.g., 'Fixes #issue_number')

Copy link
Copy Markdown
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: 3

🧹 Nitpick comments (1)
.github/workflows/pr-check-tests.yml (1)

120-141: Consider consolidating dependency installation for consistency.

The sync-microservice installs its dependencies (line 132) within the build check step, whereas the main backend installs dependencies separately (lines 114-118). While functional, this creates an inconsistent pattern.

🔎 Proposed consolidation
       - name: Install backend dependencies
         working-directory: backend
         run: |
           python -m pip install --upgrade pip
           pip install -r requirements.txt
+
+      - name: Install sync microservice dependencies
+        working-directory: sync-microservice
+        run: pip install -r requirements.txt

       # Build checks ensure PyInstaller succeeds; artifacts are not persisted
       - name: Build check (Main Backend)
         working-directory: backend
         run: |
           pyinstaller main.py \
             --name PictoPy_Server \
             --onedir \
             --distpath dist

       - name: Build check (Sync Microservice)
         working-directory: sync-microservice
         run: |
-          pip install -r requirements.txt
           pyinstaller main.py \
             --name PictoPy_Sync_Microservice \
             --onedir \
             --distpath dist
📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between f9512b2 and ce37be0.

📒 Files selected for processing (6)
  • .github/workflows/pr-check-tests.yml
  • README.md
  • docs/backend/backend_python/image-processing.md
  • docs/overview/architecture.md
  • docs/stylesheets/extra.css
  • mkdocs.yml
🚧 Files skipped from review as they are similar to previous changes (2)
  • mkdocs.yml
  • docs/overview/architecture.md
🧰 Additional context used
🪛 markdownlint-cli2 (0.18.1)
README.md

5-5: Heading levels should only increment by one level at a time
Expected: h2; Actual: h3

(MD001, heading-increment)


14-14: Heading levels should only increment by one level at a time
Expected: h2; Actual: h3

(MD001, heading-increment)


43-43: Images should have alternate text (alt text)

(MD045, no-alt-text)

🔇 Additional comments (9)
docs/stylesheets/extra.css (1)

316-347: LGTM! Footer layout improvements are well-structured.

The new CSS rules properly center footer content using flexbox with appropriate spacing and alignment. The implementation correctly handles both social links and copyright text, ensuring a consistent centered layout.

.github/workflows/pr-check-tests.yml (3)

8-10: LGTM! Appropriate permissions configuration.

The read-only contents permission follows the principle of least privilege for PR checks.


12-69: Excellent job separation and explicit working-directory scoping.

The linting job now clearly separates frontend, backend, and Rust tooling with explicit working directories and dedicated steps. The addition of Rust formatting checks enhances code quality enforcement.


71-94: LGTM! Clean frontend test job with proper caching.

The dedicated frontend tests job is well-structured with appropriate npm caching and CI-specific test execution.

README.md (2)

3-3: LGTM! Clear and informative project description.

The updated description effectively communicates PictoPy's tech stack, architecture, and key value propositions (performance, privacy, offline capabilities).


41-47: Excellent community engagement improvements.

The new "Want to Contribute?" and "Need Help?" sections with Discord integration significantly improve contributor onboarding and community access points.

Also applies to: 68-70

docs/backend/backend_python/image-processing.md (3)

16-17: LGTM! Improved documentation styling.

Changing from "Fun Fact" to "Tip" is more appropriate for technical documentation and maintains a professional tone while still highlighting interesting information.

Also applies to: 27-29


50-50: LGTM! Improved clarity with full acronym expansion.

Spelling out "Open Neural Network Exchange" alongside ONNX improves documentation clarity for readers unfamiliar with the acronym.


92-124: Excellent visual representation of the pipeline flow.

The Mermaid diagram effectively illustrates the complete image processing pipeline from input through object detection, face detection, embedding, and clustering. This visual aid significantly enhances understanding of the system architecture and data flow.

Comment thread README.md
Comment on lines +5 to +10
### Quick Links

1. First, join the **[Discord Server](https://discord.gg/hjUhu33uAn) (Go to Projects->PictoPy)** to chat with everyone.
2. For detailed setup instructions, coding guidelines, and the contribution process, please check out our [CONTRIBUTING.md](./CONTRIBUTING.md) file.
• [Documentation](https://aossie-org.github.io/PictoPy/)
• [Contributing Guide](./CONTRIBUTING.md)
• [Screenshots](https://aossie-org.github.io/PictoPy/frontend/screenshots/)
• [Setup Instructions](./CONTRIBUTING.md)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Fix heading level hierarchy.

The "Quick Links" section uses h3 (###) directly after the h1 page title, skipping h2. This violates proper heading hierarchy and can impact accessibility and SEO.

🔎 Proposed fix
-### Quick Links
+## Quick Links
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
### Quick Links
1. First, join the **[Discord Server](https://discord.gg/hjUhu33uAn) (Go to Projects->PictoPy)** to chat with everyone.
2. For detailed setup instructions, coding guidelines, and the contribution process, please check out our [CONTRIBUTING.md](./CONTRIBUTING.md) file.
[Documentation](https://aossie-org.github.io/PictoPy/)
[Contributing Guide](./CONTRIBUTING.md)
[Screenshots](https://aossie-org.github.io/PictoPy/frontend/screenshots/)
[Setup Instructions](./CONTRIBUTING.md)
## Quick Links
[Documentation](https://aossie-org.github.io/PictoPy/)
[Contributing Guide](./CONTRIBUTING.md)
[Screenshots](https://aossie-org.github.io/PictoPy/frontend/screenshots/)
[Setup Instructions](./CONTRIBUTING.md)
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)

5-5: Heading levels should only increment by one level at a time
Expected: h2; Actual: h3

(MD001, heading-increment)

🤖 Prompt for AI Agents
In README.md around lines 5 to 10, the "Quick Links" heading is h3 (###)
immediately after the h1 title which skips h2; change the heading to h2 (##
Quick Links) so the document follows proper heading hierarchy and
accessibility/SEO best practices, and if there is a manual table of contents or
TOC generator update, regenerate or adjust it to reflect the new heading level.

Comment thread README.md

# Architecture

### Frontend
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Fix heading level hierarchy.

The "Frontend" subsection uses h3 (###) after the h1 page title without an intermediate h2 (the "Architecture" h1 is at line 12). This violates proper heading hierarchy.

🔎 Proposed fix
-### Frontend
+## Frontend

Apply the same change to lines 19 and 28:

-### Backend (Python)
+## Backend (Python)

-### Backend (Rust via Tauri)
+## Backend (Rust via Tauri)
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
### Frontend
## Frontend
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)

14-14: Heading levels should only increment by one level at a time
Expected: h2; Actual: h3

(MD001, heading-increment)

🤖 Prompt for AI Agents
In README.md around line 14 (and apply the same change to lines 19 and 28), the
"Frontend" subsection and other subsections are using h3 (###) directly under
the h1 without an h2; change those heading markers from ### to ## so they are
proper h2 headings to restore correct heading hierarchy and accessibility.

Comment thread README.md
- Cross-platform compatibility
# Want to Contribute? 😄

&nbsp;&nbsp;&nbsp;<a href="https://discord.gg/hjUhu33uAn"><img src="https://github.com/user-attachments/assets/3ed93273-5055-4532-a524-87a337a4fbba" height="40"></a>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Add alt text to Discord badge for accessibility.

The Discord badge image is missing alternative text, which is important for screen reader users and accessibility compliance.

🔎 Proposed fix
-&nbsp;&nbsp;&nbsp;<a href="https://discord.gg/hjUhu33uAn"><img src="https://github.com/user-attachments/assets/3ed93273-5055-4532-a524-87a337a4fbba" height="40"></a>
+&nbsp;&nbsp;&nbsp;<a href="https://discord.gg/hjUhu33uAn"><img src="https://github.com/user-attachments/assets/3ed93273-5055-4532-a524-87a337a4fbba" alt="Join our Discord server" height="40"></a>
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
&nbsp;&nbsp;&nbsp;<a href="https://discord.gg/hjUhu33uAn"><img src="https://github.com/user-attachments/assets/3ed93273-5055-4532-a524-87a337a4fbba" height="40"></a>
&nbsp;&nbsp;&nbsp;<a href="https://discord.gg/hjUhu33uAn"><img src="https://github.com/user-attachments/assets/3ed93273-5055-4532-a524-87a337a4fbba" alt="Join our Discord server" height="40"></a>
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)

43-43: Images should have alternate text (alt text)

(MD045, no-alt-text)

🤖 Prompt for AI Agents
In README.md around line 43, the Discord badge image tag lacks alt text which
hurts accessibility; add a meaningful alt attribute to the <img> element (for
example: alt="Join our Discord") so screen readers can convey the badge purpose,
and ensure the alt string is brief and descriptive.

@akshajtiwari
Copy link
Copy Markdown
Contributor Author

Closing to re-submit with a clean branch and isolated CI changes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant