Skip to content

Fix markdown linting issues and add CI check#1266

Open
VanshajPoonia wants to merge 4 commits into
AOSSIE-Org:mainfrom
VanshajPoonia:fix/markdown-linting
Open

Fix markdown linting issues and add CI check#1266
VanshajPoonia wants to merge 4 commits into
AOSSIE-Org:mainfrom
VanshajPoonia:fix/markdown-linting

Conversation

@VanshajPoonia
Copy link
Copy Markdown

@VanshajPoonia VanshajPoonia commented May 10, 2026

Addressed Issues:

Fixes #1265

Screenshots/Recordings:

image

Additional Notes:

This PR fixes existing markdownlint issues across the repository and adds Markdown linting to the existing PR Check workflow.

A minimal .markdownlint-cli2.jsonc configuration has been added to keep Markdown linting consistent across the project.

AI Usage Disclosure:

We encourage contributors to use AI tools responsibly when creating Pull Requests. While AI can be a valuable aid, it is essential to ensure that your contributions meet the task requirements, build successfully, include relevant tests, and pass all linters. Submissions that do not meet these standards may be closed without warning to maintain the quality and integrity of the project. Please take the time to understand the changes you are proposing and their impact. AI slop is strongly discouraged and may lead to banning and blocking. Do not spam our repos with AI slop.

Check one of the checkboxes below:

  • This PR does not contain AI-generated code at all.
  • This PR contains AI-generated code. I have read the AI Usage Policy and this PR complies with this policy. I have tested the code locally and I am responsible for it.

I have used the following AI models and tools: Claude and Gemini were used for assistance with Markdown linting suggestions, and review. All changes were reviewed manually and validated locally.

Checklist

  • My PR addresses a single issue, fixes a single bug or makes a single improvement.
  • My code follows the project's code style and conventions
  • If applicable, I have made corresponding changes or additions to the documentation
  • If applicable, I have made corresponding changes or additions to tests
  • My changes generate no new warnings or errors
  • I have joined the Discord server and I will share a link to this PR with the project maintainers there
  • I have read the Contribution Guidelines
  • Once I submit my PR, CodeRabbit AI will automatically review it and I will address CodeRabbit's comments.
  • I have filled this PR template completely and carefully, and I understand that my PR may be closed without review otherwise.

Summary by CodeRabbit

  • Documentation

    • Reorganized and reformatted multiple guides (manual/script/setup) with fenced commands, clearer steps, ports, and OS notes
    • Expanded feature docs (Memories) with examples and API request/response snippets
    • Updated CODE_OF_CONDUCT, COPYRIGHT, README and various docs for improved markdown structure and image/heading adjustments
    • Added lint directives in several docs to suppress specific markdown rules
  • Chores

    • Added Markdown lint configuration and a Markdown lint step to CI workflow

Review Change Stack

@github-actions github-actions Bot added CI/CD documentation Improvements or additions to documentation good first issue Good for newcomers labels May 10, 2026
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 10, 2026

Warning

Rate limit exceeded

@VanshajPoonia has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 51 minutes and 15 seconds before requesting another review.

You’ve run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: c1d5be2f-4559-4ccd-a0cf-fa4401bde8df

📥 Commits

Reviewing files that changed from the base of the PR and between 975479f and 50e62a3.

📒 Files selected for processing (1)
  • docs/Script_Setup_Guide.md

Walkthrough

Adds automated Markdown linting to the PR-check workflow and updates many documentation files (autolinks, fenced code blocks, heading fixes, image path/markup adjustments, setup guides, and expanded Memories docs) to conform to linting and consistent formatting.

Changes

Documentation Restructuring and Markdown Linting

