Skip to content

docs: add/improve overview pgs for backend, frontend, schema, & SDKs#4075

Merged
arkid15r merged 15 commits intoOWASP:mainfrom
hassaansaleem28:docs/improve-project-docs
Mar 4, 2026
Merged

docs: add/improve overview pgs for backend, frontend, schema, & SDKs#4075
arkid15r merged 15 commits intoOWASP:mainfrom
hassaansaleem28:docs/improve-project-docs

Conversation

@hassaansaleem28
Copy link
Contributor

@hassaansaleem28 hassaansaleem28 commented Feb 25, 2026

Fixes #3528

This PR addresses the documentation gaps for first-time contributors by adding minimal, practical overviews for the main project components.

Changes included:

  • Added root README.md files for both the backend/ and frontend/ directories.
  • Created overview pages under docs/ for the Backend, Frontend, Schema, and API SDKs.
  • Surfaced these new pages in the MkDocs navigation mkdocs.yaml using the snippets plugin.
  • Added volume mounts to the local docker-compose setup to allow the docs container to read the backend and frontend READMEs.

Checklist

  • Required: I followed the contributing workflow
  • Required: I verified that my code works as intended and resolves the issue as described
  • Required: I ran make check-test locally: all warnings addressed, tests passed
  • I used AI for code, documentation, tests, or communication related to this PR

Signed-off-by: Muhammad Hassaan Saleem <iamhassaans@gmail.com>
Signed-off-by: Muhammad Hassaan Saleem <iamhassaans@gmail.com>
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 25, 2026

Summary by CodeRabbit

  • Documentation
    • Expanded project documentation with comprehensive guides for backend, frontend, API, and NestBot components
    • Reorganized documentation site navigation structure for improved accessibility and discoverability
    • Added development setup and local running instructions
    • Included API overview and client SDK guidance
    • Introduced important REST API constraints documentation

Walkthrough

This PR consolidates and improves project documentation by adding comprehensive README files for backend and frontend components, creating dedicated documentation pages for API, NestBot, and Schema, replacing redundant documentation with include directives, updating MkDocs navigation structure, and configuring Docker Compose to mount documentation sources.

Changes

Cohort / File(s) Summary
Documentation overviews
backend/README.md, frontend/README.md, backend/apps/api/README.md, backend/apps/slack/README.md
New README files documenting tech stack, directory structure, local setup instructions, and key components for backend, frontend, API, and NestBot modules.
MkDocs navigation and configuration
mkdocs.yaml
Updated navigation structure to include new top-level sections (API, Backend, Frontend, NestBot, Schema) and configured pymdownx.snippets with path validation.
Documentation consolidation
docs/index.md, docs/code-of-conduct.md, docs/contributing.md, docs/backend/index.md, docs/frontend/index.md, docs/nestbot/index.md
Replaced or created documentation files using include directives to reference source documents, reducing duplication and improving maintainability.
Documentation additions
docs/api/index.md, docs/schema/index.md
New documentation pages for API SDK constraints and OWASP Schema project overview.
Infrastructure configuration
docker-compose/local/compose.yaml, .gitignore, README.md
Updated Docker Compose volume mounts for docs service, added site/ to gitignore, and added documentation boundary markers to root README.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested labels

documentation, backend, frontend

Suggested reviewers

  • kasya
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: adding and improving overview documentation pages for backend, frontend, schema, and SDKs.
Description check ✅ Passed The description is directly related to the changeset, explaining the documentation gaps being addressed and listing all key changes included in the PR.
Linked Issues check ✅ Passed The PR successfully addresses all objectives from issue #3528: added backend and frontend README.md files, created overview pages for Backend, Frontend, Schema, and API SDKs under docs/, updated mkdocs.yaml navigation with snippets plugin, and added docker-compose volume mounts. All documentation-only changes match the linked issue requirements.
Out of Scope Changes check ✅ Passed All changes are documentation-related and scoped to the objectives in issue #3528. The .gitignore update (site/ entry) and docker-compose volume mount additions are supporting changes necessary for the documentation improvements and are within scope.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

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

@github-actions github-actions bot added docs Improvements or additions to documentation backend frontend labels Feb 25, 2026
cubic-dev-ai[bot]
cubic-dev-ai bot previously approved these changes Feb 25, 2026
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

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

No issues found across 8 files

Confidence score: 5/5

  • Automated review surfaced no issues in the provided summaries.
  • No files require special attention.

coderabbitai[bot]
coderabbitai bot previously approved these changes Feb 25, 2026
Copy link
Collaborator

@arkid15r arkid15r left a comment

Choose a reason for hiding this comment

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

Great work, let's reshape it a bit and cover NestBot too (same approach, README.md in the repository + reuse it in docs section).

mkdocs.yaml Outdated
@@ -3,6 +3,14 @@ nav:
- Home: index.md
Copy link
Collaborator

Choose a reason for hiding this comment

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

For the main page we should reuse (maybe just include) the root repository README.md

