From 29d056529f1d5ce1a60152cb4733330f7ed505c6 Mon Sep 17 00:00:00 2001 From: Gopal Date: Sun, 15 Feb 2026 16:58:38 +0530 Subject: [PATCH 1/6] add igorshubovych/markdownlint pre-commit hook --- .markdownlint.yaml | 22 ++++++++++++++++++++++ .pre-commit-config.yaml | 7 +++++++ 2 files changed, 29 insertions(+) create mode 100644 .markdownlint.yaml diff --git a/.markdownlint.yaml b/.markdownlint.yaml new file mode 100644 index 0000000000..065367b08e --- /dev/null +++ b/.markdownlint.yaml @@ -0,0 +1,22 @@ +default: true + +# MD003/heading-style +MD003: + style: atx + +# MD004/ul-style +MD004: + style: dash + +# MD013/line-length +MD013: false + +# MD024/no-duplicate-heading +MD024: false + +# MD033/no-inline-html +MD033: false + +# MD046/code-block-style +MD046: + style: fenced diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index d44e62f949..c9ac175ca6 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -40,6 +40,13 @@ repos: types: - html + - repo: https://github.com/igorshubovych/markdownlint-cli + rev: v0.47.0 + hooks: + - id: markdownlint + args: + - --fix + - repo: https://github.com/jumanjihouse/pre-commit-hook-yamlfmt rev: 0.2.3 hooks: From c6a14bb4b9d09f2d977485a8778df7a70034b681 Mon Sep 17 00:00:00 2001 From: Gopal Date: Sun, 15 Feb 2026 17:04:00 +0530 Subject: [PATCH 2/6] configure markdownlint to run on all markdown files --- .pre-commit-config.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index c9ac175ca6..ae05da80d8 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -46,6 +46,7 @@ repos: - id: markdownlint args: - --fix + files: \.md$ - repo: https://github.com/jumanjihouse/pre-commit-hook-yamlfmt rev: 0.2.3 From ed21fff1887ab0efb3e99316089b2853b670d276 Mon Sep 17 00:00:00 2001 From: Gopal Date: Sun, 15 Feb 2026 17:06:05 +0530 Subject: [PATCH 3/6] run markdown-lint --- .github/PULL_REQUEST_TEMPLATE.md | 3 +- CODE_OF_CONDUCT.md | 20 ++++---- README.md | 3 +- docs/code-of-conduct.md | 39 ++++++++------- docs/contributing.md | 86 ++++++++++++++++---------------- docs/index.md | 4 +- 6 files changed, 82 insertions(+), 73 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 38b8cda7b9..dbc8a6c0c7 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,5 +1,4 @@ - -## STOP AND READ BEFORE SUBMITTING! REMOVE THIS PARAGRAPH BEFORE OPENING THE PR +## STOP AND READ BEFORE SUBMITTING! REMOVE THIS PARAGRAPH BEFORE OPENING THE PR Thank you for your interest in contributing to OWASP Nest! diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 1b812c40c3..a8dbc8453b 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -17,23 +17,23 @@ diverse, inclusive, and healthy community. Examples of behavior that contributes to a positive environment for our community include: -* Demonstrating empathy and kindness toward other people -* Being respectful of differing opinions, viewpoints, and experiences -* Giving and gracefully accepting constructive feedback -* Accepting responsibility and apologizing to those affected by our mistakes, +- Demonstrating empathy and kindness toward other people +- Being respectful of differing opinions, viewpoints, and experiences +- Giving and gracefully accepting constructive feedback +- Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience -* Focusing on what is best not just for us as individuals, but for the +- Focusing on what is best not just for us as individuals, but for the overall community Examples of unacceptable behavior include: -* The use of sexualized language or imagery, and sexual attention or +- The use of sexualized language or imagery, and sexual attention or advances of any kind -* Trolling, insulting or derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or email +- Trolling, insulting or derogatory comments, and personal or political attacks +- Public or private harassment +- Publishing others' private information, such as a physical or email address, without their explicit permission -* Other conduct which could reasonably be considered inappropriate in a +- Other conduct which could reasonably be considered inappropriate in a professional setting ## Enforcement Responsibilities diff --git a/README.md b/README.md index 2b4219db1f..a7942dc7e1 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,4 @@ +
[![OWASP](https://img.shields.io/badge/Lab-blue?&label=owasp%20level&style=for-the-badge)](https://owasp.org/www-project-nest/) [![OWASP](https://img.shields.io/badge/Code-blue?label=OWASP%20Type&style=for-the-badge)](https://owasp.org/www-project-nest/) [![project-nest](https://img.shields.io/badge/%23project--nest-blue?label=OWASP%20Slack&logoColor=white&style=for-the-badge)](https://owasp.slack.com/archives/project-nest) @@ -70,4 +71,4 @@ Over time, OWASP Nest has expanded to address broader OWASP community needs, suc - [BlueSky account](https://bsky.app/profile/nest.owasp.org) - [LinkedIn group](https://www.linkedin.com/groups/14656108/) -- [Slack channel](https://owasp.slack.com/archives/project-nest) (join [here](https://owasp.org/slack/invite)) +- [Slack channel](https://owasp.slack.com/archives/project-nest) (join [here](https://owasp.org/slack/invite)) diff --git a/docs/code-of-conduct.md b/docs/code-of-conduct.md index a8ae31e0bc..6884b32dfa 100644 --- a/docs/code-of-conduct.md +++ b/docs/code-of-conduct.md @@ -10,8 +10,10 @@ nationality, personal appearance, race, religion, or sexual identity and orientation. - We pledge to act and interact in ways that contribute to an open, welcoming, - diverse, inclusive, and healthy community. +```plaintext +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. +``` ## Community Standards @@ -19,11 +21,11 @@ We encourage behaviors that contribute to a positive environment: -- Demonstrating empathy and kindness toward other people -- Being respectful of differing opinions, viewpoints, and experiences -- Giving and gracefully accepting constructive feedback -- Accepting responsibility and apologizing for mistakes -- Focusing on what is best for the overall community +- Demonstrating empathy and kindness toward other people +- Being respectful of differing opinions, viewpoints, and experiences +- Giving and gracefully accepting constructive feedback +- Accepting responsibility and apologizing for mistakes +- Focusing on what is best for the overall community ### Unacceptable Behaviors @@ -39,20 +41,25 @@ We encourage behaviors that contribute to a positive environment: ### Responsibilities !!! info "Leadership Role" - Community leaders are responsible for: - - Clarifying and enforcing standards of acceptable behavior - - Taking appropriate and fair corrective action - - Removing, editing, or rejecting contributions not aligned with this Code - - Communicating moderation decisions when appropriate +Community leaders are responsible for: + +```plaintext +- Clarifying and enforcing standards of acceptable behavior +- Taking appropriate and fair corrective action +- Removing, editing, or rejecting contributions not aligned with this Code +- Communicating moderation decisions when appropriate +``` ### Reporting Process !!! tip "Reporting Violations" - Report instances of unacceptable behavior to the community leaders at: - [OWASP Nest Project Leaders](https://owasp.org/www-project-nest) +Report instances of unacceptable behavior to the community leaders at: +[OWASP Nest Project Leaders](https://owasp.org/www-project-nest) - All complaints will be reviewed and investigated promptly and fairly. +```plaintext +All complaints will be reviewed and investigated promptly and fairly. +``` ### Guidelines for Enforcement @@ -82,8 +89,6 @@ Community leaders follow these impact guidelines when determining consequences: This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org/version/2/0/code_of_conduct.html), version 2.0, available at [contributor-covenant.org](https://www.contributor-covenant.org/version/2/0/code_of_conduct.html). - - Community Impact Guidelines were inspired by [Mozilla's code of conduct enforcement ladder](https://github.com/mozilla/diversity). !!! note "Additional Resources" diff --git a/docs/contributing.md b/docs/contributing.md index 24c826d2ea..4d3063d4be 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -7,9 +7,9 @@ Nest is a full-stack web application built using: -* **Backend**: Python, Django -* **Frontend**: TypeScript, React, Tailwind CSS -* **Search**: Algolia +- **Backend**: Python, Django +- **Frontend**: TypeScript, React, Tailwind CSS +- **Search**: Algolia !!! info "Containerization" The project uses a **containerized approach** for both development and production environments. Docker is required to run Nest locally. @@ -21,43 +21,45 @@ Before contributing, ensure you have the following installed: ### Required Tools 1. **Docker** - * Required for running the Nest instance - * [Docker Documentation](https://docs.docker.com/) + - Required for running the Nest instance + - [Docker Documentation](https://docs.docker.com/) 2. **pre-commit** - * Required to automate code checks and apply fixes - * Installation options: - * Virtual environment: `pip install pre-commit` - * OS package: `apt install pre-commit` / `brew install pre-commit` - * Other methods depending on your configuration + - Required to automate code checks and apply fixes + - Installation options: + - Virtual environment: `pip install pre-commit` + - OS package: `apt install pre-commit` / `brew install pre-commit` + - Other methods depending on your configuration ### Windows Users Requirements !!! warning "Windows Setup Requirements" **WSL (Windows Subsystem for Linux)** is required for Windows users to enable Linux compatibility. - 1. The `make run` command requires WSL - 2. You must use WSL terminal (not Windows PowerShell) - 3. WSL integration must be enabled in Docker Desktop settings +```plaintext +1. The `make run` command requires WSL +2. You must use WSL terminal (not Windows PowerShell) +3. WSL integration must be enabled in Docker Desktop settings - === "WSL Installation" - Follow [Microsoft's official guide](https://learn.microsoft.com/en-us/windows/wsl/install) +=== "WSL Installation" + Follow [Microsoft's official guide](https://learn.microsoft.com/en-us/windows/wsl/install) - === "Docker Desktop Setup" - 1. Open Docker Desktop - 2. Go to Settings → Resources → WSL Integration - 3. Enable WSL integration +=== "Docker Desktop Setup" + 1. Open Docker Desktop + 2. Go to Settings → Resources → WSL Integration + 3. Enable WSL integration - !!! danger "PowerShell Not Supported" - Do not report issues if using PowerShell for running commands -- it's not the intended way to run Nest locally. +!!! danger "PowerShell Not Supported" + Do not report issues if using PowerShell for running commands -- it's not the intended way to run Nest locally. +``` ## Getting Started ### Support the Project -* [![GitHub stars](https://img.shields.io/github/stars/OWASP/Nest?style=social)](https://github.com/OWASP/Nest) +- [![GitHub stars](https://img.shields.io/github/stars/OWASP/Nest?style=social)](https://github.com/OWASP/Nest) -* [![GitHub forks](https://img.shields.io/github/forks/OWASP/Nest?style=social)](https://github.com/OWASP/Nest/fork) +- [![GitHub forks](https://img.shields.io/github/forks/OWASP/Nest?style=social)](https://github.com/OWASP/Nest/fork) ### Initial Setup @@ -218,9 +220,9 @@ To fetch GitHub OWASP data locally: ``` 3. **Configure Slack App** - * Use [NestBot manifest file](https://github.com/OWASP/Nest/blob/main/backend/apps/slack/MANIFEST.yaml) (copy its contents and save it into `Features -- App Manifest`). - * Replace slash commands endpoint with your ngrok domain - * Reinstall your Slack application after making the changes using `Settings -- Install App` section + - Use [NestBot manifest file](https://github.com/OWASP/Nest/blob/main/backend/apps/slack/MANIFEST.yaml) (copy its contents and save it into `Features -- App Manifest`). + - Replace slash commands endpoint with your ngrok domain + - Reinstall your Slack application after making the changes using `Settings -- Install App` section ## Development Guidelines @@ -247,8 +249,8 @@ make test #### Test Coverage -* Minimum test coverage requirement for the Backend: [pyproject.toml](https://github.com/OWASP/Nest/blob/main/backend/pyproject.toml) -* Minimum test coverage requirement for the Frontend: [jest.config.ts](https://github.com/OWASP/Nest/blob/main/frontend/jest.config.ts) +- Minimum test coverage requirement for the Backend: [pyproject.toml](https://github.com/OWASP/Nest/blob/main/backend/pyproject.toml) +- Minimum test coverage requirement for the Frontend: [jest.config.ts](https://github.com/OWASP/Nest/blob/main/frontend/jest.config.ts) !!! danger "Important Notice" - Ensure your changes do not drop the overall test coverage percentage. @@ -258,8 +260,8 @@ make test ### 1. Find an Issue -* Browse [issues](https://github.com/owasp/nest/issues) -* If you want to work on something specific, create a new issue or comment on an existing one to let others know +- Browse [issues](https://github.com/owasp/nest/issues) +- If you want to work on something specific, create a new issue or comment on an existing one to let others know ### 2. Branch Creation @@ -270,23 +272,23 @@ git checkout -b feature/my-feature-name ### 3. Make Changes and Commit -* Check that your commits include only related and intended changes. Do not include unrelated files. -* Follow best practices for code style and testing. +- Check that your commits include only related and intended changes. Do not include unrelated files. +- Follow best practices for code style and testing. - **Add tests** for any new functionality or changes to ensure proper coverage. - * **Run the code quality checks**: + - **Run the code quality checks**: ```bash make check ``` - * **Run tests to ensure everything works correctly**: + - **Run tests to ensure everything works correctly**: ```bash make test ``` - * **Write meaningful commit messages**: + - **Write meaningful commit messages**: ```bash git commit -m "Add feature: short description" @@ -302,13 +304,13 @@ git checkout -b feature/my-feature-name ### 5. Pull Request -* Submit a **Pull Request** (PR) to the `main` branch -* Your PR will trigger CI/CD pipelines that run automated checks and tests +- Submit a **Pull Request** (PR) to the `main` branch +- Your PR will trigger CI/CD pipelines that run automated checks and tests ### 6. Review Process -* Address feedback from maintainers during code review. -* Once approved, your PR will be merged into the main branch. +- Address feedback from maintainers during code review. +- Once approved, your PR will be merged into the main branch. ## Troubleshooting @@ -320,9 +322,9 @@ This error is usually caused by incorrect encoding of `.env` files. To resolve t 1. **Open the `.env` file in a text editor** (e.g., Visual Studio Code). 2. **Check and change the encoding**: - * Click on the encoding information in the bottom-right corner of the VS Code window. - * Select **"Save with Encoding"**. - * Choose **"UTF-8"** from the list (ensure it's not "UTF-8 with BOM"). + - Click on the encoding information in the bottom-right corner of the VS Code window. + - Select **"Save with Encoding"**. + - Choose **"UTF-8"** from the list (ensure it's not "UTF-8 with BOM"). 3. **Save the file** with the correct encoding. 4. **Restart the application** using the command **`make run`**. diff --git a/docs/index.md b/docs/index.md index 0baf6c94a1..58061bf2ce 100644 --- a/docs/index.md +++ b/docs/index.md @@ -2,6 +2,8 @@ title: OWASP Nest --- + + # OWASP Nest [![OWASP](https://img.shields.io/badge/OWASP-Incubator-blue)](https://owasp.org/www-project-nest/) ![OWASP](https://img.shields.io/badge/OWASP-Code-blue) [![Slack](https://img.shields.io/badge/OWASP-Slack-blue.svg)](https://owasp.slack.com/messages/project-nest) @@ -32,7 +34,7 @@ OWASP Nest makes it easier for both new and experienced contributors to engage m OWASP Nest is led by a dedicated team ensuring the platform aligns with OWASP’s mission and fosters a thriving open-source ecosystem. | **Leader** | **GitHub Profile** | -|------------|------------------| +| ------------ | ------------------ | | Arkadii Yakovets | [@arkid15r](https://github.com/arkid15r/) | | Kate Golovanova | [@kasya](https://github.com/kasya/) | | Starr Brown | [@mamicidal](https://github.com/mamicidal/) | From 071105e8401dca303056fb23585a1d3b42b52651 Mon Sep 17 00:00:00 2001 From: Gopal Date: Sun, 15 Feb 2026 23:09:29 +0530 Subject: [PATCH 4/6] revert docs formatting to preserve MkDocs rendering --- docs/code-of-conduct.md | 28 ++++++++++++---------------- docs/contributing.md | 26 +++++++++++++------------- 2 files changed, 25 insertions(+), 29 deletions(-) diff --git a/docs/code-of-conduct.md b/docs/code-of-conduct.md index 6884b32dfa..121e827190 100644 --- a/docs/code-of-conduct.md +++ b/docs/code-of-conduct.md @@ -1,3 +1,5 @@ + + # Code of Conduct ## Our Pledge @@ -10,10 +12,8 @@ nationality, personal appearance, race, religion, or sexual identity and orientation. -```plaintext -We pledge to act and interact in ways that contribute to an open, welcoming, -diverse, inclusive, and healthy community. -``` + We pledge to act and interact in ways that contribute to an open, welcoming, + diverse, inclusive, and healthy community. ## Community Standards @@ -42,24 +42,20 @@ We encourage behaviors that contribute to a positive environment: !!! info "Leadership Role" -Community leaders are responsible for: + Community leaders are responsible for: -```plaintext -- Clarifying and enforcing standards of acceptable behavior -- Taking appropriate and fair corrective action -- Removing, editing, or rejecting contributions not aligned with this Code -- Communicating moderation decisions when appropriate -``` + - Clarifying and enforcing standards of acceptable behavior + - Taking appropriate and fair corrective action + - Removing, editing, or rejecting contributions not aligned with this Code + - Communicating moderation decisions when appropriate ### Reporting Process !!! tip "Reporting Violations" -Report instances of unacceptable behavior to the community leaders at: -[OWASP Nest Project Leaders](https://owasp.org/www-project-nest) + Report instances of unacceptable behavior to the community leaders at: + [OWASP Nest Project Leaders](https://owasp.org/www-project-nest) -```plaintext -All complaints will be reviewed and investigated promptly and fairly. -``` + All complaints will be reviewed and investigated promptly and fairly. ### Guidelines for Enforcement diff --git a/docs/contributing.md b/docs/contributing.md index 4d3063d4be..186dcc823b 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -1,3 +1,5 @@ + + # Contributing to Nest !!! note "Thank You" @@ -36,22 +38,20 @@ Before contributing, ensure you have the following installed: !!! warning "Windows Setup Requirements" **WSL (Windows Subsystem for Linux)** is required for Windows users to enable Linux compatibility. -```plaintext -1. The `make run` command requires WSL -2. You must use WSL terminal (not Windows PowerShell) -3. WSL integration must be enabled in Docker Desktop settings + 1. The `make run` command requires WSL + 2. You must use WSL terminal (not Windows PowerShell) + 3. WSL integration must be enabled in Docker Desktop settings -=== "WSL Installation" - Follow [Microsoft's official guide](https://learn.microsoft.com/en-us/windows/wsl/install) + === "WSL Installation" + Follow [Microsoft's official guide](https://learn.microsoft.com/en-us/windows/wsl/install) -=== "Docker Desktop Setup" - 1. Open Docker Desktop - 2. Go to Settings → Resources → WSL Integration - 3. Enable WSL integration + === "Docker Desktop Setup" + 1. Open Docker Desktop + 2. Go to Settings → Resources → WSL Integration + 3. Enable WSL integration -!!! danger "PowerShell Not Supported" - Do not report issues if using PowerShell for running commands -- it's not the intended way to run Nest locally. -``` + !!! danger "PowerShell Not Supported" + Do not report issues if using PowerShell for running commands -- it's not the intended way to run Nest locally. ## Getting Started From 717c1ed7c3ae14ea8045dbba7443f5f88d2b95cc Mon Sep 17 00:00:00 2001 From: Gopal Date: Sun, 15 Feb 2026 23:28:19 +0530 Subject: [PATCH 5/6] globally disable MD041/first-line-heading --- .github/PULL_REQUEST_TEMPLATE.md | 2 +- .markdownlint.yaml | 3 +++ README.md | 1 - docs/index.md | 1 - 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index dbc8a6c0c7..a5ae4b15ae 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,4 +1,4 @@ -## STOP AND READ BEFORE SUBMITTING! REMOVE THIS PARAGRAPH BEFORE OPENING THE PR +## STOP AND READ BEFORE SUBMITTING! REMOVE THIS PARAGRAPH BEFORE OPENING THE PR Thank you for your interest in contributing to OWASP Nest! diff --git a/.markdownlint.yaml b/.markdownlint.yaml index 065367b08e..b2d98ac914 100644 --- a/.markdownlint.yaml +++ b/.markdownlint.yaml @@ -17,6 +17,9 @@ MD024: false # MD033/no-inline-html MD033: false +# MD041/first-line-heading +MD041: false + # MD046/code-block-style MD046: style: fenced diff --git a/README.md b/README.md index a7942dc7e1..6557c7d908 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,3 @@ -
[![OWASP](https://img.shields.io/badge/Lab-blue?&label=owasp%20level&style=for-the-badge)](https://owasp.org/www-project-nest/) [![OWASP](https://img.shields.io/badge/Code-blue?label=OWASP%20Type&style=for-the-badge)](https://owasp.org/www-project-nest/) [![project-nest](https://img.shields.io/badge/%23project--nest-blue?label=OWASP%20Slack&logoColor=white&style=for-the-badge)](https://owasp.slack.com/archives/project-nest) diff --git a/docs/index.md b/docs/index.md index 58061bf2ce..e13cd07df5 100644 --- a/docs/index.md +++ b/docs/index.md @@ -2,7 +2,6 @@ title: OWASP Nest --- - # OWASP Nest From 020d8d1b07a5ff5f4e1fea6995f7e91f18eb0918 Mon Sep 17 00:00:00 2001 From: Arkadii Yakovets Date: Sun, 15 Feb 2026 12:40:01 -0800 Subject: [PATCH 6/6] Update README.md --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 6557c7d908..d07c052a39 100644 --- a/README.md +++ b/README.md @@ -68,6 +68,6 @@ Over time, OWASP Nest has expanded to address broader OWASP community needs, suc ### Community and Social Media -- [BlueSky account](https://bsky.app/profile/nest.owasp.org) -- [LinkedIn group](https://www.linkedin.com/groups/14656108/) -- [Slack channel](https://owasp.slack.com/archives/project-nest) (join [here](https://owasp.org/slack/invite)) +- [BlueSky](https://bsky.app/profile/nest.owasp.org) +- [LinkedIn](https://www.linkedin.com/groups/14656108/) +- [OWASP Slack](https://owasp.slack.com/archives/project-nest) -- join [#project-nest](https://owasp.org/slack/invite)