Layer / File(s) Summary
CI and Linting Configuration
.github/workflows/pr-check-tests.yml, .github/.markdownlint-cli2.jsonc
Adds a Markdown lint step to the linting job using DavidAnson/markdownlint-cli2-action@v23 and a config that disables MD013, sets MD024 with siblings_only: true, and targets **/*.md while excluding node_modules, target, venv, .venv, and LICENSE.md.
Base Documentation Formatting
CODE_OF_CONDUCT.md, COPYRIGHT.md, CONTRIBUTING.md, README.md
Normalizes contact/reference URLs to Markdown autolinks, adds a # Copyright Notice header and removes inline <br />, and converts setup/testing snippets to fenced code blocks; reorganizes README Features into labeled subsections.
Setup Guides & Sync README
docs/Manual_Setup_Guide.md, docs/Script_Setup_Guide.md, sync-microservice/README.md
Restructures setup instructions with fenced commands, conda env steps (Python 3.12), OS-specific notes (PowerShell), dev ports for backend (52123) and sync-microservice (52124), conda --version check, and clearer troubleshooting subsections.
Backend & Architecture Docs
docs/backend/backend_python/api.md, docs/backend/backend_python/database.md, docs/backend/backend_rust/api.md, docs/overview/architecture.md, docs/index.md
Adds page-level markdownlint disable comments where centered HTML/Swagger embeds are used, adjusts image markup and relative paths, and promotes Rust API heading levels (H2→H1, H3→H2).
Features Overview Restructuring
docs/overview/features.md
Reorganizes the Memories feature into dedicated subsections (On This Day, Smart Grouping, Intelligent Filtering, Memory Sections, Rich Viewing Experience, Technical Implementation) with clearer spacing and bullets.
Memories Documentation Enhancement
docs/frontend/memories.md
Adds concrete examples: applyFilter() code, expanded API response examples for timeline/generate (including breakdown), clustering and date grouping details, JSX/Python/TypeScript illustrative snippets, and testing guidance.
Index & Screenshots Artifacts
docs/index.md, docs/frontend/screenshots.md
Inserts a markdownlint disable for MD033 in index and notes stray numeric placeholders (22, 23, 24) in the screenshots doc that may need cleanup.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested labels

Documentation, Linter

Suggested reviewers

  • rahulharpal1603

Poem

🐰 I hopped through docs with tidy paws,

Fenced the code and fixed the flaws,
CI whispers “lint” in nightly dreams,
Docs now sparkle in neat streams,
A little rabbit cheers the teams!

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 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 change: fixing markdown linting issues and adding CI checks for markdown linting.
Linked Issues check ✅ Passed The PR successfully addresses both objectives from issue #1265: fixes markdown linting issues across repository files and adds markdown linting to the PR Check workflow via markdownlint-cli2-action.
Out of Scope Changes check ✅ Passed All changes are directly related to fixing markdown linting issues and adding CI checks; no unrelated or out-of-scope modifications are present.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


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
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.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (3)
docs/overview/architecture.md (1)

23-28: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix spelling errors in the architecture description.

Several spelling mistakes violate the coding guidelines:

  • "techstack" should be "tech stack" (two words)
  • "dependancies" should be "dependencies"
  • "light weight" should be "lightweight" (one word when used as an adjective)
📝 Proposed spelling fixes
 <br>
-For the backend, we rely on several techstack, our database is served on sqlite while we using parallel processing capabilities of asyncio due to its compatibility
+For the backend, we rely on several tech stacks, our database is served on sqlite while we using parallel processing capabilities of asyncio due to its compatibility
 with FastAPI.  Our models are from various sources, we use YOLO models for object and face detection while we use FaceNet for generating the embeddings
-of the faces detected. All these models are run on ONNX runtime to avoid heavy dependancies, keeping the application light weight.
+of the faces detected. All these models are run on ONNX runtime to avoid heavy dependencies, keeping the application lightweight.

As per coding guidelines: "Verify that documentation and comments are free of spelling mistakes."

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/overview/architecture.md` around lines 23 - 28, Replace the misspelled
terms in the architecture description: change "techstack" to "tech stack",
"dependancies" to "dependencies", and "light weight" to "lightweight"; update
the sentences containing these phrases in the architecture description block so
grammar remains correct (e.g., "our tech stack", "avoid heavy dependencies",
"keeping the application lightweight") and ensure spacing/punctuation around the
edited words is consistent.
docs/backend/backend_rust/api.md (1)

13-20: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix variable name inconsistency in the code example.

Line 18 stores the result in resourcesFolderPath, but line 19 logs serverPath which is undefined.

🐛 Proposed fix
 // Example: Get server path
 const resourcesFolderPath = await invoke("get_resources_folder_path");
-console.log("Resources folder path:", serverPath);
+console.log("Resources folder path:", resourcesFolderPath);
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/backend/backend_rust/api.md` around lines 13 - 20, The example has a
variable name mismatch: the result of invoke("get_resources_folder_path") is
stored in resourcesFolderPath but the console.log uses serverPath (undefined);
update the log to use resourcesFolderPath (or rename the variable consistently)
so the invoke call, resourcesFolderPath variable, and the console.log all refer
to the same identifier (referencing invoke and the get_resources_folder_path
call).
README.md (1)

117-117: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix copy-paste error: "TODO" should be "PictoPy".

The text currently says "Thanks a lot for spending your time helping TODO grow" but should reference the actual project name "PictoPy" instead.

✏️ Proposed fix
-Thanks a lot for spending your time helping TODO grow. Keep rocking 🥂
+Thanks a lot for spending your time helping PictoPy grow. Keep rocking 🥂
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` at line 117, Replace the incorrect project name in the README
text: change the sentence that currently reads "Thanks a lot for spending your
time helping TODO grow" to use the real project name "PictoPy" instead (i.e.,
"Thanks a lot for spending your time helping PictoPy grow"); locate the string
"helping TODO grow" in README.md and update it to "helping PictoPy grow".
🧹 Nitpick comments (2)
docs/frontend/memories.md (1)

317-321: ⚡ Quick win

Clarify working directory for test command.

The test location states backend/tests/ but the command is pytest tests/. Consider specifying the working directory or updating the command to be clearer.

For example:

Located in `backend/tests/`:
- 100 unit tests covering all routes  
- Run with: `pytest backend/tests/` (from project root) or `pytest tests/` (from backend directory)

This will help prevent confusion for contributors running the tests.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/frontend/memories.md` around lines 317 - 321, Update the test command in
the "Located in `backend/tests/`" section to remove ambiguity: either change the
command to `pytest backend/tests/` to be run from the project root, or add a
clarifying note that `pytest tests/` must be run from the `backend` directory;
specifically edit the text that currently reads "Run with: `pytest tests/`" to
include both options or a working-directory note so readers know where to run
the command relative to the project root.
docs/index.md (1)

1-1: 💤 Low value

Consider scoped MD033 suppressions for consistency.

This file disables MD033 for the entire document, while other files in the PR (e.g., docs/backend/backend_python/database.md) use the disable/enable pattern to scope suppressions to specific HTML blocks.

For consistency and to maintain linting coverage where possible, consider wrapping individual HTML sections with <!-- markdownlint-disable MD033 --> and <!-- markdownlint-enable MD033 --> pairs.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/index.md` at line 1, Replace the file-level suppression <!--
markdownlint-disable MD033 --> in docs/index.md with scoped disable/enable pairs
around only the HTML blocks that need it: remove the top-level directive and
wrap each raw-HTML section with <!-- markdownlint-disable MD033 --> ... <!--
markdownlint-enable MD033 --> (matching the pattern used in
docs/backend/backend_python/database.md) so linting remains active for the rest
of the document.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@docs/backend/backend_rust/api.md`:
- Around line 13-20: The example has a variable name mismatch: the result of
invoke("get_resources_folder_path") is stored in resourcesFolderPath but the
console.log uses serverPath (undefined); update the log to use
resourcesFolderPath (or rename the variable consistently) so the invoke call,
resourcesFolderPath variable, and the console.log all refer to the same
identifier (referencing invoke and the get_resources_folder_path call).

In `@docs/overview/architecture.md`:
- Around line 23-28: Replace the misspelled terms in the architecture
description: change "techstack" to "tech stack", "dependancies" to
"dependencies", and "light weight" to "lightweight"; update the sentences
containing these phrases in the architecture description block so grammar
remains correct (e.g., "our tech stack", "avoid heavy dependencies", "keeping
the application lightweight") and ensure spacing/punctuation around the edited
words is consistent.

In `@README.md`:
- Line 117: Replace the incorrect project name in the README text: change the
sentence that currently reads "Thanks a lot for spending your time helping TODO
grow" to use the real project name "PictoPy" instead (i.e., "Thanks a lot for
spending your time helping PictoPy grow"); locate the string "helping TODO grow"
in README.md and update it to "helping PictoPy grow".

---

Nitpick comments:
In `@docs/frontend/memories.md`:
- Around line 317-321: Update the test command in the "Located in
`backend/tests/`" section to remove ambiguity: either change the command to
`pytest backend/tests/` to be run from the project root, or add a clarifying
note that `pytest tests/` must be run from the `backend` directory; specifically
edit the text that currently reads "Run with: `pytest tests/`" to include both
options or a working-directory note so readers know where to run the command
relative to the project root.

In `@docs/index.md`:
- Line 1: Replace the file-level suppression <!-- markdownlint-disable MD033 -->
in docs/index.md with scoped disable/enable pairs around only the HTML blocks
that need it: remove the top-level directive and wrap each raw-HTML section with
<!-- markdownlint-disable MD033 --> ... <!-- markdownlint-enable MD033 -->
(matching the pattern used in docs/backend/backend_python/database.md) so
linting remains active for the rest of the document.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 2c830486-6348-416c-af37-dd4b42e2e7e1

📥 Commits

Reviewing files that changed from the base of the PR and between cd211bc and e45ae41.

⛔ Files ignored due to path filters (2)
  • backend/dist/README.md is excluded by !**/dist/**, !**/dist/**
  • sync-microservice/dist/README.md is excluded by !**/dist/**, !**/dist/**
📒 Files selected for processing (17)
  • .github/workflows/pr-check-tests.yml
  • .markdownlint-cli2.jsonc
  • CODE_OF_CONDUCT.md
  • CONTRIBUTING.md
  • COPYRIGHT.md
  • README.md
  • docs/Manual_Setup_Guide.md
  • docs/Script_Setup_Guide.md
  • docs/backend/backend_python/api.md
  • docs/backend/backend_python/database.md
  • docs/backend/backend_rust/api.md
  • docs/frontend/memories.md
  • docs/frontend/screenshots.md
  • docs/index.md
  • docs/overview/architecture.md
  • docs/overview/features.md
  • sync-microservice/README.md
💤 Files with no reviewable changes (1)
  • docs/frontend/screenshots.md

@github-actions
Copy link
Copy Markdown
Contributor

⚠️ This PR has merge conflicts.

Please resolve the merge conflicts before review.

Your PR will only be reviewed by a maintainer after all conflicts have been resolved.

📺 Watch this video to understand why conflicts occur and how to resolve them:
https://www.youtube.com/watch?v=Sqsz1-o7nXk

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: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
docs/Script_Setup_Guide.md (1)

19-19: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix command wording mismatch (“globally” vs environment-specific pip install).

Line 98 says packages should be installed globally, but pip install ... on Line 101 installs into whichever environment is active. This can mislead contributors and break pre-commit setup expectations.

Suggested edit
-    Before running the `git commit` command, ensure you have the following Python packages installed globally:
+    Before running `git commit`, ensure these Python packages are installed in your active Python environment (or use `--user` for a user-level install):
 
     ```bash
-    pip install ruff black mypy pre-commit
+    python -m pip install ruff black mypy pre-commit
     ```

As per coding guidelines, "Confirm that the code meets the project's requirements and objectives".

Also applies to: 98-102

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/Script_Setup_Guide.md` at line 19, The doc currently instructs
installing packages "globally" but then shows a bare pip command (pip install
ruff black mypy pre-commit) which installs into the active Python environment;
update the wording and command so they match: either remove "globally" and
explain that the command installs into the current environment, or change the
command to use an explicit installer (python -m pip install ruff black mypy
pre-commit) to ensure a global/system interpreter install; adjust the sentence
around the install step and the shown command so contributors understand whether
a global or environment-specific install is intended and that pre-commit
requires the correct environment.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/Script_Setup_Guide.md`:
- Line 8: Update the wording of the note on Line 8 (the "Note that Step No.
8..." sentence) to a clearer, grammatically correct sentence; replace it with
something like "Step 8 is not shown in the video; please follow it as well." and
ensure there are no spelling mistakes.

---

Outside diff comments:
In `@docs/Script_Setup_Guide.md`:
- Line 19: The doc currently instructs installing packages "globally" but then
shows a bare pip command (pip install ruff black mypy pre-commit) which installs
into the active Python environment; update the wording and command so they
match: either remove "globally" and explain that the command installs into the
current environment, or change the command to use an explicit installer (python
-m pip install ruff black mypy pre-commit) to ensure a global/system interpreter
install; adjust the sentence around the install step and the shown command so
contributors understand whether a global or environment-specific install is
intended and that pre-commit requires the correct environment.
🪄 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: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 671bd2dc-03d2-4651-b5a1-9a03a61969f4

📥 Commits

Reviewing files that changed from the base of the PR and between eca6db7 and 975479f.

📒 Files selected for processing (2)
  • docs/Manual_Setup_Guide.md
  • docs/Script_Setup_Guide.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • docs/Manual_Setup_Guide.md

Comment thread docs/Script_Setup_Guide.md Outdated
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI/CD documentation Improvements or additions to documentation good first issue Good for newcomers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Markdown Linting Across the Codebase

2 participants