mkdocs.yaml Outdated
@@ -3,6 +3,14 @@ nav:
- Home: index.md
- Code of Conduct: code-of-conduct.md
Copy link
Collaborator

Choose a reason for hiding this comment

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

Can we also use one from the repository root?


---

## OWASP Schema Package
Copy link
Collaborator

Choose a reason for hiding this comment

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

Keep this section, delete the rest.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Let's rename it to api, add backend/apps/api/README.md file similar to backend/frontend overview. We should also keep SDKs info (maybe just in overview.md instead of the README.md)

mkdocs.yaml Outdated
@@ -3,6 +3,14 @@ nav:
- Home: index.md
- Code of Conduct: code-of-conduct.md
- Contributing: contributing.md
Copy link
Collaborator

Choose a reason for hiding this comment

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

Let's move code of conduct and contributing to the main page menu from this horizontal menu. Keep only Home, API, Backend, Frontend, NestBot, Schema here.

Signed-off-by: Muhammad Hassaan Saleem <iamhassaans@gmail.com>
@hassaansaleem28
Copy link
Contributor Author

Hi @arkid15r,
For the main README.md in mkdocs, I just removed that badges and logo section -- one reason is that the logo's white border will not be visible there, which looks ugly.

LET ME KNOW IF FURTHER CHANGES ARE REQUIRED.

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)
backend/apps/slack/README.md (1)

25-31: Consider clarifying where to run the Make targets.

Small clarity win: explicitly say these commands are run from the repository root.

✏️ Suggested docs tweak
-The project provides `Makefile` targets to manage Slack data:
+Run these `Makefile` targets from the repository root to manage Slack data:
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@backend/apps/slack/README.md` around lines 25 - 31, Update the README to
clarify that the Makefile targets (e.g., make slack-sync-data, make
slack-sync-messages, make slack-export-data) must be executed from the
repository root; add one short sentence after the table stating "Run these
commands from the repository root where the Makefile lives" and, if helpful,
mention prerequisite steps (e.g., ensure you have the Makefile and required
environment variables set) so readers know why the root is required.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/api/overview.md`:
- Around line 9-14: Add a blank line immediately after the headings "### 1.
Unique `operationId`" and "### 2. Stable Authentication Class Name" to satisfy
MD022, and remove trailing spaces at the ends of the list lines (the lines under
the second heading that end with extra whitespace) to satisfy MD009; ensure the
headings remain followed by a single blank line and the list lines end cleanly
with no trailing spaces.

---

Nitpick comments:
In `@backend/apps/slack/README.md`:
- Around line 25-31: Update the README to clarify that the Makefile targets
(e.g., make slack-sync-data, make slack-sync-messages, make slack-export-data)
must be executed from the repository root; add one short sentence after the
table stating "Run these commands from the repository root where the Makefile
lives" and, if helpful, mention prerequisite steps (e.g., ensure you have the
Makefile and required environment variables set) so readers know why the root is
required.

ℹ️ Review info

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d3a1f51 and cbbf600.

📒 Files selected for processing (11)
  • README.md
  • backend/apps/api/README.md
  • backend/apps/slack/README.md
  • docker-compose/local/compose.yaml
  • docs/api/overview.md
  • docs/code-of-conduct.md
  • docs/contributing.md
  • docs/index.md
  • docs/nestbot/overview.md
  • docs/schema/overview.md
  • mkdocs.yaml
✅ Files skipped from review due to trivial changes (6)
  • docs/index.md
  • docs/code-of-conduct.md
  • docs/nestbot/overview.md
  • backend/apps/api/README.md
  • docs/contributing.md
  • README.md
🚧 Files skipped from review as they are similar to previous changes (2)
  • docker-compose/local/compose.yaml
  • docs/schema/overview.md

Signed-off-by: Muhammad Hassaan Saleem <iamhassaans@gmail.com>
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

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

1 issue found across 3 files (changes from recent commits).

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name=".pre-commit-config.yaml">

<violation number="1" location=".pre-commit-config.yaml:81">
P2: `language: system` for `markdownlint` bypasses pre-commit-managed environments, making hook execution dependent on host PATH and reducing reproducibility/portability.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

Signed-off-by: Muhammad Hassaan Saleem <iamhassaans@gmail.com>
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: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.pre-commit-config.yaml:
- Line 81: The markdownlint pre-commit hook currently specifies "language:
system" which assumes markdownlint is preinstalled and will break CI; update the
markdownlint hook (the entry named markdownlint in .pre-commit-config.yaml) by
removing the "language: system" field so pre-commit manages the environment, or
alternatively keep "language: system" but add explicit markdownlint installation
to your CI workflow; ensure the change targets the markdownlint hook
configuration and re-run pre-commit to verify hooks install correctly.

In `@docs/api/overview.md`:
- Line 1: Add a mkdocs.yml to enable the snippets plugin (or update the existing
mkdocs.yml) so the include syntax `--8<-- "backend/apps/api/README.md"` in
docs/api/overview.md works: create or update mkdocs.yml to list the MkDocs
Snippets plugin under plugins and ensure the docs_dir includes the docs path;
verify plugin configuration supports snippet paths (so files like
backend/apps/api/README.md and backend/apps/api/rest/auth/api_key.py can be
resolved) and run mkdocs build to confirm the includes render correctly.

ℹ️ Review info

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between cbbf600 and a7e5f62.

📒 Files selected for processing (3)
  • .pre-commit-config.yaml
  • backend/apps/slack/README.md
  • docs/api/overview.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • backend/apps/slack/README.md

@hassaansaleem28
Copy link
Contributor Author

@coderabbitai review this pull.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 3, 2026

@hassaansaleem28, I'll review the changes in this pull request now.

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Signed-off-by: Muhammad Hassaan Saleem <iamhassaans@gmail.com>
@hassaansaleem28
Copy link
Contributor Author

Hi @arkid15r.
Just a gentle reminder about this PR -- it is ready for your review.

coderabbitai[bot]
coderabbitai bot previously approved these changes Mar 3, 2026
@arkid15r
Copy link
Collaborator

arkid15r commented Mar 3, 2026

Hi @arkid15r. Just a gentle reminder about this PR -- it is ready for your review.

You nudge for a review but the pre-commit check fails 🤷‍♂️

@sonarqubecloud
Copy link

sonarqubecloud bot commented Mar 3, 2026

@arkid15r arkid15r enabled auto-merge March 3, 2026 23:25
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.

🧹 Nitpick comments (2)
docs/schema/index.md (1)

3-3: Tighten the opening sentence for clarity.

At Line 3, the phrasing is a bit awkward; a small rewrite reads cleaner.

✍️ Suggested edit
-OWASP Nest maintains the `owasp-schema` Python package for OWASP entities structure standardization.
+OWASP Nest maintains the `owasp-schema` Python package to standardize OWASP entity structures.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/schema/index.md` at line 3, The opening sentence in docs/schema/index.md
is awkward; rewrite it to a tighter, clearer form such as stating that "OWASP
Nest provides the owasp-schema Python package to standardize OWASP entity
structures" (or similar), replacing the current line that mentions "maintains
the `owasp-schema` Python package for OWASP entities structure standardization"
so the phrasing is more direct and readable.
backend/README.md (1)

9-9: Remove hard-coded Django version from README.

Line 9 lists Django 6.x, but backend/pyproject.toml specifies django = "^6.0" (allowing minor updates to 6.0.3), and the lock file pins 6.0.3. Replace the version with just Django and point readers to pyproject.toml as the source-of-truth for dependency requirements.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@backend/README.md` at line 9, Replace the hard-coded "Django 6.x" entry in
README (the table row containing "Django 6.x") with a generic "Django" and add a
short note or parenthetical pointing readers to backend/pyproject.toml as the
source-of-truth for the exact pinned version; update the table cell content so
it no longer lists a specific version but references pyproject.toml for
dependency details.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@backend/README.md`:
- Line 9: Replace the hard-coded "Django 6.x" entry in README (the table row
containing "Django 6.x") with a generic "Django" and add a short note or
parenthetical pointing readers to backend/pyproject.toml as the source-of-truth
for the exact pinned version; update the table cell content so it no longer
lists a specific version but references pyproject.toml for dependency details.

In `@docs/schema/index.md`:
- Line 3: The opening sentence in docs/schema/index.md is awkward; rewrite it to
a tighter, clearer form such as stating that "OWASP Nest provides the
owasp-schema Python package to standardize OWASP entity structures" (or
similar), replacing the current line that mentions "maintains the `owasp-schema`
Python package for OWASP entities structure standardization" so the phrasing is
more direct and readable.

ℹ️ Review info

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a7e5f62 and 6eff310.

📒 Files selected for processing (11)
  • .gitignore
  • backend/README.md
  • backend/apps/api/README.md
  • backend/apps/slack/README.md
  • docs/api/index.md
  • docs/backend/index.md
  • docs/frontend/index.md
  • docs/nestbot/index.md
  • docs/schema/index.md
  • frontend/README.md
  • mkdocs.yaml
✅ Files skipped from review due to trivial changes (3)
  • docs/frontend/index.md
  • docs/backend/index.md
  • docs/nestbot/index.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • frontend/README.md

@codecov
Copy link

codecov bot commented Mar 3, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.80%. Comparing base (c4cf54a) to head (6eff310).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##             main    #4075   +/-   ##
=======================================
  Coverage   99.80%   99.80%           
=======================================
  Files         519      519           
  Lines       16031    16031           
  Branches     2143     2143           
=======================================
  Hits        16000    16000           
  Misses         26       26           
  Partials        5        5           
Flag Coverage Δ
backend 99.78% <ø> (ø)
frontend 99.87% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c4cf54a...6eff310. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@arkid15r arkid15r added this pull request to the merge queue Mar 4, 2026
Merged via the queue into OWASP:main with commit 195448b Mar 4, 2026
38 checks passed
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 frontend nestbot

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Improve and fill gaps in project documentation

2 participants