diff --git a/.azuredevops/pipelines/templates/stages/integration-tests-reporting-generic.yml b/.azuredevops/pipelines/templates/stages/integration-tests-reporting-generic.yml
index 4a87f7b91..415ba46c1 100644
--- a/.azuredevops/pipelines/templates/stages/integration-tests-reporting-generic.yml
+++ b/.azuredevops/pipelines/templates/stages/integration-tests-reporting-generic.yml
@@ -31,7 +31,7 @@ stages:
- powershell: ./build.ps1 --verbosity=diagnostic
workingDirectory: ./tests/Cake.Issues.Reporting.Generic/script-runner
displayName: 'Run integration tests'
- - publish: $(Build.SourcesDirectory)/docs/input/docs/report-formats/generic/templates
+ - publish: $(Build.SourcesDirectory)/docs/input/documentation/report-formats/generic/templates
artifact: Integration Tests Cake.Issues.Reporting.Generic Cake Scripting $(System.JobName)
displayName: 'Publish generated reports as build artifact'
- job: TestReportingGenericFrostingNet8Job
@@ -60,6 +60,6 @@ stages:
- powershell: ./build.ps1 --verbosity=diagnostic
workingDirectory: ./tests/Cake.Issues.Reporting.Generic/frosting
displayName: 'Run integration tests'
- - publish: $(Build.SourcesDirectory)/docs/input/docs/report-formats/generic/templates
+ - publish: $(Build.SourcesDirectory)/docs/input/documentation/report-formats/generic/templates
artifact: Integration Tests Cake.Issues.Reporting.Generic Cake Frosting .NET 8 $(System.JobName)
displayName: 'Publish generated reports as build artifact'
diff --git a/.github/actions/prepare-integration-test/action.yml b/.github/actions/prepare-integration-test/action.yml
index 8325cfb16..b08c2d1c6 100644
--- a/.github/actions/prepare-integration-test/action.yml
+++ b/.github/actions/prepare-integration-test/action.yml
@@ -13,6 +13,6 @@ runs:
name: NuGet Package
path: ./BuildArtifacts/Packages/NuGet
- name: Install .NET
- uses: actions/setup-dotnet@3e891b0cb619bf60e2c25674b222b8940e2c1c25 # v4
+ uses: actions/setup-dotnet@87b7050bc53ea08284295505d98d2aa94301e852 # v4
with:
dotnet-version: ${{ inputs.dotnet-version }}
\ No newline at end of file
diff --git a/.github/renovate.json b/.github/renovate.json
index 3ea641745..6038e7680 100644
--- a/.github/renovate.json
+++ b/.github/renovate.json
@@ -3,6 +3,18 @@
"extends": [
"github>cake-contrib/renovate-presets:cake-issues"
],
+ "customManagers": [
+ {
+ "customType": "regex",
+ "description": "Update versions of NuGet packages used in documentation",
+ "fileMatch": [
+ "docs/mkdocs.yml$"
+ ],
+ "matchStrings": [
+ "\\s*#\\srenovate:\\sdatasource=(?.*?) depName=(?.*?)( versioning=(?.*?))?( extractVersion=(?.*?))?\\s*.*?_version\\s*:\\s*(?.*)"
+ ]
+ }
+ ],
"packageRules": [
{
"description": "Ignore Cake runner minor and patch updates",
diff --git a/.github/workflows/integrationtests.yml b/.github/workflows/integrationtests.yml
index 120af7125..08fe1ce69 100644
--- a/.github/workflows/integrationtests.yml
+++ b/.github/workflows/integrationtests.yml
@@ -2,12 +2,16 @@ name: Integration tests
# Workflow Trigger
on:
- # Trigger the workflow on a pull request to any branch
+ # Trigger the workflow on a pull request to any branch, ignoring changes to /docs
pull_request:
- # Triggers the workflow in the event there is a push to master
+ paths-ignore:
+ - 'docs/**'
+ # Trigger the workflow on pushes to the master branch, ignoring changes to /docs
push:
branches:
- master
+ paths-ignore:
+ - 'docs/**'
jobs:
# Build
@@ -20,7 +24,7 @@ jobs:
- name: Fetch all tags and branches
run: git fetch --prune --unshallow
- name: Install .NET
- uses: actions/setup-dotnet@3e891b0cb619bf60e2c25674b222b8940e2c1c25 # v4
+ uses: actions/setup-dotnet@87b7050bc53ea08284295505d98d2aa94301e852 # v4
with:
# .NET 5 required for GitVersion
dotnet-version: |
@@ -31,7 +35,7 @@ jobs:
run: ./build.sh --target=Create-NuGet-Packages
shell: bash
- name: Publish NuGet package as build artifact
- uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4
+ uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4
with:
name: NuGet Package
path: ./BuildArtifacts/Packages/NuGet/
diff --git a/.github/workflows/publish-develop-docs.yml b/.github/workflows/publish-develop-docs.yml
new file mode 100644
index 000000000..cf3fa3131
--- /dev/null
+++ b/.github/workflows/publish-develop-docs.yml
@@ -0,0 +1,39 @@
+name: Publish Develop Docs
+
+# Workflow Trigger
+on:
+ # Triggers the workflow in the event there is a push to develop
+ push:
+ branches:
+ - develop
+
+permissions:
+ contents: write
+
+jobs:
+ deploy:
+ name: Build & Publish Docs
+ runs-on: ubuntu-latest
+ steps:
+ - name: Get the sources
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
+ with:
+ fetch-depth: 0
+ - name: Install Python
+ uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5
+ with:
+ python-version: 3.13.1
+ - name: Install Python Dependencies
+ run: pip install -r requirements.txt
+ working-directory: ./docs
+ - name: Install Required Libraries
+ run: |
+ sudo apt-get update
+ sudo apt-get install -y pngquant
+ - name: Configure Git
+ run: |
+ git config --global user.name "Build Server"
+ git config --global user.email "ci@cakeissues.net"
+ - name: Build & Publish
+ run: mike deploy --push develop
+ working-directory: ./docs
diff --git a/.github/workflows/publish-release-docs.yml b/.github/workflows/publish-release-docs.yml
new file mode 100644
index 000000000..d1dca5af7
--- /dev/null
+++ b/.github/workflows/publish-release-docs.yml
@@ -0,0 +1,38 @@
+name: Publish Release Docs
+
+# Workflow Trigger
+on:
+ # Triggers the workflow in the event there is a release created
+ release:
+ types: [published]
+
+permissions:
+ contents: write
+
+jobs:
+ deploy:
+ name: Build & Publish Docs
+ runs-on: ubuntu-latest
+ steps:
+ - name: Get the sources
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
+ with:
+ fetch-depth: 0
+ - name: Install Python
+ uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5
+ with:
+ python-version: 3.13.1
+ - name: Install Python Dependencies
+ run: pip install -r requirements.txt
+ working-directory: ./docs
+ - name: Install Required Libraries
+ run: |
+ sudo apt-get update
+ sudo apt-get install -y pngquant
+ - name: Configure Git
+ run: |
+ git config --global user.name "Build Server"
+ git config --global user.email "ci@cakeissues.net"
+ - name: Build & Publish
+ run: mike deploy --push --update-aliases ${{ github.event.release.tag_name }} latest
+ working-directory: ./docs
diff --git a/.github/workflows/pushpreview.yml b/.github/workflows/pushpreview.yml
new file mode 100644
index 000000000..b34e58f8a
--- /dev/null
+++ b/.github/workflows/pushpreview.yml
@@ -0,0 +1,38 @@
+name: PushPreview
+
+# Workflow Trigger
+on:
+ # Triggers the workflow if a pull request is labeled with 'preview'
+ pull_request_target:
+ types:
+ - labeled
+
+jobs:
+ preview:
+ runs-on: ubuntu-latest
+ if: github.event.label.name == 'preview'
+ steps:
+ - name: Get the sources
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
+ - name: Comment
+ run: |
+ gh pr comment ${{ github.event.pull_request.number }} --repo ${{ github.repository }} --body "⚙️ Hang tight! PushPreview is currently building your preview. We'll share the URL as soon as it's ready."
+ env:
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ - name: Install Python
+ uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5
+ with:
+ python-version: 3.13.1
+ - name: Set BASE_URL
+ run: echo "BASE_URL=/github/${{ github.repository }}/${{ github.event.number }}/" >> $GITHUB_ENV
+ - name: Build site
+ run: |
+ cd docs
+ pip install -r requirements.txt
+ mkdocs build
+ - name: Generate preview
+ uses: PushLabsHQ/pushpreview-action@cf958f7be2bf55d3f56d351bb9abf56b4c6b9a50 # 1.0.6
+ with:
+ source-directory: ./docs/site
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ pushpreview-token: ${{ secrets.PUSHPREVIEW_TOKEN }}
\ No newline at end of file
diff --git a/.github/workflows/unittests.yml b/.github/workflows/unittests.yml
index f3e116887..4da8090f0 100644
--- a/.github/workflows/unittests.yml
+++ b/.github/workflows/unittests.yml
@@ -2,12 +2,16 @@ name: Unit tests
# Workflow Trigger
on:
- # Trigger the workflow on a pull request to any branch
+ # Trigger the workflow on a pull request to any branch, ignoring changes to /docs
pull_request:
- # Triggers the workflow in the event there is a push to master
+ paths-ignore:
+ - 'docs/**'
+ # Trigger the workflow on pushes to the master branch, ignoring changes to /docs
push:
branches:
- master
+ paths-ignore:
+ - 'docs/**'
jobs:
Test:
@@ -27,7 +31,7 @@ jobs:
- name: Fetch all tags and branches
run: git fetch --prune --unshallow
- name: Install .NET
- uses: actions/setup-dotnet@3e891b0cb619bf60e2c25674b222b8940e2c1c25 # v4
+ uses: actions/setup-dotnet@87b7050bc53ea08284295505d98d2aa94301e852 # v4
with:
# .NET 5 required for GitVersion
dotnet-version: |
diff --git a/.gitignore b/.gitignore
index ba4e60c6b..3068af6bf 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,7 +1,3 @@
-# Project specific
-
-BuildArtifacts/
-
# Created by https://www.gitignore.io/api/cake,visualstudio
### Cake ###
@@ -304,4 +300,9 @@ __pycache__/
# By default, sensitive information, such as encrypted password
# should be stored in the .pubxml.user file.
-# End of https://www.gitignore.io/api/cake,visualstudio
\ No newline at end of file
+# End of https://www.gitignore.io/api/cake,visualstudio
+
+# Project specific
+
+BuildArtifacts/
+docs/.cache/
\ No newline at end of file
diff --git a/.vscode/settings.json b/.vscode/settings.json
index ff1570829..be2f7b909 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -1,3 +1,15 @@
{
- "dotnet.defaultSolution": "src\\Cake.Issues.sln"
+ "dotnet.defaultSolution": "src\\Cake.Issues.sln",
+ "yaml.schemas": {
+ "https://squidfunk.github.io/mkdocs-material/schema.json": "mkdocs.yml"
+ },
+ "yaml.customTags": [
+ "!ENV scalar",
+ "!ENV sequence",
+ "!relative scalar",
+ "tag:yaml.org,2002:python/name:material.extensions.emoji.to_svg",
+ "tag:yaml.org,2002:python/name:material.extensions.emoji.twemoji",
+ "tag:yaml.org,2002:python/name:pymdownx.superfences.fence_code_format",
+ "tag:yaml.org,2002:python/object/apply:pymdownx.slugs.slugify mapping"
+ ]
}
\ No newline at end of file
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 078295e35..cdc692810 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -11,25 +11,53 @@ To contribute:
* Push your feature branch.
* Create a pull request.
-## Build
+## Building
-To build this package we are using Cake.
+### Prerequisites
+
+General requirements:
+
+* .NET Core 2.1, .NET Core 3.0, .NET Core 3.1, .NET 5 or .NET 6 for running the build
+
+For building addins:
+
+* .NET 9 SKD
+
+For building website:
+
+* Python 3
+
+### Building addins
+
+On Windows PowerShell run:
+
+```powershell
+./build.ps1
+```
+
+On OSX/Linux run:
+
+```bash
+.\build.sh
+```
+
+### Start website
On Windows PowerShell run:
```powershell
-./build
+./build.ps1 --target=website
```
On OSX/Linux run:
```bash
-./build.sh
+./build.sh --target=website
```
## Release
See [Cake.Recipe documentation] how to create a new release of this addin.
-[GitFlow]: (http://nvie.com/posts/a-successful-git-branching-model/)
+[GitFlow]: (https://nvie.com/posts/a-successful-git-branching-model/)
[Cake.Recipe documentation]: https://cake-contrib.github.io/Cake.Recipe/docs/usage/creating-release
\ No newline at end of file
diff --git a/README.md b/README.md
index 2ddf5b59e..7c76f3857 100644
--- a/README.md
+++ b/README.md
@@ -97,15 +97,15 @@ In Cake Frosting they can be added using package references:
```
-See [list of available addins](https://cakeissues.net/addins/).
+See [list of available addins](#addins).
### Compatibility
-See [Release Notes](https://cakeissues.net/docs/overview/release-notes/Cake.Issues) for requirements for each specific version.
+See [Release Notes](https://github.com/cake-contrib/Cake.Issues/releases) for requirements for each specific version.
## Usage
-See [Website](https://cakeissues.net/docs/usage/) for detailed usage instructions.
+See [Website](https://cakeissues.net/latest/documentation/usage/) for detailed usage instructions.
## Support & Discussion
@@ -123,6 +123,7 @@ For questions and to discuss ideas & feature requests, use the [GitHub discussio
| [Cake.Issues.InspectCode](https://www.nuget.org/packages/Cake.Issues.InspectCode) | [Cake.Frosting.Issues.InspectCode](https://www.nuget.org/packages/Cake.Frosting.Issues.InspectCode) | Issue provider for reading JetBrains Inspect Code issues. |
| [Cake.Issues.Markdownlint](https://www.nuget.org/packages/Cake.Issues.Markdownlint) | [Cake.Frosting.Issues.Markdownlint](https://www.nuget.org/packages/Cake.Frosting.Issues.Markdownlint) | Issue provider for reading issues from markdownlint. |
| [Cake.Issues.Sarif](https://www.nuget.org/packages/Cake.Issues.Sarif) | [Cake.Frosting.Issues.Sarif](https://www.nuget.org/packages/Cake.Frosting.Issues.Sarif) | Issue provider for reading SARIF reports. |
+| [Cake.Issues.Tap](https://www.nuget.org/packages/Cake.Issues.Tap) | [Cake.Frosting.Issues.Tap](https://www.nuget.org/packages/Cake.Frosting.Issues.Tap) | Issue provider for reading files in Test Anything Protocol (TAP) format. |
| [Cake.Issues.Terraform](https://www.nuget.org/packages/Cake.Issues.Terraform) | [Cake.Frosting.Issues.Terraform](https://www.nuget.org/packages/Cake.Frosting.Issues.Terraform) | Issue provider for reading Terraform validation output. |
| [Cake.Issues.PullRequests](https://www.nuget.org/packages/Cake.Issues.PullRequests) | [Cake.Frosting.Issues.PullRequests](https://www.nuget.org/packages/Cake.Frosting.Issues.PullRequests) | Addin providing the aliases for writing issues to pull requests and build servers. |
| [Cake.Issues.PullRequests.AppVeyor](https://www.nuget.org/packages/Cake.Issues.PullRequests.AppVeyor) | [Cake.Frosting.Issues.PullRequests.AppVeyor](https://www.nuget.org/packages/Cake.Frosting.Issues.PullRequests.AppVeyor) | Integration with AppVeyor builds. |
@@ -136,7 +137,7 @@ For questions and to discuss ideas & feature requests, use the [GitHub discussio
## API
The Cake Issues addins provide a wide range of additional aliases which can be used in Cake builds.
-See [API reference](https://cakeissues.net/dsl/) for an overview.
+See [API reference](https://cakeissues.net/latest/api/) for an overview.
## Contributing
@@ -149,9 +150,9 @@ Contributions are welcome. See [Contribution Guidelines](CONTRIBUTING.md).
Binary distributions for some addins contain third-party code which is licensed under its own respective license.
See [LICENSE](LICENSE) for details.
-[modular architecture]: https://cakeissues.net/docs/fundamentals/architecture
-[extension points]: https://cakeissues.net/docs/extending/
-[set of aliases]: https://cakeissues.net/dsl/
-[variety of analyzers and linters]: https://cakeissues.net/addins/issue-provider/
-[over 15 distinct addins]: https://cakeissues.net/addins/
-[75 aliases]: https://cakeissues.net/dsl/
+[modular architecture]: https://cakeissues.net/latest/documentation/how-cake-issues-works/
+[extension points]: https://cakeissues.net/latest/documentation/extending/
+[set of aliases]: https://cakeissues.net/latest/api/
+[variety of analyzers and linters]: https://cakeissues.net/latest/documentation/supported-tools/
+[over 15 distinct addins]: #addins
+[75 aliases]: https://cakeissues.net/latest/api/
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index c791689ec..d71eb25bc 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -1,13 +1,23 @@
trigger:
-- develop
-- master
-- release/*
-- hotfix/*
+ branches:
+ include:
+ - develop
+ - master
+ - release/*
+ - hotfix/*
+ paths:
+ exclude:
+ - docs/**
pr:
-- develop
-- release/*
-- hotfix/*
+ branches:
+ include:
+ - develop
+ - release/*
+ - hotfix/*
+ paths:
+ exclude:
+ - docs/**
stages:
- template: .azuredevops/pipelines/templates/stages/build.yml
diff --git a/docs/input/_AddinsLayout.cshtml b/docs/input/_AddinsLayout.cshtml
deleted file mode 100644
index 901dae8a9..000000000
--- a/docs/input/_AddinsLayout.cshtml
+++ /dev/null
@@ -1,20 +0,0 @@
-@{
- Layout = "/_Master.cshtml";
-
- ViewData[Keys.Title] = "Addins - " + Model.String(Keys.GroupKey);
-}
-
-@section Infobar {
-}
-
-@section Sidebar {
- @Html.Partial("_AddinsSidebar")
-}
-
-
-
@Model.String(Keys.GroupKey)
-
-
- @Html.Partial("_AddinsList", Model.DocumentList(Keys.GroupDocuments))
- @RenderBody()
-
\ No newline at end of file
diff --git a/docs/input/_AddinsList.cshtml b/docs/input/_AddinsList.cshtml
deleted file mode 100644
index 4c72b1297..000000000
--- a/docs/input/_AddinsList.cshtml
+++ /dev/null
@@ -1,57 +0,0 @@
-@model IEnumerable
-
-
- This page contains core and third party addins for Cake Issues.
- If you want to file an issue for any addin listed here, contact the author of the addin.
-
-
- See Reference for a list of aliases provided by these addins.
-
-
- If you're an addin author and want your addin listed here, follow the instructions here.
-
- }
-}
\ No newline at end of file
diff --git a/docs/input/docs/extending/fundamentals.md b/docs/input/docs/extending/fundamentals.md
deleted file mode 100644
index d5eb30a0b..000000000
--- a/docs/input/docs/extending/fundamentals.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-Order: 10
-Title: Fundamentals
-Description: Fundamentals to extend Cake Issues ecosystem.
----
-
-You can easily extend Cake Issues with additional [Issue Provider], [Report Formats] and [Pull Request System integrations].
-
-[Issue Provider]: issue-provider
-[Report Formats]: report-format
-[Pull Request System integrations]: pull-request-system
\ No newline at end of file
diff --git a/docs/input/docs/extending/index.cshtml b/docs/input/docs/extending/index.cshtml
deleted file mode 100644
index a5469c139..000000000
--- a/docs/input/docs/extending/index.cshtml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-Order: 80
-Description: Instructions how to add support for additional analyzers, report formats and pull request system to the Cake Issues Addin.
----
-
-@Html.Partial("_ChildPages")
\ No newline at end of file
diff --git a/docs/input/docs/extending/issue-provider/categories.md b/docs/input/docs/extending/issue-provider/categories.md
deleted file mode 100644
index f6d781972..000000000
--- a/docs/input/docs/extending/issue-provider/categories.md
+++ /dev/null
@@ -1,23 +0,0 @@
----
-Order: 30
-Title: Alias categories
-Description: Instructions how to set the alias category.
----
-Issue provider aliases should use the [IssuesAliasConstants.MainCakeAliasCategory] and
-[IssuesAliasConstants.IssueProviderCakeAliasCategory] constants for defining their category:
-
-```csharp
-[CakeAliasCategory(IssuesAliasConstants.MainCakeAliasCategory)]
-public static class MyIssueProviderAliases
-{
- [CakeMethodAlias]
- [CakeAliasCategory(IssuesAliasConstants.IssueProviderCakeAliasCategory)]
- public static IIssueProvider MyIssueProvider(
- this ICakeContext context)
- {
- }
-}
-```
-
-[IssuesAliasConstants.MainCakeAliasCategory]: ../../../api/Cake.Issues/IssuesAliasConstants/41CCADF8
-[IssuesAliasConstants.IssueProviderCakeAliasCategory]: ../../../api/Cake.Issues/IssuesAliasConstants/D265B28D
\ No newline at end of file
diff --git a/docs/input/docs/extending/issue-provider/index.cshtml b/docs/input/docs/extending/issue-provider/index.cshtml
deleted file mode 100644
index 3ed5de7aa..000000000
--- a/docs/input/docs/extending/issue-provider/index.cshtml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-Order: 10
-Description: Instructions how to add support for additional analyzers to the Cake Issues addin.
----
-
-@Html.Partial("_ChildPages")
\ No newline at end of file
diff --git a/docs/input/docs/extending/issue-provider/overview.md b/docs/input/docs/extending/issue-provider/overview.md
deleted file mode 100644
index 44066737b..000000000
--- a/docs/input/docs/extending/issue-provider/overview.md
+++ /dev/null
@@ -1,24 +0,0 @@
----
-Order: 20
-Title: Overview
-Description: Overview how to implement support for an analyzer or linter.
----
-Issue providers need to implement the [IIssueProvider] interface.
-
-# Base classes
-
-For simplifying implementation there exists base classes from which concrete implementation can be inherited.
-
-| Base Class | Use case | Tutorial |
-|---------------------------------|------------------------------------------------------------------------|-------------------------------------|
-| [BaseIssueProvider] | Base class for a simple issue provider implementation. | [Simple provider] |
-| [BaseConfigurableIssueProvider] | Base class for a issue provider with issue provider specific settings. | [Provider settings] |
-| [BaseMultiFormatIssueProvider] | Base class for issue providers supporting multiple log formats. | [Multiple log file formats support] |
-
-[IIssueProvider]: ../../../api/Cake.Issues/IIssueProvider/
-[BaseIssueProvider]: ../../../api/Cake.Issues/BaseIssueProvider
-[BaseConfigurableIssueProvider]: ../../../api/Cake.Issues/BaseConfigurableIssueProvider_1
-[BaseMultiFormatIssueProvider]: ../../../api/Cake.Issues/BaseMultiFormatIssueProvider_2
-[Simple provider]: tutorials/simple
-[Provider settings]: tutorials/settings
-[Multiple log file formats support]: tutorials/logfile-format
\ No newline at end of file
diff --git a/docs/input/docs/extending/issue-provider/tutorials/index.cshtml b/docs/input/docs/extending/issue-provider/tutorials/index.cshtml
deleted file mode 100644
index 4dd2b0f56..000000000
--- a/docs/input/docs/extending/issue-provider/tutorials/index.cshtml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-Order: 40
-Description: Tutorials how to implement issue providers.
----
-
-@Html.Partial("_ChildPages")
\ No newline at end of file
diff --git a/docs/input/docs/extending/pull-request-system/index.cshtml b/docs/input/docs/extending/pull-request-system/index.cshtml
deleted file mode 100644
index e05db6073..000000000
--- a/docs/input/docs/extending/pull-request-system/index.cshtml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-Order: 30
-Description: Instructions how to add support for additional pull request system to the Cake Issues addin.
----
-
-@Html.Partial("_ChildPages")
\ No newline at end of file
diff --git a/docs/input/docs/extending/pull-request-system/overview.md b/docs/input/docs/extending/pull-request-system/overview.md
deleted file mode 100644
index 3fbf0a88e..000000000
--- a/docs/input/docs/extending/pull-request-system/overview.md
+++ /dev/null
@@ -1,26 +0,0 @@
----
-Order: 20
-Title: Overview
-Description: Overview how to implement support for a pull request system.
----
-Pull Request Systems need to implement the [IPullRequestSystem] interface.
-
-# BaseClasses
-
-For simplifying implementation there exists base classes from which concrete implementation can be inherited.
-[BasePullRequestSystem] is the main base class with the required functionality for a pull request system implementation.
-Additionally there exists several classes which can be implemented to support additional optional capabilities
-in a pull request system implementation.
-
-| Base Class | Use case | Tutorial |
-|------------------------------------------|--------------------------------------------------------------------------------------------------------|-------------------------------------|
-| [BasePullRequestSystem] | Base class for all pull request system implementations. | |
-| [BaseCheckingCommitIdCapability] | Base class for capability to post issues only if pull request is for a specific commit. | |
-| [BaseDiscussionThreadsCapability] | Base class for capability to read, resolve and reopen discussion threads. | |
-| [BaseFilteringByModifiedFilesCapability] | Base class for capability to filter issues to only those affecting files modified in the pull request. | |
-
-[IPullRequestSystem]: ../../../api/Cake.Issues.PullRequests/IPullRequestSystem
-[BasePullRequestSystem]: ../../../api/Cake.Issues.PullRequests/BasePullRequestSystem
-[BaseCheckingCommitIdCapability]: ../../../api/Cake.Issues.PullRequests/BaseCheckingCommitIdCapability_1
-[BaseDiscussionThreadsCapability]: ../../../api/Cake.Issues.PullRequests/BaseDiscussionThreadsCapability_1
-[BaseFilteringByModifiedFilesCapability]: ../../../api/Cake.Issues.PullRequests/BaseFilteringByModifiedFilesCapability_1
\ No newline at end of file
diff --git a/docs/input/docs/extending/report-format/categories.md b/docs/input/docs/extending/report-format/categories.md
deleted file mode 100644
index fd9b0a477..000000000
--- a/docs/input/docs/extending/report-format/categories.md
+++ /dev/null
@@ -1,23 +0,0 @@
----
-Order: 30
-Title: Alias categories
-Description: Instructions how to set the alias category.
----
-Report format aliases should use the [IssuesAliasConstants.MainCakeAliasCategory] and
-[ReportingAliasConstants.ReportingFormatCakeAliasCategory] constants for defining their category:
-
-```csharp
-[CakeAliasCategory(IssuesAliasConstants.MainCakeAliasCategory)]
-public static class MyReportFormatAliases
-{
- [CakeMethodAlias]
- [CakeAliasCategory(ReportingAliasConstants.ReportingFormatCakeAliasCategory)]
- public static IIssueReportFormat MyReportFormat(
- this ICakeContext context)
- {
- }
-}
-```
-
-[IssuesAliasConstants.MainCakeAliasCategory]: ../../../api/Cake.Issues/IssuesAliasConstants/41CCADF8
-[ReportingAliasConstants.ReportingFormatCakeAliasCategory]: ../../../api/Cake.Issues.Reporting/ReportingAliasConstants/979CDCAF
\ No newline at end of file
diff --git a/docs/input/docs/extending/report-format/index.cshtml b/docs/input/docs/extending/report-format/index.cshtml
deleted file mode 100644
index 06f0e9dda..000000000
--- a/docs/input/docs/extending/report-format/index.cshtml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-Order: 20
-Description: Instructions how to additional report formats to the Cake Issues addin.
----
-
-@Html.Partial("_ChildPages")
\ No newline at end of file
diff --git a/docs/input/docs/extending/report-format/overview.md b/docs/input/docs/extending/report-format/overview.md
deleted file mode 100644
index 179d63030..000000000
--- a/docs/input/docs/extending/report-format/overview.md
+++ /dev/null
@@ -1,10 +0,0 @@
----
-Order: 20
-Title: Overview
-Description: Overview how to implement support for a report output format.
----
-Report formats need to implement the [IIssueReportFormat] interface.
-For simplifying implementation there exists an abstract [IssueReportFormat] base class from which concrete implementation can be inherited.
-
-[IIssueReportFormat]: ../../../api/Cake.Issues.Reporting/IIssueReportFormat/
-[IssueReportFormat]: ../../../api/Cake.Issues.Reporting/IssueReportFormat/
\ No newline at end of file
diff --git a/docs/input/docs/extending/testing.md b/docs/input/docs/extending/testing.md
deleted file mode 100644
index 9d96b697f..000000000
--- a/docs/input/docs/extending/testing.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-Order: 40
-Title: Testing
-Description: Instructions how to write test cases for Cake Issues addins.
----
-The `Cake.Issues.Testing` provides different helper classes for writing test cases
-for issue provider, report format or pull request system addins.
-
-See [API] for a list of available classes.
-
-[API]: ../../api/Cake.Issues.Testing/
\ No newline at end of file
diff --git a/docs/input/docs/fundamentals/architecture.md b/docs/input/docs/fundamentals/architecture.md
deleted file mode 100644
index 3e8641927..000000000
--- a/docs/input/docs/fundamentals/architecture.md
+++ /dev/null
@@ -1,21 +0,0 @@
----
-Order: 10
-Description: Architecture overview.
----
-
-The Cake Issues addins are built in a modular architecture, allowing to easily
-enhance it for supporting additional analyzers, linters, report formats and pull request systems.
-
-![Architecture Overview](overview.png "Architecture Overview")
-
-The core consists of the following addins:
-
-| Addin | Description |
-|--------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| Cake.Issues | Provides aliases for creating issues or reading issues using one or more issue providers. Support for different code analyzers and linters can be provided through additional [issue provider] addins. |
-| Cake.Issues.Reporting | Provides aliases for creating reports for issues. Support for different report formats can be provided through additional [report format] addins. |
-| Cake.Issues.PullRequests | Provides aliases for reporting issues as comments to pull requests. Support for different pull request systems can be provided through additional [pull request system] addins. |
-
-[issue provider]: issue-provider
-[report format]: report-format
-[pull request system]: pull-request-system
diff --git a/docs/input/docs/fundamentals/index.cshtml b/docs/input/docs/fundamentals/index.cshtml
deleted file mode 100644
index 2d505966a..000000000
--- a/docs/input/docs/fundamentals/index.cshtml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-Order: 20
-Description: Basic concepts of the Cake Issues Addin.
----
-
-@Html.Partial("_ChildPages")
\ No newline at end of file
diff --git a/docs/input/docs/fundamentals/issue-provider.md b/docs/input/docs/fundamentals/issue-provider.md
deleted file mode 100644
index 170e2cc60..000000000
--- a/docs/input/docs/fundamentals/issue-provider.md
+++ /dev/null
@@ -1,12 +0,0 @@
----
-Order: 40
-Description: Overview about issue providers.
----
-Issue provider addins are responsible for providing the output of an analyzer or linter to the Cake Issues addin.
-
-See [Issue Provider] for a list of currently supported analyzers and linters.
-
-See [How to implement issue providers] for instruction on how to implement support for additional issue providers.
-
-[Issue Provider]: ../../addins/issue-provider/
-[How to implement issue providers]: ../extending/issue-provider/
\ No newline at end of file
diff --git a/docs/input/docs/fundamentals/pull-request-system.md b/docs/input/docs/fundamentals/pull-request-system.md
deleted file mode 100644
index 2615a4bfb..000000000
--- a/docs/input/docs/fundamentals/pull-request-system.md
+++ /dev/null
@@ -1,14 +0,0 @@
----
-Order: 60
-Description: Overview about pull request system implementations.
----
-Pull request addins implement specific Pull Request Systems and allow the
-Cake Issues addin to write found issues as comments to pull requests.
-
-See [Pull Request Systems] for a list of currently supported pull request systems.
-
-See [How to implement pull request systems] for instruction on how to implement support for
-additional pull request systems.
-
-[Pull Request Systems]: ../../addins/pull-request-system/
-[How to implement pull request systems]: ../extending/pull-request-system/
diff --git a/docs/input/docs/fundamentals/recipe.md b/docs/input/docs/fundamentals/recipe.md
deleted file mode 100644
index 635cc08ac..000000000
--- a/docs/input/docs/fundamentals/recipe.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-Order: 30
-Description: Pre-made recipe script.
----
-Recipes are pre-made Cake scripts which you can use in your project specific Cake script to get you quickly up and running.
-
-See [Recipe] for detailed documentation of the available recipe for Cake.Issues.
-
-[Recipe]: ../recipe/
\ No newline at end of file
diff --git a/docs/input/docs/fundamentals/report-format.md b/docs/input/docs/fundamentals/report-format.md
deleted file mode 100644
index a5f0e806a..000000000
--- a/docs/input/docs/fundamentals/report-format.md
+++ /dev/null
@@ -1,14 +0,0 @@
----
-Order: 50
-Description: Overview about report format implementations.
----
-Report format addins implement specific report formats and allow the
-Cake Issues addin to create reports in the specific format.
-
-See [Report Formats] for a list of currently supported report formats.
-
-See [How to implement report format] for instruction on how to implement support for
-additional report formats.
-
-[Report Formats]: ../../addins/report-format/
-[How to implement report format]: ../extending/report-format/
diff --git a/docs/input/docs/fundamentals/versioning.md b/docs/input/docs/fundamentals/versioning.md
deleted file mode 100644
index 23111623f..000000000
--- a/docs/input/docs/fundamentals/versioning.md
+++ /dev/null
@@ -1,24 +0,0 @@
----
-Order: 20
-Description: Compatible versions.
----
-The core addins and all issue providers and pull request systems need to be build against a compatible core API.
-You can check the required dependencies in the release notes of the addin.
-
-This means that it's not possible to use a version of an issue provider build against `Cake.Issues` 1.0.0
-together with a version of a pull request system build against `Cake.Issues` 2.0.0.
-
-We use strict [semantic versioning].
-Therefore it's possible to use issue provider and pull request system built against `Cake.Issues` 1.0.0
-together with `Cake.Issues` 1.1.0.
-
-:::{.alert .alert-info}
-Please note that versions below 1.0.0 are not considered stable and their API will break regularly.
-Expect breaking changes in each minor version.
-
-Therefore we strongly advise to pin to specific versions of the addins to avoid breaking builds
-once we update the addin.
-:::
-
-
-[semantic versioning]: http://semver.org/
\ No newline at end of file
diff --git a/docs/input/docs/index.cshtml b/docs/input/docs/index.cshtml
deleted file mode 100644
index a76a27890..000000000
--- a/docs/input/docs/index.cshtml
+++ /dev/null
@@ -1,20 +0,0 @@
----
-Title: Documentation
----
-
-
-
- We gladly accept your contributions. If there is something that you would like to add then you can edit the content directly on GitHub.
-
-
-
-@foreach(IDocument child in Model.DocumentList(Keys.Children).OrderBy(x => x.Get(DocsKeys.Order, 1000)))
-{
-
-
-@Html.Partial("_ChildPages")
\ No newline at end of file
diff --git a/docs/input/docs/issue-providers/eslint/requirements.md b/docs/input/docs/issue-providers/eslint/requirements.md
deleted file mode 100644
index dbca0cec9..000000000
--- a/docs/input/docs/issue-providers/eslint/requirements.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-Order: 10
-Title: Requirements
-Description: Requirements for the Cake.Issues.EsLint addin.
----
-The requirements for using the [Cake.Issues.EsLint addin] are listed in the [release notes] for any specific version.
-
-[Cake.Issues.EsLint addin]: https://www.nuget.org/packages/Cake.Issues.EsLint
-[release notes]: release-notes
diff --git a/docs/input/docs/issue-providers/gitrepository/examples.md b/docs/input/docs/issue-providers/gitrepository/examples.md
deleted file mode 100644
index 28c116f38..000000000
--- a/docs/input/docs/issue-providers/gitrepository/examples.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-Order: 30
-Title: Examples
-Description: Examples for using the Cake.Issues.GitRepository addin.
----
-The following example prints the number of binary files which are not tracked by [Git Large File Storage] in a repository.
-
-:::{.alert .alert-warning}
-Checking binary files requires Git and [Git Large File Storage] available on the local machine.
-:::
-
-To analyze Git repositories you need to import the core addin and the Git repository support:
-
-```csharp
-#addin "Cake.Issues"
-#addin "Cake.Issues.GitRepository"
-```
-
-:::{.alert .alert-warning}
-Please note that you always should pin addins to a specific version to make sure your builds are deterministic and
-won't break due to updates to one of the addins.
-
-See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details.
-:::
-
-We need some global variables:
-
-```csharp
-var repoRootPath = @"c:\repo";
-```
-
-The following task will analyze the repository:
-
-```csharp
-Task("Analyze-Repo")
-.Does(() =>
-{
- // Read Issues.
- var settings =
- new GitRepositoryIssuesSettings
- {
- CheckBinaryFilesTrackedByLfs = true
- };
-
- var issues =
- ReadIssues(
- GitRepositoryIssues(settings),
- repoRootPath);
-
- Information("{0} issues are found.", issues.Count());
-});
-```
-
-[Git Large File Storage]: https://git-lfs.github.com/
\ No newline at end of file
diff --git a/docs/input/docs/issue-providers/gitrepository/features.md b/docs/input/docs/issue-providers/gitrepository/features.md
deleted file mode 100644
index 55dbdfcc4..000000000
--- a/docs/input/docs/issue-providers/gitrepository/features.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-Order: 20
-Title: Features
-Description: Features of the Cake.Issues.GitRepository addin.
----
-The [Cake.Issues.GitRepository addin] provides the following features.
-
-# Basic features
-
-* Checks path length of files. See [FilePathTooLong] for details.
-* Checks if binary files are tracked by Git LFS. See [BinaryFileNotTrackedByLfs] for details.
-
-# Supported IIssue properties
-
-| | Property | Remarks |
-|--------------------------------------------------------------------|-----------------------------------|---------------------------------|
-| | `IIssue.ProviderType` | |
-| | `IIssue.ProviderName` | |
-| | `IIssue.Run` | Can be set while reading issues |
-| | `IIssue.Identifier` | Set to `IIssue.MessageText` |
-| | `IIssue.ProjectName` | |
-| | `IIssue.ProjectFileRelativePath` | |
-| | `IIssue.AffectedFileRelativePath` | |
-| | `IIssue.Line` | |
-| | `IIssue.EndLine` | |
-| | `IIssue.Column` | |
-| | `IIssue.EndColumn` | |
-| | `IIssue.FileLink` | Can be set while reading issues |
-| | `IIssue.MessageText` | |
-| | `IIssue.MessageHtml` | |
-| | `IIssue.MessageMarkdown` | |
-| | `IIssue.Priority` | |
-| | `IIssue.PriorityName` | |
-| | `IIssue.Rule` | |
-| | `IIssue.RuleUrl` | |
-
-[Cake.Issues.GitRepository addin]: https://www.nuget.org/packages/Cake.Issues.GitRepository
-[FilePathTooLong]: rules/FilePathTooLong
-[BinaryFileNotTrackedByLfs]: rules/BinaryFileNotTrackedByLfs
diff --git a/docs/input/docs/issue-providers/gitrepository/index.cshtml b/docs/input/docs/issue-providers/gitrepository/index.cshtml
deleted file mode 100644
index 35d944fbd..000000000
--- a/docs/input/docs/issue-providers/gitrepository/index.cshtml
+++ /dev/null
@@ -1,11 +0,0 @@
----
-Title: Git Repository
-Description: Issue provider which allows you to analyzing Git repositories and create issues resulting from it.
----
-
-
-@Html.Partial("_ChildPages")
\ No newline at end of file
diff --git a/docs/input/docs/issue-providers/gitrepository/requirements.md b/docs/input/docs/issue-providers/gitrepository/requirements.md
deleted file mode 100644
index e491db400..000000000
--- a/docs/input/docs/issue-providers/gitrepository/requirements.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-Order: 10
-Title: Requirements
-Description: Requirements for the Cake.Issues.GitRepository addin.
----
-The requirements for using the [Cake.Issues.GitRepository addin] are listed in the [release notes] for any specific version.
-
-[Cake.Issues.GitRepository addin]: https://www.nuget.org/packages/Cake.Issues.GitRepository
-[release notes]: release-notes
diff --git a/docs/input/docs/issue-providers/gitrepository/rules/BinaryFileNotTrackedByLfs.md b/docs/input/docs/issue-providers/gitrepository/rules/BinaryFileNotTrackedByLfs.md
deleted file mode 100644
index ccf4197bb..000000000
--- a/docs/input/docs/issue-providers/gitrepository/rules/BinaryFileNotTrackedByLfs.md
+++ /dev/null
@@ -1,33 +0,0 @@
----
-Title: BinaryFileNotTrackedByLfs
-Description: A binary file is not tracked by Git LFS.
----
-
-# Table Class=table HeaderRows=0 ?>
-*
-"Rule Id" BinaryFileNotTrackedByLfs
-Priority Warning
-"Available in" "0.7.0 or higher"
-?>
-#/ Table ?>
-
-## Cause
-
-A binary file in the repository is not tracked by [Git Large File System].
-
-## Rule description
-
-By its nature Git repositories cannot handle binary files well and will keep a full copy of that file in the repository every time a change to that file is committed.
-Considering that you always clone the full history of a repository, and not only the latest version, using binary files in a repository considerably slow downs the operation.
-[Git Large File System] replaces large files with small text pointers inside the Git repository, while storing the file contents on a remote server.
-
-:::{.alert .alert-info}
-The rule assumes that all files, which are not text files are binary files.
-This also includes for example empty files.
-:::
-
-## How to fix violations
-
-Track the file with [Git Large File System].
-
-[Git Large File System]: https://git-lfs.github.com/
diff --git a/docs/input/docs/issue-providers/gitrepository/rules/index.cshtml b/docs/input/docs/issue-providers/gitrepository/rules/index.cshtml
deleted file mode 100644
index 31e0d52d1..000000000
--- a/docs/input/docs/issue-providers/gitrepository/rules/index.cshtml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-Title: Rules
-Description: Rules of the Cake.Issues.GitRepository provider.
----
-
@Html.Raw(Model.String(DocsKeys.Description))
-
-@Html.Partial("_ChildPages")
\ No newline at end of file
diff --git a/docs/input/docs/issue-providers/index.cshtml b/docs/input/docs/issue-providers/index.cshtml
deleted file mode 100644
index f1b8a0c4c..000000000
--- a/docs/input/docs/issue-providers/index.cshtml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-Order: 50
-Description: Documentation of the different issue provider addins.
----
-
@Html.Raw(Model.String(DocsKeys.Description))
-
-@Html.Partial("_ChildPages")
\ No newline at end of file
diff --git a/docs/input/docs/issue-providers/inspectcode/examples.md b/docs/input/docs/issue-providers/inspectcode/examples.md
deleted file mode 100644
index 5d9dbaf9e..000000000
--- a/docs/input/docs/issue-providers/inspectcode/examples.md
+++ /dev/null
@@ -1,66 +0,0 @@
----
-Order: 30
-Title: Examples
-Description: Examples for using the Cake.Issues.InspectCode addin.
----
-The following example will call [JetBrains InspectCode] and output the number of warnings.
-
-To call [JetBrains InspectCode] from a Cake script you need to add the `JetBrains.ReSharper.CommandLineTools`:
-
-```csharp
-#tool "nuget:?package=JetBrains.ReSharper.CommandLineTools"
-```
-
-To read issues from InspectCode log files you need to import the core addin and the InspectCode support:
-
-```csharp
-#addin "Cake.Issues"
-#addin "Cake.Issues.InspectCode"
-```
-
-:::{.alert .alert-warning}
-Please note that you always should pin addins and tools to a specific version to make sure your builds are deterministic and
-won't break due to updates to one of the packages.
-
-See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details.
-:::
-
-We need some global variables:
-
-```csharp
-var logPath = @"c:\build\inspectcode.xml";
-var repoRootPath = @"c:\repo";
-```
-
-The following task will run [JetBrains InspectCode] and write a log file:
-
-```csharp
-Task("Analyze-Project").Does(() =>
-{
- // Run InspectCode.
- var settings = new InspectCodeSettings() {
- OutputFile = logPath
- };
-
- InspectCode(repoRootPath.CombineWithFilePath("MySolution.sln"), settings);
-});
-```
-
-Finally you can define a task where you call the core addin with the desired issue provider.
-
-```csharp
-Task("Read-Issues")
- .IsDependentOn("Analyze-Project")
- .Does(() =>
- {
- // Read Issues.
- var issues =
- ReadIssues(
- InspectCodeIssuesFromFilePath(logPath),
- repoRootPath);
-
- Information("{0} issues are found.", issues.Count());
- });
-```
-
-[JetBrains InspectCode]: https://www.jetbrains.com/help/resharper/InspectCode.html
diff --git a/docs/input/docs/issue-providers/inspectcode/features.md b/docs/input/docs/issue-providers/inspectcode/features.md
deleted file mode 100644
index 93462f82d..000000000
--- a/docs/input/docs/issue-providers/inspectcode/features.md
+++ /dev/null
@@ -1,38 +0,0 @@
----
-Order: 20
-Title: Features
-Description: Features of the Cake.Issues.InspectCode addin.
----
-The [Cake.Issues.InspectCode addin] provides the following features:
-
-# Basic features
-
-* Reads warnings from [JetBrains InsepectCode] log files.
-* Provides URLs for issues containing a Wiki URL.
-
-# Supported IIssue properties
-
-| | Property | Remarks |
-|--------------------------------------------------------------------|-----------------------------------|----------------------------------|
-| | `IIssue.ProviderType` | |
-| | `IIssue.ProviderName` | |
-| | `IIssue.Run` | Can be set while reading issues |
-| | `IIssue.Identifier` | Set to `IIssue.MessageText` |
-| | `IIssue.ProjectName` | |
-| | `IIssue.ProjectFileRelativePath` | |
-| | `IIssue.AffectedFileRelativePath` | |
-| | `IIssue.Line` | |
-| | `IIssue.EndLine` | |
-| | `IIssue.Column` | |
-| | `IIssue.EndColumn` | |
-| | `IIssue.FileLink` | Can be set while reading issues |
-| | `IIssue.MessageText` | |
-| | `IIssue.MessageHtml` | |
-| | `IIssue.MessageMarkdown` | |
-| | `IIssue.Priority` | |
-| | `IIssue.PriorityName` | |
-| | `IIssue.Rule` | |
-| | `IIssue.RuleUrl` | For issues containing a Wiki Url |
-
-[JetBrains InsepectCode]: https://www.jetbrains.com/help/resharper/2017.1/InspectCode.html
-[Cake.Issues.InspectCode addin]: https://www.nuget.org/packages/Cake.Issues.InspectCode
diff --git a/docs/input/docs/issue-providers/inspectcode/index.cshtml b/docs/input/docs/issue-providers/inspectcode/index.cshtml
deleted file mode 100644
index 4f18b059f..000000000
--- a/docs/input/docs/issue-providers/inspectcode/index.cshtml
+++ /dev/null
@@ -1,12 +0,0 @@
----
-Title: InspectCode
-Description: Issue provider which allows you to read issues logged by JetBrains Inspect Code.
----
-
-
-@Html.Partial("_ChildPages")
\ No newline at end of file
diff --git a/docs/input/docs/issue-providers/inspectcode/requirements.md b/docs/input/docs/issue-providers/inspectcode/requirements.md
deleted file mode 100644
index 097fe05e6..000000000
--- a/docs/input/docs/issue-providers/inspectcode/requirements.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-Order: 10
-Title: Requirements
-Description: Requirements for the Cake.Issues.Inspectcode addin.
----
-The requirements for using the [Cake.Issues.InspectCode addin] are listed in the [release notes] for any specific version.
-
-[Cake.Issues.InspectCode addin]: https://www.nuget.org/packages/Cake.Issues.InspectCode
-[release notes]: release-notes
diff --git a/docs/input/docs/issue-providers/markdownlint/examples.md b/docs/input/docs/issue-providers/markdownlint/examples.md
deleted file mode 100644
index b81ddec24..000000000
--- a/docs/input/docs/issue-providers/markdownlint/examples.md
+++ /dev/null
@@ -1,69 +0,0 @@
----
-Order: 30
-Title: Examples
-Description: Examples for using the Cake.Issues.Markdownlint addin.
----
-The following example will call [markdownlint-cli] to lint some markdown files and outputs the number of warnings.
-
-To call [markdownlint-cli] from a Cake script you can use the [Cake.Markdownlint] addin.
-
-```csharp
-#addin "Cake.Markdownlint"
-```
-
-To read issues from markdownlint-cli log files you need to import the core addin and the markdownlint support:
-
-```csharp
-#addin "Cake.Issues"
-#addin "Cake.Issues.Markdownlint"
-```
-
-:::{.alert .alert-warning}
-Please note that you always should pin addins to a specific version to make sure your builds are deterministic and
-won't break due to updates to one of the addins.
-
-See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details.
-:::
-
-We need some global variables:
-
-```csharp
-var logPath = @"c:\build\markdownlint.log";
-var repoRootFolder = MakeAbsolute(Directory("./"));
-```
-
-The following task will run [markdownlint-cli] and write a log file:
-
-```csharp
-Task("Lint-Documentation").Does(() =>
-{
- // Run markdownlint-cli.
- var settings =
- MarkdownlintNodeJsRunnerSettings.ForDirectory(repoRootPath.Combine("docs"));
- settings.OutputFile = logPath;
- settings.ThrowOnIssue = false;
- RunMarkdownlintNodeJs(settings);
-});
-```
-
-Finally you can define a task where you call the core addin with the desired issue provider.
-
-```csharp
-Task("Read-Issues")
- .IsDependentOn("Lint-Documentation")
- .Does(() =>
- {
- // Read Issues.
- var issues =
- ReadIssues(
- MarkdownlintIssuesFromFilePath(
- logPath,
- MarkdownlintCliLogFileFormat),
- repoRootPath);
-
- Information("{0} issues are found.", issues.Count());
- });
-```
-
-[markdownlint-cli]: https://github.com/igorshubovych/markdownlint-cli
-[Cake.Markdownlint]: https://www.nuget.org/packages/Cake.Markdownlint/
diff --git a/docs/input/docs/issue-providers/markdownlint/features.md b/docs/input/docs/issue-providers/markdownlint/features.md
deleted file mode 100644
index 9b6d2d63b..000000000
--- a/docs/input/docs/issue-providers/markdownlint/features.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-Order: 20
-Title: Features
-Description: Features of the Cake.Issues.Markdownlint addin.
----
-The [Cake.Issues.Markdownlint addin] provides the following features.
-
-# Basic features
-
-* Reads warnings from [Markdownlint] logfiles.
-* Provides URLs for all issues.
-* Support for custom URL resolving using the [MarkdownlintAddRuleUrlResolver] alias (except for [MarkdownlintCliJsonLogFileFormat]).
-
-# Supported log file formats
-
-* [MarkdownlintLogFileFormat] alias for reading issues from [Markdownlint] output generated with `options.resultVersion` set to 1.
-* [MarkdownlintCliLogFileFormat] alias for reading issues from [markdownlint-cli] log files.
-* [MarkdownlintCliJsonLogFileFormat] alias for reading issues from [markdownlint-cli] log files created with the `--json` parameter.
-
- :::{.alert .alert-info}
- [markdownlint-cli] can be run with the [Cake.Markdownlint] addin.
- :::
-
-# Supported IIssue properties
-
-| | Property | Remarks |
-|--------------------------------------------------------------------|-----------------------------------|-----------------------------------------|
-| | `IIssue.ProviderType` | |
-| | `IIssue.ProviderName` | |
-| | `IIssue.Run` | Can be set while reading issues |
-| | `IIssue.Identifier` | Set to `IIssue.MessageText` |
-| | `IIssue.ProjectName` | |
-| | `IIssue.ProjectFileRelativePath` | |
-| | `IIssue.AffectedFileRelativePath` | |
-| | `IIssue.Line` | |
-| | `IIssue.EndLine` | |
-| | `IIssue.Column` | Only for [MarkdownlintCliLogFileFormat] |
-| | `IIssue.EndColumn` | |
-| | `IIssue.FileLink` | Can be set while reading issues |
-| | `IIssue.MessageText` | |
-| | `IIssue.MessageHtml` | |
-| | `IIssue.MessageMarkdown` | |
-| | `IIssue.Priority` | Always [IssuePriority.Warning] |
-| | `IIssue.PriorityName` | Always `Warning` |
-| | `IIssue.Rule` | |
-| | `IIssue.RuleUrl` | Support for custom rules can be added through a custom [MarkdownlintAddRuleUrlResolver] except for [MarkdownlintCliJsonLogFileFormat] |
-
-[Cake.Issues.Markdownlint addin]: https://www.nuget.org/packages/Cake.Issues.Markdownlint
-[Markdownlint]: https://github.com/DavidAnson/markdownlint
-[markdownlint-cli]: https://github.com/igorshubovych/markdownlint-cli
-[Cake.Markdownlint]: https://www.nuget.org/packages/Cake.Markdownlint/
-[MarkdownlintAddRuleUrlResolver]: ../../../api/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases/2EE35F55
-[MarkdownlintLogFileFormat]: ../../../api/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases/EBFF674A
-[MarkdownlintCliLogFileFormat]: ../../../api/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases/B518F49E
-[MarkdownlintCliJsonLogFileFormat]: ../../../api/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases/36DE6F5F
-[IssuePriority.Warning]: ../../../api/Cake.Issues/IssuePriority/7A0CE07F
diff --git a/docs/input/docs/issue-providers/markdownlint/index.cshtml b/docs/input/docs/issue-providers/markdownlint/index.cshtml
deleted file mode 100644
index ab68430a4..000000000
--- a/docs/input/docs/issue-providers/markdownlint/index.cshtml
+++ /dev/null
@@ -1,12 +0,0 @@
----
-Title: markdownlint
-Description: Issue provider which allows you to read issues logged by markdownlint.
----
-
-
-@Html.Partial("_ChildPages")
\ No newline at end of file
diff --git a/docs/input/docs/issue-providers/markdownlint/requirements.md b/docs/input/docs/issue-providers/markdownlint/requirements.md
deleted file mode 100644
index e7d7f9a35..000000000
--- a/docs/input/docs/issue-providers/markdownlint/requirements.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-Order: 10
-Title: Requirements
-Description: Requirements for the Cake.Issues.Markdownlint addin.
----
-The requirements for using the [Cake.Issues.Markdownlint addin] are listed in the [release notes] for any specific version.
-
-[Cake.Issues.Markdownlint addin]: https://www.nuget.org/packages/Cake.Issues.Markdownlint
-[release notes]: release-notes
diff --git a/docs/input/docs/issue-providers/msbuild/examples.md b/docs/input/docs/issue-providers/msbuild/examples.md
deleted file mode 100644
index b00940182..000000000
--- a/docs/input/docs/issue-providers/msbuild/examples.md
+++ /dev/null
@@ -1,75 +0,0 @@
----
-Order: 30
-Title: Examples
-Description: Examples for using the Cake.Issues.MsBuild addin.
----
-The following example will call MsBuild to build the solution and outputs the number of warnings.
-
-To read issues from MsBuild log files you need to import the core addin and the MsBuild support:
-
-```csharp
-#addin "Cake.Issues"
-#addin "Cake.Issues.MsBuild"
-```
-
-In this example the log file is written by the `XmlFileLogger` class from [MSBuild Extension Pack].
-In order to use the above logger, the following line will download and install the tool from NuGet.org:
-
-```csharp
-#tool "nuget:?package=MSBuild.Extension.Pack"
-```
-
-:::{.alert .alert-warning}
-Please note that you always should pin addins and tools to a specific version to make sure your builds are deterministic and
-won't break due to updates to one of the packages.
-
-See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details.
-:::
-
-We need some global variables:
-
-```csharp
-var logPath = @"c:\build\msbuild.log";
-var repoRootPath = @"c:\repo";
-```
-
-The following task will build the solution and write a log file:
-
-```csharp
-Task("Build-Solution").Does(() =>
-{
- // Build solution.
- var settings =
- new MSBuildSettings()
- .WithLogger(
- Context.Tools.Resolve("MSBuild.ExtensionPack.Loggers.dll").FullPath,
- "XmlFileLogger",
- $"logfile=\"{logPath}\";verbosity=Detailed;encoding=UTF-8"
- );
-
- MSBuild(repoRootPath.CombineWithFilePath("MySolution.sln"), settings);
-});
-```
-
-Finally you can define a task where you call the core addin with the desired issue provider.
-The following example reads issues reported as MsBuild warnings by the `XmlFileLogger`
-class from [MSBuild Extension Pack]:
-
-```csharp
-Task("Read-Issues")
- .IsDependentOn("Build-Solution")
- .Does(() =>
- {
- // Read Issues.
- var issues =
- ReadIssues(
- MsBuildIssuesFromFilePath(
- logPath,
- MsBuildXmlFileLoggerFormat),
- repoRootFolder);
-
- Information("{0} issues are found.", issues.Count());
- });
-```
-
-[MSBuild Extension Pack]: https://github.com/mikefourie-zz/MSBuildExtensionPack
diff --git a/docs/input/docs/issue-providers/msbuild/features.md b/docs/input/docs/issue-providers/msbuild/features.md
deleted file mode 100644
index 8f92f5fbc..000000000
--- a/docs/input/docs/issue-providers/msbuild/features.md
+++ /dev/null
@@ -1,48 +0,0 @@
----
-Order: 20
-Title: Features
-Description: Features of the Cake.Issues.MsBuild addin.
----
-The [Cake.Issues.MsBuild addin] provides the following features.
-
-# Basic features
-
-* Reads errors and warnings from MSBuild log files.
-* Provides URLs for all code analysis (`CA*`) and StyleCop (`SA*`) warnings.
-* Support for custom URL resolving using the [MsBuildAddRuleUrlResolver] alias.
-
-# Supported log file formats
-
-* [MsBuildBinaryLogFileFormat] alias for reading issues from binary log files.
-* [MsBuildXmlFileLoggerFormat] alias for reading issues from log files created by [MSBuild Extension Pack XmlFileLogger].
-
-# Supported IIssue properties
-
-| | Property | Remarks |
-|--------------------------------------------------------------------|-----------------------------------|---------------------------------------|
-| | `IIssue.ProviderType` | |
-| | `IIssue.ProviderName` | |
-| | `IIssue.Run` | Can be set while reading issues |
-| | `IIssue.Identifier` | Set to `IIssue.MessageText` |
-| | `IIssue.ProjectName` | |
-| | `IIssue.ProjectFileRelativePath` | |
-| | `IIssue.AffectedFileRelativePath` | |
-| | `IIssue.Line` | |
-| | `IIssue.EndLine` | |
-| | `IIssue.Column` | Only for [MsBuildXmlFileLoggerFormat] |
-| | `IIssue.EndColumn` | |
-| | `IIssue.FileLink` | Can be set while reading issues |
-| | `IIssue.MessageText` | |
-| | `IIssue.MessageHtml` | |
-| | `IIssue.MessageMarkdown` | |
-| | `IIssue.Priority` | |
-| | `IIssue.PriorityName` | |
-| | `IIssue.Rule` | |
-| | `IIssue.RuleUrl` | For code analysis (`CA*`) and StyleCop (`SA*`) warnings. Support for additional rules can be added through a custom [MsBuildAddRuleUrlResolver] |
-
-[Cake.Issues.MsBuild addin]: https://www.nuget.org/packages/Cake.Issues.MsBuild
-[MSBuild Extension Pack XmlFileLogger]: https://github.com/mikefourie-zz/MSBuildExtensionPack/blob/master/Solutions/Main/Loggers/Framework/XmlFileLogger.cs
-[MsBuildAddRuleUrlResolver]: ../../../api/Cake.Issues.MsBuild/MsBuildIssuesAliases/93C21487
-[MsBuildBinaryLogFileFormat]: ../../../api/Cake.Issues.MsBuild/MsBuildIssuesAliases/AD50C7E1
-[MsBuildXmlFileLoggerFormat]: ../../../api/Cake.Issues.MsBuild/MsBuildIssuesAliases/051D7B6E
-[IssuePriority.Warning]: ../../../api/Cake.Issues/IssuePriority/7A0CE07F
diff --git a/docs/input/docs/issue-providers/msbuild/index.cshtml b/docs/input/docs/issue-providers/msbuild/index.cshtml
deleted file mode 100644
index 394da8734..000000000
--- a/docs/input/docs/issue-providers/msbuild/index.cshtml
+++ /dev/null
@@ -1,12 +0,0 @@
----
-Title: MsBuild
-Description: Issue provider which allows you to read warnings logged by MsBuild.
----
-
@Html.Raw(Model.String(DocsKeys.Description))
-
-
- Support for reading warnings reported by MsBuild is implemented in the
- Cake.Issues.MsBuild addin.
-
-
-@Html.Partial("_ChildPages")
\ No newline at end of file
diff --git a/docs/input/docs/issue-providers/msbuild/requirements.md b/docs/input/docs/issue-providers/msbuild/requirements.md
deleted file mode 100644
index bc25ea62c..000000000
--- a/docs/input/docs/issue-providers/msbuild/requirements.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-Order: 10
-Title: Requirements
-Description: Requirements for the Cake.Issues.MsBuild addin.
----
-The requirements for using the [Cake.Issues.MsBuild addin] are listed in the [release notes] for any specific version.
-
-[Cake.Issues.MsBuild addin]: https://www.nuget.org/packages/Cake.Issues.MsBuild
-[release notes]: release-notes
diff --git a/docs/input/docs/issue-providers/terraform/features.md b/docs/input/docs/issue-providers/terraform/features.md
deleted file mode 100644
index dbb414f25..000000000
--- a/docs/input/docs/issue-providers/terraform/features.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-Order: 20
-Title: Features
-Description: Features of the Cake.Issues.Terraform addin.
----
-The [Cake.Issues.Terraform addin] provides the following features:
-
-# Basic features
-
-* Reads warnings from [Terraform validate command].
-
-# Supported IIssue properties
-
-| | Property | Remarks |
-|--------------------------------------------------------------------|-----------------------------------|----------------------------------|
-| | `IIssue.ProviderType` | |
-| | `IIssue.ProviderName` | |
-| | `IIssue.Run` | Can be set while reading issues |
-| | `IIssue.Identifier` | Set to `IIssue.MessageText` |
-| | `IIssue.ProjectName` | |
-| | `IIssue.ProjectFileRelativePath` | |
-| | `IIssue.AffectedFileRelativePath` | |
-| | `IIssue.Line` | |
-| | `IIssue.EndLine` | |
-| | `IIssue.Column` | |
-| | `IIssue.EndColumn` | |
-| | `IIssue.FileLink` | Can be set while reading issues |
-| | `IIssue.MessageText` | |
-| | `IIssue.MessageHtml` | |
-| | `IIssue.MessageMarkdown` | |
-| | `IIssue.Priority` | |
-| | `IIssue.PriorityName` | |
-| | `IIssue.Rule` | |
-| | `IIssue.RuleUrl` | |
-
-[Terraform validate command]: https://www.terraform.io/docs/cli/commands/validate.html
-[Cake.Issues.Terraform addin]: https://cakebuild.net/extensions/cake-issues-terraform/
diff --git a/docs/input/docs/issue-providers/terraform/index.cshtml b/docs/input/docs/issue-providers/terraform/index.cshtml
deleted file mode 100644
index 184598ebb..000000000
--- a/docs/input/docs/issue-providers/terraform/index.cshtml
+++ /dev/null
@@ -1,12 +0,0 @@
----
-Title: Terraform
-Description: Issue provider which allows you to read issues from Terraform validate command.
----
-
-
-@Html.Partial("_ChildPages")
\ No newline at end of file
diff --git a/docs/input/docs/issue-providers/terraform/requirements.md b/docs/input/docs/issue-providers/terraform/requirements.md
deleted file mode 100644
index 4b7a408f3..000000000
--- a/docs/input/docs/issue-providers/terraform/requirements.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-Order: 10
-Title: Requirements
-Description: Requirements for the Cake.Issues.Terraform addin.
----
-The requirements for using the [Cake.Issues.Terraform addin] are listed in the [release notes] for any specific version.
-
-[Cake.Issues.Terraform addin]: https://cakebuild.net/extensions/cake-issues-terraform/
-[release notes]: release-notes
diff --git a/docs/input/docs/overview/features.md b/docs/input/docs/overview/features.md
deleted file mode 100644
index cb1def00a..000000000
--- a/docs/input/docs/overview/features.md
+++ /dev/null
@@ -1,81 +0,0 @@
----
-Order: 20
-Description: Overview about core features.
----
-The Cake Issues addins for Cake allows you to read issues from any analyzer or linter,
-create reports or write issues to comments in pull requests.
-
-# Recipe Functionality
-
-See [Supported Tools] for a list of tools supported by [Cake.Issues.Recipe].
-
-# Supported Core Functionality
-
-The core addins provide a modular architecture, allowing to easily enhance it for supporting additional analyzers, linters,
-report formats and code review systems.
-
-## Cake.Issues
-
-Addin for creating and reading issues providing the following functionality:
-
-* [NewIssue] alias for creating issues in the build script.
-* [ReadIssues] aliases for reading issues from an issue provider.
-* Support for reading issues from multiple issue providers.
-* Support for reading issues in multiple formats (Plain text, Markdown, HTML) if supported by issue provider.
-* Support for creating links to file & location on source code hosting system (GitHub, Azure Repos, etc).
-* Support for passing additional run information to identify specific runs.
-
-## Cake.Issues.Reporting
-
-Addin for creating reports providing the following functionality:
-
-* [CreateIssueReport] aliases for creating reports about issues.
-* Support for creating reports with issues from multiple issue providers.
-
-## Cake.Issues.PullRequests
-
-Addin for writing issues as comments to pull requests providing the following functionality:
-
-* [ReportIssuesToPullRequest] aliases for writing issues as comments to pull requests.
-* Support for reporting issues from multiple issue providers.
-* Support for passing custom issue filter routines in `ReportIssuesToPullRequestSettings.IssueFilters`.
-* Advanced support to limit number of maximum issues per run, across multiple runs or per issue provider by setting
- `ReportIssuesToPullRequestSettings.MaxIssuesToPost`, `ReportIssuesToPullRequestSettings.MaxIssuesToPostAcrossRuns`,
- `ReportIssuesToPullRequestSettings.MaxIssuesToPostForEachIssueProvider` and `ReportIssuesToPullRequestSettings.ProviderIssueLimits`.
-* Returns all issues as provided by the issue providers and the issues reported to the pull request.
-
-Concrete pull request systems can implement optional capabilities which will provide the following functionality:
-
-* Filter by modified files ([BaseFilteringByModifiedFilesCapability])
- * Filtering issues to only those related to changed files in a pull request.
-* Check commit ID ([BaseCheckingCommitIdCapability])
- * Skipping posting of issues if checked source code is outdated by setting `ReportIssuesToPullRequestSettings.CommitId`.
-* Support for discussion threads ([BaseDiscussionThreadsCapability])
- * Automatic resolving of issues fixed in subsequent commits.
- * Automatic reopening of still existing issues which are already closed on pull request.
- * Comparing issues by identifier to not rely on message or line numbers.
-
-# Supported Issue Providers
-
-See [Issue Provider Addins] for a list of currently supported analyzers and linters.
-
-# Supported Report Formats
-
-See [Report Format Addins] for a list of currently supported report output formats.
-
-# Supported Pull Request Systems
-
-See [Pull Request System Addins] for a list of currently supported pull request systems.
-
-[Supported Tools]: ../recipe/supported-tools
-[Cake.Issues.Recipe]: ../recipe/
-[NewIssue]: ../../api/Cake.Issues/Aliases/DC3A3FD7
-[ReadIssues]: ../../api/Cake.Issues/Aliases/713F15FD
-[CreateIssueReport]: ../../api/Cake.Issues.Reporting/Aliases/C778C70A
-[ReportIssuesToPullRequest]: ../../api/Cake.Issues.PullRequests/Aliases/5350C413
-[BaseFilteringByModifiedFilesCapability]: ../../api/Cake.Issues.PullRequests/BaseFilteringByModifiedFilesCapability_1
-[BaseCheckingCommitIdCapability]: ../../api/Cake.Issues.PullRequests/BaseCheckingCommitIdCapability_1
-[BaseDiscussionThreadsCapability]: ../../api/Cake.Issues.PullRequests/BaseDiscussionThreadsCapability_1
-[Issue Provider Addins]: ../../addins/issue-provider/
-[Report Format Addins]: ../../addins/reporting-format/
-[Pull Request System Addins]: ../../addins/pull-request-system/
diff --git a/docs/input/docs/overview/index.cshtml b/docs/input/docs/overview/index.cshtml
deleted file mode 100644
index 67ee8bb24..000000000
--- a/docs/input/docs/overview/index.cshtml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-Order: 10
-Description: Overview about features and requirements of the Cake Issues Addin.
----
-
-@Html.Partial("_ChildPages")
\ No newline at end of file
diff --git a/docs/input/docs/overview/introduction.md b/docs/input/docs/overview/introduction.md
deleted file mode 100644
index 62ba24292..000000000
--- a/docs/input/docs/overview/introduction.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-Order: 10
-Description: Introduction
----
-Do you want to break your build on JetBrains InspectCode issues?
-Do you want to create nice reports for StyleCop issues in your code?
-Do you want to have ESLint issues reported as comments to pull requests?
-The Cake.Issues addins allows you to do this and much more.
-Read issues from different analyzer or linters, create reports or add them as comments to pull requests.
-
-While some linting tools provide nice reporting capabilities, others don't.
-Some build systems provide tasks to report issues into pull requests.
-But if you're using another build system your out of luck.
-Maybe you found a new nice linting tool which does exactly what you need,
-but probably it won't integrate well with your existing other linting tools.
-
-The Cake.Issues addins tries to solve this, by providing a common and extensible infrastructure
-for issue management in Cake build scripts.
-
-Unlike other Cake addins, the Cake Issues addin consists of over 15 different addins,
-working together and providing over 75 aliases which can be used in Cake build scripts to work with issues.
-The addins are built in a [modular architecture] and are providing different [extension points] which allows to easily
-enhance them for supporting additional analyzers, linters, report formats and code review systems.
-
-:::{.alert .alert-success}
-To get started you can use one of the [Cake.Issues recipes], which bring support for different linters and
-integration with build and pull request systems out-of-the box in a single and easy to use NuGet package.
-:::
-
-
- Presentation
-
-
- Tutorials
-
-
-[modular architecture]: /docs/fundamentals/architecture
-[extension points]: /docs/extending/
-[Cake.Issues recipes]: /docs/recipe/overview
diff --git a/docs/input/docs/overview/release-notes/Cake.Issues.PullRequests.md b/docs/input/docs/overview/release-notes/Cake.Issues.PullRequests.md
deleted file mode 100644
index 0fe9da522..000000000
--- a/docs/input/docs/overview/release-notes/Cake.Issues.PullRequests.md
+++ /dev/null
@@ -1,930 +0,0 @@
----
-Title: Cake.Issues.PullRequests Release Notes
-Description: Release notes for Cake.Issues.PullRequests
----
-
-
-
-Starting with Cake.Issues 1.0, release notes for Cake.Issues.PullRequests will be listed with Cake.Issues Release Notes.
-The release notes on this page are only for versions of Cake.Issues.PullRequests prior to 1.0.
-
-
-
-
-## 0.9.1 (October 08, 2020)
-
-
-As part of this release we had [1 issue](https://github.com/cake-contrib/Cake.Issues.PullRequests/milestone/15?closed=1) closed.
-
-__Requirements__
-
-- Cake 0.33.0 or higher
-- Cake.Issues 0.9.x
-- Targeting .NET Standard 2.0
-
-__Bug__
-
-- [__#173__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/173) Setting a ProviderLimit to zero will ignore the limit instead of posting 0 items
-
-
-## 0.9.0 (August 22, 2020)
-
-
-As part of this release we had [4 issues](https://github.com/cake-contrib/Cake.Issues.PullRequests/milestone/13?closed=1) closed.
-
-__Requirements__
-
-- Cake 0.33.0 or higher
-- Cake.Issues 0.9.x
-- Targeting .NET Standard 2.0
-
-__Breaking change__
-
-- [__#154__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/154) Update to Cake.Issues 0.9.0
-
-__Features__
-
-- [__#143__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/143) Use identifier different from displayed message to compare existing issues
-- [__#142__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/142) Add setting to limit number of issues posted to a pull request across multiple runs for issue providers
-- [__#141__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/141) Add possibility to limit posted issues for a specific provider
-
-
-## 0.9.0-beta.3 (August 01, 2020)
-
-
-As part of this release we had 1 issue closed.
-
-__Requirements__
-
-- Cake 0.33.0 or higher
-- Cake.Issues 0.9.0-beta0004
-- Targeting .NET Standard 2.0
-
-__Breaking Changes__
-
-- Update to Cake.Issues 0.9.0-beta0004
-## 0.9.0-beta.2 (July 18, 2020)
-
-
-As part of this release we had 3 issues closed.
-
-__Requirements__
-
-- Cake 0.33.0 or higher
-- Cake.Issues 0.9.0-beta0002
-- Targeting .NET Standard 2.0
-
-__Features__
-
-- [__#143__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/143) Use identifier different from displayed message to compare existing issues
-- [__#142__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/142) Add setting to limit number of issues posted to a pull request across multiple runs for issue providers
-- [__#141__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/141) Add possibility to limit posted issues for a specific provider
-
-
-## 0.9.0-beta.1 (July 14, 2020)
-
-
-As part of this release we had 1 issue closed.
-
-__Requirements__
-
-- Cake 0.33.0 or higher
-- Cake.Issues 0.9.0-beta0002
-- Targeting .NET Standard 2.0
-
-__Breaking change__
-
-- [__#154__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/154) Update to Cake.Issues 0.9.0
-
-
-## 0.8.1 (May 03, 2020)
-
-
-As part of this release we had [2 issues](https://github.com/cake-contrib/Cake.Issues.PullRequests/milestone/12?closed=1) closed.
-
-__Requirements__
-
-- Cake 0.33.0 or higher
-- Cake.Issues 0.8.x
-- Targeting .NET Standard 2.0
-
-__Bug__
-
-- [__#136__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/136) Don't log issues if they are not posted due to outdated commit
-
-__Improvement__
-
-- [__#134__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/134) Add setting to limit number of issues posted to a pull request across multiple runs
-
-
-## 0.8.1-beta.2 (April 29, 2020)
-
-
-As part of this release we had 1 issue closed compared to 0.8.1-beta.1.
-
-__Requirements__
-
-- Cake 0.33.0 or higher
-- Cake.Issues 0.8.x
-- Targeting .NET Standard 2.0
-
-__Bug__
-
-- [__#145__](https://github.com/cake-contrib/Cake.Issues.PullRequests/pull/145) Consider unresolved issues for MaxIssuesToPostAcrossRuns (Thanks @janniksam)
-## 0.8.1-beta.1 (April 27, 2020)
-
-
-As part of this release we had [2 issues](https://github.com/cake-contrib/Cake.Issues.PullRequests/milestone/12?closed=1) closed.
-
-__Requirements__
-
-- Cake 0.33.0 or higher
-- Cake.Issues 0.8.x
-- Targeting .NET Standard 2.0
-
-__Improvement__
-
-- [__#134__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/134) Add setting to limit number of issues posted to a pull request across multiple runs
-
-__Bug__
-
-- [__#136__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/136) Don't log issues if they are not posted due to outdated commit
-## 0.8.0 (October 17, 2019)
-
-
-As part of this release we had [3 issues](https://github.com/cake-contrib/Cake.Issues.PullRequests/milestone/11?closed=1) closed.
-
-__Requirements__
-
-- Cake 0.33.0 or higher
-- Cake.Issues 0.8.x
-- Targeting .NET Standard 2.0
-
-__Breaking change__
-
-- [__#113__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/113) Update to Cake.Issues 0.8.0
-
-__Improvements__
-
-- [__#118__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/118) Embed NuGet package icon
-- [__#116__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/116) Improve performance logging for issue filtering
-
-
-## 0.8.0-beta.1 (October 11, 2019)
-
-
-As part of this release we had [1 issue](https://github.com/cake-contrib/Cake.Issues.PullRequests/milestone/11?closed=1) closed.
-
-__Requirements__
-
-- Cake 0.33.0 or higher
-- Cake.Issues 0.8.0-beta.1
-- Targeting .NET Standard 2.0
-
-__Breaking change__
-
-- [__#113__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/113) Update to Cake.Issues 0.8.0
-
-
-## 0.7.0 (May 30, 2019)
-
-
-As part of this release we had [32 commits](https://github.com/cake-contrib/Cake.Issues.PullRequests/compare/0.6.2...0.7.0) which resulted in [2 issues](https://github.com/cake-contrib/Cake.Issues.PullRequests/milestone/10?closed=1) being closed.
-
-__Requirements__
-
-- Cake 0.33.0 or higher
-- Cake.Issues 0.7.x
-- Targeting .NET Standard 2.0
-
-__Breaking changes__
-
-- [__#78__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/78) Update to Cake.Issues 0.7.0
-- [__#77__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/77) Build against Cake 0.33.0
-
-
-## 0.7.0-beta.1 (April 19, 2019)
-
-
-As part of this release we had 2 issues closed.
-
-__Requirements__
-
-- Cake 0.33.0 or higher
-- Cake.Issues 0.7.x
-- Targeting .NET Standard 2.0
-
-__Breaking changes__
-
-- [__#78__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/78) Update to Cake.Issues 0.7.0
-- [__#77__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/77) Build against Cake 0.33.0
-
-
-## 0.6.2 (December 15, 2018)
-
-
-As part of this release we had [1 issue](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues?milestone=9&state=closed) closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Cake.Issues 0.6.x
-
-__Bug__
-
-- [__#50__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/50) No exception should be thrown if an empty list of issues is passed
-
-
-## 0.6.1 (September 04, 2018)
-
-
-As part of this release we had [1 issue](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues?milestone=8&state=closed) closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Cake.Issues 0.6.x
-
-__Improvement__
-
-- [__#28__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/28) Provide alias which a list of issues can be passed
-
-
-## 0.6.1-beta.1 (September 04, 2018)
-
-
-As part of this release we had 1 issue closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Cake.Issues 0.6.x
-
-__Improvement__
-
-- [__#28__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/28) Provide alias which a list of issues can be passed
-
-
-## 0.6.0 (August 24, 2018)
-
-
-As part of this release we had [2 issues](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues?milestone=7&state=closed) closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Cake.Issues 0.6.x
-
-__Breaking changes__
-
-- [__#45__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/45) Update to Cake.Issues 0.6.0
-- [__#43__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/43) Split pull request interface into different capabilities
-
-
-## 0.6.0-beta.2 (August 20, 2018)
-
-
-As part of this release we had 2 issues closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Cake.Issues 0.6.0-beta.2
-
-__Breaking changes__
-
-- Update to Cake.Issues 0.6.0 Beta 2
-- Fix error with namespace import
-
-
-## 0.6.0-beta.1 (August 18, 2018)
-
-
-As part of this release we had [2 issues](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues?milestone=7&state=closed) closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Cake.Issues 0.6.0-beta.1
-
-__Breaking changes__
-
-- [__#45__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/45) Update to Cake.Issues 0.6.0
-- [__#43__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/43) Split pull request interface into different capabilities
-
-
-## 0.5.0 (August 17, 2018)
-
-
-As part of this release we had [2 issues](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues?milestone=6&state=closed) closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Cake.Issues 0.5.x
-
-__Breaking change__
-
-- [__#41__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/41) Update to Cake.Issues 0.5.0
-
-__Improvement__
-
-- [__#44__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/44) Add repository metadata to nuspec
-
-
-## 0.5.0-beta.1 (August 07, 2018)
-
-
-As part of this release we had 1 issue closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Cake.Issues 0.5.0-beta.2
-
-__Breaking change__
-
-- [__#41__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/41) Update to Cake.Issues 0.5.0
-
-
-## 0.4.0 (July 28, 2018)
-
-
-As part of this release we had [5 issues](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues?milestone=5&state=closed) closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Cake.Issues 0.4.x
-
-__Breaking changes__
-
-- [__#39__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/39) Update to Cake.Issues 0.4.0
-- [__#30__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/30) Support different resolutions for comment thread resolving
-
-__Bugs__
-
-- [__#36__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/36) Only resolve comments with the same comment source
-- [__#29__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/29) Filtering on existing comments sometimes fails
-
-
-## 0.4.0-beta.2 (July 25, 2018)
-
-
-As part of this release we had 1 issue closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Cake.Issues 0.4.0-beta.2
-
-__Breaking changes__
-
-- Update Cake.Issues to 0.4.0-beta.2
-## 0.4.0-beta.1 (July 24, 2018)
-
-
-As part of this release we had 5 issues closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Cake.Issues 0.4.0-beta.1
-
-__Breaking changes__
-
-- [__#39__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/39) Update to Cake.Issues 0.4.0
-- [__#30__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/30) Support different resolutions for comment thread resolving
-
-__Bugs__
-
-- [__#36__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/36) Only resolve comments with the same comment source
-- [__#29__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/29) Filtering on existing comments sometimes fails
-
-
-## 0.3.1 (June 21, 2018)
-
-
-As part of this release we had [1 issue](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues?milestone=4&state=closed) closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Cake.Issues 0.3.x
-
-__Feature__
-
-- [__#25__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/25) Add support to pass additional filter criterias
-
-
-## 0.3.0 (June 04, 2018)
-
-
-As part of this release we had [2 issues](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues?milestone=3&state=closed) closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Cake.Issues 0.3.x
-
-__Breaking changes__
-
-- [__#22__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/22) Build against Cake 0.28.0
-- [__#20__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/20) Update to Cake.Issues 0.3.0
-
-
-## 0.3.0-beta.2 (June 02, 2018)
-
-
-As part of this release we had [2 issues](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues?milestone=3&state=closed) closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Cake.Issues 0.3.0-beta.2
-
-__Breaking changes__
-
-- [__#22__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/22) Build against Cake 0.28.0
-- Update to Cake.Issues 0.3.0-beta.2
-## 0.3.0-beta.1 (May 31, 2018)
-
-
-As part of this release we had 1 issue closed.
-
-__Requirements__
-
-- Cake 0.26.0 or higher
-- Cake.Issues 0.3.0-beta.1
-
-__Breaking change__
-
-- [__#20__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/20) Update to Cake.Issues 0.3.0
-
-
-## 0.2.0 (May 22, 2018)
-
-
-As part of this release we had [26 commits](https://github.com/cake-contrib/Cake.Issues.PullRequests/compare/0.1.0...0.2.0) which resulted in [6 issues](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues?milestone=2&state=closed) being closed.
-
-__Requirements__
-
-- Cake 0.26.0 or higher
-- Cake.Issues 0.2.x
-
-__Breaking changes__
-
-- [__#18__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/18) Build against Cake 0.26.0
-- [__#16__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/16) Allow to limit maximum issues per issue provider
-- [__#14__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/14) Update to Cake.Issues 0.2.0
-
-__Improvements__
-
-- [__#9__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/9) Migrate to .NET Core
-- [__#2__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/2) Check if pull request is still on the same commit before posting issues
-
-
-## 0.2.0-beta.2 (March 10, 2018)
-
-
-As part of this release we had the following issues closed.
-
-__Requirements__
-
-- Cake 0.26.0 or higher
-- Cake.Issues 0.2.0-beta.4
-
-__Bug__
-
-- Mark as CLS compliant
-
-## 0.2.0-beta.1 (March 08, 2018)
-
-
-As part of this release we had 6 issues closed.
-
-__Requirements__
-
-- Cake 0.26.0 or higher
-- Cake.Issues 0.2.0-beta.3
-
-__Breaking changes__
-
-- [__#18__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/18) Build against Cake 0.26.0
-- [__#16__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/16) Allow to limit maximum issues per issue provider
-- [__#14__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/14) Update to Cake.Issues 0.2.0
-
-__Improvements__
-
-- [__#9__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/9) Migrate to .NET Core
-- [__#2__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/2) Check if pull request is still on the same commit before posting issues
-
-
-## 0.1.0 (September 16, 2017)
-
-
-As part of this release we had [2 issues](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues?milestone=1&state=closed) closed.
-
-__Requirements__
-
-- Cake 0.22.0 - Cake 0.25.0
-- Cake.Issues 0.1.x
-
-__Breaking change__
-
-- [__#8__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/8) Update to Cake 0.22
-
-__Feature__
-
-- [__#1__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/1) First version based on Cake.Prca
-
-
-## 0.1.0-beta.3 (September 13, 2017)
-
-
-As part of this release we had 2 issue closed.
-
-__Requirements__
-
-- Cake 0.22.0 - Cake 0.25.0
-- Cake.Issues 0.1.0-beta.4
-
-__Breaking Changes__
-
-- Target .NET Framework 4.6
-- Build against Cake 0.22.0
-- Build against Cake.Issues 0.1.0-beta0004
-## 0.1.0-beta.2 (September 03, 2017)
-
-
-As part of this release we had 2 issue closed.
-
-__Requirements__
-
-- Cake 0.16.2 - Cake 0.21.1
-- Cake.Issues 0.1.0-beta.3
-
-__Breaking Changes__
-
-- Update Cake.Issues to 0.1.0-beta0003
-- Move everything into single namespace
-## 0.1.0-beta.1 (September 02, 2017)
-
-
-As part of this release we had 1 issue closed.
-
-__Requirements__
-
-- Cake 0.16.2 - Cake 0.21.1
-- Cake.Issues 0.1.0-beta.2
-
-__Feature__
-
-- [__#1__](https://github.com/cake-contrib/Cake.Issues.PullRequests/issues/1) First version based on Cake.Prca
-e provider infrastructure
-
-
-## 0.4.1 (August 03, 2018)
-
-
-As part of this release we had [1 issue](https://github.com/cake-contrib/Cake.Issues/issues?milestone=6&state=closed) closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Targeting .NET Standard 2.0
-
-__Feature__
-
-- [__#39__](https://github.com/cake-contrib/Cake.Issues/issues/39) Provide infrastructure for issue provider with different formats
-
-
-## 0.4.0 (July 28, 2018)
-
-
-As part of this release we had [3 issues](https://github.com/cake-contrib/Cake.Issues/issues?milestone=5&state=closed) closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Targeting .NET Standard 2.0
-
-__Breaking change__
-
-- [__#35__](https://github.com/cake-contrib/Cake.Issues/issues/35) Replace `IIssue.Project` with `IIssue.ProjectFileRelativePath` and `IIssue.ProjectName`
-
-__Improvement__
-
-- [__#38__](https://github.com/cake-contrib/Cake.Issues/issues/38) Update XUnit to 2.4.0
-
-
-## 0.4.0-beta.2 (July 24, 2018)
-
-
-As part of this release we had 1 issue closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Targeting .NET Standard 2.0
-
-__Improvement__
-
-- [__#38__](https://github.com/cake-contrib/Cake.Issues/issues/38) Update XUnit to 2.4.0
-
-
-## 0.4.0-beta.1 (July 24, 2018)
-
-
-As part of this release we had 2 issues closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Targeting .NET Standard 2.0
-
-__Breaking change__
-
-- [__#35__](https://github.com/cake-contrib/Cake.Issues/issues/35) Replace `IIssue.Project` with `IIssue.ProjectFileRelativePath` and `IIssue.ProjectName`.
-## 0.3.1 (June 20, 2018)
-
-
-As part of this release we had [1 issue](https://github.com/cake-contrib/Cake.Issues/issues?milestone=4&state=closed) closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Targeting .NET Standard 2.0
-
-__Feature__
-
-- [__#27__](https://github.com/cake-contrib/Cake.Issues/issues/27) Add alias for creating issues from Cake scripts
-
-
-## 0.3.0 (June 03, 2018)
-
-
-As part of this release we had [14 commits](https://github.com/cake-contrib/Cake.Issues/compare/0.2.0...0.3.0) which resulted in [6 issues](https://github.com/cake-contrib/Cake.Issues/issues?milestone=3&state=closed) being closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Targeting .NET Standard 2.0
-
-__Breaking changes__
-
-- [__#29__](https://github.com/cake-contrib/Cake.Issues/issues/29) Make priority optional
-- [__#28__](https://github.com/cake-contrib/Cake.Issues/issues/28) Build against Cake 0.28.0
-- [__#26__](https://github.com/cake-contrib/Cake.Issues/issues/26) Add fluent API for Issue creation
-- [__#22__](https://github.com/cake-contrib/Cake.Issues/issues/22) Add PriorityName to IIssue
-- [__#21__](https://github.com/cake-contrib/Cake.Issues/issues/21) Add ProviderName to IIssue
-
-__Feature__
-
-- [__#25__](https://github.com/cake-contrib/Cake.Issues/issues/25) Add constants for priority values and names
-
-
-## 0.3.0-beta.4 (June 03, 2018)
-
-
-As part of this release we had 1 issue closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Targeting .NET Standard 2.0
-
-__Bug Fix__
-
-- Fix argument checking in fluent API
-
-## 0.3.0-beta.3 (June 03, 2018)
-
-
-As part of this release we had 1 issue closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Targeting .NET Standard 2.0
-
-__Improvement__
-
-- Allow default values in fluent API
-## 0.3.0-beta.2 (June 01, 2018)
-
-
-As part of this release we had 4 issues closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Targeting .NET Standard 2.0
-
-__Breaking changes__
-
-- [__#29__](https://github.com/cake-contrib/Cake.Issues/issues/29) Make `IIssue.Priority` optional
-- [__#28__](https://github.com/cake-contrib/Cake.Issues/issues/28) Build against Cake 0.28.0
-- [__#26__](https://github.com/cake-contrib/Cake.Issues/issues/26) Add fluent API for Issue creation
-
-__Feature__
-
-- [__#25__](https://github.com/cake-contrib/Cake.Issues/issues/25) Add constants for priority values and names
-
-
-## 0.3.0-beta.1 (May 31, 2018)
-
-
-As part of this release we had 2 issues closed.
-
-__Requirements__
-
-- Cake 0.26.0 or higher
-- Targeting .NET Standard 2.0
-
-__Breaking changes__
-
-- [__#22__](https://github.com/cake-contrib/Cake.Issues/issues/22) Add `PriorityName` to `IIssue`
-- [__#21__](https://github.com/cake-contrib/Cake.Issues/issues/21) Add `ProviderName` to `IIssue`
-
-
-## 0.2.0 (May 21, 2018)
-
-
-As part of this release we had [6 issues](https://github.com/cake-contrib/Cake.Issues/issues?milestone=2&state=closed) closed.
-
-__Requirements__
-
-- Cake 0.26.0 or higher
-- Targeting .NET Standard 2.0
-
-__Breaking change__
-
-- [__#13__](https://github.com/cake-contrib/Cake.Issues/issues/13) Build against Cake 0.26.0
-
-__Features__
-
-- [__#5__](https://github.com/cake-contrib/Cake.Issues/issues/5) Add project to `IIssue`
-- [__#4__](https://github.com/cake-contrib/Cake.Issues/issues/4) Migrate to .NET Standard (Thanks [Tim Johnson](https://github.com/t-johnson)!)
-
-__Improvements__
-
-- [__#20__](https://github.com/cake-contrib/Cake.Issues/issues/20) Make `IIssue.Rule` an optional parameter
-- [__#8__](https://github.com/cake-contrib/Cake.Issues/issues/8) Upgrade XUnit to 2.3.0
-
-
-## 0.2.0-beta.4 (March 07, 2018)
-
-
-As part of this release we had the following issues closed.
-
-__Requirements__
-
-- Cake 0.26.0 or higher
-- Targeting .NET Standard 2.0
-
-__Breaking change__
-
-- Only target .NET Standard 2.0
-## 0.2.0-beta.3 (March 07, 2018)
-
-
-As part of this release we had 1 issue closed.
-
-__Requirements__
-
-- Cake 0.26.0 or higher
-- Targeting .NET Standard 2.0
-
-__Breaking change__
-
-- [__#13__](https://github.com/cake-contrib/Cake.Issues/issues/13) Build against Cake 0.26.0
-## 0.2.0-beta.2 (December 24, 2017)
-
-
-As part of this release we had 1 issue closed.
-
-__Requirements__
-
-- Cake 0.22.0 - Cake 0.25.0
-- Targeting .NET Standard 2.0
-
-__Improvements__
-
-- [__#8__](https://github.com/cake-contrib/Cake.Issues/issues/8) Upgrade XUnit to 2.3.0
-## 0.2.0-beta.1 (October 15, 2017)
-
-
-As part of this release we had 2 issues closed.
-
-__Requirements__
-
-- Cake 0.22.0 - Cake 0.25.0
-- Targeting .NET Standard 2.0
-
-__Features__
-
-- [__#5__](https://github.com/cake-contrib/Cake.Issues/issues/5) Add project to `IIssue`
-- [__#4__](https://github.com/cake-contrib/Cake.Issues/issues/4) Migrate to .NET Standard (Thanks [Tim Johnson](https://github.com/t-johnson)!)
-
-
-## 0.1.0 (September 16, 2017)
-
-
-As part of this release we had [2 issues](https://github.com/cake-contrib/Cake.Issues/issues?milestone=1&state=closed) closed.
-
-__Requirements__
-
-- Cake 0.22.0 - Cake 0.25.0
-- Targeting .NET Framework 4.6
-
-__Breaking change__
-
-- [__#3__](https://github.com/cake-contrib/Cake.Issues/issues/3) Update to Cake 0.22
-
-__Feature__
-
-- [__#2__](https://github.com/cake-contrib/Cake.Issues/issues/2) First version based on Cake.Prca
-
-
-## 0.1.0-beta.4 (September 13, 2017)
-
-
-As part of this release we had 2 issues closed.
-
-__Requirements__
-
-- Cake 0.22.0 - Cake 0.25.0
-- Targeting .NET Framework 4.6
-
-__Breaking Changes__
-
-- Target .NET Framework 4.6
-- Build against Cake 0.22.0
-## 0.1.0-beta.3 (September 03, 2017)
-
-
-As part of this release we had 2 issues closed.
-
-__Requirements__
-
-- Cake 0.16.2 - Cake 0.21.1
-- Targeting .NET Framework 4.5.2
-
-__Breaking Changes__
-
-- Move everything into single namespace.
-## 0.1.0-beta.2 (September 02, 2017)
-
-
-As part of this release we had 2 issues closed.
-
-__Requirements__
-
-- Cake 0.16.2 - Cake 0.21.1
-- Targeting .NET Framework 4.5.2
-
-__Enhancements__
-
-- Add method `Issue.GetProviderTypeName()` for returning provider type name
-- Put aliases for reading issues in own category
-## 0.1.0-beta.1 (September 01, 2017)
-
-
-As part of this release we had 1 issue closed.
-
-__Requirements__
-
-- Cake 0.16.2 - Cake 0.21.1
-- Targeting .NET Framework 4.5.2
-
-__Feature__
-
-- [__#2__](https://github.com/cake-contrib/Cake.Issues/issues/2) First version based on Cake.Prca
-
-
-
-- Add method `Issue.GetProviderTypeName()` for returning provider type name
-- Put aliases for reading issues in own category
-## 0.1.0-beta.1 (September 01, 2017)
-
-
-As part of this release we had 1 issue closed.
-
-__Requirements__
-
-- Cake 0.16.2 - Cake 0.21.1
-- Targeting .NET Framework 4.5.2
-
-__Feature__
-
-- [__#2__](https://github.com/cake-contrib/Cake.Issues/issues/2) First version based on Cake.Prca
-
-
-.2
-
-__Feature__
-
-- [__#2__](https://github.com/cake-contrib/Cake.Issues/issues/2) First version based on Cake.Prca
-
-
diff --git a/docs/input/docs/overview/release-notes/Cake.Issues.Reporting.md b/docs/input/docs/overview/release-notes/Cake.Issues.Reporting.md
deleted file mode 100644
index 43a06ec24..000000000
--- a/docs/input/docs/overview/release-notes/Cake.Issues.Reporting.md
+++ /dev/null
@@ -1,1036 +0,0 @@
----
-Title: Cake.Issues.Reporting Release Notes
-Description: Release notes for Cake.Issues.Reporting
----
-
-
-
-Starting with Cake.Issues 1.0, release notes for Cake.Issues.Reporting will be listed with Cake.Issues Release Notes.
-The release notes on this page are only for versions of Cake.Issues.Reporting prior to 1.0.
-
-
-
-
-## 0.9.0 (August 22, 2020)
-
-
-As part of this release we had [1 issue](https://github.com/cake-contrib/Cake.Issues.Reporting/milestone/11?closed=1) closed.
-
-__Requirements__
-
-- Cake 0.33.0 or higher
-- Cake.Issues 0.9.x
-- Targeting .NET Standard 2.0
-
-__Breaking change__
-
-- [__#115__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/115) Update to Cake.Issues 0.9.0
-
-
-## 0.9.0-beta.2 (August 01, 2020)
-
-
-As part of this release we had 1 issue closed.
-
-__Requirements__
-
-- Cake 0.33.0 or higher
-- Cake.Issues 0.9.0-beta0004
-- Targeting .NET Standard 2.0
-
-__Breaking change__
-
-- Update to Cake.Issues 0.9.0-beta0004
-
-
-## 0.9.0-beta.1 (July 12, 2020)
-
-
-As part of this release we had 1 issue closed.
-
-__Requirements__
-
-- Cake 0.33.0 or higher
-- Cake.Issues 0.9.0-beta0002
-- Targeting .NET Standard 2.0
-
-__Breaking change__
-
-- [__#115__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/115) Update to Cake.Issues 0.9.0
-
-
-## 0.8.0 (October 17, 2019)
-
-
-As part of this release we had [2 issues](https://github.com/cake-contrib/Cake.Issues.Reporting/milestone/10?closed=1) closed.
-
-__Requirements__
-
-- Cake 0.33.0 or higher
-- Cake.Issues 0.8.0
-- Targeting .NET Standard 2.0
-
-__Breaking change__
-
-- [__#85__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/85) Update to Cake.Issues 0.8.0
-
-__Improvement__
-
-- [__#89__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/89) Embed NuGet package icon
-
-
-## 0.8.0-beta.1 (October 11, 2019)
-
-
-As part of this release we had [1 issue](https://github.com/cake-contrib/Cake.Issues.Reporting/milestone/10?closed=1) closed.
-
-__Requirements__
-
-- Cake 0.33.0 or higher
-- Cake.Issues 0.8.0-beta.1
-- Targeting .NET Standard 2.0
-
-__Breaking change__
-
-- [__#85__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/85) Update to Cake.Issues 0.8.0
-
-
-## 0.7.0 (May 30, 2019)
-
-
-As part of this release we had [2 issues](https://github.com/cake-contrib/Cake.Issues.Reporting/milestone/9?closed=1) closed.
-
-__Requirements__
-
-- Cake 0.33.0 or higher
-- Cake.Issues 0.7.x
-- Targeting .NET Standard 2.0
-
-__Breaking changes__
-
-- [__#53__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/53) Update to Cake.Issues 0.7.0
-- [__#52__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/52) Build against Cake 0.33.0
-
-
-## 0.7.0-beta.1 (April 19, 2019)
-
-
-As part of this release we had 2 issues closed.
-
-__Requirements__
-
-- Cake 0.33.0 or higher
-- Cake.Issues 0.7.x
-- Targeting .NET Standard 2.0
-
-__Breaking changes__
-
-- [__#53__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/53) Update to Cake.Issues 0.7.0
-- [__#52__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/52) Build against Cake 0.33.0
-
-
-## 0.6.1 (December 01, 2018)
-
-
-As part of this release we had [1 issue](https://github.com/cake-contrib/Cake.Issues.Reporting/issues?milestone=8&state=closed) closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Cake.Issues 0.6.x
-- Targeting .NET Standard 2.0
-
-__Feature__
-
-- [__#5__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/5) Migrate to .NET Standard (Thanks [Vadim Hatsura](https://github.com/vhatsura))
-
-
-## 0.6.0 (August 24, 2018)
-
-
-As part of this release we had [1 issue](https://github.com/cake-contrib/Cake.Issues.Reporting/issues?milestone=7&state=closed) closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Cake.Issues 0.6.x
-
-__Breaking change__
-
-- [__#26__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/26) Update to Cake.Issues 0.6.0
-
-
-## 0.6.0-beta.2 (August 20, 2018)
-
-
-As part of this release we had 1 issue closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Cake.Issues 0.6.0-beta.2
-
-__Breaking change__
-
-- Update to Cake.Issues 0.6.0 Beta 2
-
-
-## 0.6.0-beta.1 (August 19, 2018)
-
-
-As part of this release we had 1 issue closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Cake.Issues 0.6.0-beta.1
-
-__Breaking change__
-
-- [__#26__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/26) Update to Cake.Issues 0.6.0
-
-
-## 0.5.0 (August 17, 2018)
-
-
-As part of this release we had [2 issues](https://github.com/cake-contrib/Cake.Issues.Reporting/issues?milestone=6&state=closed) closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Cake.Issues 0.5.x
-
-__Breaking change__
-
-- [__#23__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/23) Update to Cake.Issues 0.5.0
-
-__Improvement__
-
-- [__#25__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/25) Add repository metadata to nuspec
-
-
-## 0.5.0-beta.1 (August 07, 2018)
-
-
-As part of this release we had 1 issue closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Cake.Issues 0.5.0-beta.2
-
-__Breaking change__
-
-- [__#23__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/23) Update to Cake.Issues 0.5.0
-
-
-## 0.4.0 (July 28, 2018)
-
-
-As part of this release we had [2 issues](https://github.com/cake-contrib/Cake.Issues.Reporting/issues?milestone=5&state=closed) closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Cake.Issues 0.4.x
-
-__Breaking change__
-
-- [__#21__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/21) Update to Cake.Issues 0.4.0
-
-
-## 0.4.0-beta.2 (July 25, 2018)
-
-
-As part of this release we had 1 issue closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Cake.Issues 0.4.0-beta.2
-
-__Breaking change__
-
-- Update Cake.Issues to 0.4.0-beta.2
-
-
-## 0.4.0-beta.1 (July 24, 2018)
-
-
-As part of this release we had 2 issues closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Cake.Issues 0.4.0-beta.1
-
-__Breaking change__
-
-- [__#21__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/21) Update to Cake.Issues 0.4.0
-
-
-## 0.3.0 (June 04, 2018)
-
-
-As part of this release we had [2 issues](https://github.com/cake-contrib/Cake.Issues.Reporting/issues?milestone=4&state=closed) closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Cake.Issues 0.3.x
-
-__Breaking changes__
-
-- [__#17__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/17) Build against Cake 0.28.0
-- [__#15__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/15) Update to Cake.Issues 0.3.0
-
-
-## 0.3.0-beta.2 (June 01, 2018)
-
-
-As part of this release we had 2 issues closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Cake.Issues 0.3.0-beta.2
-
-__Breaking changes__
-
-- [__#17__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/17) Build against Cake 0.28.0
-- Update to Cake.Issues 0.3.0-beta.2
-
-## 0.3.0-beta.1 (May 31, 2018)
-
-
-As part of this release we had 1 issue closed.
-
-__Requirements__
-
-- Cake 0.26.0 or higher
-- Cake.Issues 0.3.0-beta.1
-
-__Breaking change__
-
-- [__#15__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/15) Update to Cake.Issues 0.3.0
-
-
-## 0.2.1 (May 25, 2018)
-
-
-As part of this release we had [1 issue](https://github.com/cake-contrib/Cake.Issues.Reporting/issues?milestone=3&state=closed) closed.
-
-__Requirements__
-
-- Cake 0.26.0 or higher
-- Cake.Issues 0.2.x
-
-__Documentation__
-
-- [__#13__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/13) Update examples to current version of Cake.Issues.Reporting.Generic
-
-
-## 0.2.0 (May 23, 2018)
-
-
-As part of this release we had [3 issues](https://github.com/cake-contrib/Cake.Issues.Reporting/issues?milestone=2&state=closed) closed.
-
-__Requirements__
-
-- Cake 0.26.0 or higher
-- Cake.Issues 0.2.x
-
-__Breaking changes__
-
-- [__#10__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/10) Build against Cake 0.26.0
-- [__#9__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/9) Update to Cake.Issues 0.2.0
-
-
-## 0.2.0-beta.2 (May 23, 2018)
-
-
-As part of this release we had 1 issue closed.
-
-__Requirements__
-
-- Cake 0.26.0 or higher
-- Cake.Issues 0.2.x
-
-__Breaking changes__
-
-- Target .NET Framework 4.6.1 instead of 4.62
-
-
-## 0.2.0-beta.1 (May 23, 2018)
-
-
-As part of this release we had 3 issues closed.
-
-__Requirements__
-
-- Cake 0.26.0 or higher
-- Cake.Issues 0.2.x
-
-__Breaking changes__
-
-- [__#10__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/10) Build against Cake 0.26.0
-- [__#9__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/9) Update to Cake.Issues 0.2.0
-
-
-## 0.1.0 (October 16, 2017)
-
-
-As part of this release we had [2 issues](https://github.com/cake-contrib/Cake.Issues.Reporting/issues?milestone=1&state=closed) closed.
-
-__Requirements__
-
-- Cake 0.22.0 - Cake 0.25.0
-- Cake.Issues 0.1.0
-
-__Breaking change__
-
-- [__#3__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/3) Update to Cake 0.22
-
-__Feature__
-
-- [__#1__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/1) Basic implementation
-
-
-## 0.1.0-beta.6 (September 16, 2017)
-
-
-As part of this release we had 2 issue closed.
-
-__Requirements__
-
-- Cake 0.22.0 - Cake 0.25.0
-- Cake.Issues 0.1.0
-
-__Breaking Changes__
-
-- Build against Cake.Issues 0.1.0
-
-__Features__
-
-- Add alias for single issue provider
-## 0.1.0-beta.5 (September 13, 2017)
-
-
-As part of this release we had 3 issue closed.
-
-__Requirements__
-
-- Cake 0.22.0 - Cake 0.25.0
-- Cake.Issues 0.1.0-beta.4
-
-__Breaking Changes__
-
-- Target .NET Framework 4.6
-- Build against Cake 0.22.0
-- Build against Cake.Issues 0.1.0-beta0004
-## 0.1.0-beta.4 (September 10, 2017)
-
-
-As part of this release we had 1 issue closed.
-
-__Requirements__
-
-- Cake 0.16.2 - Cake 0.21.1
-- Cake.Issues 0.1.0-beta.3
-
-__Breaking Changes__
-
-- Add `CreateIssueReportSettings` and requirement to pass in output file path
-## 0.1.0-beta.3 (September 10, 2017)
-
-
-As part of this release we had 1 issue closed.
-
-__Requirements__
-
-- Cake 0.16.2 - Cake 0.21.1
-- Cake.Issues 0.1.0-beta.3
-
-__Breaking Changes__
-
-- Update Cake.Issues to 0.1.0-beta0003
-## 0.1.0-beta.2 (September 09, 2017)
-
-
-As part of this release we had 1 issue closed.
-
-__Requirements__
-
-- Cake 0.16.2 - Cake 0.21.1
-- Cake.Issues 0.1.0-beta.1
-
-__Feature__
-
-- Move everything into single namespace
-## 0.1.0-beta.1 (September 09, 2017)
-
-
-As part of this release we had 1 issue closed.
-
-__Requirements__
-
-- Cake 0.16.2 - Cake 0.21.1
-- Cake.Issues 0.1.0-beta.1
-
-__Feature__
-
-- [__#1__](https://github.com/cake-contrib/Cake.Issues.Reporting/issues/1) Basic implementation
-
-
-https://github.com/cake-contrib/Cake.Issues/issues/97) XML comment for `IIssue.ProjectFileRelativePath` mentions `string.Empty` as valid value
-
-
-## 0.6.2 (September 05, 2018)
-
-
-As part of this release we had [3 issues](https://github.com/cake-contrib/Cake.Issues/issues?milestone=10&state=closed) closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Targeting .NET Standard 2.0
-
-__Bug__
-
-- [__#60__](https://github.com/cake-contrib/Cake.Issues/issues/60) `ByteArrayExtensions.ToStringUsingEncoding` throws an exception if empty byte array is passed
-
-__Improvements__
-
-- [__#62__](https://github.com/cake-contrib/Cake.Issues/issues/62) `ToStringUsingEncoding` should not throw if no preamble exists
-- [__#46__](https://github.com/cake-contrib/Cake.Issues/issues/46) Add test cases for `Cake.Issues.Testing`
-
-
-## 0.6.2-beta.2 (September 05, 2018)
-
-
-As part of this release we had 1 issue closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Targeting .NET Standard 2.0
-
-__Improvement__
-
-- [__#46__](https://github.com/cake-contrib/Cake.Issues/issues/46) Add test cases for Cake.Issues.Testing
-
-
-## 0.6.2-beta.1 (September 04, 2018)
-
-
-As part of this release we had 2 issues closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Targeting .NET Standard 2.0
-
-__Bug__
-
-- [__#60__](https://github.com/cake-contrib/Cake.Issues/issues/60) ByteArrayExtensions.ToStringUsingEncoding throws an exception if empty byte array is passed
-
-__Improvement__
-
-- [__#62__](https://github.com/cake-contrib/Cake.Issues/issues/62) ToStringUsingEncoding should not throw if no preamble exists
-
-
-## 0.6.1 (September 02, 2018)
-
-
-As part of this release we had [2 issues](https://github.com/cake-contrib/Cake.Issues/issues?milestone=9&state=closed) closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Targeting .NET Standard 2.0
-
-__Features__
-
-- [__#57__](https://github.com/cake-contrib/Cake.Issues/issues/57) Add method for replacing issues tokens in string
-- [__#56__](https://github.com/cake-contrib/Cake.Issues/issues/56) Add extensions for `IIssue` project and file
-
-
-## 0.6.1-beta.1 (August 26, 2018)
-
-
-As part of this release we had 2 issues closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Targeting .NET Standard 2.0
-
-__Features__
-
-- [__#57__](https://github.com/cake-contrib/Cake.Issues/issues/57) Add method for replacing issues tokens in string
-- [__#56__](https://github.com/cake-contrib/Cake.Issues/issues/56) Add extensions for `IIssue` project and file
-
-
-## 0.6.0 (August 24, 2018)
-
-
-As part of this release we had [3 issues](https://github.com/cake-contrib/Cake.Issues/issues?milestone=8&state=closed) closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Targeting .NET Standard 2.0
-
-__Breaking changes__
-
-- [__#54__](https://github.com/cake-contrib/Cake.Issues/issues/54) `BaseMultiFormatIssueProvider.ReadIssues` ignores format
-- [__#50__](https://github.com/cake-contrib/Cake.Issues/issues/50) Add method to check if initialized was called on `BaseIssueComponent`
-
-__Bug__
-
-- [__#53__](https://github.com/cake-contrib/Cake.Issues/issues/53) Typo in comment for `BaseMultiFormatIssueProvider`
-
-
-## 0.6.0-beta.2 (August 19, 2018)
-
-
-As part of this release we had 1 issue closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Targeting .NET Standard 2.0
-
-__Breaking change__
-
-- [__#54__](https://github.com/cake-contrib/Cake.Issues/issues/54) BaseMultiFormatIssueProvider.ReadIssues ignores format
-## 0.6.0-beta.1 (August 18, 2018)
-
-
-As part of this release we had 2 issues closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Targeting .NET Standard 2.0
-
-__Breaking change__
-
-- [__#50__](https://github.com/cake-contrib/Cake.Issues/issues/50) Add method to check if initialized was called on BaseIssueComponent
-
-__Bug__
-
-- [__#53__](https://github.com/cake-contrib/Cake.Issues/issues/53) Typo in comment for BaseMultiFormatIssueProvider
-
-
-## 0.5.0 (August 17, 2018)
-
-
-As part of this release we had [4 issues](https://github.com/cake-contrib/Cake.Issues/issues?milestone=7&state=closed) closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Targeting .NET Standard 2.0
-
-__Breaking change__
-
-- [__#44__](https://github.com/cake-contrib/Cake.Issues/issues/44) Improve issue provider infrastructure
-
-__Features__
-
-- [__#48__](https://github.com/cake-contrib/Cake.Issues/issues/48) Add helper for string / byte array conversion
-- [__#47__](https://github.com/cake-contrib/Cake.Issues/issues/47) Add helper for working with embedded resources on file system
-
-__Improvement__
-
-- [__#49__](https://github.com/cake-contrib/Cake.Issues/issues/49) Add repository metadata to nuspec
-
-
-## 0.5.0-beta.3 (August 17, 2018)
-
-
-As part of this release we had 1 issue closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Targeting .NET Standard 2.0
-
-__Improvement__
-
-- [__#49__](https://github.com/cake-contrib/Cake.Issues/issues/49) Add repository metadata to nuspec
-
-
-## 0.5.0-beta.2 (August 06, 2018)
-
-
-As part of this release we had 2 issues closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Targeting .NET Standard 2.0
-
-__Features__
-
-- [__#48__](https://github.com/cake-contrib/Cake.Issues/issues/48) Add helper for string / byte array conversion
-- [__#47__](https://github.com/cake-contrib/Cake.Issues/issues/47) Add helper for working with embedded resources on file system
-
-
-## 0.5.0-beta.1 (August 05, 2018)
-
-
-As part of this release we had [1 issue](https://github.com/cake-contrib/Cake.Issues/issues?milestone=7&state=closed) closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Targeting .NET Standard 2.0
-
-__Breaking change__
-
-- [__#44__](https://github.com/cake-contrib/Cake.Issues/issues/44) Improve issue provider infrastructure
-
-
-## 0.4.1 (August 03, 2018)
-
-
-As part of this release we had [1 issue](https://github.com/cake-contrib/Cake.Issues/issues?milestone=6&state=closed) closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Targeting .NET Standard 2.0
-
-__Feature__
-
-- [__#39__](https://github.com/cake-contrib/Cake.Issues/issues/39) Provide infrastructure for issue provider with different formats
-
-
-## 0.4.0 (July 28, 2018)
-
-
-As part of this release we had [3 issues](https://github.com/cake-contrib/Cake.Issues/issues?milestone=5&state=closed) closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Targeting .NET Standard 2.0
-
-__Breaking change__
-
-- [__#35__](https://github.com/cake-contrib/Cake.Issues/issues/35) Replace `IIssue.Project` with `IIssue.ProjectFileRelativePath` and `IIssue.ProjectName`
-
-__Improvement__
-
-- [__#38__](https://github.com/cake-contrib/Cake.Issues/issues/38) Update XUnit to 2.4.0
-
-
-## 0.4.0-beta.2 (July 24, 2018)
-
-
-As part of this release we had 1 issue closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Targeting .NET Standard 2.0
-
-__Improvement__
-
-- [__#38__](https://github.com/cake-contrib/Cake.Issues/issues/38) Update XUnit to 2.4.0
-
-
-## 0.4.0-beta.1 (July 24, 2018)
-
-
-As part of this release we had 2 issues closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Targeting .NET Standard 2.0
-
-__Breaking change__
-
-- [__#35__](https://github.com/cake-contrib/Cake.Issues/issues/35) Replace `IIssue.Project` with `IIssue.ProjectFileRelativePath` and `IIssue.ProjectName`.
-## 0.3.1 (June 20, 2018)
-
-
-As part of this release we had [1 issue](https://github.com/cake-contrib/Cake.Issues/issues?milestone=4&state=closed) closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Targeting .NET Standard 2.0
-
-__Feature__
-
-- [__#27__](https://github.com/cake-contrib/Cake.Issues/issues/27) Add alias for creating issues from Cake scripts
-
-
-## 0.3.0 (June 03, 2018)
-
-
-As part of this release we had [14 commits](https://github.com/cake-contrib/Cake.Issues/compare/0.2.0...0.3.0) which resulted in [6 issues](https://github.com/cake-contrib/Cake.Issues/issues?milestone=3&state=closed) being closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Targeting .NET Standard 2.0
-
-__Breaking changes__
-
-- [__#29__](https://github.com/cake-contrib/Cake.Issues/issues/29) Make priority optional
-- [__#28__](https://github.com/cake-contrib/Cake.Issues/issues/28) Build against Cake 0.28.0
-- [__#26__](https://github.com/cake-contrib/Cake.Issues/issues/26) Add fluent API for Issue creation
-- [__#22__](https://github.com/cake-contrib/Cake.Issues/issues/22) Add PriorityName to IIssue
-- [__#21__](https://github.com/cake-contrib/Cake.Issues/issues/21) Add ProviderName to IIssue
-
-__Feature__
-
-- [__#25__](https://github.com/cake-contrib/Cake.Issues/issues/25) Add constants for priority values and names
-
-
-## 0.3.0-beta.4 (June 03, 2018)
-
-
-As part of this release we had 1 issue closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Targeting .NET Standard 2.0
-
-__Bug Fix__
-
-- Fix argument checking in fluent API
-
-## 0.3.0-beta.3 (June 03, 2018)
-
-
-As part of this release we had 1 issue closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Targeting .NET Standard 2.0
-
-__Improvement__
-
-- Allow default values in fluent API
-## 0.3.0-beta.2 (June 01, 2018)
-
-
-As part of this release we had 4 issues closed.
-
-__Requirements__
-
-- Cake 0.28.0 or higher
-- Targeting .NET Standard 2.0
-
-__Breaking changes__
-
-- [__#29__](https://github.com/cake-contrib/Cake.Issues/issues/29) Make `IIssue.Priority` optional
-- [__#28__](https://github.com/cake-contrib/Cake.Issues/issues/28) Build against Cake 0.28.0
-- [__#26__](https://github.com/cake-contrib/Cake.Issues/issues/26) Add fluent API for Issue creation
-
-__Feature__
-
-- [__#25__](https://github.com/cake-contrib/Cake.Issues/issues/25) Add constants for priority values and names
-
-
-## 0.3.0-beta.1 (May 31, 2018)
-
-
-As part of this release we had 2 issues closed.
-
-__Requirements__
-
-- Cake 0.26.0 or higher
-- Targeting .NET Standard 2.0
-
-__Breaking changes__
-
-- [__#22__](https://github.com/cake-contrib/Cake.Issues/issues/22) Add `PriorityName` to `IIssue`
-- [__#21__](https://github.com/cake-contrib/Cake.Issues/issues/21) Add `ProviderName` to `IIssue`
-
-
-## 0.2.0 (May 21, 2018)
-
-
-As part of this release we had [6 issues](https://github.com/cake-contrib/Cake.Issues/issues?milestone=2&state=closed) closed.
-
-__Requirements__
-
-- Cake 0.26.0 or higher
-- Targeting .NET Standard 2.0
-
-__Breaking change__
-
-- [__#13__](https://github.com/cake-contrib/Cake.Issues/issues/13) Build against Cake 0.26.0
-
-__Features__
-
-- [__#5__](https://github.com/cake-contrib/Cake.Issues/issues/5) Add project to `IIssue`
-- [__#4__](https://github.com/cake-contrib/Cake.Issues/issues/4) Migrate to .NET Standard (Thanks [Tim Johnson](https://github.com/t-johnson)!)
-
-__Improvements__
-
-- [__#20__](https://github.com/cake-contrib/Cake.Issues/issues/20) Make `IIssue.Rule` an optional parameter
-- [__#8__](https://github.com/cake-contrib/Cake.Issues/issues/8) Upgrade XUnit to 2.3.0
-
-
-## 0.2.0-beta.4 (March 07, 2018)
-
-
-As part of this release we had the following issues closed.
-
-__Requirements__
-
-- Cake 0.26.0 or higher
-- Targeting .NET Standard 2.0
-
-__Breaking change__
-
-- Only target .NET Standard 2.0
-## 0.2.0-beta.3 (March 07, 2018)
-
-
-As part of this release we had 1 issue closed.
-
-__Requirements__
-
-- Cake 0.26.0 or higher
-- Targeting .NET Standard 2.0
-
-__Breaking change__
-
-- [__#13__](https://github.com/cake-contrib/Cake.Issues/issues/13) Build against Cake 0.26.0
-## 0.2.0-beta.2 (December 24, 2017)
-
-
-As part of this release we had 1 issue closed.
-
-__Requirements__
-
-- Cake 0.22.0 - Cake 0.25.0
-- Targeting .NET Standard 2.0
-
-__Improvements__
-
-- [__#8__](https://github.com/cake-contrib/Cake.Issues/issues/8) Upgrade XUnit to 2.3.0
-## 0.2.0-beta.1 (October 15, 2017)
-
-
-As part of this release we had 2 issues closed.
-
-__Requirements__
-
-- Cake 0.22.0 - Cake 0.25.0
-- Targeting .NET Standard 2.0
-
-__Features__
-
-- [__#5__](https://github.com/cake-contrib/Cake.Issues/issues/5) Add project to `IIssue`
-- [__#4__](https://github.com/cake-contrib/Cake.Issues/issues/4) Migrate to .NET Standard (Thanks [Tim Johnson](https://github.com/t-johnson)!)
-
-
-## 0.1.0 (September 16, 2017)
-
-
-As part of this release we had [2 issues](https://github.com/cake-contrib/Cake.Issues/issues?milestone=1&state=closed) closed.
-
-__Requirements__
-
-- Cake 0.22.0 - Cake 0.25.0
-- Targeting .NET Framework 4.6
-
-__Breaking change__
-
-- [__#3__](https://github.com/cake-contrib/Cake.Issues/issues/3) Update to Cake 0.22
-
-__Feature__
-
-- [__#2__](https://github.com/cake-contrib/Cake.Issues/issues/2) First version based on Cake.Prca
-
-
-## 0.1.0-beta.4 (September 13, 2017)
-
-
-As part of this release we had 2 issues closed.
-
-__Requirements__
-
-- Cake 0.22.0 - Cake 0.25.0
-- Targeting .NET Framework 4.6
-
-__Breaking Changes__
-
-- Target .NET Framework 4.6
-- Build against Cake 0.22.0
-## 0.1.0-beta.3 (September 03, 2017)
-
-
-As part of this release we had 2 issues closed.
-
-__Requirements__
-
-- Cake 0.16.2 - Cake 0.21.1
-- Targeting .NET Framework 4.5.2
-
-__Breaking Changes__
-
-- Move everything into single namespace.
-## 0.1.0-beta.2 (September 02, 2017)
-
-
-As part of this release we had 2 issues closed.
-
-__Requirements__
-
-- Cake 0.16.2 - Cake 0.21.1
-- Targeting .NET Framework 4.5.2
-
-__Enhancements__
-
-- Add method `Issue.GetProviderTypeName()` for returning provider type name
-- Put aliases for reading issues in own category
-## 0.1.0-beta.1 (September 01, 2017)
-
-
-As part of this release we had 1 issue closed.
-
-__Requirements__
-
-- Cake 0.16.2 - Cake 0.21.1
-- Targeting .NET Framework 4.5.2
-
-__Feature__
-
-- [__#2__](https://github.com/cake-contrib/Cake.Issues/issues/2) First version based on Cake.Prca
-
-
-d `Issue.GetProviderTypeName()` for returning provider type name
-- Put aliases for reading issues in own category
-## 0.1.0-beta.1 (September 01, 2017)
-
-
-As part of this release we had 1 issue closed.
-
-__Requirements__
-
-- Cake 0.16.2 - Cake 0.21.1
-- Targeting .NET Framework 4.5.2
-
-__Feature__
-
-- [__#2__](https://github.com/cake-contrib/Cake.Issues/issues/2) First version based on Cake.Prca
-
-
-_
-
-- [__#2__](https://github.com/cake-contrib/Cake.Issues/issues/2) First version based on Cake.Prca
-
-
diff --git a/docs/input/docs/overview/release-notes/index.cshtml b/docs/input/docs/overview/release-notes/index.cshtml
deleted file mode 100644
index cbb6d5a8f..000000000
--- a/docs/input/docs/overview/release-notes/index.cshtml
+++ /dev/null
@@ -1,11 +0,0 @@
----
-Order: 30
-Description: Release notes for the Cake Issues core addins.
----
-
-
-
-@Html.Partial("_ChildPages")
\ No newline at end of file
diff --git a/docs/input/docs/overview/requirements.md b/docs/input/docs/overview/requirements.md
deleted file mode 100644
index 901eb33c4..000000000
--- a/docs/input/docs/overview/requirements.md
+++ /dev/null
@@ -1,18 +0,0 @@
----
-Order: 30
-Description: Requirements for using Cake.Issues.
----
-The requirements for core addins are listed in the release notes for any specific version:
-
-* [Release notes Cake.Issues]
-* [Release notes Cake.Issues.PullRequests]
-* [Release notes Cake.Issues.Reporting]
-
-:::{.alert .alert-info}
-Note that individual addins might require a newer version of Cake.
-Please see in the documentation of the specific addin for additional requirements for individual addins.
-:::
-
-[Release notes Cake.Issues]: release-notes/Cake.Issues
-[Release notes Cake.Issues.PullRequests]: release-notes/Cake.Issues.PullRequests
-[Release notes Cake.Issues.Reporting]: release-notes/Cake.Issues.Reporting
\ No newline at end of file
diff --git a/docs/input/docs/pull-request-systems/appveyor/examples/index.cshtml b/docs/input/docs/pull-request-systems/appveyor/examples/index.cshtml
deleted file mode 100644
index f0d5372ef..000000000
--- a/docs/input/docs/pull-request-systems/appveyor/examples/index.cshtml
+++ /dev/null
@@ -1,12 +0,0 @@
----
-Title: Examples
-Description: Examples for using the Cake.Issues.PullRequests.AppVeyor addin.
----
-
@Html.Raw(Model.String(DocsKeys.Description))
-
-
-There's a demo repository
-available which you can fork and to which you can create pull requests to test the integration functionality.
-
-
-@Html.Partial("_ChildPages")
\ No newline at end of file
diff --git a/docs/input/docs/pull-request-systems/appveyor/examples/write-messages.md b/docs/input/docs/pull-request-systems/appveyor/examples/write-messages.md
deleted file mode 100644
index 10cccdfb4..000000000
--- a/docs/input/docs/pull-request-systems/appveyor/examples/write-messages.md
+++ /dev/null
@@ -1,46 +0,0 @@
----
-Order: 10
-Title: Writing message to AppVeyor
-Description: Example how to write issues as messages to an AppVeyor build.
----
-This example shows how to report issues as messages to an AppVeyor build.
-
-To report issues as messages to an AppVeyor build you need to import the core addin,
-the core pull request addin, the AppVeyor support and one or more issue providers,
-in this example for JetBrains InspectCode:
-
-```csharp
-#addin "Cake.Issues"
-#addin "Cake.Issues.InspectCode"
-#addin "Cake.Issues.PullRequests"
-#addin "Cake.Issues.PullRequests.AppVeyor"
-```
-
-:::{.alert .alert-warning}
-Please note that you always should pin addins to a specific version to make sure your builds are deterministic and
-won't break due to updates to one of the addins.
-
-See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details.
-:::
-
-In the following task we'll first determine the remote repository URL and
-source branch of the pull request and with this information call the [AppVeyorBuilds] alias:
-
-```csharp
-Task("ReportIssuesToAppVeyor").Does(() =>
-{
- var repoRootFolder = MakeAbsolute(Directory("./"));
-
- ReportIssuesToPullRequest(
- InspectCodeIssuesFromFilePath(
- @"C:\build\inspectcode.log"),
- AppVeyorBuilds(),
- repoRootFolder);
-});
-```
-
-The output will look similar to this:
-
-![AppVeyor messages](../appveyor-messages.png "AppVeyor messages")
-
-[AppVeyorBuilds]: ../../../../api/Cake.Issues.PullRequests.AppVeyor/AppVeyorBuildsAliases/
\ No newline at end of file
diff --git a/docs/input/docs/pull-request-systems/appveyor/features.md b/docs/input/docs/pull-request-systems/appveyor/features.md
deleted file mode 100644
index 68211906f..000000000
--- a/docs/input/docs/pull-request-systems/appveyor/features.md
+++ /dev/null
@@ -1,32 +0,0 @@
----
-Order: 20
-Title: Features
-Description: Features of the Cake.Issues.PullRequests.AppVeyor addin.
----
-The [Cake.Issues.PullRequests.AppVeyor addin] reports issues as messages to AppVeyor builds.
-
-![AppVeyor messages](appveyor-messages.png "AppVeyor messages")
-
-:::{.alert .alert-info}
-There's a [demo repository] available which you can fork and to which you can create pull requests to test the integration functionality.
-:::
-
-# Basic features
-
-* Reports issues as messages to AppVeyor builds.
-* Messages can be written as comment to GitHub pull requests.
- See [GitHub pull request integration] for an example.
-
-# Supported capabilities
-
-The [Cake.Issues.PullRequests.AppVeyor addin] doesn't support any additional capabilities.
-
-| | Capability | Remarks |
-|--------------------------------------------------------------------|--------------------------------|--------------------------------|
-| | Checking commit ID | |
-| | Discussion threads | |
-| | Filtering by modified files | |
-
-[demo repository]: https://github.com/pascalberger/Cake.Issues-Demo
-[Cake.Issues.PullRequests.AppVeyor addin]: https://www.nuget.org/packages/Cake.Issues.PullRequests.AppVeyor
-[GitHub pull request integration]: ./examples/github-pullrequest-integration
diff --git a/docs/input/docs/pull-request-systems/appveyor/index.cshtml b/docs/input/docs/pull-request-systems/appveyor/index.cshtml
deleted file mode 100644
index f704df063..000000000
--- a/docs/input/docs/pull-request-systems/appveyor/index.cshtml
+++ /dev/null
@@ -1,10 +0,0 @@
----
-Title: AppVeyor
-Description: Support for AppVeyor.
----
-
-
-@Html.Partial("_ChildPages")
\ No newline at end of file
diff --git a/docs/input/docs/pull-request-systems/appveyor/requirements.md b/docs/input/docs/pull-request-systems/appveyor/requirements.md
deleted file mode 100644
index 446b03b69..000000000
--- a/docs/input/docs/pull-request-systems/appveyor/requirements.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-Order: 10
-Title: Requirements
-Description: Requirements for the Cake.Issues.PullRequests.AppVeyor addin.
----
-The requirements for using the [Cake.Issues.PullRequests.AppVeyor addin] are listed in the [release notes] for any specific version.
-
-[Cake.Issues.PullRequests.AppVeyor addin]: https://www.nuget.org/packages/Cake.Issues.PullRequests.AppVeyor
-[release notes]: release-notes
\ No newline at end of file
diff --git a/docs/input/docs/pull-request-systems/azure-devops/examples/azure-pipelines.md b/docs/input/docs/pull-request-systems/azure-devops/examples/azure-pipelines.md
deleted file mode 100644
index 6078ba5ac..000000000
--- a/docs/input/docs/pull-request-systems/azure-devops/examples/azure-pipelines.md
+++ /dev/null
@@ -1,83 +0,0 @@
----
-Order: 30
-Title: Using with Azure Pipelines
-Description: Example how to use the Cake.Issues.PullRequests.AzureDevOps addin from an Azure Pipelines build.
----
-This example shows how to write issues as comments to an Azure DevOps pull request from an Azure Pipelines build.
-
-To write issues as comments to Azure DevOps pull requests you need to import the core addin,
-the core pull request addin, the Azure DevOps support including the Cake.AzureDevOps addin, and one or more issue providers,
-in this example for JetBrains InspectCode:
-
-```csharp
-#addin "Cake.Issues"
-#addin "Cake.Issues.InspectCode"
-#addin "Cake.Issues.PullRequests"
-#addin "Cake.Issues.PullRequests.AzureDevOps"
-#addin "Cake.AzureDevOps"
-```
-
-:::{.alert .alert-warning}
-Please note that you always should pin addins to a specific version to make sure your builds are deterministic and
-won't break due to updates to one of the addins.
-
-See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details.
-:::
-
-In the following task we'll first determine if the build is running on Azure DevOps and for a pull request,
-then read the remote repository URL and pull request id from environment variables set by the Azure Pipelines build
-and finally call the [AzureDevOpsPullRequests] alias using the OAuth token provided by the Azure Pipeline build.
-
-:::{.alert .alert-info}
-Please note that you'll need to setup your Azure Pipelines build to allow scripts to
-access the OAuth token and need to setup proper permissions.
-
-See [OAuth authentication from Azure Pipelines] for details.
-:::
-
-```csharp
-Task("ReportIssuesToPullRequest").Does(() =>
-{
- var isRunningOnAzureDevOps =
- !string.IsNullOrWhiteSpace(context.EnvironmentVariable("TF_BUILD")) &&
- !string.IsNullOrWhiteSpace(context.EnvironmentVariable("SYSTEM_COLLECTIONURI")) &&
- (
- new Uri(context.EnvironmentVariable("SYSTEM_COLLECTIONURI")).Host == "dev.azure.com" ||
- new Uri(context.EnvironmentVariable("SYSTEM_COLLECTIONURI")).Host.EndsWith("visualstudio.com")
- );
-
- var isPullRequestBuild =
- !string.IsNullOrWhiteSpace(context.EnvironmentVariable("SYSTEM_PULLREQUEST_PULLREQUESTID"));
-
- if (isRunningOnAzureDevOps)
- {
- var repositoryUrl = new Uri(context.EnvironmentVariable("BUILD_REPOSITORY_URI"));
-
- if (isPullRequestBuild)
- {
- var pullRequestIdVariable = context.EnvironmentVariable("SYSTEM_PULLREQUEST_PULLREQUESTID");
- if (!Int32.TryParse(pullRequestIdVariable, out var pullRequestId))
- {
- throw new Exception($"Invalid pull request ID: {pullRequestIdVariable}");
- }
- else
- {
- var repoRootFolder = MakeAbsolute(Directory("./"));
-
- ReportIssuesToPullRequest(
- InspectCodeIssuesFromFilePath(
- @"C:\build\inspectcode.log"),
- AzureDevOpsPullRequests(
- repositoryUrl,
- pullRequestId,
- AzureDevOpsAuthenticationOAuth(EnvironmentVariable("SYSTEM_ACCESSTOKEN"))),
- repoRootFolder);
- }
- }
- }
-});
-```
-
-[AzureDevOpsPullRequests]: ../../../../api/Cake.Issues.PullRequests.AzureDevOps/AzureDevOpsPullRequestSystemAliases/64912B0A
-[Allow scripts to access the OAuth token]: https://docs.microsoft.com/en-us/azure/devops/pipelines/build/options#allow-scripts-to-access-the-oauth-token
-[OAuth authentication from Azure Pipelines]: ../setup#oauth-authentication-from-azure-pipelines
diff --git a/docs/input/docs/pull-request-systems/azure-devops/examples/index.cshtml b/docs/input/docs/pull-request-systems/azure-devops/examples/index.cshtml
deleted file mode 100644
index 17e2702db..000000000
--- a/docs/input/docs/pull-request-systems/azure-devops/examples/index.cshtml
+++ /dev/null
@@ -1,12 +0,0 @@
----
-Title: Examples
-Description: Examples for using the Cake.Issues.PullRequests.AzureDevOps addin.
----
-
@Html.Raw(Model.String(DocsKeys.Description))
-
-
-There's a demo repository
-available which you can fork and to which you can create pull requests to test the integration functionality.
-
-
-@Html.Partial("_ChildPages")
\ No newline at end of file
diff --git a/docs/input/docs/pull-request-systems/azure-devops/examples/pullrequest-id.md b/docs/input/docs/pull-request-systems/azure-devops/examples/pullrequest-id.md
deleted file mode 100644
index 843390dfc..000000000
--- a/docs/input/docs/pull-request-systems/azure-devops/examples/pullrequest-id.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-Order: 10
-Title: Using with pull request id
-Description: Example how to use the Cake.Issues.PullRequests.AzureDevOps addin with pull request id.
----
-This example shows how to write issues as comments to an Azure DevOps pull request while using pull request id.
-
-To determine the remote repository URL you need the [Cake.Git] addin:
-
-```csharp
-#addin "Cake.Git"
-```
-
-To write issues as comments to Azure DevOps pull requests you need to import the core addin,
-the core pull request addin, the Azure DevOps support including the Cake.AzureDevOps addin, and one or more issue providers,
-in this example for JetBrains InspectCode:
-
-```csharp
-#addin "Cake.Issues"
-#addin "Cake.Issues.InspectCode"
-#addin "Cake.Issues.PullRequests"
-#addin "Cake.Issues.PullRequests.AzureDevOps"
-#addin "Cake.AzureDevOps"
-```
-
-:::{.alert .alert-warning}
-Please note that you always should pin addins to a specific version to make sure your builds are deterministic and
-won't break due to updates to one of the addins.
-
-See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details.
-:::
-
-In the following task we'll first determine the remote repository URL and
-with this information call the [AzureDevOpsPullRequests] alias,
-which will authenticate through NTLM to an on-premise Azure DevOps Server instance:
-
-```csharp
-Task("ReportIssuesToPullRequest").Does(() =>
-{
- var repoRootFolder = MakeAbsolute(Directory("./"));
- var repoRemoteUrl = new Uri(currentBranch.Remotes.Single(x => x.Name == "origin").Url);
- var pullRequestId = 123;
-
- ReportIssuesToPullRequest(
- InspectCodeIssuesFromFilePath(
- @"C:\build\inspectcode.log"),
- AzureDevOpsPullRequests(
- repoRemoteUrl,
- pullRequestId,
- AzureDevOpsAuthenticationNtlm()),
- repoRootFolder);
-});
-```
-
-[AzureDevOpsPullRequests]: ../../../../api/Cake.Issues.PullRequests.AzureDevOps/AzureDevOpsPullRequestSystemAliases/64912B0A
-[Cake.Git]: https://www.nuget.org/packages/Cake.Git/
diff --git a/docs/input/docs/pull-request-systems/azure-devops/examples/repository-information.md b/docs/input/docs/pull-request-systems/azure-devops/examples/repository-information.md
deleted file mode 100644
index 804ef7cfd..000000000
--- a/docs/input/docs/pull-request-systems/azure-devops/examples/repository-information.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-Order: 20
-Title: Using with repository remote url and source branch name
-Description: Example how to use the Cake.Issues.PullRequests.AzureDevOps addin with repository remote url and source branch name.
----
-This example shows how to write issues as comments to an Azure DevOps pull request while using repository information.
-
-To determine the remote repository URL and source branch of the pull request you need the [Cake.Git] addin:
-
-```csharp
-#addin "Cake.Git"
-```
-
-To write issues as comments to Azure DevOps pull requests you need to import the core addin,
-the core pull request addin, the Azure DevOps support including the Cake.AzureDevOps addin, and one or more issue providers,
-in this example for JetBrains InspectCode:
-
-```csharp
-#addin "Cake.Issues"
-#addin "Cake.Issues.InspectCode"
-#addin "Cake.Issues.PullRequests"
-#addin "Cake.Issues.PullRequests.AzureDevOps"
-#addin "Cake.AzureDevOps"
-```
-
-:::{.alert .alert-warning}
-Please note that you always should pin addins to a specific version to make sure your builds are deterministic and
-won't break due to updates to one of the addins.
-
-See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details.
-:::
-
-In the following task we'll first determine the remote repository URL and
-source branch of the pull request and with this information call the [AzureDevOpsPullRequests] alias,
-which will authenticate through NTLM to an on-premise Azure DevOps Server instance:
-
-```csharp
-Task("ReportIssuesToPullRequest").Does(() =>
-{
- var repoRootFolder = MakeAbsolute(Directory("./"));
- var currentBranch = GitBranchCurrent(repoRootFolder);
- var repoRemoteUrl = new Uri(currentBranch.Remotes.Single(x => x.Name == "origin").Url);
- var sourceBranchName = currentBranch.CanonicalName;
-
- ReportIssuesToPullRequest(
- InspectCodeIssuesFromFilePath(
- @"C:\build\inspectcode.log"),
- AzureDevOpsPullRequests(
- repoRemoteUrl,
- sourceBranchName,
- AzureDevOpsAuthenticationNtlm()),
- repoRootFolder);
-});
-```
-
-[AzureDevOpsPullRequests]: ../../../../api/Cake.Issues.PullRequests.AzureDevOps/AzureDevOpsPullRequestSystemAliases/8D75BECA
-[Cake.Git]: https://www.nuget.org/packages/Cake.Git/
diff --git a/docs/input/docs/pull-request-systems/azure-devops/features.md b/docs/input/docs/pull-request-systems/azure-devops/features.md
deleted file mode 100644
index b3b4bc228..000000000
--- a/docs/input/docs/pull-request-systems/azure-devops/features.md
+++ /dev/null
@@ -1,48 +0,0 @@
----
-Order: 20
-Title: Features
-Description: Features of the Cake.Issues.PullRequests.AzureDevOps addin.
----
-The [Cake.Issues.PullRequests.AzureDevOps addin] provides the following features.
-
-:::{.alert .alert-info}
-There's a [demo repository] available which you can fork and to which you can create pull requests to test the integration functionality.
-:::
-
-# Basic features
-
-* Writes issues as comments to [Azure DevOps] pull requests.
-* Identification of pull requests through source branch or pull request ID.
-* Comments written by the addin will be rendered with a specific icon corresponding to the state of the issue.
-* Adds rule number and, if provided by the issue provider, link to the rule description to the comment.
-* Support for issues messages formatted in Markdown format.
-
-# Supported capabilities
-
-The [Cake.Issues.PullRequests.AzureDevOps addin] supports all [Core features].
-
-| | Capability | Remarks |
-|--------------------------------------------------------------------|--------------------------------|--------------------------------|
-| | Checking commit ID | |
-| | Discussion threads | |
-| | Filtering by modified files | |
-
-# Supported authentication methods
-
-| Azure DevOps Server | Azure DevOps Service | Authentication method |
-|--------------------------------------------------------------------|--------------------------------------------------------------------|--------------------------------|
-| | | NTLM |
-| | | Basic authentication |
-| | | Personal access token |
-| | | OAuth |
-| | | Azure Active Directory |
-
-For detailed instructions how to connect using the different methods see [Setup instructions].
-
-![Cake.Issues.PullRequests.AzureDevOps](cake.issues.pullrequests.azuredevops.png "Cake.Issues.PullRequests.AzureDevOps")
-
-[demo repository]: https://dev.azure.com/pberger/Cake.Issues-Demo
-[Cake.Issues.PullRequests.AzureDevOps addin]: https://www.nuget.org/packages/Cake.Issues.PullRequests.AzureDevOps
-[Azure DevOps]: https://azure.microsoft.com/en-us/services/devops/
-[Core features]: ../../overview/features#supported-core-functionality
-[Setup instructions]: setup
diff --git a/docs/input/docs/pull-request-systems/azure-devops/index.cshtml b/docs/input/docs/pull-request-systems/azure-devops/index.cshtml
deleted file mode 100644
index fbf68afda..000000000
--- a/docs/input/docs/pull-request-systems/azure-devops/index.cshtml
+++ /dev/null
@@ -1,10 +0,0 @@
----
-Title: Azure DevOps
-Description: Support for Azure DevOps.
----
-
-
-@Html.Partial("_ChildPages")
\ No newline at end of file
diff --git a/docs/input/docs/pull-request-systems/azure-devops/requirements.md b/docs/input/docs/pull-request-systems/azure-devops/requirements.md
deleted file mode 100644
index 9c245110d..000000000
--- a/docs/input/docs/pull-request-systems/azure-devops/requirements.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-Order: 10
-Title: Requirements
-Description: Requirements for the Cake.Issues.PullRequests.AzureDevOps addin.
----
-The requirements for using the [Cake.Issues.PullRequests.AzureDevOps addin] are listed in the [release notes] for any specific version.
-
-[Cake.Issues.PullRequests.AzureDevOps addin]: https://www.nuget.org/packages/Cake.Issues.PullRequests.AzureDevOps
-[release notes]: release-notes
diff --git a/docs/input/docs/pull-request-systems/azure-devops/setup.md b/docs/input/docs/pull-request-systems/azure-devops/setup.md
deleted file mode 100644
index ac9f128bb..000000000
--- a/docs/input/docs/pull-request-systems/azure-devops/setup.md
+++ /dev/null
@@ -1,78 +0,0 @@
----
-Order: 30
-Title: Setup
-Description: Instructions how to setup the Cake.Issues.PullRequests.AzureDevOps addin.
----
-This page describes the different ways how the [Cake.Issues.PullRequests.AzureDevOps addin] can be setup.
-
-# NTLM authentication
-
-:::{.alert .alert-info}
-NTLM authentication is only available for on-premise Azure DevOps Server.
-:::
-
-To authenticate with NTLM you can use the [AzureDevOpsAuthenticationNtlm] alias from the [Cake.AzureDevOps addin].
-
-The user needs to have `Contribute to pull requests` permission for the specific repository to
-allow [Cake.Issues.PullRequests.AzureDevOps addin] to post issues as comments to pull requests.
-
-# Basic authentication
-
-:::{.alert .alert-info}
-Basic authentication is only available for on-premise Azure DevOps Server.
-:::
-
-To authenticate with basic authentication you can use the [AzureDevOpsAuthenticationBasic] alias from the [Cake.AzureDevOps addin] and
-need to [Configure AzureDevOps Server to use Basic Authentication].
-
-The user needs to have `Contribute to pull requests` permission for the specific repository to
-allow [Cake.Issues.PullRequests.AzureDevOps addin] to post issues as comments to pull requests.
-
-# Personal access token
-
-To authenticate with an personal access token you can use the [AzureDevOpsAuthenticationPersonalAccessToken] alias from the [Cake.AzureDevOps addin].
-
-If you want to use the [Cake.Issues.PullRequests.AzureDevOps addin] with an personal access token see
-[Authenticate access with personal access tokens for Azure DevOps] for instructions how to create
-a personal access token.
-
-The access token needs to have the scope `Code (read and write)` set and the user needs to have `Contribute to pull requests`
-permission for the specific repository to allow [Cake.Issues.PullRequests.AzureDevOps addin] to post issues as comments to pull requests.
-
-# OAuth authentication from Azure Pipelines
-
-:::{.alert .alert-info}
-OAuth authentication is only available for Azure DevOps Service.
-:::
-
-If you want to use the [Cake.Issues.PullRequests.AzureDevOps addin] from an Azure Pipelines you can authenticate using the
-OAuth token provided to the build.
-For this you need to enable the [Allow scripts to access the OAuth token] option on the build definition.
-
-To authenticate you can use the [AzureDevOpsAuthenticationOAuth] alias from the [Cake.AzureDevOps addin].
-
-The user under which the build runs, named ` Build Service ()` (e.g. `Cake.Issues-Demo Build Service (cake-contrib)`),
-needs to have `Contribute to pull requests` permission for the specific repository to allow [Cake.Issues.PullRequests.AzureDevOps addin]
-to post issues as comments to pull requests.
-
-# Azure Active Directory
-
-:::{.alert .alert-info}
-OAuth authentication is only available for Azure DevOps Service.
-:::
-
-To authenticate with Azure Active Directory you can use the [AzureDevOpsAuthenticationAzureActiveDirectory] alias from the [Cake.AzureDevOps addin].
-
-The user needs to have `Contribute to pull requests` permission for the specific repository to
-allow [Cake.Issues.PullRequests.AzureDevOps addin] to post issues as comments to pull requests.
-
-[Cake.Issues.PullRequests.AzureDevOps addin]: https://www.nuget.org/packages/Cake.Issues.PullRequests.AzureDevOps
-[Cake.AzureDevOps addin]: https://www.nuget.org/packages/Cake.AzureDevOps
-[Configure TFS to use Basic Authentication]: https://docs.microsoft.com/en-us/azure/devops/integrate/get-started/auth/tfs-basic-auth#configure-tfs-to-use-basic-authentication
-[Authenticate access with personal access tokens for Azure DevOps]: https://docs.microsoft.com/en-us/azure/devops/organizations/accounts/use-personal-access-tokens-to-authenticate
-[Allow scripts to access the OAuth token]: https://docs.microsoft.com/en-us/azure/devops/pipelines/build/options#allow-scripts-to-access-the-oauth-token
-[AzureDevOpsAuthenticationNtlm]: https://cakebuild.net/api/Cake.AzureDevOps/AzureDevOpsAliases/F2A040B7
-[AzureDevOpsAuthenticationBasic]: https://cakebuild.net/api/Cake.AzureDevOps/AzureDevOpsAliases/7CD679FF
-[AzureDevOpsAuthenticationPersonalAccessToken]: https://cakebuild.net/api/Cake.AzureDevOps/AzureDevOpsAliases/F4DCC101
-[AzureDevOpsAuthenticationOAuth]: https://cakebuild.net/api/Cake.AzureDevOps/AzureDevOpsAliases/988E9C28
-[AzureDevOpsAuthenticationAzureActiveDirectory]: https://cakebuild.net/api/Cake.AzureDevOps/AzureDevOpsAliases/0B9F5DF6
diff --git a/docs/input/docs/pull-request-systems/github-actions/examples/index.cshtml b/docs/input/docs/pull-request-systems/github-actions/examples/index.cshtml
deleted file mode 100644
index f6edfee20..000000000
--- a/docs/input/docs/pull-request-systems/github-actions/examples/index.cshtml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-Title: Examples
-Description: Examples for using the Cake.Issues.PullRequests.GitHubActions addin.
----
-
@Html.Raw(Model.String(DocsKeys.Description))
-
-@Html.Partial("_ChildPages")
\ No newline at end of file
diff --git a/docs/input/docs/pull-request-systems/github-actions/examples/write-annotations.md b/docs/input/docs/pull-request-systems/github-actions/examples/write-annotations.md
deleted file mode 100644
index 719a51917..000000000
--- a/docs/input/docs/pull-request-systems/github-actions/examples/write-annotations.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-Order: 10
-Title: Create annotations in GitHub Actions
-Description: Example how to write issues as annotations to a GitHub Actions build.
----
-This example shows how to report issues as annotations to a GitHub Actions build.
-
-To report issues as annotations to a GitHub Actions build you need to import the core addin,
-the core pull request addin, the GitHub Actions support and one or more issue providers,
-in this example for JetBrains InspectCode:
-
-```csharp
-#addin "Cake.Issues"
-#addin "Cake.Issues.InspectCode"
-#addin "Cake.Issues.PullRequests"
-#addin "Cake.Issues.PullRequests.GitHubActions"
-```
-
-:::{.alert .alert-warning}
-Please note that you always should pin addins to a specific version to make sure your builds are deterministic and
-won't break due to updates to one of the addins.
-
-See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details.
-:::
-
-In the following task we'll first determine the remote repository URL and
-source branch of the pull request and with this information call the [GitHubActionsBuilds] alias:
-
-```csharp
-Task("ReportIssuesToGitHubActions").Does(() =>
-{
- var repoRootFolder = MakeAbsolute(Directory("./"));
-
- ReportIssuesToPullRequest(
- InspectCodeIssuesFromFilePath(
- @"C:\build\inspectcode.log"),
- GitHubActionsBuilds(),
- repoRootFolder);
-});
-```
-
-The output will show up in the build log grouped by issue provider / run:
-
-![Log output](../githubactions-log-output.png "Log output")
-
-Additionally the issues show up as annotations:
-
-![Annotations](../githubactions-annotations.png "Annotations")
-
-Having issues available as annotations also means that they will be shown in pull requests on the related file / position:
-
-![Pull request integration](../githubactions-pullrequest-integration.png "Pull request integration")
-
-[GitHubActionsBuilds]: ../../../../api/Cake.Issues.PullRequests.GitHubActions/GitHubActionsBuildsAliases/
diff --git a/docs/input/docs/pull-request-systems/github-actions/features.md b/docs/input/docs/pull-request-systems/github-actions/features.md
deleted file mode 100644
index 91dea5e3c..000000000
--- a/docs/input/docs/pull-request-systems/github-actions/features.md
+++ /dev/null
@@ -1,25 +0,0 @@
----
-Order: 20
-Title: Features
-Description: Features of the Cake.Issues.PullRequests.GitHubActions addin.
----
-The [Cake.Issues.PullRequests.GitHubActions addin] creates annotations from issues when running on GitHub actions.
-
-![Pull request integration](githubactions-pullrequest-integration.png "Pull request integration")
-
-# Basic features
-
-* Reports issues as annotations to GitHub Actions builds.
-* Group issues in log output by provider and run information.
-
-# Supported capabilities
-
-The [Cake.Issues.PullRequests.GitHubActions addin] doesn't support any additional capabilities.
-
-| | Capability | Remarks |
-|--------------------------------------------------------------------|--------------------------------|--------------------------------|
-| | Checking commit ID | |
-| | Discussion threads | |
-| | Filtering by modified files | |
-
-[Cake.Issues.PullRequests.GitHubActions addin]: https://www.nuget.org/packages/Cake.Issues.PullRequests.GitHubActions
diff --git a/docs/input/docs/pull-request-systems/github-actions/index.cshtml b/docs/input/docs/pull-request-systems/github-actions/index.cshtml
deleted file mode 100644
index aba361913..000000000
--- a/docs/input/docs/pull-request-systems/github-actions/index.cshtml
+++ /dev/null
@@ -1,10 +0,0 @@
----
-Title: GitHub Actions
-Description: Support for GitHub Actions.
----
-
-
-@Html.Partial("_ChildPages")
\ No newline at end of file
diff --git a/docs/input/docs/pull-request-systems/github-actions/requirements.md b/docs/input/docs/pull-request-systems/github-actions/requirements.md
deleted file mode 100644
index e1e66947a..000000000
--- a/docs/input/docs/pull-request-systems/github-actions/requirements.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-Order: 10
-Title: Requirements
-Description: Requirements for the Cake.Issues.PullRequests.GitHubActions addin.
----
-The requirements for using the [Cake.Issues.PullRequests.GitHubActions addin] are listed in the [release notes] for any specific version.
-
-[Cake.Issues.PullRequests.GitHubActions addin]: https://www.nuget.org/packages/Cake.Issues.PullRequests.GitHubActions
-[release notes]: release-notes
diff --git a/docs/input/docs/pull-request-systems/index.cshtml b/docs/input/docs/pull-request-systems/index.cshtml
deleted file mode 100644
index d97667a6c..000000000
--- a/docs/input/docs/pull-request-systems/index.cshtml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-Order: 70
-Description: Documentation of the different pull request system implementations.
----
-
@Html.Raw(Model.String(DocsKeys.Description))
-
-@Html.Partial("_ChildPages")
\ No newline at end of file
diff --git a/docs/input/docs/report-formats/console/examples.md b/docs/input/docs/report-formats/console/examples.md
deleted file mode 100644
index ea9f76c5d..000000000
--- a/docs/input/docs/report-formats/console/examples.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-Order: 30
-Title: Examples
-Description: Examples for using the Cake.Issues.Reporting.Console addin.
----
-The following example will print issues logged as warnings by MsBuild to the console.
-
-:::{.alert .alert-warning}
-Please note that you always should pin addins and tools to a specific version to make sure your builds are deterministic and
-won't break due to updates to one of the packages.
-
-See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details.
-:::
-
-```csharp
-#tool "nuget:?package=MSBuild.Extension.Pack"
-#addin "Cake.Issues"
-#addin "Cake.Issues.MsBuild"
-#addin "Cake.Issues.Reporting"
-#addin "Cake.Issues.Reporting.Console"
-
-Task("Create-IssueReport").Does(() =>
-{
- var repoRootFolder = new DirectoryPath(@"c:\repo");
-
- // Build MySolution.sln solution in the repository root folder and log issues
- // using XmlFileLogger from MSBuild Extension Pack.
- FilePath msBuildLogFile = @"c:\build\msbuild.log";
- var settings = new MsBuildSettings()
- .WithLogger(
- Context.Tools.Resolve("MSBuild.ExtensionPack.Loggers.dll").FullPath,
- "XmlFileLogger",
- string.Format(
- "logfile=\"{0}\";verbosity=Detailed;encoding=UTF-8",
- msBuildLogFile)
- );
- MSBuild(repoRootFolder.CombineWithFilePath("MySolution.sln"), settings);
-
- // Write issues to console.
- CreateIssueReport(
- new List
- {
- MsBuildIssuesFromFilePath(
- msBuildLogFile,
- MsBuildXmlFileLoggerFormat)
- },
- ConsoleIssueReportFormat(
- new ConsoleIssueReportFormatSettings
- {
- GroupByRule = true,
- ShowProviderSummary = true,
- ShowPrioritySummary = true
- }),
- repoRootFolder,
- string.Empty);
-});
-```
diff --git a/docs/input/docs/report-formats/console/features.md b/docs/input/docs/report-formats/console/features.md
deleted file mode 100644
index 77b9ec143..000000000
--- a/docs/input/docs/report-formats/console/features.md
+++ /dev/null
@@ -1,14 +0,0 @@
----
-Order: 20
-Title: Features
-Description: Features of the Cake.Issues.Reporting.Console addin.
----
-The [Cake.Issues.Reporting.Console addin] provides the following features:
-
-* Prints issues containing line and column information.
-* Group issues by rule
-* Reports:
- * Number of issues by provider
- * Number of issues by priority for every provider and run
-
-[Cake.Issues.Reporting.Console addin]: https://www.nuget.org/packages/Cake.Issues.Reporting.Console
diff --git a/docs/input/docs/report-formats/console/index.cshtml b/docs/input/docs/report-formats/console/index.cshtml
deleted file mode 100644
index 5003c9001..000000000
--- a/docs/input/docs/report-formats/console/index.cshtml
+++ /dev/null
@@ -1,12 +0,0 @@
----
-Title: Console
-Description: Report format to print issues to the console.
----
-
-
-@Html.Partial("_ChildPages")
\ No newline at end of file
diff --git a/docs/input/docs/report-formats/console/requirements.md b/docs/input/docs/report-formats/console/requirements.md
deleted file mode 100644
index 469d4c60c..000000000
--- a/docs/input/docs/report-formats/console/requirements.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-Order: 10
-Title: Requirements
-Description: Requirements for the Cake.Issues.Reporting.Console addin.
----
-The requirements for using the [Cake.Issues.Reporting.Console addin] are listed in the [release notes] for any specific version.
-
-[Cake.Issues.Reporting.Console addin]: https://www.nuget.org/packages/Cake.Issues.Reporting.Console
-[release notes]: release-notes
\ No newline at end of file
diff --git a/docs/input/docs/report-formats/generic/examples/custom-template.md b/docs/input/docs/report-formats/generic/examples/custom-template.md
deleted file mode 100644
index 8f3bbf242..000000000
--- a/docs/input/docs/report-formats/generic/examples/custom-template.md
+++ /dev/null
@@ -1,116 +0,0 @@
----
-Order: 20
-Title: Custom template
-Description: Example how to create a report using a custom template
----
-:::{.alert .alert-info}
-If you create a universally usable custom template we're happy to package it with the addin.
-To have it included in the addin please [create a pull request] with your contribution.
-:::
-
-The following example will create a HTML report for issues logged as warnings by MsBuild using a custom template.
-
-:::{.alert .alert-warning}
-Please note that you always should pin addins and tools to a specific version to make sure your builds are deterministic and
-won't break due to updates to one of the packages.
-
-See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details.
-:::
-
-```csharp
-#tool "nuget:?package=MSBuild.Extension.Pack"
-#addin "Cake.Issues"
-#addin "Cake.Issues.MsBuild"
-#addin "Cake.Issues.Reporting"
-#addin "Cake.Issues.Reporting.Generic"
-
-Task("Create-IssueReport").Does(() =>
-{
- var repoRootFolder = new DirectoryPath(@"c:\repo");
-
- // Build MySolution.sln solution in the repository root folder and log issues
- // using XmlFileLogger from MSBuild Extension Pack.
- FilePath msBuildLogFile = @"c:\build\msbuild.log";
- var settings = new MsBuildSettings()
- .WithLogger(
- Context.Tools.Resolve("MSBuild.ExtensionPack.Loggers.dll").FullPath,
- "XmlFileLogger",
- string.Format(
- "logfile=\"{0}\";verbosity=Detailed;encoding=UTF-8",
- msBuildLogFile)
- );
- MSBuild(repoRootFolder.CombineWithFilePath("MySolution.sln"), settings);
-
- // Create HTML report using Diagnostic template.
- CreateIssueReport(
- new List
- {
- MsBuildIssuesFromFilePath(
- msBuildLogFile,
- MsBuildXmlFileLoggerFormat)
- },
- GenericIssueReportFormatFromFilePath(@"c:\ReportTemplate.cshtml"),
- repoRootFolder,
- @"c:\report.html");
-});
-```
-
-`ReportTemplate` looks like this:
-
-```csharp
-@model IEnumerable
-
-
-
-
-
-
-
-
-
-
-
-
-
AffectedFileRelativePath
-
Line
-
Message
-
Priority
-
Rule
-
RuleUrl
-
ProviderType
-
-
-
- @foreach (var issue in Model)
- {
-
-
@issue.AffectedFileRelativePath
-
@issue.Line
-
@issue.MessageText
-
@issue.Priority
-
@issue.RuleId
-
@issue.RuleUrl
-
@issue.ProviderType
-
- }
-
-
-
-
-```
-
-The template retrieves an `IEnumerable` as model.
-
-:::{.alert .alert-info}
-In custom templates functionality from the following assemblies are available:
-
-* System.dll
-* System.Core.dll
-* netstandard.dll
-* Cake.Core.dll
-* Cake.Issues.dll
-* Cake.Issues.Reporting.Generic.dll
-
-:::
-
-[create a pull request]: https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/CONTRIBUTING.md
diff --git a/docs/input/docs/report-formats/generic/examples/default-template.md b/docs/input/docs/report-formats/generic/examples/default-template.md
deleted file mode 100644
index 7da2601bb..000000000
--- a/docs/input/docs/report-formats/generic/examples/default-template.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-Order: 10
-Title: Embedded default template
-Description: Example how to create a report using an embedded default template.
----
-The following example will create a HTML report for issues logged as warnings by MsBuild.
-
-:::{.alert .alert-warning}
-Please note that you always should pin addins and tools to a specific version to make sure your builds are deterministic and
-won't break due to updates to one of the packages.
-
-See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details.
-:::
-
-```csharp
-#tool "nuget:?package=MSBuild.Extension.Pack"
-#addin "Cake.Issues"
-#addin "Cake.Issues.MsBuild"
-#addin "Cake.Issues.Reporting"
-#addin "Cake.Issues.Reporting.Generic"
-
-Task("Create-IssueReport").Does(() =>
-{
- var repoRootFolder = new DirectoryPath(@"c:\repo");
-
- // Build MySolution.sln solution in the repository root folder and log issues
- // using XmlFileLogger from MSBuild Extension Pack.
- FilePath msBuildLogFile = @"c:\build\msbuild.log";
- var settings = new MsBuildSettings()
- .WithLogger(
- Context.Tools.Resolve("MSBuild.ExtensionPack.Loggers.dll").FullPath,
- "XmlFileLogger",
- string.Format(
- "logfile=\"{0}\";verbosity=Detailed;encoding=UTF-8",
- msBuildLogFile)
- );
- MSBuild(repoRootFolder.CombineWithFilePath("MySolution.sln"), settings);
-
- // Create HTML report using Diagnostic template.
- CreateIssueReport(
- new List
- {
- MsBuildIssuesFromFilePath(
- msBuildLogFile,
- MsBuildXmlFileLoggerFormat)
- },
- GenericIssueReportFormatFromEmbeddedTemplate(GenericIssueReportTemplate.HtmlDiagnostic),
- repoRootFolder,
- @"c:\report.html");
-});
-```
\ No newline at end of file
diff --git a/docs/input/docs/report-formats/generic/examples/index.cshtml b/docs/input/docs/report-formats/generic/examples/index.cshtml
deleted file mode 100644
index f820e1ac5..000000000
--- a/docs/input/docs/report-formats/generic/examples/index.cshtml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-Title: Examples
-Description: Examples for using the Cake.Issues.Reporting.Generic addin.
----
-
@Html.Raw(Model.String(DocsKeys.Description))
-
-@Html.Partial("_ChildPages")
\ No newline at end of file
diff --git a/docs/input/docs/report-formats/generic/features.md b/docs/input/docs/report-formats/generic/features.md
deleted file mode 100644
index 247752c6e..000000000
--- a/docs/input/docs/report-formats/generic/features.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-Order: 20
-Title: Features
-Description: Features of the Cake.Issues.Reporting.Generic addin.
----
-The [Cake.Issues.Reporting.Generic addin] provides the following features:
-
-* Creates reports in any text based format like HTML or Markdown.
-* Provides out of the box templates
-* Possibility to use custom templates using Razor
-* File linking support for different hosting providers (e.g. [GitHub], [Azure DevOps])
-
-:::{.alert .alert-info}
-See [Template Gallery] for a list of available out of the box and 3rd party templates.
-:::
-
-[Cake.Issues.Reporting.Generic addin]: https://www.nuget.org/packages/Cake.Issues.Reporting.Generic
-[Template Gallery]: templates/
-[GitHub]: ../../../api/Cake.Issues.Reporting.Generic/GenericIssueReportFormatAliases/025FE825
-[Azure DevOps]: ../../../api/Cake.Issues.Reporting.Generic/GenericIssueReportFormatAliases/61E51241
diff --git a/docs/input/docs/report-formats/generic/index.cshtml b/docs/input/docs/report-formats/generic/index.cshtml
deleted file mode 100644
index 801250351..000000000
--- a/docs/input/docs/report-formats/generic/index.cshtml
+++ /dev/null
@@ -1,12 +0,0 @@
----
-Title: Generic
-Description: Report format to create reports in any text based format (HTML, Markdown, ...).
----
-
@Html.Raw(Model.String(DocsKeys.Description))
-
-
- Support for creating reports in any text based format like HTML or Markdown is implemented in the
- Cake.Issues.Reporting.Generic addin.
-
-
-@Html.Partial("_ChildPages")
\ No newline at end of file
diff --git a/docs/input/docs/report-formats/generic/requirements.md b/docs/input/docs/report-formats/generic/requirements.md
deleted file mode 100644
index e5c917073..000000000
--- a/docs/input/docs/report-formats/generic/requirements.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-Order: 10
-Title: Requirements
-Description: Requirements for the Cake.Issues.Reporting.Generic addin.
----
-The requirements for using the [Cake.Issues.Reporting.Generic addin] are listed in the [release notes] for any specific version.
-
-[Cake.Issues.Reporting.Generic addin]: https://www.nuget.org/packages/Cake.Issues.Reporting.Generic
-[release notes]: release-notes
\ No newline at end of file
diff --git a/docs/input/docs/report-formats/generic/templates/.artifactignore b/docs/input/docs/report-formats/generic/templates/.artifactignore
deleted file mode 100644
index 3c8fd7f2d..000000000
--- a/docs/input/docs/report-formats/generic/templates/.artifactignore
+++ /dev/null
@@ -1,2 +0,0 @@
-**/*
-!*.html
\ No newline at end of file
diff --git a/docs/input/docs/report-formats/generic/templates/htmldatatable.md b/docs/input/docs/report-formats/generic/templates/htmldatatable.md
deleted file mode 100644
index 68653531b..000000000
--- a/docs/input/docs/report-formats/generic/templates/htmldatatable.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-Order: 20
-Title: HTML Data Table
-Description: Template for a HTML report containing a rich data table view with sorting and search functionality.
----
-Template for a HTML report containing a rich data table view with sorting and search functionality powered by [Simple-DataTables].
-
-![HTML Data Table](htmldatatable01.png "HTML Data Table")
-
-# Features
-
-* Separate table for issues of each issue provider.
-* Table with `Severity`, `Project`, `Path`, `File`, `Location`, `Rule`, `Message`.
-* Each column sortable by user.
-* Paged table with possibility for user to change number of entries per page.
-* Client-side full text search.
-* No internet access required for displaying.
-
-# Requirements
-
-* Cake.Issues.Reporting.Generic 0.2.1 or higher
-
-# Usage
-
-To create a report using the HTML Data Table template you can use the [GenericIssueReportTemplate.HtmlDataTable] enum value:
-
-```csharp
-CreateIssueReport(
- issues,
- GenericIssueReportFormatFromEmbeddedTemplate(GenericIssueReportTemplate.HtmlDataTable),
- @"c:\repo",
- @"c:\report.html");
-```
-
-# Options
-
-This template doesn't support any options.
-
-# Demos
-
-* Default
-
-# Source Code
-
-:::{.alert .alert-info}
-You can use the source code as a template for your [custom template].
-:::
-
-Source code is available on [GitHub].
-
-[Simple-DataTables]: https://github.com/fiduswriter/Simple-DataTables
-[GenericIssueReportTemplate.HtmlDataTable]: ../../../../../Cake.Issues.Website/api/Cake.Issues.Reporting.Generic/GenericIssueReportTemplate/62ADE81F
-[custom template]: ../examples/custom-template
-[GitHub]: https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/src/Cake.Issues.Reporting.Generic/Templates/DataTable.cshtml
diff --git a/docs/input/docs/report-formats/generic/templates/htmldiagnostic.md b/docs/input/docs/report-formats/generic/templates/htmldiagnostic.md
deleted file mode 100644
index 8e3b8f023..000000000
--- a/docs/input/docs/report-formats/generic/templates/htmldiagnostic.md
+++ /dev/null
@@ -1,50 +0,0 @@
----
-Order: 30
-Title: HTML Diagnostic
-Description: Template for a HTML report containing a list of all issues with all properties.
----
-Template for a HTML report containing a list of all issues with all properties.
-
-![HTML Diagnostic](htmldiagnostic01.png "HTML Diagnostic")
-
-# Features
-
-* Unstyled table listing all properties of [IIssue]
-* No internet access required for displaying.
-
-# Requirements
-
-* No additional requirements.
-
-# Usage
-
-To create a report using the HTML diagnostic template you can use the [GenericIssueReportTemplate.HtmlDiagnostic] enum value:
-
-```csharp
-CreateIssueReport(
- issues,
- GenericIssueReportFormatFromEmbeddedTemplate(GenericIssueReportTemplate.HtmlDiagnostic),
- @"c:\repo",
- @"c:\report.html");
-```
-
-# Options
-
-This template doesn't support any options.
-
-# Demos
-
-* Default
-
-# Source Code
-
-:::{.alert .alert-info}
-You can use the source code as a template for your [custom template].
-:::
-
-Source code is available on [GitHub].
-
-[IIssue]: ../../../../../Cake.Issues.Website/api/Cake.Issues/IIssue/
-[GenericIssueReportTemplate.HtmlDiagnostic]: ../../../../../Cake.Issues.Website/api/Cake.Issues.Reporting.Generic/GenericIssueReportTemplate/4F88BD05
-[custom template]: ../examples/custom-template
-[GitHub]: https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/src/Cake.Issues.Reporting.Generic/Templates/Diagnostic.cshtml
\ No newline at end of file
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid.md b/docs/input/docs/report-formats/generic/templates/htmldxdatagrid.md
deleted file mode 100644
index d0745306a..000000000
--- a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid.md
+++ /dev/null
@@ -1,240 +0,0 @@
----
-Order: 10
-Title: HTML DevExtreme Data Grid
-Description: Template for a HTML report containing a rich data grid with sorting, filtering, grouping and search capabilities.
----
-Template for a HTML report containing a rich data grid with sorting, filtering, grouping and search capabilities powered by [DevExtreme].
-
-![HTML DevExtreme Data Grid](htmldxdatagrid01.png "HTML DevExtreme Data Grid")
-
-# Features
-
-* Table with `Provider`, `Severity`, `Project`, `Path`, `File`, `Location`, `Rule`, `Message` by default.
-* Support for grouping by multiple columns by user.
-* Total number of issues by each group level.
-* Each column sortable by user.
-* Data can be filtered by any column by user.
-* Paged view.
-* Client-side full text search.
-* Client-side export to Microsoft Excel or PDF.
-* Fully customizable through [options](#options).
-
-# Requirements
-
-* Cake.Issues.Reporting.Generic 0.3.1 or higher
-
-# Usage
-
-To create a report using the HTML DevExtreme Data Grid template you can use the [GenericIssueReportTemplate.HtmlDxDataGrid] enum value:
-
-```csharp
-CreateIssueReport(
- issues,
- GenericIssueReportFormatFromEmbeddedTemplate(GenericIssueReportTemplate.HtmlDxDataGrid),
- @"c:\repo",
- @"c:\report.html");
-```
-
-# Options
-
-See [HtmlDxDataGridOption] for a list of possible options.
-
-# Demos
-
-The following demo shows the template with its default options:
-
-* Default
- (Source Code)
-
-## Themes
-
-The template supports the teams defined in the [DevExtremeTheme] enumeration which can be set using the [HtmlDxDataGridOption.Theme]:
-
-```csharp
-CreateIssueReport(
- issues,
- GenericIssueReportFormatFromEmbeddedTemplate(
- GenericIssueReportTemplate.HtmlDxDataGrid,
- settings => settings.WithOption(HtmlDxDataGridOption.Theme, DevExtremeTheme.MaterialBlueLight)),
- @"c:\repo",
- @"c:\report.html");
-```
-
-* Light Theme
- (Source Code)
-* Dark Theme
- (Source Code)
-* Contrast Theme
- (Source Code)
-* Carmine Theme
- (Source Code)
-* Dark Moon Theme
- (Source Code)
-* Soft Blue Theme
- (Source Code)
-* Dark Violet Theme
- (Source Code)
-* Green Mist Theme
- (Source Code)
-* Light Compact Theme
- (Source Code)
-* Dark Compact Theme
- (Source Code)
-* Contrast Compact Theme
- (Source Code)
-* Material Blue Light Theme
- (Source Code)
-* Material Lime Light Theme
- (Source Code)
-* Material Orange Light Theme
- (Source Code)
-* Material Purple Light Theme
- (Source Code)
-* Material Teal Light Theme
- (Source Code)
-* Material Blue Dark Theme
- (Source Code)
-* Material Lime Dark Theme
- (Source Code)
-* Material Orange Dark Theme
- (Source Code)
-* Material Purple Dark Theme
- (Source Code)
-* Material Teal Dark Theme
- (Source Code)
-* Material Blue Light Compact Theme
- (Source Code)
-* Material Lime Light Compact Theme
- (Source Code)
-* Material Orange Light Compact Theme
- (Source Code)
-* Material Purple Light Compact Theme
- (Source Code)
-* Material Teal Light Compact Theme
- (Source Code)
-* Material Blue Dark Compact Theme
- (Source Code)
-* Material Lime Dark Compact Theme
- (Source Code)
-* Material Orange Dark Compact Theme
- (Source Code)
-* Material Purple Dark Compact Theme
- (Source Code)
-* Material Teal Dark Compact Theme
- (Source Code)
-
-## Column visibility
-
-Visible columns can be defined using the `ColumnNameVisible` option:
-
-```csharp
-CreateIssueReport(
- issues,
- GenericIssueReportFormatFromEmbeddedTemplate(
- GenericIssueReportTemplate.HtmlDxDataGrid,
- settings => settings.WithOption(HtmlDxDataGridOption.LineVisible, false)),
- @"c:\repo",
- @"c:\report.html");
-```
-
-Additional columns can be added using the [HtmlDxDataGridOption.AdditionalColumns] option.
-
-* Show and hide columns
- (Source Code)
-* Add additional columns
- (Source Code)
-
-## Sorting
-
-Sorted columns can be defined using the [HtmlDxDataGridOption.SortedColumns] and the
-`ColumnNameSortOder` options:
-
-```csharp
-CreateIssueReport(
- issues,
- GenericIssueReportFormatFromEmbeddedTemplate(
- GenericIssueReportTemplate.HtmlDxDataGrid,
- settings => settings
- .WithOption(HtmlDxDataGridOption.SortedColumns, new List { ReportColumn.RuleId })
- .WithOption(HtmlDxDataGridOption.RuleIdSortOder, ColumnSortOderDescending )),
- @"c:\repo",
- @"c:\report.html");
-```
-
-* Change sorting
- (Source Code)
-
-## Grouping
-
-Grouping can be defined using the [HtmlDxDataGridOption.GroupedColumns] option:
-
-```csharp
-CreateIssueReport(
- issues,
- GenericIssueReportFormatFromEmbeddedTemplate(
- GenericIssueReportTemplate.HtmlDxDataGrid,
- settings => settings.WithOption(HtmlDxDataGridOption.GroupedColumns, new List { ReportColumn.RuleId })),
- @"c:\repo",
- @"c:\report.html");
-```
-
-* Change grouping
- (Source Code)
-* Disable grouping
- (Source Code)
-
-## Exporting
-
-Exporting can be enabled using the [HtmlDxDataGridOption.EnableExporting] option:
-
-```csharp
-CreateIssueReport(
- issues,
- GenericIssueReportFormatFromEmbeddedTemplate(
- GenericIssueReportTemplate.HtmlDxDataGrid,
- settings => settings.WithOption(HtmlDxDataGridOption.EnableExporting, true)),
- @"c:\repo",
- @"c:\report.html");
-```
-
-* Enable exporting
- (Source Code)
-* Microsoft Excel export (*.xlsx)
- (Source Code)
-* PDF export (*.pdf)
- (Source Code)
-* Custom export file name
- (Source Code)
-
-## Other features
-
-* Change title
- (Source Code)
-* Disable header
- (Source Code)
-* Disable filtering
- (Source Code)
-* Disable searching
- (Source Code)
-* Custom script location and version
- (Source Code)
-
-# Source Code
-
-:::{.alert .alert-info}
-You can use the source code as a template for your [custom template].
-:::
-
-Source code is available on [GitHub].
-
-[DevExtreme]: https://js.devexpress.com
-[GenericIssueReportTemplate.HtmlDxDataGrid]: ../../../../../api/Cake.Issues.Reporting.Generic/GenericIssueReportTemplate/0E9E9D94
-[HtmlDxDataGridOption]: ../../../../../api/Cake.Issues.Reporting.Generic/HtmlDxDataGridOption/
-[DevExtremeTheme]: ../../../../../api/Cake.Issues.Reporting.Generic/DevExtremeTheme/
-[HtmlDxDataGridOption.Theme]: ../../../../../api/Cake.Issues.Reporting.Generic/HtmlDxDataGridOption/EA83DCAB
-[HtmlDxDataGridOption.AdditionalColumns]: ../../../../../api/Cake.Issues.Reporting.Generic/HtmlDxDataGridOption/F9860912
-[HtmlDxDataGridOption.SortedColumns]: ../../../../../api/Cake.Issues.Reporting.Generic/HtmlDxDataGridOption/D578E453
-[HtmlDxDataGridOption.GroupedColumns]: ../../../../../api/Cake.Issues.Reporting.Generic/HtmlDxDataGridOption/0907599C
-[HtmlDxDataGridOption.EnableExporting]: ../../../../../api/Cake.Issues.Reporting.Generic/HtmlDxDataGridOption/1441E285
-[custom template]: ../examples/custom-template
-[GitHub]: https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/src/Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml
diff --git a/docs/input/docs/report-formats/generic/templates/index.cshtml b/docs/input/docs/report-formats/generic/templates/index.cshtml
deleted file mode 100644
index b7e0cc3c3..000000000
--- a/docs/input/docs/report-formats/generic/templates/index.cshtml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-Title: Template Gallery
-Description: Gallery of available out of the box and 3rd party templates.
----
-
@Html.Raw(Model.String(DocsKeys.Description))
-
-@Html.Partial("_ChildPages")
\ No newline at end of file
diff --git a/docs/input/docs/report-formats/index.cshtml b/docs/input/docs/report-formats/index.cshtml
deleted file mode 100644
index b7df95e01..000000000
--- a/docs/input/docs/report-formats/index.cshtml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-Order: 60
-Description: Documentation of the different report format addins.
----
-
@Html.Raw(Model.String(DocsKeys.Description))
-
-@Html.Partial("_ChildPages")
\ No newline at end of file
diff --git a/docs/input/docs/report-formats/sarif/examples.md b/docs/input/docs/report-formats/sarif/examples.md
deleted file mode 100644
index 31b231753..000000000
--- a/docs/input/docs/report-formats/sarif/examples.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-Order: 30
-Title: Examples
-Description: Examples for using the Cake.Issues.Reporting.Sarif addin.
----
-The following example will create a SARIF report for issues logged as warnings by MsBuild.
-
-:::{.alert .alert-warning}
-Please note that you always should pin addins and tools to a specific version to make sure your builds are deterministic and
-won't break due to updates to one of the packages.
-
-See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details.
-:::
-
-```csharp
-#tool "nuget:?package=MSBuild.Extension.Pack"
-#addin "Cake.Issues"
-#addin "Cake.Issues.MsBuild"
-#addin "Cake.Issues.Reporting"
-#addin "Cake.Issues.Reporting.Sarif"
-
-Task("Create-IssueReport").Does(() =>
-{
- var repoRootFolder = new DirectoryPath(@"c:\repo");
-
- // Build MySolution.sln solution in the repository root folder and log issues
- // using XmlFileLogger from MSBuild Extension Pack.
- FilePath msBuildLogFile = @"c:\build\msbuild.log";
- var settings = new MsBuildSettings()
- .WithLogger(
- Context.Tools.Resolve("MSBuild.ExtensionPack.Loggers.dll").FullPath,
- "XmlFileLogger",
- string.Format(
- "logfile=\"{0}\";verbosity=Detailed;encoding=UTF-8",
- msBuildLogFile)
- );
- MSBuild(repoRootFolder.CombineWithFilePath("MySolution.sln"), settings);
-
- // Create SARIF report.
- CreateIssueReport(
- new List
- {
- MsBuildIssuesFromFilePath(
- msBuildLogFile,
- MsBuildXmlFileLoggerFormat)
- },
- SarifIssueReportFormat(),
- repoRootFolder,
- @"c:\report.sarif");
-});
-```
\ No newline at end of file
diff --git a/docs/input/docs/report-formats/sarif/features.md b/docs/input/docs/report-formats/sarif/features.md
deleted file mode 100644
index b2ab2de32..000000000
--- a/docs/input/docs/report-formats/sarif/features.md
+++ /dev/null
@@ -1,17 +0,0 @@
----
-Order: 20
-Title: Features
-Description: Features of the Cake.Issues.Reporting.Sarif addin.
----
-The [Cake.Issues.Reporting.Sarif addin] provides the following features:
-
-* Creates SARIF compatible files.
-* Supports the following properties in the SARIF report:
- * RuleId
- * Message
- * Kind
- * Level
- * Location
- * RuleUrl
-
-[Cake.Issues.Reporting.Sarif addin]: https://www.nuget.org/packages/Cake.Issues.Reporting.Sarif
diff --git a/docs/input/docs/report-formats/sarif/index.cshtml b/docs/input/docs/report-formats/sarif/index.cshtml
deleted file mode 100644
index 55d163ac7..000000000
--- a/docs/input/docs/report-formats/sarif/index.cshtml
+++ /dev/null
@@ -1,12 +0,0 @@
----
-Title: Sarif
-Description: Report format to create SARIF compatible reports.
----
-
-
-@Html.Partial("_ChildPages")
\ No newline at end of file
diff --git a/docs/input/docs/report-formats/sarif/requirements.md b/docs/input/docs/report-formats/sarif/requirements.md
deleted file mode 100644
index ab7342854..000000000
--- a/docs/input/docs/report-formats/sarif/requirements.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-Order: 10
-Title: Requirements
-Description: Requirements for the Cake.Issues.Reporting.Sarif addin.
----
-The requirements for using the [Cake.Issues.Reporting.Sarif addin] are listed in the [release notes] for any specific version.
-
-[Cake.Issues.Reporting.Sarif addin]: https://www.nuget.org/packages/Cake.Issues.Reporting.Sarif
-[release notes]: release-notes
\ No newline at end of file
diff --git a/docs/input/docs/resources/index.cshtml b/docs/input/docs/resources/index.cshtml
deleted file mode 100644
index 030806012..000000000
--- a/docs/input/docs/resources/index.cshtml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-Order: 90
-Description: Resources about Cake.Issues.
----
-
@Html.Raw(Model.String(DocsKeys.Description))
-
-@Html.Partial("_ChildPages")
\ No newline at end of file
diff --git a/docs/input/docs/thanks.cshtml b/docs/input/docs/thanks.cshtml
deleted file mode 100644
index 366ed21e1..000000000
--- a/docs/input/docs/thanks.cshtml
+++ /dev/null
@@ -1,127 +0,0 @@
----
-Order: 110
-Title: Thanks
-Description: People who brought you Cake Issues
----
-
-@*
-Based on Code from https://github.com/reactiveui/website
-
-The MIT License (MIT)
-
-Copyright (c) 2017 Geoffrey Huntley
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-the Software, and to permit persons to whom the Software is furnished to do so,
-subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-*@
-
-
-
-
-
-
-
-
diff --git a/docs/input/docs/usage/creating-issues/creating-issues.md b/docs/input/docs/usage/creating-issues/creating-issues.md
deleted file mode 100644
index a959e1d3b..000000000
--- a/docs/input/docs/usage/creating-issues/creating-issues.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-Order: 10
-Title: Creating issues
-Description: Usage instructions how to create issues.
----
-The `Cake.Issues` addin can be used to create issues directly in the build script.
-This issues can for example be used to create reports.
-
-To create issues you need to import the following core addin:
-
-```csharp
-#addin "Cake.Issues"
-```
-
-:::{.alert .alert-warning}
-Please note that you always should pin addins to a specific version to make sure your builds are deterministic and
-won't break due to updates to one of the addins.
-
-See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details.
-:::
-
-In the following task a new warning for the myfile.txt file on line 42 is created:
-
-```csharp
-Task("Create-Issue").Does(() =>
-{
- var issue =
- NewIssue(
- "Something went wrong",
- "MyCakeScript",
- "My Cake Script")
- .WithMessageInHtmlFormat("Something went wrong")
- .WithMessageInMarkdownFormat("Something went **wrong**")
- .InFile("myfile.txt", 42)
- .WithPriority(IssuePriority.Warning)
- .Create();
-
- Information("Issue created with message: {0}", issues.MessageText);
-});
-```
\ No newline at end of file
diff --git a/docs/input/docs/usage/creating-issues/index.cshtml b/docs/input/docs/usage/creating-issues/index.cshtml
deleted file mode 100644
index 901fac32f..000000000
--- a/docs/input/docs/usage/creating-issues/index.cshtml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-Order: 20
-Description: How to create issues using Cake.Issues.
----
-
@Html.Raw(Model.String(DocsKeys.Description))
-
-@Html.Partial("_ChildPages")
\ No newline at end of file
diff --git a/docs/input/docs/usage/creating-reports/creating-reports.md b/docs/input/docs/usage/creating-reports/creating-reports.md
deleted file mode 100644
index e093dc134..000000000
--- a/docs/input/docs/usage/creating-reports/creating-reports.md
+++ /dev/null
@@ -1,43 +0,0 @@
----
-Order: 10
-Title: Creating reports
-Description: Usage instructions how to create reports.
----
-To create report for issues you need to import the following core addins:
-
-```csharp
-#addin "Cake.Issues"
-#addin "Cake.Issues.Reporting"
-```
-
-Also you need to import at least one issue provider and report format.
-In the following example the issue provider for reading warnings from MsBuild log files
-and generic report format is imported:
-
-```csharp
-#addin "Cake.Issues.MsBuild"
-#addin "Cake.Issues.Reporting.Generic"
-```
-
-:::{.alert .alert-warning}
-Please note that you always should pin addins to a specific version to make sure your builds are deterministic and
-won't break due to updates to one of the addins.
-
-See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details.
-:::
-
-Finally you can define a task where you call the reporting addin with the desired issue provider and report format:
-
-```csharp
-Task("Create-Report").Does(() =>
-{
- var repoRootFolder = new DirectoryPath(@"C:\repo");
- CreateIssueReport(
- MsBuildIssuesFromFilePath(
- @"C:\build\msbuild.log",
- MsBuildXmlFileLoggerFormat),
- GenericIssueReportFormatFromEmbeddedTemplate(GenericIssueReportTemplate.HtmlDiagnostic),
- repoRootFolder,
- @"c:\report.html");
-});
-```
\ No newline at end of file
diff --git a/docs/input/docs/usage/creating-reports/index.cshtml b/docs/input/docs/usage/creating-reports/index.cshtml
deleted file mode 100644
index 7fae8a618..000000000
--- a/docs/input/docs/usage/creating-reports/index.cshtml
+++ /dev/null
@@ -1,11 +0,0 @@
----
-Order: 40
-Description: How to create reports using Cake.Issues.Reporting.
----
-
-
-@Html.Partial("_ChildPages")
\ No newline at end of file
diff --git a/docs/input/docs/usage/index.cshtml b/docs/input/docs/usage/index.cshtml
deleted file mode 100644
index ecdcaa164..000000000
--- a/docs/input/docs/usage/index.cshtml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-Order: 30
-Description: How to obtain, configure, and use Cake.Issues.
----
-
@Html.Raw(Model.String(DocsKeys.Description))
-
-@Html.Partial("_ChildPages")
\ No newline at end of file
diff --git a/docs/input/docs/usage/reading-issues/file-linking.md b/docs/input/docs/usage/reading-issues/file-linking.md
deleted file mode 100644
index 0870ee7b9..000000000
--- a/docs/input/docs/usage/reading-issues/file-linking.md
+++ /dev/null
@@ -1,27 +0,0 @@
----
-Order: 30
-Title: File linking
-Description: Example how to define file link settings.
----
-File link settings can be defined while reading issues and are passed through the `IIssue.FileLink` property to
-reporting formats, pull request systems and build server implementations:
-
-```csharp
-var settings =
- new ReadIssuesSettings(@"c:\repo")
- {
- FileLinkSettings =
- IssueFileLinkSettingsForGitHubCommit(
- "https://github.com/cake-contrib/Cake.Issues.Reporting.Generic",
- "76a7cacef7ad4295a6766646d45c9b56")
- };
-
- var issues =
- ReadIssues(
- InspectCodeIssuesFromFilePath(
- @"C:\build\inspectcode.log"),
- settings));
-```
-
-Cake.Issues comes with out-of-the-box support for linking to files hosted on GitHub and Azure Repos,
-either for a specific branch or commit. Additionally there are aliases which can be used to define any custom pattern.
diff --git a/docs/input/docs/usage/reading-issues/index.cshtml b/docs/input/docs/usage/reading-issues/index.cshtml
deleted file mode 100644
index 39c8dc63a..000000000
--- a/docs/input/docs/usage/reading-issues/index.cshtml
+++ /dev/null
@@ -1,11 +0,0 @@
----
-Order: 30
-Description: How to read issues using Cake.Issues.
----
-
-
-@Html.Partial("_ChildPages")
\ No newline at end of file
diff --git a/docs/input/docs/usage/reading-issues/reading-issues.md b/docs/input/docs/usage/reading-issues/reading-issues.md
deleted file mode 100644
index ab3ad10ea..000000000
--- a/docs/input/docs/usage/reading-issues/reading-issues.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-Order: 10
-Title: Reading issues
-Description: Usage instructions how to read issues.
----
-The `Cake.Issues` addin can be used to aggregate issues from different sources.
-This can for example be useful to break builds based on the reported issues.
-
-To read issues you need to import the following core addin:
-
-```csharp
-#addin "Cake.Issues"
-```
-
-Also you need to import at least one issue provider.
-In the following example the issue providers for reading warnings from MsBuild log files
-and from JetBrains InspectCode are imported:
-
-```csharp
-#addin "Cake.Issues.MsBuild"
-#addin "Cake.Issues.InspectCode"
-```
-
-:::{.alert .alert-warning}
-Please note that you always should pin addins to a specific version to make sure your builds are deterministic and
-won't break due to updates to one of the addins.
-
-See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details.
-:::
-
-Finally you can define a task where you call the core addin with the desired issue providers.
-The following example reads issues reported as MsBuild warnings by the `XmlFileLogger`
-class from [MSBuild Extension Pack] and issues reported by JetBrains InspectCode:
-
-```csharp
-Task("Read-Issues").Does(() =>
-{
- var repoRootFolder = new DirectoryPath(@"C:\repo");
- var issues = ReadIssues(
- new List
- {
- MsBuildIssuesFromFilePath(
- @"C:\build\msbuild.log",
- MsBuildXmlFileLoggerFormat),
- InspectCodeIssuesFromFilePath(
- @"C:\build\inspectcode.log")
- },
- repoRootFolder);
-
- Information("{0} issues are found.", issues.Count());
-});
-```
-
-[MSBuild Extension Pack]: http://www.msbuildextensionpack.com/
\ No newline at end of file
diff --git a/docs/input/docs/usage/reading-issues/run-information.md b/docs/input/docs/usage/reading-issues/run-information.md
deleted file mode 100644
index 9af71d1a1..000000000
--- a/docs/input/docs/usage/reading-issues/run-information.md
+++ /dev/null
@@ -1,42 +0,0 @@
----
-Order: 20
-Title: Additional run information
-Description: Example how to add run specific information.
----
-If a build script needs to parse multiple log files from the same tool, e.g. because multiple MsBuild solutions were built,
-this can be done by calling the issue provider multiple times.
-If the results are read into the same list and shown on the same report,
-individual issues could not be assigned to any of the calls, since issue provider type and name are identical.
-
-Starting with Cake.Issues 0.9.0 it is possible to pass additional run information while reading issues,
-which then will be stored with each issues in the `IIssue.Run` property:
-
-```csharp
-var issues = new List();
-
-// Parse issues from build of solution 1
-issues.AddRange(
- ReadIssues(
- MsBuildIssuesFromFilePath(
- @"C:\build\solution1-msbuild.log",
- MsBuildXmlFileLoggerFormat),
- new ReadIssuesSettings(@"c:\repo")
- {
- Run = "Solution 1"
- }
- )
-);
-
-// Parse issues from build of solution 2
-issues.AddRange(
- ReadIssues(
- MsBuildIssuesFromFilePath(
- @"C:\build\solution2-msbuild.log",
- MsBuildXmlFileLoggerFormat),
- new ReadIssuesSettings(@"c:\repo")
- {
- Run = "Solution 2"
- }
- )
-);
-```
diff --git a/docs/input/docs/usage/recipe/index.md b/docs/input/docs/usage/recipe/index.md
deleted file mode 100644
index db51cae81..000000000
--- a/docs/input/docs/usage/recipe/index.md
+++ /dev/null
@@ -1,8 +0,0 @@
----
-Order: 10
-Description: How to use the pre-made recipe script.
----
-
-Examples how to use Cake.Issues recipes can be found under [Recipe Usage].
-
-[Recipe Usage]: /docs/recipe/usage
\ No newline at end of file
diff --git a/docs/input/docs/usage/reporting-issues-to-pull-requests/custom-issue-filter.md b/docs/input/docs/usage/reporting-issues-to-pull-requests/custom-issue-filter.md
deleted file mode 100644
index f734b0d67..000000000
--- a/docs/input/docs/usage/reporting-issues-to-pull-requests/custom-issue-filter.md
+++ /dev/null
@@ -1,53 +0,0 @@
----
-Order: 20
-Title: Custom issue filter
-Description: Usage instructions how to apply custom filters to issues.
----
-You can define custom filters which are applied to issues before they are posted as comments to pull requests.
-
-:::{.alert .alert-info}
-You can use a custom filter to only have issues introduced with the current code posted to the pull request.
-
-For this you need to store your log files as artifacts on your build system, then you can define a custom filter
-which retrieves the logs from the previous build, parses them using the appropriate issue provider and filters
-out any issues which were already existing in the previous build.
-:::
-
-The following example will filter out all issues from the rule `CA1000` from being posted to the pull request.
-
-:::{.alert .alert-warning}
-Please note that you always should pin addins to a specific version to make sure your builds are deterministic and
-won't break due to updates to one of the addins.
-
-See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details.
-:::
-
-```csharp
-#addin "Cake.Issues"
-#addin "Cake.Issues.MsBuild"
-#addin "Cake.Issues.PullRequests"
-#addin "Cake.Issues.PullRequests.AzureDevOps"
-
-Task("ReportIssuesToPullRequest").Does(() =>
-{
- var repoRootFolder = new DirectoryPath(@"C:\repo");
-
- var settings = new ReportIssuesToPullRequestSettings(repoRootFolder);
-
- // Add custom filter.
- settings.IssueFilters.Add(x => x.Where(issue => issue.Rule != "CA1000"));
-
- ReportIssuesToPullRequest(
- new List
- {
- MsBuildIssuesFromFilePath(
- @"C:\build\msbuild.log",
- MsBuildXmlFileLoggerFormat)
- },
- AzureDevOpsPullRequests(
- new Uri("http://myserver:8080/tfs/defaultcollection/myproject/_git/myrepository"),
- "refs/heads/feature/myfeature",
- AzureDevOpsAuthenticationNtlm()),
- settings));
-});
-```
\ No newline at end of file
diff --git a/docs/input/docs/usage/reporting-issues-to-pull-requests/index.cshtml b/docs/input/docs/usage/reporting-issues-to-pull-requests/index.cshtml
deleted file mode 100644
index 5e39a0942..000000000
--- a/docs/input/docs/usage/reporting-issues-to-pull-requests/index.cshtml
+++ /dev/null
@@ -1,11 +0,0 @@
----
-Order: 50
-Description: How to report issues to pull requests using Cake.Issues.PullRequests.
----
-
-
-@Html.Partial("_ChildPages")
\ No newline at end of file
diff --git a/docs/input/docs/usage/reporting-issues-to-pull-requests/report-issues-to-pull-requests.md b/docs/input/docs/usage/reporting-issues-to-pull-requests/report-issues-to-pull-requests.md
deleted file mode 100644
index 8026224da..000000000
--- a/docs/input/docs/usage/reporting-issues-to-pull-requests/report-issues-to-pull-requests.md
+++ /dev/null
@@ -1,45 +0,0 @@
----
-Order: 10
-Title: Report issues to pull requests
-Description: Usage instructions how to report issues to pull requests.
----
-To use report issues to pull requests you need to import the following core addins:
-
-```csharp
-#addin "Cake.Issues"
-#addin "Cake.Issues.PullRequests"
-```
-
-Also you need to import at least one issue provider and pull request system.
-In the following example the issue provider for reading warnings from MsBuild log files
-and support for Azure DevOps pull requests is imported:
-
-```csharp
-#addin "Cake.Issues.MsBuild"
-#addin "Cake.Issues.PullRequests.AzureDevOps"
-```
-
-:::{.alert .alert-warning}
-Please note that you always should pin addins to a specific version to make sure your builds are deterministic and
-won't break due to updates to one of the addins.
-
-See [pinning addin versions](https://cakebuild.net/docs/tutorials/pinning-cake-version#pinning-addin-version) for details.
-:::
-
-Finally you can define a task where you call the core addin with the desired issue provider and pull request system:
-
-```csharp
-Task("ReportIssuesToPullRequest").Does(() =>
-{
- var repoRootFolder = new DirectoryPath(@"C:\repo");
- ReportIssuesToPullRequest(
- MsBuildIssuesFromFilePath(
- @"C:\build\msbuild.log",
- MsBuildXmlFileLoggerFormat),
- AzureDevOpsPullRequests(
- new Uri("http://myserver:8080/tfs/defaultcollection/myproject/_git/myrepository"),
- "refs/heads/feature/myfeature",
- AzureDevOpsAuthenticationNtlm()),
- repoRootFolder);
-});
-```
\ No newline at end of file
diff --git a/docs/input/docs/fundamentals/overview.png b/docs/input/documentation/assets/images/overview.png
similarity index 100%
rename from docs/input/docs/fundamentals/overview.png
rename to docs/input/documentation/assets/images/overview.png
diff --git a/docs/input/documentation/assets/tables/supported-tools-ansible.csv b/docs/input/documentation/assets/tables/supported-tools-ansible.csv
new file mode 100644
index 000000000..f121908be
--- /dev/null
+++ b/docs/input/documentation/assets/tables/supported-tools-ansible.csv
@@ -0,0 +1,4 @@
+"Tool","Tool Version","Format","Issue Provider","Supported Since"
+"[Ansible-lint](https://ansible.readthedocs.io/projects/lint/){target='_blank'}",,"[SARIF](https://ansible.readthedocs.io/projects/lint/usage/#sarif-json){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
+"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
+"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
\ No newline at end of file
diff --git a/docs/input/documentation/assets/tables/supported-tools-arm.csv b/docs/input/documentation/assets/tables/supported-tools-arm.csv
new file mode 100644
index 000000000..898f84884
--- /dev/null
+++ b/docs/input/documentation/assets/tables/supported-tools-arm.csv
@@ -0,0 +1,4 @@
+"Tool","Tool Version","Format","Issue Provider","Supported Since"
+"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
+"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
+"[Trivy](https://trivy.dev/){target='_blank'}",,"[SARIF](https://trivy.dev/v0.58/docs/configuration/reporting/#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
diff --git a/docs/input/documentation/assets/tables/supported-tools-bicep.csv b/docs/input/documentation/assets/tables/supported-tools-bicep.csv
new file mode 100644
index 000000000..9051896cd
--- /dev/null
+++ b/docs/input/documentation/assets/tables/supported-tools-bicep.csv
@@ -0,0 +1,3 @@
+"Tool","Tool Version","Format","Issue Provider","Supported Since"
+"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
+"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
diff --git a/docs/input/documentation/assets/tables/supported-tools-cfn.csv b/docs/input/documentation/assets/tables/supported-tools-cfn.csv
new file mode 100644
index 000000000..fb9afd343
--- /dev/null
+++ b/docs/input/documentation/assets/tables/supported-tools-cfn.csv
@@ -0,0 +1,5 @@
+"Tool","Tool Version","Format","Issue Provider","Supported Since"
+"[cfn-lint](https://github.com/aws-cloudformation/cfn-lint){target='_blank'}",,"[SARIF](https://github.com/aws-cloudformation/cfn-lint?tab=readme-ov-file#parameters){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
+"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
+"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
+"[Trivy](https://trivy.dev/){target='_blank'}",,"[SARIF](https://trivy.dev/v0.58/docs/configuration/reporting/#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
diff --git a/docs/input/documentation/assets/tables/supported-tools-clojure.csv b/docs/input/documentation/assets/tables/supported-tools-clojure.csv
new file mode 100644
index 000000000..302b089da
--- /dev/null
+++ b/docs/input/documentation/assets/tables/supported-tools-clojure.csv
@@ -0,0 +1,2 @@
+"Tool","Tool Version","Format","Issue Provider","Supported Since"
+"[clj-kondo](https://github.com/clj-kondo/clj-kondo){target='_blank'}",,"[sarif](https://github.com/clj-kondo/clj-kondo/blob/master/doc/config.md#print-results-in-sarif-format){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
diff --git a/docs/input/documentation/assets/tables/supported-tools-css.csv b/docs/input/documentation/assets/tables/supported-tools-css.csv
new file mode 100644
index 000000000..4c36a1c11
--- /dev/null
+++ b/docs/input/documentation/assets/tables/supported-tools-css.csv
@@ -0,0 +1,2 @@
+"Tool","Tool Version","Format","Issue Provider","Supported Since"
+"[stylelint](https://stylelint.io/){target='_blank'} :material-alert-decagram:",,"[tap](https://stylelint.io/user-guide/options/#formatter){target='_blank'}","[Cake.Issues.Tap](issue-providers/tap/index.md)",5.1.0
diff --git a/docs/input/documentation/assets/tables/supported-tools-docker.csv b/docs/input/documentation/assets/tables/supported-tools-docker.csv
new file mode 100644
index 000000000..b3f8b5517
--- /dev/null
+++ b/docs/input/documentation/assets/tables/supported-tools-docker.csv
@@ -0,0 +1,5 @@
+"Tool","Tool Version","Format","Issue Provider","Supported Since"
+"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
+"[Hadolint](https://github.com/hadolint/hadolint){target='_blank'}",,"[sarif](https://github.com/hadolint/hadolint?tab=readme-ov-file#cli){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
+"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
+"[Trivy](https://trivy.dev/){target='_blank'}",,"[SARIF](https://trivy.dev/v0.58/docs/configuration/reporting/#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
diff --git a/docs/input/documentation/assets/tables/supported-tools-dotnet.csv b/docs/input/documentation/assets/tables/supported-tools-dotnet.csv
new file mode 100644
index 000000000..019ef0d25
--- /dev/null
+++ b/docs/input/documentation/assets/tables/supported-tools-dotnet.csv
@@ -0,0 +1,16 @@
+"Tool","Tool Version","Format","Issue Provider","Supported Since"
+"~~[dupFinder](https://www.jetbrains.com/help/resharper/2021.2/dupFinder.html){target='_blank'}~~{ title='Deprecated since dupFinder Command Line Tool has been sunsetted' } ",,,"Cake.Issues.DupFinder",0.8.0
+"[InspectCode](https://www.jetbrains.com/help/resharper/InspectCode.html){target='_blank'}",,"[xml](https://www.jetbrains.com/help/resharper/InspectCode.html#alternative-output-formats){target='_blank'}","[Cake.Issues.InspectCode](issue-providers/inspectcode/index.md)",0.1.0
+"[InspectCode](https://www.jetbrains.com/help/resharper/InspectCode.html){target='_blank'}",">= 2024.1","[SARIF](https://www.jetbrains.com/help/resharper/InspectCode.html#understanding-output){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
+"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 7](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",0.6.1
+"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 8](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",0.8.0
+"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 9](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",2.0.0
+"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 16](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",3.0.0
+"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 17](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",4.0.0
+"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 18](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",4.1.0
+"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 20](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",4.3.0
+"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 21](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",4.7.0
+"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 22](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",4.10.0
+"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 23](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",4.11.0
+"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[Binary Log 24](https://learn.microsoft.com/en-us/visualstudio/msbuild/obtaining-build-logs-with-msbuild#save-a-binary-log){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",4.12.0
+"[MsBuild](https://docs.microsoft.com/visualstudio/msbuild/msbuild){target='_blank'}",,"[XmlFileLogger](https://github.com/mikefourie-zz/MSBuildExtensionPack/blob/master/Solutions/Main/Loggers/Framework/XmlFileLogger.cs){target='_blank'}","[Cake.Issues.MsBuild](issue-providers/msbuild/index.md)",0.1.0
\ No newline at end of file
diff --git a/docs/input/documentation/assets/tables/supported-tools-github-actions.csv b/docs/input/documentation/assets/tables/supported-tools-github-actions.csv
new file mode 100644
index 000000000..a9958c141
--- /dev/null
+++ b/docs/input/documentation/assets/tables/supported-tools-github-actions.csv
@@ -0,0 +1,3 @@
+"Tool","Tool Version","Format","Issue Provider","Supported Since"
+"[actionlint](https://github.com/rhysd/actionlint){target='_blank'}",,"[SARIF](https://github.com/rhysd/actionlint/blob/v1.7.4/docs/usage.md#example-sarif-format){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
+"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
diff --git a/docs/input/documentation/assets/tables/supported-tools-go.csv b/docs/input/documentation/assets/tables/supported-tools-go.csv
new file mode 100644
index 000000000..b2f4f4013
--- /dev/null
+++ b/docs/input/documentation/assets/tables/supported-tools-go.csv
@@ -0,0 +1,2 @@
+"Tool","Tool Version","Format","Issue Provider","Supported Since"
+"[golangci-lint](https://github.com/golangci/golangci-lint){target='_blank'}",,"[sarif](https://golangci-lint.run/usage/configuration/#output-configuration){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
\ No newline at end of file
diff --git a/docs/input/documentation/assets/tables/supported-tools-groovy.csv b/docs/input/documentation/assets/tables/supported-tools-groovy.csv
new file mode 100644
index 000000000..998220ca0
--- /dev/null
+++ b/docs/input/documentation/assets/tables/supported-tools-groovy.csv
@@ -0,0 +1,2 @@
+"Tool","Tool Version","Format","Issue Provider","Supported Since"
+"[npm-groovy-lint](https://github.com/nvuillam/npm-groovy-lint){target='_blank'}",,"[sarif](https://github.com/nvuillam/npm-groovy-lint?tab=readme-ov-file#usage){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
\ No newline at end of file
diff --git a/docs/input/documentation/assets/tables/supported-tools-helm.csv b/docs/input/documentation/assets/tables/supported-tools-helm.csv
new file mode 100644
index 000000000..898f84884
--- /dev/null
+++ b/docs/input/documentation/assets/tables/supported-tools-helm.csv
@@ -0,0 +1,4 @@
+"Tool","Tool Version","Format","Issue Provider","Supported Since"
+"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
+"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
+"[Trivy](https://trivy.dev/){target='_blank'}",,"[SARIF](https://trivy.dev/v0.58/docs/configuration/reporting/#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
diff --git a/docs/input/documentation/assets/tables/supported-tools-java.csv b/docs/input/documentation/assets/tables/supported-tools-java.csv
new file mode 100644
index 000000000..5db0ea9c1
--- /dev/null
+++ b/docs/input/documentation/assets/tables/supported-tools-java.csv
@@ -0,0 +1,2 @@
+"Tool","Tool Version","Format","Issue Provider","Supported Since"
+"[checkstyle](https://checkstyle.org/){target='_blank'}",,"[sarif](https://checkstyle.org/cmdline.html#Command_line_usage_Command_Line_Options){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
\ No newline at end of file
diff --git a/docs/input/documentation/assets/tables/supported-tools-javascript.csv b/docs/input/documentation/assets/tables/supported-tools-javascript.csv
new file mode 100644
index 000000000..6925ecbe9
--- /dev/null
+++ b/docs/input/documentation/assets/tables/supported-tools-javascript.csv
@@ -0,0 +1,2 @@
+"Tool","Tool Version","Format","Issue Provider","Supported Since"
+"[ESLint](https://eslint.org){target='_blank'}","Current","[json](https://eslint.org/docs/latest/use/formatters/#json){target='_blank'}","[Cake.Issues.EsLint](issue-providers/eslint/index.md)",0.1.0
\ No newline at end of file
diff --git a/docs/input/documentation/assets/tables/supported-tools-json.csv b/docs/input/documentation/assets/tables/supported-tools-json.csv
new file mode 100644
index 000000000..90fc0a3ea
--- /dev/null
+++ b/docs/input/documentation/assets/tables/supported-tools-json.csv
@@ -0,0 +1,3 @@
+"Tool","Tool Version","Format","Issue Provider","Supported Since"
+"[eslint-plugin-json](https://www.npmjs.com/package/eslint-plugin-json){target='_blank'}",,,"[Cake.Issues.EsLint](issue-providers/eslint/index.md)",0.1.0
+"[eslint-plugin-jsonc](https://www.npmjs.com/package/eslint-plugin-jsonc){target='_blank'}",,,"[Cake.Issues.EsLint](issue-providers/eslint/index.md)",0.1.0
\ No newline at end of file
diff --git a/docs/input/documentation/assets/tables/supported-tools-jsx.csv b/docs/input/documentation/assets/tables/supported-tools-jsx.csv
new file mode 100644
index 000000000..e093c2634
--- /dev/null
+++ b/docs/input/documentation/assets/tables/supported-tools-jsx.csv
@@ -0,0 +1,3 @@
+"Tool","Tool Version","Format","Issue Provider","Supported Since"
+"[eslint-plugin-jsx-a11y](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y){target='_blank'}",,,"[Cake.Issues.EsLint](issue-providers/eslint/index.md)",0.1.0
+"[eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react){target='_blank'}",,,"[Cake.Issues.EsLint](issue-providers/eslint/index.md)",0.1.0
\ No newline at end of file
diff --git a/docs/input/documentation/assets/tables/supported-tools-kotlin.csv b/docs/input/documentation/assets/tables/supported-tools-kotlin.csv
new file mode 100644
index 000000000..364af791d
--- /dev/null
+++ b/docs/input/documentation/assets/tables/supported-tools-kotlin.csv
@@ -0,0 +1,3 @@
+"Tool","Tool Version","Format","Issue Provider","Supported Since"
+"[detekt](https://detekt.dev/){target='_blank'}",,[sarif](https://detekt.dev/docs/introduction/reporting#sarif),"[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
+"[ktlint](https://pinterest.github.io/ktlint){target='_blank'}",,[sarif](https://pinterest.github.io/ktlint/latest/install/cli/#violation-reporting),"[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
diff --git a/docs/input/documentation/assets/tables/supported-tools-kubernetes.csv b/docs/input/documentation/assets/tables/supported-tools-kubernetes.csv
new file mode 100644
index 000000000..bcbfbbaa3
--- /dev/null
+++ b/docs/input/documentation/assets/tables/supported-tools-kubernetes.csv
@@ -0,0 +1,5 @@
+"Tool","Tool Version","Format","Issue Provider","Supported Since"
+"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
+"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
+"[Kubeconform](https://github.com/yannh/kubeconform){target='_blank'} :material-alert-decagram:",,"[tap](https://github.com/yannh/kubeconform?tab=readme-ov-file#usage){target='_blank'}","[Cake.Issues.Tap](issue-providers/tap/index.md)",4.2.0
+"[Trivy](https://trivy.dev/){target='_blank'}",,"[SARIF](https://trivy.dev/v0.58/docs/configuration/reporting/#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
\ No newline at end of file
diff --git a/docs/input/documentation/assets/tables/supported-tools-markdown.csv b/docs/input/documentation/assets/tables/supported-tools-markdown.csv
new file mode 100644
index 000000000..9f64c7f04
--- /dev/null
+++ b/docs/input/documentation/assets/tables/supported-tools-markdown.csv
@@ -0,0 +1,8 @@
+"Tool","Tool Version","Format","Issue Provider","Supported Since"
+"[DocFx](https://dotnet.github.io/docfx/){target='_blank'}",,,"[Cake.Issues.DocFx](issue-providers/docfx/index.md)",0.1.0
+"[markdownlint](https://github.com/DavidAnson/markdownlint){target='_blank'}",,"[resultVersion=1](https://github.com/DavidAnson/markdownlint?tab=readme-ov-file#optionsresultversion){target='_blank'}","[Cake.Issues.Markdownlint](issue-providers/markdownlint/index.md)",0.1.0
+"[markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli){target='_blank'}",< 0.9.0,"Default","[Cake.Issues.Markdownlint](issue-providers/markdownlint/index.md)",0.2.0
+"[markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli){target='_blank'}",>= 0.9.0,"Default","[Cake.Issues.Markdownlint](issue-providers/markdownlint/index.md)",0.3.0
+"[markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli){target='_blank'}",>= 0.19.0,"Default","[Cake.Issues.Markdownlint](issue-providers/markdownlint/index.md)",0.8.1
+"[markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli){target='_blank'}",>= 0.22.0,"Default","[Cake.Issues.Markdownlint](issue-providers/markdownlint/index.md)",0.8.2
+"[markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli){target='_blank'}",,"[json](https://github.com/igorshubovych/markdownlint-cli?tab=readme-ov-file#usage){target='_blank'}","[Cake.Issues.Markdownlint](issue-providers/markdownlint/index.md)",1.1.0
\ No newline at end of file
diff --git a/docs/input/documentation/assets/tables/supported-tools-natural-language.csv b/docs/input/documentation/assets/tables/supported-tools-natural-language.csv
new file mode 100644
index 000000000..70d0155b6
--- /dev/null
+++ b/docs/input/documentation/assets/tables/supported-tools-natural-language.csv
@@ -0,0 +1,2 @@
+"Tool","Tool Version","Format","Issue Provider","Supported Since"
+"[textlint](https://textlint.github.io/){target='_blank'} :material-alert-decagram:",,"[tap](https://textlint.github.io/docs/cli.html#options){target='_blank'}","[Cake.Issues.Tap](issue-providers/tap/index.md)",5.1.0
diff --git a/docs/input/documentation/assets/tables/supported-tools-openapi.csv b/docs/input/documentation/assets/tables/supported-tools-openapi.csv
new file mode 100644
index 000000000..96b4ef9ab
--- /dev/null
+++ b/docs/input/documentation/assets/tables/supported-tools-openapi.csv
@@ -0,0 +1,4 @@
+"Tool","Tool Version","Format","Issue Provider","Supported Since"
+"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
+"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
+"[Spectral](https://meta.stoplight.io/docs/spectral/674b27b261c3c-overview){target='_blank'}",,[sarif](https://meta.stoplight.io/docs/spectral/9ffa04e052cc1-spectral-cli),"[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
diff --git a/docs/input/documentation/assets/tables/supported-tools-php.csv b/docs/input/documentation/assets/tables/supported-tools-php.csv
new file mode 100644
index 000000000..0878c0555
--- /dev/null
+++ b/docs/input/documentation/assets/tables/supported-tools-php.csv
@@ -0,0 +1,2 @@
+"Tool","Tool Version","Format","Issue Provider","Supported Since"
+"[Psalm](https://psalm.dev/){target='_blank'}",,[results.sarif](https://psalm.dev/docs/security_analysis/#other-sarif-compatible-software),"[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
diff --git a/docs/input/documentation/assets/tables/supported-tools-protobuf.csv b/docs/input/documentation/assets/tables/supported-tools-protobuf.csv
new file mode 100644
index 000000000..22b934ae6
--- /dev/null
+++ b/docs/input/documentation/assets/tables/supported-tools-protobuf.csv
@@ -0,0 +1,2 @@
+"Tool","Tool Version","Format","Issue Provider","Supported Since"
+"[protolint](https://github.com/yoheimuta/protolint){target='_blank'}",,[sarif](https://github.com/yoheimuta/protolint?tab=readme-ov-file#reporters),"[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
diff --git a/docs/input/documentation/assets/tables/supported-tools-python.csv b/docs/input/documentation/assets/tables/supported-tools-python.csv
new file mode 100644
index 000000000..ad9f749ac
--- /dev/null
+++ b/docs/input/documentation/assets/tables/supported-tools-python.csv
@@ -0,0 +1,2 @@
+"Tool","Tool Version","Format","Issue Provider","Supported Since"
+"[Bandit](https://bandit.readthedocs.io/){target='_blank'}",,[sarif](https://bandit.readthedocs.io/en/latest/formatters/sarif.html),"[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
diff --git a/docs/input/documentation/assets/tables/supported-tools-secrets.csv b/docs/input/documentation/assets/tables/supported-tools-secrets.csv
new file mode 100644
index 000000000..fdf91fa5e
--- /dev/null
+++ b/docs/input/documentation/assets/tables/supported-tools-secrets.csv
@@ -0,0 +1,6 @@
+"Tool","Tool Version","Format","Issue Provider","Supported Since"
+"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
+"[DevSkim](https://github.com/microsoft/DevSkim){target='_blank'}",,[sarif](https://github.com/microsoft/DevSkim/wiki/Analyze-Command#output-file-and-format),"[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
+"[gitleaks](https://gitleaks.io/){target='_blank'}",,[sarif](https://github.com/gitleaks/gitleaks?tab=readme-ov-file#reporting),"[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
+"[secretlint](https://github.com/secretlint/secretlint){target='_blank'}",,[sarif](https://github.com/secretlint/secretlint?tab=readme-ov-file#sarif-format-support),"[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
+"[semgrep](https://semgrep.dev/){target='_blank'}",,[sarif](https://semgrep.dev/docs/getting-started/cli#scan-your-project),"[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
diff --git a/docs/input/documentation/assets/tables/supported-tools-terraform.csv b/docs/input/documentation/assets/tables/supported-tools-terraform.csv
new file mode 100644
index 000000000..97e4e9695
--- /dev/null
+++ b/docs/input/documentation/assets/tables/supported-tools-terraform.csv
@@ -0,0 +1,6 @@
+"Tool","Tool Version","Format","Issue Provider","Supported Since"
+"[checkov](https://www.checkov.io/){target='_blank'}",,"[SARIF](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
+"[kics](https://kics.io/){target='_blank'}",,"[sarif](https://github.com/Checkmarx/kics/blob/master/docs/results.md#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
+"[Terraform Validate](https://www.terraform.io/docs/cli/commands/validate.html){target='_blank'}",,,"[Cake.Issues.Terraform](issue-providers/terraform/index.md)",1.0.0
+"[TFLint](https://github.com/terraform-linters/tflint){target='_blank'}",,"[sarif](https://github.com/terraform-linters/tflint?tab=readme-ov-file#usage){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
+"[Trivy](https://trivy.dev/){target='_blank'}",,"[SARIF](https://trivy.dev/v0.58/docs/configuration/reporting/#sarif){target='_blank'}","[Cake.Issues.Sarif](issue-providers/sarif/index.md)",4.2.0
diff --git a/docs/input/documentation/assets/tables/supported-tools-typescript.csv b/docs/input/documentation/assets/tables/supported-tools-typescript.csv
new file mode 100644
index 000000000..6925ecbe9
--- /dev/null
+++ b/docs/input/documentation/assets/tables/supported-tools-typescript.csv
@@ -0,0 +1,2 @@
+"Tool","Tool Version","Format","Issue Provider","Supported Since"
+"[ESLint](https://eslint.org){target='_blank'}","Current","[json](https://eslint.org/docs/latest/use/formatters/#json){target='_blank'}","[Cake.Issues.EsLint](issue-providers/eslint/index.md)",0.1.0
\ No newline at end of file
diff --git a/docs/input/docs/contributing/how-to-build.md b/docs/input/documentation/contributing/how-to-build.md
similarity index 55%
rename from docs/input/docs/contributing/how-to-build.md
rename to docs/input/documentation/contributing/how-to-build.md
index 0e256a7e2..a9100d7b2 100644
--- a/docs/input/docs/contributing/how-to-build.md
+++ b/docs/input/documentation/contributing/how-to-build.md
@@ -1,8 +1,8 @@
---
-Order: 30
-Title: How to build addins
-Description: Instructions how to build individual Cake Issues addins.
+title: How to build addins
+description: Instructions how to build individual Cake Issues addins.
---
+
To build this a package we are using Cake.
On Windows PowerShell run:
@@ -14,4 +14,5 @@ On Windows PowerShell run:
On OSX/Linux run:
```bash
-./build.sh
\ No newline at end of file
+./build.sh
+```
diff --git a/docs/input/docs/contributing/how-to-contribute.md b/docs/input/documentation/contributing/how-to-contribute.md
similarity index 69%
rename from docs/input/docs/contributing/how-to-contribute.md
rename to docs/input/documentation/contributing/how-to-contribute.md
index 8004ea3dd..52db0222f 100644
--- a/docs/input/docs/contributing/how-to-contribute.md
+++ b/docs/input/documentation/contributing/how-to-contribute.md
@@ -1,8 +1,8 @@
---
-Order: 10
-Title: How to contribute
-Description: Instructions how to contribute to Cake Issues addins.
+title: How to contribute
+description: Instructions how to contribute to Cake Issues addins.
---
+
The repositories are using [GitFlow] with default configuration.
Development is happening on `develop` branch.
@@ -16,4 +16,4 @@ To contribute:
For getting started see issues marked with `Up-for-grabs` in the individual repositories.
-[GitFlow]: (http://nvie.com/posts/a-successful-git-branching-model/)
\ No newline at end of file
+[GitFlow]: https://nvie.com/posts/a-successful-git-branching-model/
diff --git a/docs/input/docs/contributing/how-to-release.md b/docs/input/documentation/contributing/how-to-release.md
similarity index 53%
rename from docs/input/docs/contributing/how-to-release.md
rename to docs/input/documentation/contributing/how-to-release.md
index fd8031546..6ff7b63a7 100644
--- a/docs/input/docs/contributing/how-to-release.md
+++ b/docs/input/documentation/contributing/how-to-release.md
@@ -1,8 +1,8 @@
---
-Order: 40
-Title: How to release addins
-Description: Instructions how to release individual Cake Issues addins.
+title: How to release addins
+description: Instructions how to release individual Cake Issues addins.
---
+
See [Cake.Recipe documentation] how to create a new release of this addin.
-[Cake.Recipe documentation]: https://cake-contrib.github.io/Cake.Recipe/docs/usage/creating-release
\ No newline at end of file
+[Cake.Recipe documentation]: https://cake-contrib.github.io/Cake.Recipe/docs/usage/creating-release
diff --git a/docs/input/documentation/extending/index.md b/docs/input/documentation/extending/index.md
new file mode 100644
index 000000000..d4f38ade0
--- /dev/null
+++ b/docs/input/documentation/extending/index.md
@@ -0,0 +1,10 @@
+---
+title: Extending
+description: Instructions how to add support for additional analyzers, report formats and pull request system to the Cake Issues Addin.
+---
+
+Cake Issues can easily be extended with additional [Issue Provider], [Report Formats] and [Pull Request System integrations].
+
+[Issue Provider]: issue-provider/overview.md
+[Report Formats]: report-format/overview.md
+[Pull Request System integrations]: pull-request-system/overview.md
\ No newline at end of file
diff --git a/docs/input/documentation/extending/issue-provider/categories.md b/docs/input/documentation/extending/issue-provider/categories.md
new file mode 100644
index 000000000..828617af6
--- /dev/null
+++ b/docs/input/documentation/extending/issue-provider/categories.md
@@ -0,0 +1,21 @@
+---
+title: Alias categories
+description: Instructions how to set the alias category.
+---
+
+Issue provider aliases should use the [IssuesAliasConstants.MainCakeAliasCategory](https://cakebuild.net/api/Cake.Issues/IssuesAliasConstants/41CCADF8){target="_blank"}
+and [IssuesAliasConstants.IssueProviderCakeAliasCategory](https://cakebuild.net/api/Cake.Issues/IssuesAliasConstants/D265B28D){target="_blank"}
+constants for defining their category:
+
+```csharp
+[CakeAliasCategory(IssuesAliasConstants.MainCakeAliasCategory)]
+public static class MyIssueProviderAliases
+{
+ [CakeMethodAlias]
+ [CakeAliasCategory(IssuesAliasConstants.IssueProviderCakeAliasCategory)]
+ public static IIssueProvider MyIssueProvider(
+ this ICakeContext context)
+ {
+ }
+}
+```
diff --git a/docs/input/docs/extending/issue-provider/helper.md b/docs/input/documentation/extending/issue-provider/helper.md
similarity index 56%
rename from docs/input/docs/extending/issue-provider/helper.md
rename to docs/input/documentation/extending/issue-provider/helper.md
index e2c4e3b1c..6e444efe3 100644
--- a/docs/input/docs/extending/issue-provider/helper.md
+++ b/docs/input/documentation/extending/issue-provider/helper.md
@@ -1,16 +1,16 @@
---
-Order: 50
-Title: Helper
-Description: Overview of different helper classes for implementing issue providers.
+title: Helper
+description: Overview of different helper classes for implementing issue providers.
---
+
The following helpers are provider by `Cake.Issues` for simplifying implementation of issue providers:
-| Helper | Description |
-|--------------------------|--------------------------------------------------------------------------------|
-| [StringPathExtensions] | Extensions for string for handling paths. |
-| [ByteArrayExtensions] | Extensions for converting between strings an byte arrays. |
+| Helper | Description |
+|------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------|
+| [StringPathExtensions](https://cakebuild.net/api/Cake.Issues/StringPathExtensions/){target="_blank"} | Extensions for string for handling paths. |
+| [ByteArrayExtensions](https://cakebuild.net/api/Cake.Issues/ByteArrayExtensions/){target="_blank"} | Extensions for converting between strings an byte arrays. |
-# File linking
+## File linking
Cake.Issues provides infrastructure to get links to files on source code hosts like GitHub or Azure Repos.
This infrastructure can be used inside issue providers to generate file links which can be used inside the issue messages:
@@ -44,6 +44,3 @@ protected override IEnumerable InternalReadIssues()
return result;
}
```
-
-[StringPathExtensions]: ../../../api/Cake.Issues/StringPathExtensions/
-[ByteArrayExtensions]: ../../../api/Cake.Issues/ByteArrayExtensions/
\ No newline at end of file
diff --git a/docs/input/documentation/extending/issue-provider/overview.md b/docs/input/documentation/extending/issue-provider/overview.md
new file mode 100644
index 000000000..3a9925425
--- /dev/null
+++ b/docs/input/documentation/extending/issue-provider/overview.md
@@ -0,0 +1,21 @@
+---
+title: Overview
+description: Overview how to implement support for an analyzer or linter.
+---
+
+Issue providers need to implement the [IIssueProvider](https://cakebuild.net/api/Cake.Issues/IIssueProvider/){target="_blank"}
+interface.
+
+## Base classes
+
+For simplifying implementation there exists base classes from which concrete implementation can be inherited.
+
+| Base Class | Use case | Tutorial |
+|--------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------|-------------------------------------|
+| [BaseIssueProvider](https://cakebuild.net/api/Cake.Issues/BaseIssueProvider/){target="_blank"} | Base class for a simple issue provider implementation. | [Simple provider] |
+| [BaseConfigurableIssueProvider](https://cakebuild.net/api/Cake.Issues/BaseConfigurableIssueProvider_1/){target="_blank"} | Base class for a issue provider with issue provider specific settings. | [Provider settings] |
+| [BaseMultiFormatIssueProvider](https://cakebuild.net/api/Cake.Issues/BaseMultiFormatIssueProvider_2/){target="_blank"} | Base class for issue providers supporting multiple log formats. | [Multiple log file formats support] |
+
+[Simple provider]: tutorials/simple.md
+[Provider settings]: tutorials/settings.md
+[Multiple log file formats support]: tutorials/logfile-format.md
diff --git a/docs/input/docs/extending/issue-provider/tutorials/logfile-format.md b/docs/input/documentation/extending/issue-provider/tutorials/logfile-format.md
similarity index 87%
rename from docs/input/docs/extending/issue-provider/tutorials/logfile-format.md
rename to docs/input/documentation/extending/issue-provider/tutorials/logfile-format.md
index 2bbd0d283..b9f671672 100644
--- a/docs/input/docs/extending/issue-provider/tutorials/logfile-format.md
+++ b/docs/input/documentation/extending/issue-provider/tutorials/logfile-format.md
@@ -1,16 +1,18 @@
---
-Order: 30
-Title: Multiple log file formats
-Description: Instructions how to implement an issue provider with support for multiple log file formats.
+title: Multiple log file formats
+description: Instructions how to implement an issue provider with support for multiple log file formats.
---
+
A single issue provider might support reading issues from multiple different log file formats.
-For these cases the `Cake.Issue` addin provides the [BaseMultiFormatIssueProvider], [BaseMultiFormatIssueProviderSettings]
-and [BaseLogFileFormat] classes for simplifying implementation in the issue provider addin.
+For these cases the `Cake.Issue` addin provides the [BaseMultiFormatIssueProvider](https://cakebuild.net/api/Cake.Issues/BaseMultiFormatIssueProvider_2/){target="_blank"},
+[BaseMultiFormatIssueProviderSettings](https://cakebuild.net/api/Cake.Issues/BaseMultiFormatIssueProviderSettings_2/){target="_blank"}
+and [BaseLogFileFormat](https://cakebuild.net/api/Cake.Issues/BaseLogFileFormat_2/){target="_blank"}
+classes for simplifying implementation in the issue provider addin.
-# Implementing issue provider
+## Implementing issue provider
-A concrete class inheriting from [BaseMultiFormatIssueProvider] needs to be implemented defining the
-concrete types.
+A concrete class inheriting from [BaseMultiFormatIssueProvider](https://cakebuild.net/api/Cake.Issues/BaseMultiFormatIssueProvider_2/){target="_blank"}
+needs to be implemented defining the concrete types.
```csharp
///
@@ -33,8 +35,8 @@ public class MyIssuesProvider : BaseMultiFormatIssueProvider
@@ -92,7 +94,7 @@ public abstract class MyLogFileFormat : BaseLogFileFormat
@@ -51,7 +55,8 @@ internal class MyRuleUrlResolver : BaseUrlResolver
}
```
-To use the URL resolver the [ResolveRuleUrl] method needs to be called:
+To use the URL resolver the [ResolveRuleUrl](https://cakebuild.net/api/Cake.Issues/BaseRuleUrlResolver_1/6B23EC74){target="_blank"}
+method needs to be called:
```csharp
var resolver = new MyRuleUrlResolver();
@@ -84,10 +89,10 @@ internal class MyRuleUrlResolver : BaseUrlResolver
}
```
-# Support custom URL resolvers
+## Support custom URL resolvers
-The [AddUrlResolver] method can also be called from an Cake alias to allow users of the addin to
-register custom resolvers.
+The [AddUrlResolver](https://cakebuild.net/api/Cake.Issues/BaseRuleUrlResolver_1/AAA4FB20){target="_blank"}
+method can also be called from an Cake alias to allow users of the addin to register custom resolvers.
For this the URL resolver class needs to be implemented as a singleton:
```csharp
@@ -126,9 +131,3 @@ public static class MyIssueProviderAliases
MyRuleUrlResolver.Instance.AddUrlResolver(resolver);
}
```
-
-[BaseRuleDescription]: ../../../../api/Cake.Issues/BaseRuleDescription/
-[BaseRuleUrlResolver]: ../../../../api/Cake.Issues/BaseRuleUrlResolver_1/
-[TryGetRuleDescription]: ../../../../api/Cake.Issues/BaseRuleUrlResolver_1/D9DB5D44
-[AddUrlResolver]: ../../../../api/Cake.Issues/BaseRuleUrlResolver_1/AAA4FB20
-[ResolveRuleUrl]: ../../../../api/Cake.Issues/BaseRuleUrlResolver_1/6B23EC74
\ No newline at end of file
diff --git a/docs/input/docs/extending/issue-provider/tutorials/settings.md b/docs/input/documentation/extending/issue-provider/tutorials/settings.md
similarity index 89%
rename from docs/input/docs/extending/issue-provider/tutorials/settings.md
rename to docs/input/documentation/extending/issue-provider/tutorials/settings.md
index bafba5633..b94f5de62 100644
--- a/docs/input/docs/extending/issue-provider/tutorials/settings.md
+++ b/docs/input/documentation/extending/issue-provider/tutorials/settings.md
@@ -1,16 +1,17 @@
---
-Order: 20
-Title: Provider settings
-Description: Instructions how to implement an issue provider with specific settings.
+title: Provider settings
+description: Instructions how to implement an issue provider with specific settings.
---
+
Often issue providers require specific settings.
-For these cases the `Cake.Issue` addin provides the [BaseConfigurableIssueProvider] and [IssueProviderSettings] classes
+For these cases the `Cake.Issue` addin provides the [BaseConfigurableIssueProvider](https://cakebuild.net/api/Cake.Issues/BaseConfigurableIssueProvider_1/){target="_blank"}
+and [IssueProviderSettings](https://cakebuild.net/api/Cake.Issues/IssueProviderSettings/){target="_blank"} classes
for simplifying implementation in the issue provider addin.
-# Implementing issue provider
+## Implementing issue provider
-A concrete class inheriting from [BaseConfigurableIssueProvider] needs to be implemented defining the
-concrete settings class to use:
+A concrete class inheriting from [BaseConfigurableIssueProvider](https://cakebuild.net/api/Cake.Issues/BaseConfigurableIssueProvider_1/){target="_blank"}
+needs to be implemented defining the concrete settings class to use:
```csharp
///
@@ -49,7 +50,8 @@ public class MyIssuesProvider : BaseConfigurableIssueProvider
}
```
-Also a concrete class inheriting from [IssueProviderSettings] needs to be implemented.
+Also a concrete class inheriting from [IssueProviderSettings](https://cakebuild.net/api/Cake.Issues/IssueProviderSettings/){target="_blank"}
+needs to be implemented.
Based on the capabilities of the issue provider the appropriate constructors for reading from the file system
or memory can be made public:
@@ -83,7 +85,7 @@ public class MyIssuesSettings : IssueProviderSettings
}
```
-# Aliases
+## Aliases
An alias for reading issues with the provider should be provided:
@@ -200,6 +202,3 @@ public static string MyIssuesProviderTypeName(
return typeof(MyIssuesProvider).FullName;
}
```
-
-[BaseConfigurableIssueProvider]: ../../../../api/Cake.Issues/BaseConfigurableIssueProvider_1/
-[IssueProviderSettings ]: ../../../../api/Cake.Issues/IssueProviderSettings/
\ No newline at end of file
diff --git a/docs/input/docs/extending/issue-provider/tutorials/simple.md b/docs/input/documentation/extending/issue-provider/tutorials/simple.md
similarity index 84%
rename from docs/input/docs/extending/issue-provider/tutorials/simple.md
rename to docs/input/documentation/extending/issue-provider/tutorials/simple.md
index b84d429df..d6b2b156b 100644
--- a/docs/input/docs/extending/issue-provider/tutorials/simple.md
+++ b/docs/input/documentation/extending/issue-provider/tutorials/simple.md
@@ -1,14 +1,16 @@
---
-Order: 10
-Title: Simple issue provider
-Description: Instructions how to implement a simple issue provider.
+title: Simple issue provider
+description: Instructions how to implement a simple issue provider.
---
-This tutorial explains how to implement a simple issue provider using the [BaseIssueProvider] class
-from the `Cake.Issue` addin.
-# Implementing issue provider
+This tutorial explains how to implement a simple issue provider using the
+[BaseIssueProvider](https://cakebuild.net/api/Cake.Issues/BaseIssueProvider/){target="_blank"}
+class from the `Cake.Issue` addin.
-A concrete class inheriting from [BaseIssueProvider] needs to be implemented:
+## Implementing issue provider
+
+A concrete class inheriting from [BaseIssueProvider](https://cakebuild.net/api/Cake.Issues/BaseIssueProvider/){target="_blank"}
+needs to be implemented:
```csharp
///
@@ -46,7 +48,7 @@ public class MyIssuesProvider : BaseIssueProvider
}
```
-# Aliases
+## Aliases
An alias for reading issues with the provider should be provided:
@@ -96,5 +98,3 @@ public static string MyIssuesProviderTypeName(
return typeof(MyIssuesProvider).FullName;
}
```
-
-[BaseIssueProvider]: ../../../../api/Cake.Issues/BaseIssueProvider/
\ No newline at end of file
diff --git a/docs/input/docs/extending/pull-request-system/categories.md b/docs/input/documentation/extending/pull-request-system/categories.md
similarity index 51%
rename from docs/input/docs/extending/pull-request-system/categories.md
rename to docs/input/documentation/extending/pull-request-system/categories.md
index c375b8316..d303fc3c8 100644
--- a/docs/input/docs/extending/pull-request-system/categories.md
+++ b/docs/input/documentation/extending/pull-request-system/categories.md
@@ -1,10 +1,11 @@
---
-Order: 30
-Title: Alias categories
-Description: Instructions how to set the alias category.
+title: Alias categories
+description: Instructions how to set the alias category.
---
-Pull request system aliases should use the [IssuesAliasConstants.MainCakeAliasCategory] and
-[PullRequestsAliasConstants.PullRequestSystemCakeAliasCategory] constants for defining their category:
+
+Pull request system aliases should use the [IssuesAliasConstants.MainCakeAliasCategory](https://cakebuild.net/api/Cake.Issues/IssuesAliasConstants/41CCADF8){target="_blank"}
+and [PullRequestsAliasConstants.PullRequestSystemCakeAliasCategory](https://cakebuild.net/api/Cake.Issues.PullRequests/PullRequestsAliasConstants/B4C013A1){target="_blank"}
+constants for defining their category:
```csharp
[CakeAliasCategory(IssuesAliasConstants.MainCakeAliasCategory)]
@@ -18,6 +19,3 @@ public static class MyPullRequestSystemAliases
}
}
```
-
-[IssuesAliasConstants.MainCakeAliasCategory]: ../../../api/Cake.Issues/IssuesAliasConstants/41CCADF8
-[PullRequestsAliasConstants.PullRequestSystemCakeAliasCategory]: ../../../api/Cake.Issues.PullRequests/PullRequestsAliasConstants/B4C013A1
\ No newline at end of file
diff --git a/docs/input/documentation/extending/pull-request-system/overview.md b/docs/input/documentation/extending/pull-request-system/overview.md
new file mode 100644
index 000000000..94f5f48bf
--- /dev/null
+++ b/docs/input/documentation/extending/pull-request-system/overview.md
@@ -0,0 +1,22 @@
+---
+title: Overview
+description: Overview how to implement support for a pull request system.
+---
+
+Pull Request Systems need to implement the [IPullRequestSystem](https://cakebuild.net/api/Cake.Issues.PullRequests/IPullRequestSystem/){target="_blank"}
+interface.
+
+## BaseClasses
+
+For simplifying implementation there exists base classes from which concrete implementation can be inherited.
+[BasePullRequestSystem](https://cakebuild.net/api/Cake.Issues.PullRequests/BasePullRequestSystem/){target="_blank"}
+is the main base class with the required functionality for a pull request system implementation.
+Additionally there exists several classes which can be implemented to support additional optional capabilities
+in a pull request system implementation.
+
+| Base Class | Use case | Tutorial |
+|---------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------|-------------------------------------|
+| [BasePullRequestSystem](https://cakebuild.net/api/Cake.Issues.PullRequests/BasePullRequestSystem/){target="_blank"} | Base class for all pull request system implementations. | |
+| [BaseCheckingCommitIdCapability](https://cakebuild.net/api/Cake.Issues.PullRequests/BaseCheckingCommitIdCapability_1/){target="_blank"} | Base class for capability to post issues only if pull request is for a specific commit. | |
+| [BaseDiscussionThreadsCapability](https://cakebuild.net/api/Cake.Issues.PullRequests/BaseDiscussionThreadsCapability_1/){target="_blank"} | Base class for capability to read, resolve and reopen discussion threads. | |
+| [BaseFilteringByModifiedFilesCapability](https://cakebuild.net/api/Cake.Issues.PullRequests/BaseFilteringByModifiedFilesCapability_1/){target="_blank"} | Base class for capability to filter issues to only those affecting files modified in the pull request. | |
diff --git a/docs/input/documentation/extending/report-format/categories.md b/docs/input/documentation/extending/report-format/categories.md
new file mode 100644
index 000000000..dc45d8ff7
--- /dev/null
+++ b/docs/input/documentation/extending/report-format/categories.md
@@ -0,0 +1,21 @@
+---
+title: Alias categories
+description: Instructions how to set the alias category.
+---
+
+Report format aliases should use the [IssuesAliasConstants.MainCakeAliasCategory](https://cakebuild.net/api/Cake.Issues/IssuesAliasConstants/41CCADF8){target="_blank"}
+and [ReportingAliasConstants.ReportingFormatCakeAliasCategory](https://cakebuild.net/api/Cake.Issues.Reporting/ReportingAliasConstants/979CDCAF){target="_blank"}
+constants for defining their category:
+
+```csharp
+[CakeAliasCategory(IssuesAliasConstants.MainCakeAliasCategory)]
+public static class MyReportFormatAliases
+{
+ [CakeMethodAlias]
+ [CakeAliasCategory(ReportingAliasConstants.ReportingFormatCakeAliasCategory)]
+ public static IIssueReportFormat MyReportFormat(
+ this ICakeContext context)
+ {
+ }
+}
+```
diff --git a/docs/input/documentation/extending/report-format/overview.md b/docs/input/documentation/extending/report-format/overview.md
new file mode 100644
index 000000000..752ae4f5b
--- /dev/null
+++ b/docs/input/documentation/extending/report-format/overview.md
@@ -0,0 +1,8 @@
+---
+title: Overview
+description: Overview how to implement support for a report output format.
+---
+
+Report formats need to implement the [IIssueReportFormat](https://cakebuild.net/api/Cake.Issues.Reporting/IIssueReportFormat/){target="_blank"} interface.
+For simplifying implementation there exists an abstract [IssueReportFormat](https://cakebuild.net/api/Cake.Issues.Reporting/IssueReportFormat/){target="_blank"}
+base class from which concrete implementation can be inherited.
diff --git a/docs/input/documentation/extending/testing.md b/docs/input/documentation/extending/testing.md
new file mode 100644
index 000000000..50294cb83
--- /dev/null
+++ b/docs/input/documentation/extending/testing.md
@@ -0,0 +1,11 @@
+---
+title: Testing
+description: Instructions how to write test cases for Cake Issues addins.
+---
+
+The [Cake.Issues.Testing]{target="_blank"} package provides different helper classes for writing test cases
+for issue provider, report format or pull request system addins.
+
+[API Documentation on fuget.org](https://www.fuget.org/packages/Cake.Issues.Testing){ target="_blank" .md-button .md-button--primary }
+
+[Cake.Issues.Testing]: https://www.nuget.org/packages/Cake.Issues.Testing
diff --git a/docs/input/documentation/features.md b/docs/input/documentation/features.md
new file mode 100644
index 000000000..28e987588
--- /dev/null
+++ b/docs/input/documentation/features.md
@@ -0,0 +1,161 @@
+---
+title: Features
+description: Overview about core features.
+---
+
+## Ready To Use Distributions
+
+
+
+- :material-arrow-collapse-all:{ .lg .middle } __Cake Recipe Packages__
+
+ ---
+
+ Cake Issues recipes provide build scripts, delivered as a NuGet package,
+ which can be used inside your projects Cake build to add issue management.
+
+ It handles all the parsing, integration with build and pull request systems for you,
+ using the individual Cake Issues addins.
+
+ [:octicons-arrow-right-24: Recipes](recipe/index.md)
+
+
+
+## Reading & Creating Issues
+
+
+
+- :material-import:{ .lg .middle } __Read issues provided by tools__
+
+ ---
+
+ The `ReadIssues` aliases can be used for reading issues reported by a linter to tool using an [issue provider].
+
+ There are overloads for reading using a single or multiple [issue provider].
+
+ [:octicons-arrow-right-24: Aliases](https://cakebuild.net/extensions/cake-issues/#Reading-Issues){target="_blank"}
+
+- :material-creation-outline:{ .lg .middle } __Create issues in your build__
+
+ ---
+
+ The `NewIssue` aliases can be used for creating issues in the build script.
+
+ [:octicons-arrow-right-24: Aliases](https://cakebuild.net/extensions/cake-issues/#Creating-Issues){target="_blank"}
+
+- :material-file-link:{ .lg .middle } __Support for file links__
+
+ ---
+
+ Support for creating links to file & location on source code hosting system (GitHub, Azure Repos, etc).
+
+ [:octicons-arrow-right-24: Aliases](https://cakebuild.net/extensions/cake-issues/#File-Linking){target="_blank"}
+
+- :material-swap-vertical-bold:{ .lg .middle } __Issue serialization__
+
+ ---
+
+ Support for serializing and deserializing created issues and issues read from tools.
+
+ [:octicons-arrow-right-24: Aliases](https://cakebuild.net/extensions/cake-issues/#Issue-Serialization){target="_blank"}
+
+- :material-format-title:{ .lg .middle } __Support for multiple message formats__
+
+ ---
+
+ Support for reading issues in multiple formats (Plain text, Markdown, HTML) if supported by [issue provider].
+
+- :material-information:{ .lg .middle } __Support for run information__
+
+ ---
+
+ Support for passing additional run information to identify specific runs.
+
+
+
+## Breaking builds
+
+
+
+- :material-exclamation:{ .lg .middle } __Fail builds on reported issues__
+
+ ---
+
+ The `BreakBuildOnIssues` aliases can be used for failing builds if specific issues were reported.
+
+ There are overloads for failing if issues of certain minimum priority or issue providers are found,
+ or by passing any custom function.
+
+ [:octicons-arrow-right-24: Aliases](https://cakebuild.net/extensions/cake-issues/#Build-Breaking){target="_blank"}
+
+
+
+## Reporting
+
+
+
+- :material-monitor-dashboard:{ .lg .middle } __Create reports__
+
+ ---
+
+ The `CreateIssueReport` aliases can be used for creating reports in a supported [reporting format].
+
+ There are overloads for reading issues from a single or multiple [issue provider] or for passing an existing list of issues.
+
+ [:octicons-arrow-right-24: Aliases](https://cakebuild.net/extensions/cake-issues-reporting/#Creating-Issue-Reports){target="_blank"}
+
+
+
+## Build & Pull Request System Integration
+
+
+
+- :material-comment-text:{ .lg .middle } __Add comments to pull requests__
+
+ ---
+
+ The `ReportIssuesToPullRequest` aliases can be used for writing issues as comments to [pull requests].
+
+ There are overloads for reading issues from a single or multiple [issue provider] or for passing an existing list of issues.
+
+ [:octicons-arrow-right-24: Aliases](https://cakebuild.net/extensions/cake-issues-pullrequests/#Reporting-Issues-To-Pull-Requests){target="_blank"}
+
+- :material-message-plus:{ .lg .middle } __Report issues to build runs__
+
+ ---
+
+ The `ReportIssuesToPullRequest` aliases can be used for reporting issues to [build runs].
+
+ There are overloads for reading issues from a single or multiple [issue provider] or for passing an existing list of issues.
+
+ [:octicons-arrow-right-24: Aliases](https://cakebuild.net/extensions/cake-issues-pullrequests/#Reporting-Issues-To-Pull-Requests){target="_blank"}
+
+- :material-filter:{ .lg .middle } __Issue filters__
+
+ ---
+
+ Support for passing custom issue filter routines.
+
+ [:octicons-arrow-right-24: Setting](https://cakebuild.net/api/Cake.Issues.PullRequests/IReportIssuesToPullRequestSettings/48CB35E4){target="_blank"}
+
+- :material-car-speed-limiter:{ .lg .middle } __Limit reported issues__
+
+ ---
+
+ Advanced support to limit number of maximum issues per run, across multiple runs or per issue provider through settings.
+
+ [:octicons-arrow-right-24: Settings](https://cakebuild.net/api/Cake.Issues.PullRequests/IReportIssuesToPullRequestSettings/){target="_blank"}
+
+- :material-comment-check:{ .lg .middle } __Automatic comment resolving__
+
+ ---
+
+ If supported by the [pull request system], comments for issues are automatic resolved if fixed in subsequent commits.
+
+
+
+[issue provider]: issue-providers/index.md
+[reporting format]: report-formats/index.md
+[pull requests]: pull-request-systems/index.md
+[build runs]: pull-request-systems/index.md
+[pull request system]: pull-request-systems/index.md
diff --git a/docs/input/documentation/how-cake-issues-works.md b/docs/input/documentation/how-cake-issues-works.md
new file mode 100644
index 000000000..b9b8db2df
--- /dev/null
+++ b/docs/input/documentation/how-cake-issues-works.md
@@ -0,0 +1,45 @@
+---
+title: How Cake Issues Works
+description: Overview about the architecture of Cake Issues.
+---
+
+The Cake Issues addins are built in a modular architecture, allowing to easily
+enhance it for supporting additional analyzers, linters, report formats and pull request systems.
+
+![Architecture Overview](assets/images/overview.png "Architecture Overview")
+
+## Cake.Issues addin
+
+The `Cake.Issues` addin provides aliases for creating issues or reading issues using one or more issue providers.
+
+Support for different code analyzers and linters is provided through [issue provider] addins
+which cover a wide range of [linters and tools].
+
+The issues are read into [IIssue](https://cakebuild.net/api/Cake.Issues/IIssue/){target="_blank"} objects
+which then can be passed to [Cake.Issues.Reporting addin](#cakeissuesreporting-addin),
+[Cake.Issues.PullRequests addin](#cakeissuespullrequests-addin) or further processed in the build script.
+
+The use of [issue provider] addins, which contain the parsing logic for individual tool output formats,
+and the use of [IIssue](https://cakebuild.net/api/Cake.Issues/IIssue/){target="_blank"} as common data structure,
+allows to abstract the tooling output from other concerns like integration with
+build systems, pull request workflow or the creation of reports.
+
+## Cake.Issues.Reporting addin
+
+The `Cake.Issues.Reporting` addin provides aliases for creating reports for issues
+which are read or have been created using the [Cake.Issues addin](#cakeissues-addin).
+
+Support for different report formats is provided through [report format] addins.
+
+## Cake.Issues.PullRequests addin
+
+The `Cake.Issues.PullRequests` addin provides aliases for reporting issues
+which are read or have been created using the [Cake.Issues addin](#cakeissues-addin)
+as comments to pull requests or builds.
+
+Support for different pull request systems is provided through [pull request system] addins.
+
+[issue provider]: issue-providers/index.md
+[linters and tools]: supported-tools.md
+[report format]: report-formats/index.md
+[pull request system]: pull-request-systems/index.md
diff --git a/docs/input/documentation/issue-providers/docfx/examples.md b/docs/input/documentation/issue-providers/docfx/examples.md
new file mode 100644
index 000000000..6bafd0422
--- /dev/null
+++ b/docs/input/documentation/issue-providers/docfx/examples.md
@@ -0,0 +1,131 @@
+---
+title: Examples
+description: Examples for using the Cake.Issues.DocFx addin.
+icon: material/test-tube
+---
+
+To call [DocFx](https://dotnet.github.io/docfx/){target="_blank"} from a Cake script
+the [Cake.DocFx](https://cakebuild.net/extensions/cake-docfx/){target="_blank"} addin can be used.
+To read issues from DocFx log files the DocFx issue provider needs to be imported:
+
+=== "Cake .NET Tool"
+
+ ```csharp title="build.cake"
+ #addin nuget:?package=Cake.DocFx&version={{ cake_docfx_version }}
+ #addin nuget:?package=Cake.Issues&version={{ cake_issues_version }}
+ #addin nuget:?package=Cake.Issues.DocFx&version={{ cake_issues_version }}
+ ```
+
+ !!! note
+ In addition to the DocFx issue provider the `Cake.Issues` core addin needs to be added.
+
+=== "Cake Frosting"
+
+ ```csharp title="Build.csproj"
+
+
+ Exe
+ {{ example_tfm }}
+ $(MSBuildProjectDirectory)
+ enable
+
+
+
+
+
+
+
+ ```
+
+The following example contains a task which will build the [DocFx](https://dotnet.github.io/docfx/){target="_blank"}
+project and write a log file and a task to read issues from the log file and write the number of warnings to the console:
+
+=== "Cake .NET Tool"
+
+ ```csharp title="build.cake"
+ var logPath = @"c:\build\docfx.log";
+ var repoRootFolder = MakeAbsolute(Directory("./"));
+ var docRootPath = @"docs";
+
+ Task("Build-Documentation").Does(() =>
+ {
+ // Run DocFx.
+ DocFxBuild(new DocFxBuildSettings()
+ {
+ LogPath = logPath
+ });
+ });
+
+ Task("Read-Issues")
+ .IsDependentOn("Build-Documentation")
+ .Does(() =>
+ {
+ // Read issues.
+ var issues =
+ ReadIssues(
+ DocFxIssuesFromFilePath(logPath, docRootPath),
+ repoRootPath);
+
+ Information("{0} issues are found.", issues.Count());
+ });
+ ```
+
+=== "Cake Frosting"
+
+ ```csharp title="Program.cs"
+ using Cake.Common.Diagnostics;
+ using Cake.Core.IO;
+ using Cake.Core;
+ using Cake.DocFx;
+ using Cake.DocFx.Build;
+ using Cake.Frosting;
+
+ public static class Program
+ {
+ public static int Main(string[] args)
+ {
+ return new CakeHost()
+ .UseContext()
+ .Run(args);
+ }
+ }
+
+ public class BuildContext(ICakeContext context) : FrostingContext(context)
+ {
+ public FilePath LogPath { get; } = @"c:\build\docfx.log";
+ public DirectoryPath RepoRootPath { get; } =
+ context.MakeAbsolute(context.Directory("./"));
+ public string DocRootPath { get; } = "docs";
+ }
+
+ [TaskName("Build-Documentation")]
+ public sealed class BuildDocumentationTask : FrostingTask
+ {
+ public override void Run(BuildContext context)
+ {
+ // Run DocFx.
+ context.DocFxBuild(new DocFxBuildSettings()
+ {
+ LogPath = context.LogPath
+ });
+ }
+ }
+
+ [TaskName("Read-Issues")]
+ [IsDependentOn(typeof(BuildDocumentationTask))]
+ public sealed class ReadIssuesTask : FrostingTask
+ {
+ public override void Run(BuildContext context)
+ {
+ // Read issues.
+ var issues =
+ context.ReadIssues(
+ context.DocFxIssuesFromFilePath(
+ context.LogPath,
+ context.DocRootPath),
+ context.RepoRootPath);
+
+ context.Information("{0} issues are found.", issues.Count());
+ }
+ }
+ ```
diff --git a/docs/input/documentation/issue-providers/docfx/features.md b/docs/input/documentation/issue-providers/docfx/features.md
new file mode 100644
index 000000000..5204f996f
--- /dev/null
+++ b/docs/input/documentation/issue-providers/docfx/features.md
@@ -0,0 +1,46 @@
+---
+title: Features
+description: Features of the Cake.Issues.DocFx addin.
+icon: material/creation-outline
+---
+
+The [Cake.Issues.DocFx addin](https://cakebuild.net/extensions/cake-issues-docfx/){target="_blank"}
+provides the following features.
+
+??? tip "Tip: Running DocFx"
+ [DocFx](https://dotnet.github.io/docfx/){target="_blank"} can be run with
+ [Cake.DocFx](https://cakebuild.net/extensions/cake-docfx/){target="_blank"} addin.
+
+## Basic features
+
+- [x] Reads warnings from [DocFx](https://dotnet.github.io/docfx/){target="_blank"} log files.
+
+## Supported IIssue properties
+
+
+
+1. Can be set while reading issues
+2. Set to `IIssue.MessageText`
+3. Can be set while reading issues
diff --git a/docs/input/documentation/issue-providers/docfx/index.md b/docs/input/documentation/issue-providers/docfx/index.md
new file mode 100644
index 000000000..e3ec45b89
--- /dev/null
+++ b/docs/input/documentation/issue-providers/docfx/index.md
@@ -0,0 +1,15 @@
+---
+title: DocFx
+description: Issue provider which allows you to read warnings logged by DocFx.
+---
+
+Support for reading warnings reported by [DocFx](https://dotnet.github.io/docfx/){target="_blank"} is implemented in the
+[Cake.Issues.DocFx addin](https://cakebuild.net/extensions/cake-issues-docfx/){target="_blank"}.
+
+
diff --git a/docs/input/documentation/issue-providers/eslint/features.md b/docs/input/documentation/issue-providers/eslint/features.md
new file mode 100644
index 000000000..2d1eebb54
--- /dev/null
+++ b/docs/input/documentation/issue-providers/eslint/features.md
@@ -0,0 +1,55 @@
+---
+title: Features
+description: Features of the Cake.Issues.EsLint addin.
+icon: material/creation-outline
+---
+
+The [Cake.Issues.EsLint addin](https://cakebuild.net/extensions/cake-issues-eslint/){target="_blank"} provides the following features.
+
+??? tip "Tip: Running ESLint"
+ [ESLint](https://eslint.org){target="_blank"} can be run with
+ [Cake.ESLint](https://cakebuild.net/extensions/cake-eslint/){target="_blank"} addin.
+
+## Basic features
+
+- [x] Reads issues reported by ESLint.
+- [x] Provides URLs for all issues.
+- [x] Support for custom URL resolving using the [EsLintAddRuleUrlResolver](https://cakebuild.net/api/Cake.Issues.EsLint/EsLintIssuesAliases/0F6CCE21){target="_blank"}
+ alias.
+
+## Supported log file formats
+
+- [x] [EsLintJsonFormat](https://cakebuild.net/api/Cake.Issues.EsLint/EsLintIssuesAliases/230C6E27){target="_blank"}
+ alias for reading issues from log files created by
+ [ESLint json formatter](https://eslint.org/docs/user-guide/formatters/#json){target="_blank"}.
+
+## Supported IIssue properties
+
+
+
+1. Can be set while reading issues
+2. Set to `IIssue.MessageText`
+3. Can be set while reading issues
+4. Support for custom rules can be added through a custom [EsLintAddRuleUrlResolver](https://cakebuild.net/api/Cake.Issues.EsLint/EsLintIssuesAliases/0F6CCE21){target="_blank"}
diff --git a/docs/input/documentation/issue-providers/eslint/index.md b/docs/input/documentation/issue-providers/eslint/index.md
new file mode 100644
index 000000000..cbbd4049c
--- /dev/null
+++ b/docs/input/documentation/issue-providers/eslint/index.md
@@ -0,0 +1,14 @@
+---
+title: ESLint
+description: Issue provider which allows you to read issues logged by ESLint.
+---
+
+Support for reading issues reported by [ESLint](https://eslint.org/){target="_blank"}
+is implemented in the [Cake.Issues.EsLint addin](https://cakebuild.net/extensions/cake-issues-eslint/){target="_blank"}.
+
+
+
+1. Can be set while reading issues
+2. Set to `IIssue.MessageText`
+3. Can be set while reading issues
+
+[FilePathTooLong]: rules/FilePathTooLong.md
+[BinaryFileNotTrackedByLfs]: rules/BinaryFileNotTrackedByLfs.md
diff --git a/docs/input/documentation/issue-providers/gitrepository/index.md b/docs/input/documentation/issue-providers/gitrepository/index.md
new file mode 100644
index 000000000..f144d933e
--- /dev/null
+++ b/docs/input/documentation/issue-providers/gitrepository/index.md
@@ -0,0 +1,16 @@
+---
+title: Git Repository
+description: Issue provider which allows you to analyzing Git repositories and create issues resulting from it.
+---
+
+Support for analyzing Git repositories is implemented in the
+[Cake.Issues.GitRepository addin](https://cakebuild.net/extensions/cake-issues-gitrepository/){target="_blank"}.
+
+
diff --git a/docs/input/documentation/issue-providers/gitrepository/rules/BinaryFileNotTrackedByLfs.md b/docs/input/documentation/issue-providers/gitrepository/rules/BinaryFileNotTrackedByLfs.md
new file mode 100644
index 000000000..acafd93a5
--- /dev/null
+++ b/docs/input/documentation/issue-providers/gitrepository/rules/BinaryFileNotTrackedByLfs.md
@@ -0,0 +1,28 @@
+---
+title: BinaryFileNotTrackedByLfs
+description: A binary file is not tracked by Git LFS.
+---
+
+| Metadata | |
+|--------------|---------------------------|
+| Rule Id | BinaryFileNotTrackedByLfs |
+| Priority | Warning |
+| Available in | 0.7.0 or higher |
+
+## Cause
+
+A binary file in the repository is not tracked by [Git Large File Storage](https://git-lfs.github.com/){target="_blank"}.
+
+## Rule description
+
+By its nature Git repositories cannot handle binary files well and will keep a full copy of that file in the repository every time a change to that file is committed.
+Considering that you always clone the full history of a repository, and not only the latest version, using binary files in a repository considerably slow downs the operation.
+[Git Large File Storage](https://git-lfs.github.com/){target="_blank"} replaces large files with small text pointers inside the Git repository, while storing the file contents on a remote server.
+
+!!! info
+ The rule assumes that all files, which are not text files are binary files.
+ This also includes for example empty files.
+
+## How to fix violations
+
+Track the file with [Git Large File Storage](https://git-lfs.github.com/){target="_blank"}.
diff --git a/docs/input/docs/issue-providers/gitrepository/rules/FilePathTooLong.md b/docs/input/documentation/issue-providers/gitrepository/rules/FilePathTooLong.md
similarity index 58%
rename from docs/input/docs/issue-providers/gitrepository/rules/FilePathTooLong.md
rename to docs/input/documentation/issue-providers/gitrepository/rules/FilePathTooLong.md
index e3eb20e67..ac7dfb3db 100644
--- a/docs/input/docs/issue-providers/gitrepository/rules/FilePathTooLong.md
+++ b/docs/input/documentation/issue-providers/gitrepository/rules/FilePathTooLong.md
@@ -1,15 +1,13 @@
---
-Title: FilePathTooLong
-Description: The path of a file is too long.
+title: FilePathTooLong
+description: The path of a file is too long.
---
-# Table Class=table HeaderRows=0 ?>
-*
-"Rule Id" FilePathTooLong
-Priority Warning
-"Available in" "0.7.3 or higher"
-?>
-#/ Table ?>
+| Metadata | |
+|--------------|-----------------|
+| Rule Id | FilePathTooLong |
+| Priority | Warning |
+| Available in | 0.7.3 or higher |
## Cause
diff --git a/docs/input/documentation/issue-providers/gitrepository/rules/index.md b/docs/input/documentation/issue-providers/gitrepository/rules/index.md
new file mode 100644
index 000000000..0e633c7ec
--- /dev/null
+++ b/docs/input/documentation/issue-providers/gitrepository/rules/index.md
@@ -0,0 +1,12 @@
+---
+title: Rules
+description: Rules of the Cake.Issues.GitRepository provider.
+icon: fontawesome/solid/scroll
+---
+
+
diff --git a/docs/input/documentation/issue-providers/index.md b/docs/input/documentation/issue-providers/index.md
new file mode 100644
index 000000000..90b886152
--- /dev/null
+++ b/docs/input/documentation/issue-providers/index.md
@@ -0,0 +1,35 @@
+---
+title: Issue Providers
+description: Documentation of the different issue provider addins.
+---
+
+Issue provider addins are responsible for providing the output of an analyzer or linter to the Cake Issues addin.
+
+
+
+- :material-layers-plus: __[DocFx]__ – Issue provider for reading DocFx warnings
+- :material-layers-plus: __[ESLint]__ – Issue provider for reading ESLint issues
+- :material-layers-plus: __[Git Repository]__ – Issue provider for analyzing Git repositories
+- :material-layers-plus: __[Inspect Code]__ – Issue provider for reading JetBrains Inspect Code / ReSharper issues
+- :material-layers-plus: __[Markdownlint]__ – Issue provider for reading issues from markdownlint
+- :material-layers-plus: __[MsBuild]__ – Issue provider for reading MsBuild errors and warnings
+- :material-layers-plus: __[Sarif]__ – Issue provider for reading SARIF reports
+- :material-layers-plus: __[Test Anything Protocol (TAP)]__ – Issue provider for reading TAP reports
+- :material-layers-plus: __[Terraform]__ – Issue provider for reading Terraform validation output
+
+
+
+[DocFx]: docfx/index.md
+[ESLint]: eslint/index.md
+[Git Repository]: gitrepository/index.md
+[Inspect Code]: inspectcode/index.md
+[Markdownlint]: markdownlint/index.md
+[MsBuild]: msbuild/index.md
+[Sarif]: sarif/index.md
+[Test Anything Protocol (TAP)]: tap/index.md
+[Terraform]: terraform/index.md
+
+!!! tip
+ See [How to implement issue providers] for instruction on how to implement support for additional issue providers.
+
+[How to implement issue providers]: ../extending/issue-provider/overview.md
diff --git a/docs/input/documentation/issue-providers/inspectcode/examples.md b/docs/input/documentation/issue-providers/inspectcode/examples.md
new file mode 100644
index 000000000..b2c5d44db
--- /dev/null
+++ b/docs/input/documentation/issue-providers/inspectcode/examples.md
@@ -0,0 +1,134 @@
+---
+title: Examples
+description: Examples for using the Cake.Issues.InspectCode addin.
+icon: material/test-tube
+---
+
+To read issues from InspectCode log files the InspectCode issue provider needs to be imported:
+
+=== "Cake .NET Tool"
+
+ ```csharp title="build.cake"
+ #addin nuget:?package=Cake.Issues&version={{ cake_issues_version }}
+ #addin nuget:?package=Cake.Issues.InspectCode&version={{ cake_issues_version }}
+ ```
+
+ !!! note
+ In addition to the InspectCode issue provider the `Cake.Issues` core addin needs to be added.
+
+=== "Cake Frosting"
+
+ ```csharp title="Build.csproj"
+
+
+ Exe
+ {{ example_tfm }}
+ $(MSBuildProjectDirectory)
+ enable
+
+
+
+
+
+
+ ```
+
+The following example contains a task which will run [JetBrains InspectCode]{target="_blank"}
+and write a log file and a task to read issues from the log file and write the number of warnings to the console.
+[JetBrains InspectCode] is installed using `JetBrains.ReSharper.CommandLineTools`:
+
+=== "Cake .NET Tool"
+
+ ```csharp title="build.cake"
+ #tool "nuget:?package=JetBrains.ReSharper.CommandLineTools&version={{ resharper_commandlinetool_version }}"
+
+ var logPath = @"c:\build\inspectcode.xml";
+ var repoRootFolder = MakeAbsolute(Directory("./"));
+
+ Task("Analyze-Project").Does(() =>
+ {
+ // Run InspectCode.
+ var settings = new InspectCodeSettings() {
+ OutputFile = logPath
+ };
+
+ InspectCode(repoRootPath.CombineWithFilePath("MySolution.sln"), settings);
+ });
+
+ Task("Read-Issues")
+ .IsDependentOn("Analyze-Project")
+ .Does(() =>
+ {
+ // Read issues.
+ var issues =
+ ReadIssues(
+ InspectCodeIssuesFromFilePath(logPath),
+ repoRootPath);
+
+ Information("{0} issues are found.", issues.Count());
+ });
+ ```
+
+=== "Cake Frosting"
+
+ ```csharp title="Program.cs"
+ using Cake.Common.Diagnostics;
+ using Cake.Core.IO;
+ using Cake.Core;
+ using Cake.Frosting;
+ using Cake.Common.Tools.InspectCode;
+
+ public static class Program
+ {
+ public static int Main(string[] args)
+ {
+ return new CakeHost()
+ .UseContext()
+ .InstallTool(
+ new Uri(
+ "nuget:?package=JetBrains.ReSharper.CommandLineTools&version={{ resharper_commandlinetool_version }}"))
+ .Run(args);
+ }
+ }
+
+ public class BuildContext(ICakeContext context) : FrostingContext(context)
+ {
+ public FilePath LogPath { get; } = @"c:\build\inspectcode.xml";
+ public DirectoryPath RepoRootPath { get; } =
+ context.MakeAbsolute(context.Directory("./"));
+ }
+
+ [TaskName("Analyze-Project")]
+ public sealed class AnalyzeProjectTask : FrostingTask
+ {
+ public override void Run(BuildContext context)
+ {
+ // Run InspectCode.
+ var settings = new InspectCodeSettings() {
+ OutputFile = context.LogPath
+ };
+
+ context.InspectCode(
+ context.RepoRootPath.CombineWithFilePath("MySolution.sln"),
+ settings);
+ }
+ }
+
+ [TaskName("Read-Issues")]
+ [IsDependentOn(typeof(AnalyzeProjectTask))]
+ public sealed class ReadIssuesTask : FrostingTask
+ {
+ public override void Run(BuildContext context)
+ {
+ // Read issues.
+ var issues =
+ context.ReadIssues(
+ context.InspectCodeIssuesFromFilePath(context.LogPath),
+ context.RepoRootPath);
+
+ context.Information("{0} issues are found.", issues.Count());
+ }
+ }
+ ```
+
+[JetBrains InspectCode]: https://www.jetbrains.com/help/resharper/InspectCode.html
diff --git a/docs/input/documentation/issue-providers/inspectcode/features.md b/docs/input/documentation/issue-providers/inspectcode/features.md
new file mode 100644
index 000000000..ed02edf38
--- /dev/null
+++ b/docs/input/documentation/issue-providers/inspectcode/features.md
@@ -0,0 +1,49 @@
+---
+title: Features
+description: Features of the Cake.Issues.InspectCode addin.
+icon: material/creation-outline
+---
+
+The [Cake.Issues.InspectCode addin]{target="_blank"} provides the following features.
+
+??? tip "Tip: Running InspectCode"
+ [JetBrains InsepectCode]{target="_blank"} can be run using the [InspectCode alias]{target="_blank"}.
+
+## Basic features
+
+- [x] Reads warnings from [JetBrains InsepectCode]{target="_blank"} log files.
+- [x] Provides URLs for issues containing a Wiki URL.
+
+## Supported IIssue properties
+
+
+
+1. Can be set while reading issues
+2. Set to `IIssue.MessageText`
+3. Can be set while reading issues
+
+[JetBrains InsepectCode]: https://www.jetbrains.com/help/resharper/InspectCode.html
+[Cake.Issues.InspectCode addin]: https://cakebuild.net/extensions/cake-issues-inspectcode/
+[InspectCode alias]: https://cakebuild.net/dsl/resharper/#InspectCode
diff --git a/docs/input/documentation/issue-providers/inspectcode/index.md b/docs/input/documentation/issue-providers/inspectcode/index.md
new file mode 100644
index 000000000..61a076ece
--- /dev/null
+++ b/docs/input/documentation/issue-providers/inspectcode/index.md
@@ -0,0 +1,15 @@
+---
+title: InspectCode
+description: Issue provider which allows you to read issues logged by JetBrains Inspect Code.
+---
+
+Support for reading issues reported by [JetBrains Inspect Code](https://www.jetbrains.com/help/resharper/2017.1/InspectCode.html)
+is implemented in the [Cake.Issues.InspectCode addin](https://www.nuget.org/packages/Cake.Issues.InspectCode).
+
+
+
+1. Can be set while reading issues
+2. Set to `IIssue.MessageText`
+3. Only for [MarkdownlintCliLogFileFormat](https://cakebuild.net/api/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases/B518F49E){target="_blank"}
+4. Can be set while reading issues
+5. Always [IssuePriority.Warning](https://cakebuild.net/api/Cake.Issues/IssuePriority/7A0CE07F){target="_blank"}
+6. Always `Warning`
+7. Support for custom rules can be added through a custom [MarkdownlintAddRuleUrlResolver](https://cakebuild.net/api/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases/2EE35F55){target="_blank"} except for [MarkdownlintCliJsonLogFileFormat](https://cakebuild.net/api/Cake.Issues.Markdownlint/MarkdownlintIssuesAliases/36DE6F5F){target="_blank"}
diff --git a/docs/input/documentation/issue-providers/markdownlint/index.md b/docs/input/documentation/issue-providers/markdownlint/index.md
new file mode 100644
index 000000000..1a35f91b2
--- /dev/null
+++ b/docs/input/documentation/issue-providers/markdownlint/index.md
@@ -0,0 +1,15 @@
+---
+title: markdownlint
+description: Issue provider which allows you to read issues logged by markdownlint.
+---
+
+Support for reading issues reported by [markdownlint](https://github.com/DavidAnson/markdownlint)
+is implemented in the [Cake.Issues.Markdownlint addin](https://www.nuget.org/packages/Cake.Issues.Markdownlint).
+
+
diff --git a/docs/input/documentation/issue-providers/msbuild/examples.md b/docs/input/documentation/issue-providers/msbuild/examples.md
new file mode 100644
index 000000000..88fb1430d
--- /dev/null
+++ b/docs/input/documentation/issue-providers/msbuild/examples.md
@@ -0,0 +1,144 @@
+---
+title: Examples
+description: Examples for using the Cake.Issues.MsBuild addin.
+icon: material/test-tube
+---
+
+To read issues from MsBuild log files you need to import the MsBuild issue provider needs to be imported:
+
+=== "Cake .NET Tool"
+
+ ```csharp title="build.cake"
+ #addin nuget:?package=Cake.Issues&version={{ cake_issues_version }}
+ #addin nuget:?package=Cake.Issues.MsBuild&version={{ cake_issues_version }}
+ ```
+
+ !!! note
+ In addition to the MsBuild issue provider the `Cake.Issues` core addin needs to be added.
+
+=== "Cake Frosting"
+
+ ```csharp title="Build.csproj"
+
+
+ Exe
+ {{ example_tfm }}
+ $(MSBuildProjectDirectory)
+ enable
+
+
+
+
+
+
+ ```
+
+The following example contains a task which will call MsBuild to build the solution and write a binary log file
+and a task to read issues from the binary log file and write the number of warnings to the console:
+
+=== "Cake .NET Tool"
+
+ ```csharp title="build.cake"
+ var logPath = @"c:\build\msbuild.xml";
+ var repoRootPath = MakeAbsolute(Directory("./"));
+
+ Task("Build-Solution").Does(() =>
+ {
+ // Build solution.
+ var msBuildSettings =
+ new DotNetMSBuildSettings().WithLogger(
+ "BinaryLogger," + Context.Tools.Resolve("Cake.Issues.MsBuild*/**/StructuredLogger.dll"),
+ "",
+ logPath.FullPath);
+ DotNetBuild(
+ repoRootPath.CombineWithFilePath("MySolution.sln").FullPath,
+ new DotNetBuildSettings{MSBuildSettings = msBuildSettings});
+ });
+
+ Task("Read-Issues")
+ .IsDependentOn("Build-Solution")
+ .Does(() =>
+ {
+ // Read issues.
+ var issues =
+ ReadIssues(
+ MsBuildIssuesFromFilePath(
+ logPath,
+ MsBuildBinaryLogFileFormat),
+ repoRootPath);
+
+ Information("{0} issues are found.", issues.Count());
+ });
+ ```
+
+=== "Cake Frosting"
+
+ ```csharp title="Program.cs"
+ using Cake.Common.Diagnostics;
+ using Cake.Common.IO;
+ using Cake.Common.Tools.DotNet;
+ using Cake.Common.Tools.DotNet.Build;
+ using Cake.Core;
+ using Cake.Core.IO;
+ using Cake.Frosting;
+
+ public static class Program
+ {
+ public static int Main(string[] args)
+ {
+ return new CakeHost()
+ .UseContext()
+ .Run(args);
+ }
+ }
+
+ public class BuildContext(ICakeContext context) : FrostingContext(context)
+ {
+ public FilePath LogPath { get; } = @"c:\build\msbuild.xml";
+ public DirectoryPath RepoRootPath { get; } =
+ context.MakeAbsolute(context.Directory("./"));
+ }
+
+ [TaskName("Build-Solution")]
+ public sealed class BuildSolutionTask : FrostingTask
+ {
+ public override void Run(BuildContext context)
+ {
+ // Build solution.
+ var msBuildSettings =
+ new DotNetMSBuildSettings().WithLogger(
+ "BinaryLogger," + context.Tools.Resolve("Cake.Issues.MsBuild*/**/StructuredLogger.dll"),
+ "",
+ context.LogPath.FullPath);
+ context.DotNetBuild(
+ context.RepoRootPath.CombineWithFilePath("MySolution.sln").FullPath,
+ new DotNetBuildSettings{MSBuildSettings = msBuildSettings});
+ }
+ }
+
+ [TaskName("Read-Issues")]
+ [IsDependentOn(typeof(BuildSolutionTask))]
+ public sealed class ReadIssuesTask : FrostingTask
+ {
+ public override void Run(BuildContext context)
+ {
+ // Read issues.
+ var issues =
+ context.ReadIssues(
+ context.MsBuildIssuesFromFilePath(
+ context.LogPath,
+ context.MsBuildBinaryLogFileFormat()),
+ context.RepoRootPath);
+
+ context.Information("{0} issues are found.", issues.Count());
+ }
+ }
+ ```
+
+!!! Tip
+ When using `MSBuildSettings.BinaryLogger` property to write a binary log, the version of the binary log format written
+ depends on the version of the .NET SDK.
+
+ To avoid the risk of breaking builds when the .NET SDK is updated and introduces a new binary log format, which is not supported
+ in the used version of Cake.Issues.MsBuild, the binary logger instance shipped as part of Cake.Issues.MsBuild is
+ used in the above example.
diff --git a/docs/input/documentation/issue-providers/msbuild/features.md b/docs/input/documentation/issue-providers/msbuild/features.md
new file mode 100644
index 000000000..fd5c77029
--- /dev/null
+++ b/docs/input/documentation/issue-providers/msbuild/features.md
@@ -0,0 +1,57 @@
+---
+title: Features
+description: Features of the Cake.Issues.MsBuild addin.
+icon: material/creation-outline
+---
+
+The [Cake.Issues.MsBuild addin](https://cakebuild.net/extensions/cake-issues-msbuild/){target="_blank"}
+provides the following features.
+
+??? tip "Tip: Running MSBuild"
+ MSBuild can be run using the [DotNet aliases]{target="_blank"} or [MsBuild aliases]{target="_blank"}.
+
+## Basic features
+
+- [x] Reads errors and warnings from MSBuild log files.
+- [x] Provides URLs for all code analysis (`CA*`) and StyleCop (`SA*`) warnings.
+- [x] Support for custom URL resolving using the [MsBuildAddRuleUrlResolver](https://cakebuild.net/api/Cake.Issues.MsBuild/MsBuildIssuesAliases/93C21487){target="_blank"} alias.
+
+## Supported log file formats
+
+- [x] [MsBuildBinaryLogFileFormat](https://cakebuild.net/api/Cake.Issues.MsBuild/MsBuildIssuesAliases/AD50C7E1){target="_blank"} alias for reading issues from binary log files.
+- [x] [MsBuildXmlFileLoggerFormat](https://cakebuild.net/api/Cake.Issues.MsBuild/MsBuildIssuesAliases/051D7B6E){target="_blank"} alias for reading issues from log files created by [MSBuild Extension Pack XmlFileLogger](https://github.com/mikefourie-zz/MSBuildExtensionPack/blob/master/Solutions/Main/Loggers/Framework/XmlFileLogger.cs){target="_blank"}.
+
+## Supported IIssue properties
+
+
+
+1. Can be set while reading issues
+2. Set to `IIssue.MessageText`
+3. Only for [MsBuildXmlFileLoggerFormat](https://cakebuild.net/api/Cake.Issues.MsBuild/MsBuildIssuesAliases/051D7B6E){target="_blank"}
+4. Can be set while reading issues
+5. For code analysis (`CA*`) and StyleCop (`SA*`) warnings. Support for additional rules can be added through a custom [MsBuildAddRuleUrlResolver](https://cakebuild.net/api/Cake.Issues.MsBuild/MsBuildIssuesAliases/93C21487){target="_blank"}
+
+[DotNet aliases]: https://cakebuild.net/dsl/dotnet/#Built-In
+[MsBuild aliases]: https://cakebuild.net/dsl/msbuild/#Built-In
diff --git a/docs/input/documentation/issue-providers/msbuild/index.md b/docs/input/documentation/issue-providers/msbuild/index.md
new file mode 100644
index 000000000..a4695c518
--- /dev/null
+++ b/docs/input/documentation/issue-providers/msbuild/index.md
@@ -0,0 +1,15 @@
+---
+title: MsBuild
+description: Issue provider which allows you to read warnings logged by MsBuild.
+---
+
+Support for reading warnings reported by MsBuild is implemented in the
+[Cake.Issues.MsBuild](https://www.nuget.org/packages/Cake.Issues.MsBuild).
+
+
+
+1. Can be set while reading issues
+2. Set to `IIssue.MessageText`
+3. Can be set while reading issues
diff --git a/docs/input/documentation/issue-providers/sarif/index.md b/docs/input/documentation/issue-providers/sarif/index.md
new file mode 100644
index 000000000..2935a4c82
--- /dev/null
+++ b/docs/input/documentation/issue-providers/sarif/index.md
@@ -0,0 +1,14 @@
+---
+title: Sarif
+description: Issue provider which allows you to read issues from SARIF files.
+---
+
+Support for reading issues in [SARIF](https://sarifweb.azurewebsites.net/){target="_blank"} format
+is implemented in the [Cake.Issues.Sarif addin](https://cakebuild.net/extensions/cake-issues-sarif/){target="_blank"}.
+
+
diff --git a/docs/input/documentation/issue-providers/tap/features.md b/docs/input/documentation/issue-providers/tap/features.md
new file mode 100644
index 000000000..b3e3b8e5c
--- /dev/null
+++ b/docs/input/documentation/issue-providers/tap/features.md
@@ -0,0 +1,117 @@
+---
+title: Features
+description: Features of the Cake.Issues.Tap addin.
+icon: material/creation-outline
+---
+
+The [Cake.Issues.Tap addin](https://cakebuild.net/extensions/cake-issues-tap/){target="_blank"} provides the following features.
+
+## Basic features
+
+- [x] Reads issues from files in [Test Anything Protocol (TAP)]{target="_blank"} format version 13 or 14.
+
+## Supported log file formats
+
+!!! note
+ Details, like file, line / column or rule information, are not standardized in [Test Anything Protocol (TAP)]{target="_blank"}.
+ The `GenericLogFileFormat` will therefore only return issues containing the description, which might be the file name for some tools.
+ To retrieve detailed information a tool specific log file format needs to be used which can parse the non-standardized
+ data provided by the tool for every issue.
+
+- [x] `GenericLogFileFormat` alias for reading issues from any [Test Anything Protocol (TAP)]{target="_blank"} compatible file
+- [x] `StylelintLogFileFormat` alias for reading TAP files generated by [stylelint](https://stylelint.io/){target="_blank"}.
+- [x] `TextlintLogFileFormat` alias for reading TAP files generated by [Textlint](https://textlint.github.io/){target="_blank"}.
+
+## Supported IIssue properties
+
+=== "GenericLogFileFormat"
+
+
+
+ 1. Can be set while reading issues
+ 2. Set to `IIssue.MessageText`
+ 3. Can be set while reading issues
+
+[Test Anything Protocol (TAP)]: https://testanything.org/
diff --git a/docs/input/documentation/issue-providers/tap/index.md b/docs/input/documentation/issue-providers/tap/index.md
new file mode 100644
index 000000000..c1bc8c41d
--- /dev/null
+++ b/docs/input/documentation/issue-providers/tap/index.md
@@ -0,0 +1,15 @@
+---
+title: Test Anything Protocol
+description: Issue provider which allows you to read issues from Test Anything Protocol files.
+status: new
+---
+
+Support for reading issues in [Test Anything Protocol (TAP)](https://testanything.org/){target="_blank"} format
+is implemented in the [Cake.Issues.Tap addin](https://cakebuild.net/extensions/cake-issues-tap/){target="_blank"}.
+
+
diff --git a/docs/input/documentation/issue-providers/terraform/features.md b/docs/input/documentation/issue-providers/terraform/features.md
new file mode 100644
index 000000000..f558f5e87
--- /dev/null
+++ b/docs/input/documentation/issue-providers/terraform/features.md
@@ -0,0 +1,48 @@
+---
+title: Features
+description: Features of the Cake.Issues.Terraform addin.
+icon: material/creation-outline
+---
+
+The [Cake.Issues.Terraform addin]{target="_blank"} provides the following features.
+
+??? tip "Tip: Running Terraform"
+ [Terraform](https://www.terraform.io){target="_blank"} can be run with
+ [Cake.Terraform](https://cakebuild.net/extensions/cake-terraform/){target="_blank"} addin.
+
+## Basic features
+
+- [x] Reads warnings from [Terraform validate command]{target="_blank"}.
+
+## Supported IIssue properties
+
+
+
+1. Can be set while reading issues
+2. Set to `IIssue.MessageText`
+3. Can be set while reading issues
+
+[Terraform validate command]: https://www.terraform.io/docs/cli/commands/validate.html
+[Cake.Issues.Terraform addin]: https://cakebuild.net/extensions/cake-issues-terraform/
diff --git a/docs/input/documentation/issue-providers/terraform/index.md b/docs/input/documentation/issue-providers/terraform/index.md
new file mode 100644
index 000000000..d9e37a966
--- /dev/null
+++ b/docs/input/documentation/issue-providers/terraform/index.md
@@ -0,0 +1,14 @@
+---
+title: Terraform
+description: Issue provider which allows you to read issues from Terraform validate command.
+---
+
+Support for reading issues reported by [Terraform validate command](https://www.terraform.io/docs/cli/commands/validate.html)
+is implemented in the [Cake.Issues.Terraform addin](https://cakebuild.net/extensions/cake-issues-terraform/).
+
+
diff --git a/docs/input/documentation/overview.md b/docs/input/documentation/overview.md
new file mode 100644
index 000000000..1992f8ed3
--- /dev/null
+++ b/docs/input/documentation/overview.md
@@ -0,0 +1,76 @@
+---
+title: Introduction
+description: Introduction
+---
+
+The Cake.Issues addins for the [Cake build automation system](https://cakebuild.net){target="_blank"}
+offer an extensive and flexible solution for reading linting issues.
+
+Cake.Issues redefines issue management within the Cake build system by offering a comprehensive, universal, and extensible solution.
+The unique capabilities of the addins empower development teams to enforce coding standards, generate insightful reports,
+seamlessly incorporate various linting tools, and streamlining the integration with pull requests.
+With its [modular architecture] and extensive [set of aliases](https://cakebuild.net/extensions/cake-issues/){target="_blank"},
+Cake.Issues provides a future-proof infrastructure for issue management in Cake builds,
+fostering a more efficient and adaptable development process.
+
+## Unique Problem Solving
+
+Some examples how Cake.Issues can help development teams to improve code quality.
+
+### Break build on linting issues
+
+Cake.Issues provides a seamless integration, allowing you to enforce coding standards by breaking builds when linting issues are detected.
+
+[:octicons-arrow-right-24: Breaking builds](usage/breaking-builds/breaking-builds.md)
+
+### Pull Requests integration
+
+Ensure linting issues are promptly addressed by having them reported as comments on pull requests.
+Cake.Issues bridges the gap between linting tools and version control systems, fostering efficient collaboration during code reviews.
+
+[:octicons-arrow-right-24: Integrate with pull request systems](pull-request-systems/index.md)
+
+### Reports
+
+Craft detailed and visually appealing reports for linting issues directly within your Cake build.
+The addins facilitates easy identification and resolution of linting concerns, enhancing the overall code quality.
+
+[:octicons-arrow-right-24: Creating Reports](report-formats/index.md)
+
+## Universal Compatibility
+
+### Diverse Linting Tool Support
+
+Regardless of the linting tools you use, Cake.Issues ensures that you're not left out.
+Cake.Issues supports a variety of analyzers and linters, allowing you to incorporate new tools effortlessly
+while maintaining integration with existing ones.
+
+[:octicons-arrow-right-24: Supported Tools](supported-tools.md)
+
+### Build System Agnosticism
+
+Embrace the freedom to choose the build system that best suit your needs.
+If your current build system lacks tasks for reporting issues in pull requests, Cake.Issues steps in to fill that void seamlessly.
+In the case of using multiple CI services, Cake.Issues guarantees a consistent feature set across all of them.
+
+[:octicons-arrow-right-24: Supported Build and pull request systems](pull-request-systems/index.md)
+
+## Unprecedented Extensibility
+
+### Modular Architecture
+
+The Cake.Issues addin breaks away from the norm by offering a modular architecture.
+Comprising over 15 distinct addins, it presents a cohesive solution through more than 75 aliases for Cake builds,
+providing unparalleled flexibility.
+
+[:octicons-arrow-right-24: Architecture](how-cake-issues-works.md)
+
+### Extensible Infrastructure
+
+Designed with extensibility in mind, Cake.Issues provides extension points for supporting additional
+analyzers, linters,report formats, and code review systems.
+This adaptability ensures that your build scripts can evolve with the ever-changing landscape of development tools.
+
+[:octicons-arrow-right-24: Documentation](extending/index.md)
+
+[modular architecture]: how-cake-issues-works.md
diff --git a/docs/input/docs/pull-request-systems/appveyor/appveyor-messages.png b/docs/input/documentation/pull-request-systems/appveyor/appveyor-messages.png
similarity index 100%
rename from docs/input/docs/pull-request-systems/appveyor/appveyor-messages.png
rename to docs/input/documentation/pull-request-systems/appveyor/appveyor-messages.png
diff --git a/docs/input/docs/pull-request-systems/appveyor/examples/github-pullrequest-integration.md b/docs/input/documentation/pull-request-systems/appveyor/examples/github-pullrequest-integration.md
similarity index 86%
rename from docs/input/docs/pull-request-systems/appveyor/examples/github-pullrequest-integration.md
rename to docs/input/documentation/pull-request-systems/appveyor/examples/github-pullrequest-integration.md
index 2620901b5..edd246e91 100644
--- a/docs/input/docs/pull-request-systems/appveyor/examples/github-pullrequest-integration.md
+++ b/docs/input/documentation/pull-request-systems/appveyor/examples/github-pullrequest-integration.md
@@ -1,8 +1,9 @@
---
-Order: 20
-Title: GitHub pull request integration
-Description: Example how to write AppVeyor message to GitHub pull requests.
+title: GitHub pull request integration
+description: Example how to write AppVeyor message to GitHub pull requests.
+render_macros: false
---
+
This example shows how to write AppVeyor messages created by Cake.Issues to GitHub pull requests.
Issues reported as messages to AppVeyor builds can be written to a GitHub pull request using [GitHub Pull Request Notification]
@@ -21,4 +22,4 @@ The output will look similar to this:
![GitHub pull request integration](github-pullrequest-integration.png "GitHub pull request integration")
-[GitHub Pull Request Notification]: https://www.appveyor.com/docs/notifications/#github-pull-request
\ No newline at end of file
+[GitHub Pull Request Notification]: https://www.appveyor.com/docs/notifications/#github-pull-request
diff --git a/docs/input/docs/pull-request-systems/appveyor/examples/github-pullrequest-integration.png b/docs/input/documentation/pull-request-systems/appveyor/examples/github-pullrequest-integration.png
similarity index 100%
rename from docs/input/docs/pull-request-systems/appveyor/examples/github-pullrequest-integration.png
rename to docs/input/documentation/pull-request-systems/appveyor/examples/github-pullrequest-integration.png
diff --git a/docs/input/documentation/pull-request-systems/appveyor/examples/index.md b/docs/input/documentation/pull-request-systems/appveyor/examples/index.md
new file mode 100644
index 000000000..c65c3ebdf
--- /dev/null
+++ b/docs/input/documentation/pull-request-systems/appveyor/examples/index.md
@@ -0,0 +1,16 @@
+---
+title: Examples
+description: Examples for using the Cake.Issues.PullRequests.AppVeyor addin.
+icon: material/test-tube
+---
+
+
+
+!!! info
+ There's a [demo repository](https://github.com/pascalberger/Cake.Issues-Demo)
+ available which you can fork and to which you can create pull requests to test the integration functionality.
diff --git a/docs/input/documentation/pull-request-systems/appveyor/examples/write-messages.md b/docs/input/documentation/pull-request-systems/appveyor/examples/write-messages.md
new file mode 100644
index 000000000..6c708a556
--- /dev/null
+++ b/docs/input/documentation/pull-request-systems/appveyor/examples/write-messages.md
@@ -0,0 +1,90 @@
+---
+title: Writing message to AppVeyor
+description: Example how to write issues as messages to an AppVeyor build.
+---
+
+To report issues as messages to an AppVeyor build, the AppVeyor addin needs to be imported.
+For this example the JetBrains InspectCode issue provider is additionally used for reading issues:
+
+=== "Cake .NET Tool"
+
+ ```csharp title="build.cake"
+ #addin nuget:?package=Cake.Issues&version={{ cake_issues_version }}
+ #addin nuget:?package=Cake.Issues.InspectCode&version={{ cake_issues_version }}
+ #addin nuget:?package=Cake.Issues.PullRequests&version={{ cake_issues_version }}
+ #addin nuget:?package=Cake.Issues.PullRequests.AppVeyor&version={{ cake_issues_version }}
+ ```
+
+ !!! note
+ In addition to the AppVeyor pull request system the `Cake.Issues` and `Cake.Issues.PullRequests` core addins need to be added.
+
+=== "Cake Frosting"
+
+ ```csharp title="Build.csproj"
+
+
+ Exe
+ {{ example_tfm }}
+ $(MSBuildProjectDirectory)
+ enable
+
+
+
+
+
+
+
+ ```
+
+This example shows how to report issues as messages to an AppVeyor build using the
+[AppVeyorBuilds](https://cakebuild.net/api/Cake.Issues.PullRequests.AppVeyor/AppVeyorBuildsAliases/){target="_blank"} alias:
+
+=== "Cake .NET Tool"
+
+ ```csharp title="build.cake"
+ Task("Report-IssuesToAppVeyor").Does(() =>
+ {
+ var repoRootPath = MakeAbsolute(Directory("./"));
+
+ ReportIssuesToPullRequest(
+ InspectCodeIssuesFromFilePath(
+ @"C:\build\inspectcode.log"),
+ AppVeyorBuilds(),
+ repoRootPath);
+ });
+ ```
+
+=== "Cake Frosting"
+
+ ```csharp title="Program.cs"
+ using Cake.Common.IO;
+ using Cake.Frosting;
+
+ public static class Program
+ {
+ public static int Main(string[] args)
+ {
+ return new CakeHost()
+ .Run(args);
+ }
+ }
+
+ [TaskName("Report-IssuesToAppVeyor")]
+ public sealed class ReportIssuesToAppVeyorTask : FrostingTask
+ {
+ public override void Run(FrostingContext context)
+ {
+ var repoRootPath = context.MakeAbsolute(context.Directory("./"));
+
+ context.ReportIssuesToPullRequest(
+ context.InspectCodeIssuesFromFilePath(
+ @"C:\build\inspectcode.log"),
+ context.AppVeyorBuilds(),
+ repoRootPath);
+ }
+ }
+ ```
+
+The output will look similar to this:
+
+![AppVeyor messages](../appveyor-messages.png "AppVeyor messages")
diff --git a/docs/input/documentation/pull-request-systems/appveyor/features.md b/docs/input/documentation/pull-request-systems/appveyor/features.md
new file mode 100644
index 000000000..adf4de645
--- /dev/null
+++ b/docs/input/documentation/pull-request-systems/appveyor/features.md
@@ -0,0 +1,30 @@
+---
+title: Features
+description: Features of the Cake.Issues.PullRequests.AppVeyor addin.
+icon: material/creation-outline
+---
+
+The [Cake.Issues.PullRequests.AppVeyor addin]{target="_blank"} reports issues as messages to AppVeyor builds.
+
+![AppVeyor messages](appveyor-messages.png "AppVeyor messages")
+
+!!! info
+ There's a [demo repository]{target="_blank"} available which you can fork and to which you can create pull requests to test the integration functionality.
+
+## Basic features
+
+- [x] Reports issues as messages to AppVeyor builds.
+- [x] Messages can be written as comment to GitHub pull requests.
+ See [GitHub pull request integration] for an example.
+
+## Supported capabilities
+
+The [Cake.Issues.PullRequests.AppVeyor addin]{target="_blank"} doesn't support any additional capabilities.
+
+- [ ] Checking commit ID
+- [ ] Discussion threads
+- [ ] Filtering by modified files
+
+[demo repository]: https://github.com/pascalberger/Cake.Issues-Demo
+[Cake.Issues.PullRequests.AppVeyor addin]: https://cakebuild.net/extensions/cake-issues-pullrequests-appveyor/
+[GitHub pull request integration]: ./examples/github-pullrequest-integration.md
diff --git a/docs/input/documentation/pull-request-systems/appveyor/index.md b/docs/input/documentation/pull-request-systems/appveyor/index.md
new file mode 100644
index 000000000..691131073
--- /dev/null
+++ b/docs/input/documentation/pull-request-systems/appveyor/index.md
@@ -0,0 +1,15 @@
+---
+title: AppVeyor
+description: Support for AppVeyor.
+---
+
+Support for AppVeyor is implemented in the
+[Cake.Issues.PullRequests.AppVeyor addin](https://cakebuild.net/extensions/cake-issues-pullrequests-appveyor/){target="_blank"}.
+
+
diff --git a/docs/input/docs/pull-request-systems/azure-devops/cake.issues.pullrequests.azuredevops.png b/docs/input/documentation/pull-request-systems/azure-devops/cake.issues.pullrequests.azuredevops.png
similarity index 100%
rename from docs/input/docs/pull-request-systems/azure-devops/cake.issues.pullrequests.azuredevops.png
rename to docs/input/documentation/pull-request-systems/azure-devops/cake.issues.pullrequests.azuredevops.png
diff --git a/docs/input/documentation/pull-request-systems/azure-devops/examples/azure-pipelines.md b/docs/input/documentation/pull-request-systems/azure-devops/examples/azure-pipelines.md
new file mode 100644
index 000000000..7e757e69b
--- /dev/null
+++ b/docs/input/documentation/pull-request-systems/azure-devops/examples/azure-pipelines.md
@@ -0,0 +1,99 @@
+---
+title: Using with Azure Pipelines
+description: Example how to use the Cake.Issues.PullRequests.AzureDevOps addin from an Azure Pipelines build.
+---
+
+To write issues as comments to Azure DevOps pull requests, the Azure DevOps addin needs to be imported.
+For this example the JetBrains InspectCode issue provider is additionally used for reading issues:
+
+=== "Cake .NET Tool"
+
+ ```csharp title="build.cake"
+ #addin nuget:?package=Cake.Issues&version={{ cake_issues_version }}
+ #addin nuget:?package=Cake.Issues.InspectCode&version={{ cake_issues_version }}
+ #addin nuget:?package=Cake.Issues.PullRequests&version={{ cake_issues_version }}
+ #addin nuget:?package=Cake.Issues.PullRequests.AzureDevOps&version={{ cake_issues_version }}
+ #addin nuget:?package=Cake.AzureDevOps&version={{ cake_azuredevops_version }}
+ ```
+
+ !!! note
+ In addition to the Azure DevOps pull request system the `Cake.Issues` and `Cake.Issues.PullRequests` core addins
+ and the Cake.AzureDevOps addin need to be added.
+
+=== "Cake Frosting"
+
+ ```csharp title="Build.csproj"
+
+
+ Exe
+ {{ example_tfm }}
+ $(MSBuildProjectDirectory)
+ enable
+
+
+
+
+
+
+
+ ```
+
+The following example shows a task which will call the [AzureDevOpsPullRequests](https://cakebuild.net/api/Cake.Issues.PullRequests.AzureDevOps/AzureDevOpsPullRequestSystemAliases/){target="_blank"}
+alias to connect to the pull request using the environment variables provided by Azure Pipelines.:
+
+=== "Cake .NET Tool"
+
+ ```csharp title="build.cake"
+ Task("Report-IssuesToPullRequest").Does(() =>
+ {
+ var repoRootFolder =
+ MakeAbsolute(Directory("./"));
+
+ ReportIssuesToPullRequest(
+ InspectCodeIssuesFromFilePath(
+ @"C:\build\inspectcode.log"),
+ AzureDevOpsPullRequests(),
+ repoRootPath);
+ });
+ ```
+
+=== "Cake Frosting"
+
+ ```csharp title="Program.cs"
+ using Cake.Common.IO;
+ using Cake.Frosting;
+
+ public static class Program
+ {
+ public static int Main(string[] args)
+ {
+ return new CakeHost()
+ .Run(args);
+ }
+ }
+
+ [TaskName("Report-IssuesToPullRequest")]
+ public sealed class ReportIssuesToPullRequestTask : FrostingTask
+ {
+ public override void Run(FrostingContext context)
+ {
+ var repoRootPath =
+ context.MakeAbsolute(context.Directory("./"));
+
+ context.ReportIssuesToPullRequest(
+ context.InspectCodeIssuesFromFilePath(
+ @"C:\build\inspectcode.log"),
+ context.AzureDevOpsPullRequests(),
+ repoRootPath);
+ }
+ }
+ ```
+
+!!! info
+ Please note that you'll need to setup your Azure Pipelines build to
+ [Allow scripts to access the OAuth token](https://docs.microsoft.com/en-us/azure/devops/pipelines/build/options#allow-scripts-to-access-the-oauth-token){target="_blank"}
+ and need to setup proper permissions.
+
+ See [OAuth authentication from Azure Pipelines] for details.
+
+[OAuth authentication from Azure Pipelines]: ../setup.md#oauth-authentication-from-azure-pipelines
diff --git a/docs/input/documentation/pull-request-systems/azure-devops/examples/index.md b/docs/input/documentation/pull-request-systems/azure-devops/examples/index.md
new file mode 100644
index 000000000..881daabcc
--- /dev/null
+++ b/docs/input/documentation/pull-request-systems/azure-devops/examples/index.md
@@ -0,0 +1,17 @@
+---
+title: Examples
+description: Examples for using the Cake.Issues.PullRequests.AzureDevOps addin.
+icon: material/test-tube
+---
+
+
+
+- [Using With Pull Request ID](pullrequest-id.md)
+- [Using With Repository Remote URL And Source Branch Name](repository-information.md)
+- [Using With Azure Pipelines](azure-pipelines.md)
+
+
+
+!!! info
+ There's a [demo repository](https://dev.azure.com/pberger/Cake.Issues-Demo){target="_blank"}
+ available which you can fork and to which you can create pull requests to test the integration functionality.
diff --git a/docs/input/documentation/pull-request-systems/azure-devops/examples/pullrequest-id.md b/docs/input/documentation/pull-request-systems/azure-devops/examples/pullrequest-id.md
new file mode 100644
index 000000000..da9c6f5f8
--- /dev/null
+++ b/docs/input/documentation/pull-request-systems/azure-devops/examples/pullrequest-id.md
@@ -0,0 +1,111 @@
+---
+title: Using with pull request id
+description: Example how to use the Cake.Issues.PullRequests.AzureDevOps addin with pull request id.
+---
+
+To write issues as comments to Azure DevOps pull requests, the Azure DevOps addin needs to be imported.
+To determine the remote repository URL the [Cake.Git](https://cakebuild.net/extensions/cake-git/){target="_blank"} addin can be used.
+For this example the JetBrains InspectCode issue provider is additionally used for reading issues:
+
+=== "Cake .NET Tool"
+
+ ```csharp title="build.cake"
+ #addin nuget:?package=Cake.Git&version={{ cake_git_version }}
+ #addin nuget:?package=Cake.Issues&version={{ cake_issues_version }}
+ #addin nuget:?package=Cake.Issues.InspectCode&version={{ cake_issues_version }}
+ #addin nuget:?package=Cake.Issues.PullRequests&version={{ cake_issues_version }}
+ #addin nuget:?package=Cake.Issues.PullRequests.AzureDevOps&version={{ cake_issues_version }}
+ #addin nuget:?package=Cake.AzureDevOps&version={{ cake_azuredevops_version }}
+ ```
+
+ !!! note
+ In addition to the Azure DevOps pull request system the `Cake.Issues` and `Cake.Issues.PullRequests` core addins
+ and the Cake.AzureDevOps addin need to be added.
+
+=== "Cake Frosting"
+
+ ```csharp title="Build.csproj"
+
+
+ Exe
+ {{ example_tfm }}
+ $(MSBuildProjectDirectory)
+ enable
+
+
+
+
+
+
+
+
+ ```
+
+The following example shows a task which will first determine the remote repository URL and
+with this information call the [AzureDevOpsPullRequests](https://cakebuild.net/api/Cake.Issues.PullRequests.AzureDevOps/AzureDevOpsPullRequestSystemAliases/){target="_blank"}
+alias, which will authenticate through NTLM to an on-premise Azure DevOps Server instance:
+
+=== "Cake .NET Tool"
+
+ ```csharp title="build.cake"
+ Task("Report-IssuesToPullRequest").Does(() =>
+ {
+ var repoRootPath =
+ MakeAbsolute(Directory("./"));
+ var currentBranch =
+ GitBranchCurrent(repoRootPath);
+ var repoRemoteUrl =
+ new Uri(currentBranch.Remotes.Single(x => x.Name == "origin").Url);
+ var pullRequestId = 123;
+
+ ReportIssuesToPullRequest(
+ InspectCodeIssuesFromFilePath(
+ @"C:\build\inspectcode.log"),
+ AzureDevOpsPullRequests(
+ repoRemoteUrl,
+ pullRequestId,
+ AzureDevOpsAuthenticationNtlm()),
+ repoRootPath);
+ });
+ ```
+
+=== "Cake Frosting"
+
+ ```csharp title="Program.cs"
+ using Cake.Common.IO;
+ using Cake.Frosting;
+ using Cake.Git;
+
+ public static class Program
+ {
+ public static int Main(string[] args)
+ {
+ return new CakeHost()
+ .Run(args);
+ }
+ }
+
+ [TaskName("Report-IssuesToPullRequest")]
+ public sealed class ReportIssuesToPullRequestTask : FrostingTask
+ {
+ public override void Run(FrostingContext context)
+ {
+ var repoRootPath =
+ context.MakeAbsolute(context.Directory("./"));
+ var currentBranch =
+ context.GitBranchCurrent(repoRootPath);
+ var repoRemoteUrl =
+ new Uri(currentBranch.Remotes.Single(x => x.Name == "origin").Url);
+ var pullRequestId = 123;
+
+ context.ReportIssuesToPullRequest(
+ context.InspectCodeIssuesFromFilePath(
+ @"C:\build\inspectcode.log"),
+ context.AzureDevOpsPullRequests(
+ repoRemoteUrl,
+ pullRequestId,
+ context.AzureDevOpsAuthenticationNtlm()),
+ repoRootPath);
+ }
+ }
+ ```
diff --git a/docs/input/documentation/pull-request-systems/azure-devops/examples/repository-information.md b/docs/input/documentation/pull-request-systems/azure-devops/examples/repository-information.md
new file mode 100644
index 000000000..09c33efa5
--- /dev/null
+++ b/docs/input/documentation/pull-request-systems/azure-devops/examples/repository-information.md
@@ -0,0 +1,111 @@
+---
+title: Using with repository remote url and source branch name
+description: Example how to use the Cake.Issues.PullRequests.AzureDevOps addin with repository remote url and source branch name.
+---
+
+To write issues as comments to Azure DevOps pull requests, the Azure DevOps addin needs to be imported.
+To determine the remote repository URL and source branch of the pull request the [Cake.Git](https://cakebuild.net/extensions/cake-git/){target="_blank"} addin can be used.
+For this example the JetBrains InspectCode issue provider is additionally used for reading issues:
+
+=== "Cake .NET Tool"
+
+ ```csharp title="build.cake"
+ #addin nuget:?package=Cake.Git&version={{ cake_git_version }}
+ #addin nuget:?package=Cake.Issues&version={{ cake_issues_version }}
+ #addin nuget:?package=Cake.Issues.InspectCode&version={{ cake_issues_version }}
+ #addin nuget:?package=Cake.Issues.PullRequests&version={{ cake_issues_version }}
+ #addin nuget:?package=Cake.Issues.PullRequests.AzureDevOps&version={{ cake_issues_version }}
+ #addin nuget:?package=Cake.AzureDevOps&version={{ cake_azuredevops_version }}
+ ```
+
+ !!! note
+ In addition to the Azure DevOps pull request system the `Cake.Issues` and `Cake.Issues.PullRequests` core addins
+ and the Cake.AzureDevOps addin need to be added.
+
+=== "Cake Frosting"
+
+ ```csharp title="Build.csproj"
+
+
+ Exe
+ {{ example_tfm }}
+ $(MSBuildProjectDirectory)
+ enable
+
+
+
+
+
+
+
+
+ ```
+
+The following example shows a task which will first determine the remote repository URL and
+source branch of the pull request and with this information call the [AzureDevOpsPullRequests](https://cakebuild.net/api/Cake.Issues.PullRequests.AzureDevOps/AzureDevOpsPullRequestSystemAliases/){target="_blank"}
+alias, which will authenticate through NTLM to an on-premise Azure DevOps Server instance:
+
+=== "Cake .NET Tool"
+
+ ```csharp title="build.cake"
+ Task("Report-IssuesToPullRequest").Does(() =>
+ {
+ var repoRootFolder =
+ MakeAbsolute(Directory("./"));
+ var currentBranch =
+ GitBranchCurrent(repoRootFolder);
+ var repoRemoteUrl =
+ new Uri(currentBranch.Remotes.Single(x => x.Name == "origin").Url);
+ var sourceBranchName = currentBranch.CanonicalName;
+
+ ReportIssuesToPullRequest(
+ InspectCodeIssuesFromFilePath(
+ @"C:\build\inspectcode.log"),
+ AzureDevOpsPullRequests(
+ repoRemoteUrl,
+ sourceBranchName,
+ AzureDevOpsAuthenticationNtlm()),
+ repoRootFolder);
+ });
+ ```
+
+=== "Cake Frosting"
+
+ ```csharp title="Program.cs"
+ using Cake.Common.IO;
+ using Cake.Frosting;
+ using Cake.Git;
+
+ public static class Program
+ {
+ public static int Main(string[] args)
+ {
+ return new CakeHost()
+ .Run(args);
+ }
+ }
+
+ [TaskName("Report-IssuesToPullRequest")]
+ public sealed class ReportIssuesToPullRequestTask : FrostingTask
+ {
+ public override void Run(FrostingContext context)
+ {
+ var repoRootPath =
+ context.MakeAbsolute(context.Directory("./"));
+ var currentBranch =
+ context.GitBranchCurrent(repoRootPath);
+ var repoRemoteUrl =
+ new Uri(currentBranch.Remotes.Single(x => x.Name == "origin").Url);
+ var sourceBranchName = currentBranch.CanonicalName;
+
+ context.ReportIssuesToPullRequest(
+ context.InspectCodeIssuesFromFilePath(
+ @"C:\build\inspectcode.log"),
+ context.AzureDevOpsPullRequests(
+ repoRemoteUrl,
+ sourceBranchName,
+ context.AzureDevOpsAuthenticationNtlm()),
+ repoRootPath);
+ }
+ }
+ ```
diff --git a/docs/input/documentation/pull-request-systems/azure-devops/features.md b/docs/input/documentation/pull-request-systems/azure-devops/features.md
new file mode 100644
index 000000000..5c823edf0
--- /dev/null
+++ b/docs/input/documentation/pull-request-systems/azure-devops/features.md
@@ -0,0 +1,45 @@
+---
+title: Features
+description: Features of the Cake.Issues.PullRequests.AzureDevOps addin.
+icon: material/creation-outline
+---
+
+The [Cake.Issues.PullRequests.AzureDevOps addin](https://cakebuild.net/extensions/cake-issues-pullrequests-azuredevops/){target="_blank"}
+provides the following features.
+
+!!! info
+ There's a [demo repository] available which you can fork and to which you can create pull requests to test the integration functionality.
+
+## Basic features
+
+- [x] Writes issues as comments to [Azure DevOps](https://azure.microsoft.com/en-us/services/devops/){target="_blank"} pull requests.
+- [x] Identification of pull requests through source branch or pull request ID.
+- [x] Comments written by the addin will be rendered with a specific icon corresponding to the state of the issue.
+- [x] Adds rule number and, if provided by the issue provider, link to the rule description to the comment.
+- [x] Support for issues messages formatted in Markdown format.
+
+## Supported capabilities
+
+The [Cake.Issues.PullRequests.AzureDevOps addin](https://cakebuild.net/extensions/cake-issues-pullrequests-azuredevops/){target="_blank"}
+supports the following capabilities.
+
+- [x] Checking commit ID
+- [x] Discussion threads
+- [x] Filtering by modified files
+
+## Supported authentication methods
+
+| Azure DevOps Server | Azure DevOps Service | Authentication method |
+|---------------------|----------------------|--------------------------------|
+| :material-check: | | NTLM |
+| :material-check: | | Basic authentication |
+| :material-check: | :material-check: | Personal access token |
+| | :material-check: | OAuth |
+| | :material-check: | Azure Active Directory |
+
+For detailed instructions how to connect using the different methods see [Setup instructions].
+
+![Cake.Issues.PullRequests.AzureDevOps](cake.issues.pullrequests.azuredevops.png "Cake.Issues.PullRequests.AzureDevOps")
+
+[demo repository]: https://dev.azure.com/pberger/Cake.Issues-Demo
+[Setup instructions]: setup.md
diff --git a/docs/input/documentation/pull-request-systems/azure-devops/index.md b/docs/input/documentation/pull-request-systems/azure-devops/index.md
new file mode 100644
index 000000000..e19ef3a2c
--- /dev/null
+++ b/docs/input/documentation/pull-request-systems/azure-devops/index.md
@@ -0,0 +1,16 @@
+---
+title: Azure DevOps
+description: Support for Azure DevOps.
+---
+
+Support for Azure DevOps is implemented in the
+[Cake.Issues.PullRequests.AzureDevOps addin](https://cakebuild.net/extensions/cake-issues-pullrequests-azuredevops/){target="_blank"}.
+
+
diff --git a/docs/input/documentation/pull-request-systems/azure-devops/setup.md b/docs/input/documentation/pull-request-systems/azure-devops/setup.md
new file mode 100644
index 000000000..6fd0c7013
--- /dev/null
+++ b/docs/input/documentation/pull-request-systems/azure-devops/setup.md
@@ -0,0 +1,75 @@
+---
+title: Setup
+description: Instructions how to setup the Cake.Issues.PullRequests.AzureDevOps addin.
+icon: material/cogs
+---
+
+This page describes the different ways how the [Cake.Issues.PullRequests.AzureDevOps addin]{target="_blank"} can be setup.
+
+## NTLM authentication
+
+!!! info
+ NTLM authentication is only available for on-premise Azure DevOps Server.
+
+To authenticate with NTLM you can use the [AzureDevOpsAuthenticationNtlm]{target="_blank"} alias from the [Cake.AzureDevOps addin]{target="_blank"}.
+
+The user needs to have `Contribute to pull requests` permission for the specific repository to
+allow [Cake.Issues.PullRequests.AzureDevOps addin]{target="_blank"} to post issues as comments to pull requests.
+
+## Basic authentication
+
+!!! info
+ Basic authentication is only available for on-premise Azure DevOps Server.
+
+To authenticate with basic authentication you can use the [AzureDevOpsAuthenticationBasic]{target="_blank"} alias from the [Cake.AzureDevOps addin]{target="_blank"} and
+need to [Configure Azure DevOps Server to use Basic Authentication]{target="_blank"}.
+
+The user needs to have `Contribute to pull requests` permission for the specific repository to
+allow [Cake.Issues.PullRequests.AzureDevOps addin]{target="_blank"} to post issues as comments to pull requests.
+
+## Personal access token
+
+To authenticate with an personal access token you can use the [AzureDevOpsAuthenticationPersonalAccessToken]{target="_blank"} alias from the [Cake.AzureDevOps addin]{target="_blank"}.
+
+If you want to use the [Cake.Issues.PullRequests.AzureDevOps addin]{target="_blank"} with an personal access token see
+[Authenticate access with personal access tokens for Azure DevOps]{target="_blank"} for instructions how to create
+a personal access token.
+
+The access token needs to have the scope `Code (read and write)` set and the user needs to have `Contribute to pull requests`
+permission for the specific repository to allow [Cake.Issues.PullRequests.AzureDevOps addin]{target="_blank"} to post issues as comments to pull requests.
+
+## OAuth authentication from Azure Pipelines
+
+!!! info
+ OAuth authentication is only available for Azure DevOps Service.
+
+If you want to use the [Cake.Issues.PullRequests.AzureDevOps addin]{target="_blank"} from an Azure Pipelines you can authenticate using the
+OAuth token provided to the build.
+For this you need to enable the [Allow scripts to access the OAuth token]{target="_blank"} option on the build definition.
+
+To authenticate you can use the [AzureDevOpsAuthenticationOAuth]{target="_blank"} alias from the [Cake.AzureDevOps addin]{target="_blank"}.
+
+The user under which the build runs, named ` Build Service ()` (e.g. `Cake.Issues-Demo Build Service (cake-contrib)`),
+needs to have `Contribute to pull requests` permission for the specific repository to allow [Cake.Issues.PullRequests.AzureDevOps addin]{target="_blank"}
+to post issues as comments to pull requests.
+
+## Entra authentication
+
+!!! info
+ Entra authentication is only available for Azure DevOps Service.
+
+To authenticate with Entra ID you can use the [AzureDevOpsAuthenticationAzureActiveDirectory]{target="_blank"} alias from the [Cake.AzureDevOps addin]{target="_blank"}.
+
+The user needs to have `Contribute to pull requests` permission for the specific repository to
+allow [Cake.Issues.PullRequests.AzureDevOps addin]{target="_blank"} to post issues as comments to pull requests.
+
+[Cake.Issues.PullRequests.AzureDevOps addin]: https://cakebuild.net/extensions/cake-issues-pullrequests-azuredevops/
+[Cake.AzureDevOps addin]: https://cakebuild.net/extensions/cake-azuredevops/
+[Configure Azure DevOps Server to use Basic Authentication]: https://learn.microsoft.com/en-us/azure/devops/integrate/get-started/auth/tfs-basic-auth#configure-for-basic-authentication
+[Authenticate access with personal access tokens for Azure DevOps]: https://learn.microsoft.com/en-us/azure/devops/organizations/accounts/use-personal-access-tokens-to-authenticate
+[Allow scripts to access the OAuth token]: https://learn.microsoft.com/en-us/azure/devops/pipelines/release/options?view=azure-devops#allow-scripts-to-access-the-oauth-token
+[AzureDevOpsAuthenticationNtlm]: https://cakebuild.net/api/Cake.AzureDevOps/AzureDevOpsAliases/F2A040B7
+[AzureDevOpsAuthenticationBasic]: https://cakebuild.net/api/Cake.AzureDevOps/AzureDevOpsAliases/7CD679FF
+[AzureDevOpsAuthenticationPersonalAccessToken]: https://cakebuild.net/api/Cake.AzureDevOps/AzureDevOpsAliases/F4DCC101
+[AzureDevOpsAuthenticationOAuth]: https://cakebuild.net/api/Cake.AzureDevOps/AzureDevOpsAliases/988E9C28
+[AzureDevOpsAuthenticationAzureActiveDirectory]: https://cakebuild.net/api/Cake.AzureDevOps/AzureDevOpsAliases/0B9F5DF6
diff --git a/docs/input/documentation/pull-request-systems/github-actions/examples/index.md b/docs/input/documentation/pull-request-systems/github-actions/examples/index.md
new file mode 100644
index 000000000..9dc9864e1
--- /dev/null
+++ b/docs/input/documentation/pull-request-systems/github-actions/examples/index.md
@@ -0,0 +1,11 @@
+---
+title: Examples
+description: Examples for using the Cake.Issues.PullRequests.GitHubActions addin.
+icon: material/test-tube
+---
+
+
+
+- [Create Annotations In GitHub Actions](write-annotations.md)
+
+
diff --git a/docs/input/documentation/pull-request-systems/github-actions/examples/write-annotations.md b/docs/input/documentation/pull-request-systems/github-actions/examples/write-annotations.md
new file mode 100644
index 000000000..ac0b59b65
--- /dev/null
+++ b/docs/input/documentation/pull-request-systems/github-actions/examples/write-annotations.md
@@ -0,0 +1,98 @@
+---
+title: Create annotations in GitHub Actions
+description: Example how to write issues as annotations to a GitHub Actions build.
+---
+
+To report issues as annotations to a GitHub Actions build, the GitHub Actions addin needs to be imported.
+For this example the JetBrains InspectCode issue provider is additionally used for reading issues:
+
+=== "Cake .NET Tool"
+
+ ```csharp title="build.cake"
+ #addin nuget:?package=Cake.Issues&version={{ cake_issues_version }}
+ #addin nuget:?package=Cake.Issues.InspectCode&version={{ cake_issues_version }}
+ #addin nuget:?package=Cake.Issues.PullRequests&version={{ cake_issues_version }}
+ #addin nuget:?package=Cake.Issues.PullRequests.GitHubActions&version={{ cake_issues_version }}
+ ```
+
+ !!! note
+ In addition to the GitHub Actions pull request system the `Cake.Issues` and `Cake.Issues.PullRequests` core addins need to be added.
+
+=== "Cake Frosting"
+
+ ```csharp title="Build.csproj"
+
+
+ Exe
+ {{ example_tfm }}
+ $(MSBuildProjectDirectory)
+ enable
+
+
+
+
+
+
+
+ ```
+
+This example shows how to report issues as annotations to GitHubActions build using the
+[GitHubActionsBuilds](https://cakebuild.net/api/Cake.Issues.PullRequests.GitHubActions/GitHubActionsBuildsAliases/){target="_blank"} alias:
+
+=== "Cake .NET Tool"
+
+ ```csharp title="build.cake"
+ Task("ReportIssuesToGitHubActions").Does(() =>
+ {
+ var repoRootPath = MakeAbsolute(Directory("./"));
+
+ ReportIssuesToPullRequest(
+ InspectCodeIssuesFromFilePath(
+ @"C:\build\inspectcode.log"),
+ GitHubActionsBuilds(),
+ repoRootFolder);
+ });
+ ```
+
+=== "Cake Frosting"
+
+ ```csharp title="Program.cs"
+ using Cake.Common.IO;
+ using Cake.Frosting;
+
+ public static class Program
+ {
+ public static int Main(string[] args)
+ {
+ return new CakeHost()
+ .Run(args);
+ }
+ }
+
+ [TaskName("Report-IssuesToAppVeyor")]
+ public sealed class ReportIssuesToAppVeyorTask : FrostingTask
+ {
+ public override void Run(FrostingContext context)
+ {
+ var repoRootPath = context.MakeAbsolute(context.Directory("./"));
+
+ context.ReportIssuesToPullRequest(
+ context.InspectCodeIssuesFromFilePath(
+ @"C:\build\inspectcode.log"),
+ context.GitHubActionsBuilds(),
+ repoRootPath);
+ }
+ }
+ ```
+
+The output will show up in the build log grouped by issue provider / run:
+
+![Log output](../githubactions-log-output.png "Log output")
+
+Additionally the issues show up as annotations:
+
+![Annotations](../githubactions-annotations.png "Annotations")
+
+Having issues available as annotations also means that they will be shown in pull requests on the related file / position:
+
+![Pull request integration](../githubactions-pullrequest-integration.png "Pull request integration")
diff --git a/docs/input/documentation/pull-request-systems/github-actions/features.md b/docs/input/documentation/pull-request-systems/github-actions/features.md
new file mode 100644
index 000000000..97fb84650
--- /dev/null
+++ b/docs/input/documentation/pull-request-systems/github-actions/features.md
@@ -0,0 +1,24 @@
+---
+title: Features
+description: Features of the Cake.Issues.PullRequests.GitHubActions addin.
+icon: material/creation-outline
+---
+
+The [Cake.Issues.PullRequests.GitHubActions addin]{target="_blank"} creates annotations from issues when running on GitHub actions.
+
+![Pull request integration](githubactions-pullrequest-integration.png "Pull request integration")
+
+## Basic features
+
+- [x] Reports issues as annotations to GitHub Actions builds.
+- [x] Group issues in log output by provider and run information.
+
+## Supported capabilities
+
+The [Cake.Issues.PullRequests.GitHubActions addin]{target="_blank"} doesn't support any additional capabilities.
+
+- [ ] Checking commit ID
+- [ ] Discussion threads
+- [ ] Filtering by modified files
+
+[Cake.Issues.PullRequests.GitHubActions addin]: https://cakebuild.net/extensions/cake-issues-pullrequests-githubactions/
diff --git a/docs/input/docs/pull-request-systems/github-actions/githubactions-annotations.png b/docs/input/documentation/pull-request-systems/github-actions/githubactions-annotations.png
similarity index 100%
rename from docs/input/docs/pull-request-systems/github-actions/githubactions-annotations.png
rename to docs/input/documentation/pull-request-systems/github-actions/githubactions-annotations.png
diff --git a/docs/input/docs/pull-request-systems/github-actions/githubactions-log-output.png b/docs/input/documentation/pull-request-systems/github-actions/githubactions-log-output.png
similarity index 100%
rename from docs/input/docs/pull-request-systems/github-actions/githubactions-log-output.png
rename to docs/input/documentation/pull-request-systems/github-actions/githubactions-log-output.png
diff --git a/docs/input/docs/pull-request-systems/github-actions/githubactions-pullrequest-integration.png b/docs/input/documentation/pull-request-systems/github-actions/githubactions-pullrequest-integration.png
similarity index 100%
rename from docs/input/docs/pull-request-systems/github-actions/githubactions-pullrequest-integration.png
rename to docs/input/documentation/pull-request-systems/github-actions/githubactions-pullrequest-integration.png
diff --git a/docs/input/documentation/pull-request-systems/github-actions/index.md b/docs/input/documentation/pull-request-systems/github-actions/index.md
new file mode 100644
index 000000000..d5b5d2011
--- /dev/null
+++ b/docs/input/documentation/pull-request-systems/github-actions/index.md
@@ -0,0 +1,15 @@
+---
+title: GitHub Actions
+description: Support for GitHub Actions.
+---
+
+Support for GitHub Actions is implemented in the
+[Cake.Issues.PullRequests.GitHubActions addin](https://cakebuild.net/extensions/cake-issues-pullrequests-githubactions/){target="_blank"}.
+
+
diff --git a/docs/input/documentation/pull-request-systems/index.md b/docs/input/documentation/pull-request-systems/index.md
new file mode 100644
index 000000000..abd2d72b4
--- /dev/null
+++ b/docs/input/documentation/pull-request-systems/index.md
@@ -0,0 +1,25 @@
+---
+title: Pull Request Systems
+description: Documentation of the different pull request system implementations.
+---
+
+Pull request addins implement specific Pull Request Systems and allow the
+Cake Issues addin to write found issues as comments to pull requests.
+
+
+
+[AppVeyor]: appveyor/index.md
+[Azure DevOps]: azure-devops/index.md
+[GitHub Actions]: github-actions/index.md
+
+!!! tip
+ See [How to implement pull request systems] for instruction on how to implement support for
+ additional pull request systems.
+
+[How to implement pull request systems]: ../extending/pull-request-system/overview.md
diff --git a/docs/input/documentation/recipe/configuration.md b/docs/input/documentation/recipe/configuration.md
new file mode 100644
index 000000000..b8acf4a73
--- /dev/null
+++ b/docs/input/documentation/recipe/configuration.md
@@ -0,0 +1,155 @@
+---
+title: Configuration
+description: Available parameters to configure Cake.Issues recipes.
+---
+
+This page lists configuration properties which can be used to define the functionality
+and behavior of Cake.Issues recipes.
+
+## Git repository information
+
+Cake.Issues recipes require some information about current Git repository.
+
+To define the Git provider in `Cake.Issues.Recipe` set the global variable `RepositoryInfoProvider`.
+To define the Git provider in `Cake.Frosting.Issues.Recipe` pass the value to the constructor of `IssueContext`.
+
+The following providers are supported:
+
+| Provider | Description |
+|--------------------------------------|-------------------------------------------------------------------------------------------------------------|
+| `RepositoryInfoProviderType.CakeGit` | Read repository information using [Cake.Git addin](https://cakebuild.net/extensions/cake-git/){target="_blank"}. Requires system to be compatible with [Cake.Git addin](https://cakebuild.net/extensions/cake-git/){target="_blank"}. |
+| `RepositoryInfoProviderType.Cli` | Read repository information using Git CLI. Requires Git CLI to be available in path. |
+
+By default [Cake.Git addin](https://cakebuild.net/extensions/cake-git/){target="_blank"} will be used.
+
+## General
+
+=== "Cake.Issues.Recipe"
+
+ | IssuesParameters Property | Default Value | Description |
+ |---------------------------|------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------|
+ | `OutputDirectory` | `BuildArtifacts` | Path to the output directory. A relative path will be relative to the current working directory. |
+ | `BuildIdentifier` | `string.Empty` | Identifier for the build run. If set this identifier will be used to identify to artifacts provided by the build if building on multiple configurations. |
+
+=== "Cake.Frosting.Issues.Recipe"
+
+ | IssuesContext.Parameters Property | Default Value | Description |
+ |-----------------------------------|------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------|
+ | `OutputDirectory` | `BuildArtifacts` | Path to the output directory. A relative path will be relative to the current working directory. |
+ | `BuildIdentifier` | `string.Empty` | Identifier for the build run. If set this identifier will be used to identify to artifacts provided by the build if building on multiple configurations. |
+
+## Input files
+
+=== "Cake.Issues.Recipe"
+
+ | IssuesParameters.InputFiles Methods | Description |
+ |-------------------------------------------|-----------------------------------------------------------------------------|
+ | `AddMsBuildXmlFileLoggerLogFilePath()` | Adds a path to a MSBuild log file created by XmlFileLogger. |
+ | `AddMsBuildXmlFileLoggerLogFileContent()` | Adds content of a MSBuild log file created by XmlFileLogger. |
+ | `AddMsBuildBinaryLogFilePath()` | Adds a path to a MSBuild binary log file. |
+ | `AddMsBuildBinaryLogFileContent()` | Adds content of a MSBuild binary log file. |
+ | `AddInspectCodeLogFilePath()` | Adds a path to a JetBrains InspectCode log file. |
+ | `AddInspectCodeLogFileContent()` | Adds content of a JetBrains InspectCode log file. |
+ | `AddMarkdownlintCliLogFilePath()` | Adds a path to a markdownlint-cli log file. |
+ | `AddMarkdownlintCliLogFileContent()` | Adds content of a markdownlint-cli log file. |
+ | `AddMarkdownlintCliJsonLogFilePath()` | Adds a path to a markdownlint-cli log file writting with `--json`. |
+ | `AddMarkdownlintCliJsonLogFileContent()` | Adds content of a markdownlint-cli log file writting with `--json`. |
+ | `AddMarkdownlintV1LogFilePath()` | Adds a path to a markdownlint log file in version 1. |
+ | `AddMarkdownlintV1LogFileContent()` | Adds content of a markdownlint log file in version 1. |
+ | `AddEsLintJsonLogFilePath()` | Adds a path to a ESLint log file generated by the [ESLint json formatter](https://eslint.org/docs/user-guide/formatters/#json){target="_blank"}. |
+ | `AddEsLintJsonLogFileContent()` | Adds content of a ESLint log file generated by the [ESLint json formatter](https://eslint.org/docs/user-guide/formatters/#json){target="_blank"}. |
+ | `AddSarifLogFilePath()` | Adds a path to a SARIF log file. |
+ | `AddSarifLogFileContent()` | Adds content of a SARIF log file. |
+
+=== "Cake.Frosting.Issues.Recipe"
+
+ | IssuesContext.Parameters.InputFiles Methods | Description |
+ |---------------------------------------------|-----------------------------------------------------------------------------|
+ | `AddMsBuildXmlFileLoggerLogFilePath()` | Adds a path to a MSBuild log file created by XmlFileLogger. |
+ | `AddMsBuildXmlFileLoggerLogFileContent()` | Adds content of a MSBuild log file created by XmlFileLogger. |
+ | `AddMsBuildBinaryLogFilePath()` | Adds a path to a MSBuild binary log file. |
+ | `AddMsBuildBinaryLogFileContent()` | Adds content of a MSBuild binary log file. |
+ | `AddInspectCodeLogFilePath()` | Adds a path to a JetBrains InspectCode log file. |
+ | `AddInspectCodeLogFileContent()` | Adds content of a JetBrains InspectCode log file. |
+ | `AddMarkdownlintCliLogFilePath()` | Adds a path to a markdownlint-cli log file. |
+ | `AddMarkdownlintCliLogFileContent()` | Adds content of a markdownlint-cli log file. |
+ | `AddMarkdownlintCliJsonLogFilePath()` | Adds a path to a markdownlint-cli log file writting with `--json`. |
+ | `AddMarkdownlintCliJsonLogFileContent()` | Adds content of a markdownlint-cli log file writting with `--json`. |
+ | `AddMarkdownlintV1LogFilePath()` | Adds a path to a markdownlint log file in version 1. |
+ | `AddMarkdownlintV1LogFileContent()` | Adds content of a markdownlint log file in version 1. |
+ | `AddEsLintJsonLogFilePath()` | Adds a path to a ESLint log file generated by the [ESLint json formatter](https://eslint.org/docs/user-guide/formatters/#json){target="_blank"}. |
+ | `AddEsLintJsonLogFileContent()` | Adds content of a ESLint log file generated by the [ESLint json formatter](https://eslint.org/docs/user-guide/formatters/#json){target="_blank"}. |
+ | `AddSarifLogFilePath()` | Adds a path to a SARIF log file. |
+ | `AddSarifLogFileContent()` | Adds content of a SARIF log file. |
+
+## Report creation
+
+=== "Cake.Issues.Recipe"
+
+ | IssuesParameters.Reporting Property | Default Value | Description |
+ |-------------------------------------|------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------|
+ | `ShouldCreateFullIssuesReport` | `true` | Indicates whether full issues report should be created. |
+ | `FullIssuesReportSettings` | `GenericIssueReportTemplate.HtmlDxDataGrid` template with `DevExtremeTheme.MaterialBlueLight` theme. | Settings for creating the full issues report. See [Template Gallery] for possible options. |
+ | `ShouldCreateSarifReport` | `true` | Indicates whether a report in SARIF format should be created. |
+ | `ShouldReportIssuesToConsole` | `false` | Indicates whether issues should be reported to the console. |
+ | `ReportToConsoleSettings` | | Settings for reporting issues to the console. |
+
+=== "Cake.Frosting.Issues.Recipe"
+
+ | IssuesContext.Parameters.Reporting Property | Default Value | Description |
+ |---------------------------------------------|------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------|
+ | `ShouldCreateFullIssuesReport` | `true` | Indicates whether full issues report should be created. |
+ | `FullIssuesReportSettings` | `GenericIssueReportTemplate.HtmlDxDataGrid` template with `DevExtremeTheme.MaterialBlueLight` theme. | Settings for creating the full issues report. See [Template Gallery] for possible options. |
+ | `ShouldCreateSarifReport` | `true` | Indicates whether a report in SARIF format should be created. |
+ | `ShouldReportIssuesToConsole` | `false` | Indicates whether issues should be reported to the console. |
+ | `ReportToConsoleSettings` | | Settings for reporting issues to the console. |
+
+[Template Gallery]: ../report-formats/generic/templates/index.md
+
+## Build server integration
+
+=== "Cake.Issues.Recipe"
+
+ | IssuesParameters.BuildServer Property | Default Value | Description |
+ |---------------------------------------|---------------|------------------------------------------------------------------------------------------------|
+ | `ShouldReportIssuesToBuildServer` | `true` | Indicates whether issues should be reported to the build server. |
+ | `ShouldPublishFullIssuesReport` | `true` | Indicates whether full issues report should be published as artifact to the build system. |
+ | `ShouldPublishSarifReport` | `true` | Indicates whether report int SARIF format shoudl be published as artifact to the build system. |
+ | `ShouldCreateSummaryIssuesReport` | `true` | Indicates whether summary issues report should be created. |
+
+=== "Cake.Frosting.Issues.Recipe"
+
+ | IssuesContext.Parameters.BuildServer Property | Default Value | Description |
+ |-----------------------------------------------|---------------|------------------------------------------------------------------------------------------------|
+ | `ShouldReportIssuesToBuildServer` | `true` | Indicates whether issues should be reported to the build server. |
+ | `ShouldPublishFullIssuesReport` | `true` | Indicates whether full issues report should be published as artifact to the build system. |
+ | `ShouldPublishSarifReport` | `true` | Indicates whether report int SARIF format shoudl be published as artifact to the build system. |
+ | `ShouldCreateSummaryIssuesReport` | `true` | Indicates whether summary issues report should be created. |
+
+## Pull request integration
+
+=== "Cake.Issues.Recipe"
+
+ | IssuesParameters.PullRequestSystem Property | Default Value | Description |
+ |----------------------------------------------------------------|---------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+ | `ShouldReportIssuesToPullRequest` | `true` | Indicates whether issues should be reported to the pull request system. |
+ | `MaxIssuesToPost` | `null` | Global number of issues which should be posted at maximum over all issue provider. Issues are filtered by priority and issues with a file path are prioritized. `null` won't set a global limit. |
+ | `MaxIssuesToPostAcrossRuns` | `null` | Global number of issues which should be posted at maximum over all issue providers and across multiple runs. Issues are filtered by priority and issues with a file path are prioritized. `null` won't set a limit across multiple runs. |
+ | `MaxIssuesToPostForEachIssueProvider` | `100` | Number of issues which should be posted at maximum for each issue provider. Issues are filtered by priority and issues with a file path are prioritized. `null` won't limit issues per issue provider. |
+ | `ProviderIssueLimits` | Empty | Issue limits for individual issue provider. The key must be the `IIssue.ProviderType` of a specific provider to which the limits should be applied to. |
+ | `IssueFilters` | Empty | List of filter functions which should be applied before posting issues to pull requests. |
+ | `ShouldSetPullRequestStatus` | `true` | Indicates whether a status on the pull request should be set if there are any issues found. |
+ | `ShouldSetSeparatePullRequestStatusForEachIssueProviderAndRun` | `true` | Indicates whether a separate status should be set for issues of every issue provider and run. |
+
+=== "Cake.Frosting.Issues.Recipe"
+
+ | IssuesContext.Parameters.PullRequestSystem Property | Default Value | Description |
+ |----------------------------------------------------------------|---------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+ | `ShouldReportIssuesToPullRequest` | `true` | Indicates whether issues should be reported to the pull request system. |
+ | `MaxIssuesToPost` | `null` | Global number of issues which should be posted at maximum over all issue provider. Issues are filtered by priority and issues with a file path are prioritized. `null` won't set a global limit. |
+ | `MaxIssuesToPostAcrossRuns` | `null` | Global number of issues which should be posted at maximum over all issue providers and across multiple runs. Issues are filtered by priority and issues with a file path are prioritized. `null` won't set a limit across multiple runs. |
+ | `MaxIssuesToPostForEachIssueProvider` | `100` | Number of issues which should be posted at maximum for each issue provider. Issues are filtered by priority and issues with a file path are prioritized. `null` won't limit issues per issue provider. |
+ | `ProviderIssueLimits` | Empty | Issue limits for individual issue provider. The key must be the `IIssue.ProviderType` of a specific provider to which the limits should be applied to. |
+ | `IssueFilters` | Empty | List of filter functions which should be applied before posting issues to pull requests. |
+ | `ShouldSetPullRequestStatus` | `true` | Indicates whether a status on the pull request should be set if there are any issues found. |
+ | `ShouldSetSeparatePullRequestStatusForEachIssueProviderAndRun` | `true` | Indicates whether a separate status should be set for issues of every issue provider and run. |
diff --git a/docs/input/documentation/recipe/demos.md b/docs/input/documentation/recipe/demos.md
new file mode 100644
index 000000000..36fa3c149
--- /dev/null
+++ b/docs/input/documentation/recipe/demos.md
@@ -0,0 +1,11 @@
+---
+title: Demos
+description: Demo setups for Cake.Issues recipes.
+---
+
+There are demo setups available for different combinations of build servers and repositories which you can fork and to which you can create pull requests
+to test the recipe functionality.
+
+| Recipe | Build Server | Repository |
+|--------------------|-------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------|
+| Cake.Issues.Recipe | [Azure Pipelines](https://dev.azure.com/pberger/Cake.Issues.Recipe-Demo/_build/latest?definitionId=6) | [Azure Repos](https://dev.azure.com/pberger/_git/Cake.Issues.Recipe-Demo) |
\ No newline at end of file
diff --git a/docs/input/documentation/recipe/index.md b/docs/input/documentation/recipe/index.md
new file mode 100644
index 000000000..48f67c531
--- /dev/null
+++ b/docs/input/documentation/recipe/index.md
@@ -0,0 +1,112 @@
+---
+title: Overview
+description: Overview about Cake.Issues recipes.
+---
+
+Cake.Issues recipes provide build scripts, delivered as a NuGet package, which can be used inside your projects Cake build to add issue management.
+
+Integration of code analyzing and linting tools into a build pipeline often looks the similar, and differentiates mainly on the used linters, build and pull request systems.
+Cake.Issues recipes contain code to do all the parsing, integration with build and pull request systems for you, using the individual Cake.Issues addins.
+They support different linters based on the linting log files you pass it and integrate automatically with different build and pull request systems.
+
+There are two flavors available:
+
+
diff --git a/docs/input/documentation/report-formats/generic/features.md b/docs/input/documentation/report-formats/generic/features.md
new file mode 100644
index 000000000..1c19f1359
--- /dev/null
+++ b/docs/input/documentation/report-formats/generic/features.md
@@ -0,0 +1,17 @@
+---
+title: Features
+description: Features of the Cake.Issues.Reporting.Generic addin.
+icon: material/creation-outline
+---
+
+The [Cake.Issues.Reporting.Generic addin](https://cakebuild.net/extensions/cake-issues-reporting-generic/){target="_blank"}
+provides the following features:
+
+- [x] Creates reports in any text based format like HTML or Markdown.
+- [x] Provides out of the box templates
+- [x] Possibility to use custom templates using Razor
+
+!!! info
+ See [Template Gallery] for a list of available out of the box and 3rd party templates.
+
+[Template Gallery]: templates/index.md
diff --git a/docs/input/documentation/report-formats/generic/index.md b/docs/input/documentation/report-formats/generic/index.md
new file mode 100644
index 000000000..00105dc30
--- /dev/null
+++ b/docs/input/documentation/report-formats/generic/index.md
@@ -0,0 +1,16 @@
+---
+title: Generic
+description: Report format to create reports in any text based format (HTML, Markdown, ...).
+---
+
+Support for creating reports in any text based format like HTML or Markdown is implemented in the
+[Cake.Issues.Reporting.Generic addin](https://cakebuild.net/extensions/cake-issues-reporting-generic/){target="_blank"}.
+
+
diff --git a/docs/input/docs/report-formats/generic/templates/htmldatatable-demo-default.html b/docs/input/documentation/report-formats/generic/templates/htmldatatable-demo-default.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldatatable-demo-default.html
rename to docs/input/documentation/report-formats/generic/templates/htmldatatable-demo-default.html
diff --git a/docs/input/documentation/report-formats/generic/templates/htmldatatable.md b/docs/input/documentation/report-formats/generic/templates/htmldatatable.md
new file mode 100644
index 000000000..aa4f03f77
--- /dev/null
+++ b/docs/input/documentation/report-formats/generic/templates/htmldatatable.md
@@ -0,0 +1,67 @@
+---
+title: HTML Data Table
+description: Template for a HTML report containing a rich data table view with sorting and search functionality.
+---
+
+Template for a HTML report containing a rich data table view with sorting and search functionality powered by
+[Simple-DataTables](https://github.com/fiduswriter/Simple-DataTables){target="_blank"}.
+
+![HTML Data Table](htmldatatable01.png "HTML Data Table")
+
+## Features
+
+- [x] Separate table for issues of each issue provider.
+- [x] Table with `Severity`, `Project`, `Path`, `File`, `Location`, `Rule`, `Message`.
+- [x] Each column sortable by user.
+- [x] Paged table with possibility for user to change number of entries per page.
+- [x] Client-side full text search.
+- [x] No internet access required for displaying.
+
+## Requirements
+
+* Cake.Issues.Reporting.Generic 0.2.1 or higher
+
+## Usage
+
+To create a report using the HTML Data Table template you can use the
+[GenericIssueReportTemplate.HtmlDataTable](https://cakebuild.net/api/Cake.Issues.Reporting.Generic/GenericIssueReportTemplate/62ADE81F){target="_blank"}
+enum value:
+
+=== "Cake .NET Tool"
+
+ ```csharp
+ CreateIssueReport(
+ issues,
+ GenericIssueReportFormatFromEmbeddedTemplate(
+ GenericIssueReportTemplate.HtmlDataTable),
+ @"c:\repo",
+ @"c:\report.html");
+ ```
+
+=== "Cake Frosting"
+
+ ```csharp
+ context.CreateIssueReport(
+ issues,
+ context.GenericIssueReportFormatFromEmbeddedTemplate(
+ GenericIssueReportTemplate.HtmlDataTable),
+ @"c:\repo",
+ @"c:\report.html");
+ ```
+
+## Options
+
+This template doesn't support any options.
+
+## Demos
+
+* [Default](htmldatatable-demo-default.html){target="_blank"}
+
+## Source Code
+
+!!! info
+ You can use the source code as a template for your [custom template].
+
+Source code is available on [GitHub](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/src/Cake.Issues.Reporting.Generic/Templates/DataTable.cshtml){target="_blank"}.
+
+[custom template]: ../examples/custom-template.md
diff --git a/docs/input/docs/report-formats/generic/templates/htmldatatable01.png b/docs/input/documentation/report-formats/generic/templates/htmldatatable01.png
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldatatable01.png
rename to docs/input/documentation/report-formats/generic/templates/htmldatatable01.png
diff --git a/docs/input/docs/report-formats/generic/templates/htmldiagnostic-demo-default.html b/docs/input/documentation/report-formats/generic/templates/htmldiagnostic-demo-default.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldiagnostic-demo-default.html
rename to docs/input/documentation/report-formats/generic/templates/htmldiagnostic-demo-default.html
diff --git a/docs/input/documentation/report-formats/generic/templates/htmldiagnostic.md b/docs/input/documentation/report-formats/generic/templates/htmldiagnostic.md
new file mode 100644
index 000000000..460734807
--- /dev/null
+++ b/docs/input/documentation/report-formats/generic/templates/htmldiagnostic.md
@@ -0,0 +1,62 @@
+---
+title: HTML Diagnostic
+description: Template for a HTML report containing a list of all issues with all properties.
+---
+
+Template for a HTML report containing a list of all issues with all properties.
+
+![HTML Diagnostic](htmldiagnostic01.png "HTML Diagnostic")
+
+## Features
+
+- [x] Unstyled table listing all properties of [IIssue](https://cakebuild.net/api/Cake.Issues/IIssue/){target="_blank"}
+- [x] No internet access required for displaying.
+
+## Requirements
+
+* No additional requirements.
+
+## Usage
+
+To create a report using the HTML diagnostic template you can use the
+[GenericIssueReportTemplate.HtmlDiagnostic](https://cakebuild.net/api/Cake.Issues.Reporting.Generic/GenericIssueReportTemplate/4F88BD05){target="_blank"}
+enum value:
+
+=== "Cake .NET Tool"
+
+ ```csharp
+ CreateIssueReport(
+ issues,
+ GenericIssueReportFormatFromEmbeddedTemplate(
+ GenericIssueReportTemplate.HtmlDiagnostic),
+ @"c:\repo",
+ @"c:\report.html");
+ ```
+
+=== "Cake Frosting"
+
+ ```csharp
+ context.CreateIssueReport(
+ issues,
+ context.GenericIssueReportFormatFromEmbeddedTemplate(
+ GenericIssueReportTemplate.HtmlDiagnostic),
+ @"c:\repo",
+ @"c:\report.html");
+ ```
+
+## Options
+
+This template doesn't support any options.
+
+## Demos
+
+* [Default](htmldiagnostic-demo-default.html){target="_blank"}
+
+## Source Code
+
+!!! info
+ You can use the source code as a template for your [custom template].
+
+Source code is available on [GitHub](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/src/Cake.Issues.Reporting.Generic/Templates/Diagnostic.cshtml){target="_blank"}.
+
+[custom template]: ../examples/custom-template.md
diff --git a/docs/input/docs/report-formats/generic/templates/htmldiagnostic01.png b/docs/input/documentation/report-formats/generic/templates/htmldiagnostic01.png
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldiagnostic01.png
rename to docs/input/documentation/report-formats/generic/templates/htmldiagnostic01.png
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-additionalcolumns.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-additionalcolumns.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-additionalcolumns.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-additionalcolumns.html
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-changetitle.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-changetitle.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-changetitle.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-changetitle.html
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-columnhiding.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-columnhiding.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-columnhiding.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-columnhiding.html
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-customexportfilename.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-customexportfilename.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-customexportfilename.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-customexportfilename.html
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-customscriptlocation.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-customscriptlocation.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-customscriptlocation.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-customscriptlocation.html
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-default.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-default.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-default.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-default.html
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-disablefiltering.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-disablefiltering.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-disablefiltering.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-disablefiltering.html
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-disablegrouping.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-disablegrouping.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-disablegrouping.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-disablegrouping.html
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-disableheader.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-disableheader.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-disableheader.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-disableheader.html
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-disablesearching.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-disablesearching.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-disablesearching.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-disablesearching.html
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-enableexporting.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-enableexporting.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-enableexporting.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-enableexporting.html
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-exportformat-pdf.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-exportformat-pdf.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-exportformat-pdf.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-exportformat-pdf.html
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-exportformat-xlsx.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-exportformat-xlsx.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-exportformat-xlsx.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-exportformat-xlsx.html
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-grouping.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-grouping.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-grouping.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-grouping.html
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-sorting.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-sorting.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-sorting.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-sorting.html
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-carmine.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-carmine.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-carmine.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-carmine.html
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-contrast.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-contrast.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-contrast.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-contrast.html
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-contrastcompact.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-contrastcompact.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-contrastcompact.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-contrastcompact.html
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-dark.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-dark.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-dark.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-dark.html
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-darkcompact.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-darkcompact.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-darkcompact.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-darkcompact.html
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-darkmoon.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-darkmoon.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-darkmoon.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-darkmoon.html
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-darkviolet.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-darkviolet.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-darkviolet.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-darkviolet.html
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-greenmist.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-greenmist.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-greenmist.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-greenmist.html
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-light.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-light.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-light.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-light.html
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-lightcompact.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-lightcompact.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-lightcompact.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-lightcompact.html
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluedark.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluedark.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluedark.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluedark.html
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluedarkcompact.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluedarkcompact.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluedarkcompact.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluedarkcompact.html
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluelight.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluelight.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluelight.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluelight.html
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluelightcompact.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluelightcompact.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluelightcompact.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialbluelightcompact.html
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimedark.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimedark.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimedark.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimedark.html
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimedarkcompact.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimedarkcompact.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimedarkcompact.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimedarkcompact.html
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimelight.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimelight.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimelight.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimelight.html
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimelightcompact.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimelightcompact.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimelightcompact.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materiallimelightcompact.html
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangedark.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangedark.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangedark.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangedark.html
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangedarkcompact.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangedarkcompact.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangedarkcompact.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangedarkcompact.html
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangelight.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangelight.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangelight.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangelight.html
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangelightcompact.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangelightcompact.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangelightcompact.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialorangelightcompact.html
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurpledark.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurpledark.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurpledark.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurpledark.html
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurpledarkcompact.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurpledarkcompact.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurpledarkcompact.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurpledarkcompact.html
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurplelight.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurplelight.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurplelight.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurplelight.html
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurplelightcompact.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurplelightcompact.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurplelightcompact.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialpurplelightcompact.html
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialtealdark.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialtealdark.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialtealdark.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialtealdark.html
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialtealdarkcompact.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialtealdarkcompact.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialtealdarkcompact.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialtealdarkcompact.html
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialteallight.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialteallight.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialteallight.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialteallight.html
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialteallightcompact.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialteallightcompact.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialteallightcompact.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-materialteallightcompact.html
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-softblue.html b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-softblue.html
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid-demo-theme-softblue.html
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid-demo-theme-softblue.html
diff --git a/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid.md b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid.md
new file mode 100644
index 000000000..e3412b5cc
--- /dev/null
+++ b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid.md
@@ -0,0 +1,357 @@
+---
+title: HTML DevExtreme Data Grid
+description: Template for a HTML report containing a rich data grid with sorting, filtering, grouping and search capabilities.
+---
+
+Template for a HTML report containing a rich data grid with sorting, filtering, grouping and search capabilities powered by [DevExtreme].
+
+![HTML DevExtreme Data Grid](htmldxdatagrid01.png "HTML DevExtreme Data Grid")
+
+## Features
+
+- [x] Table with `Provider`, `Severity`, `Project`, `Path`, `File`, `Location`, `Rule`, `Message` by default.
+- [x] Support for grouping by multiple columns by user.
+- [x] Total number of issues by each group level.
+- [x] Each column sortable by user.
+- [x] Data can be filtered by any column by user.
+- [x] Paged view.
+- [x] Client-side full text search.
+- [x] Client-side export to Microsoft Excel or PDF.
+- [x] Fully customizable through [options](#options).
+
+## Requirements
+
+* Cake.Issues.Reporting.Generic 0.3.1 or higher
+
+## Usage
+
+To create a report using the HTML DevExtreme Data Grid template you can use the [GenericIssueReportTemplate.HtmlDxDataGrid] enum value:
+
+=== "Cake .NET Tool"
+
+ ```csharp
+ CreateIssueReport(
+ issues,
+ GenericIssueReportFormatFromEmbeddedTemplate(
+ GenericIssueReportTemplate.HtmlDxDataGrid),
+ @"c:\repo",
+ @"c:\report.html");
+ ```
+
+=== "Cake Frosting"
+
+ ```csharp
+ context.CreateIssueReport(
+ issues,
+ context.GenericIssueReportFormatFromEmbeddedTemplate(
+ GenericIssueReportTemplate.HtmlDxDataGrid),
+ @"c:\repo",
+ @"c:\report.html");
+ ```
+
+## Options
+
+See [HtmlDxDataGridOption] for a list of possible options.
+
+## Demos
+
+The following demo shows the template with its default options:
+
+* [Default](htmldxdatagrid-demo-default.html){target="_blank"}
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-default.cake){target="_blank"})
+
+### Themes
+
+The template supports the teams defined in the [DevExtremeTheme] enumeration which can be set using the [HtmlDxDataGridOption.Theme]:
+
+=== "Cake .NET Tool"
+
+ ```csharp
+ CreateIssueReport(
+ issues,
+ GenericIssueReportFormatFromEmbeddedTemplate(
+ GenericIssueReportTemplate.HtmlDxDataGrid,
+ settings => settings
+ .WithOption(
+ HtmlDxDataGridOption.Theme,
+ DevExtremeTheme.MaterialBlueLight)),
+ @"c:\repo",
+ @"c:\report.html");
+ ```
+
+=== "Cake Frosting"
+
+ ```csharp
+ context.CreateIssueReport(
+ issues,
+ context.GenericIssueReportFormatFromEmbeddedTemplate(
+ GenericIssueReportTemplate.HtmlDxDataGrid,
+ settings => settings
+ .WithOption(
+ HtmlDxDataGridOption.Theme,
+ DevExtremeTheme.MaterialBlueLight)),
+ @"c:\repo",
+ @"c:\report.html");
+ ```
+
+* [Light Theme](htmldxdatagrid-demo-theme-light.html){target="_blank"}
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-light.cake){target="_blank"})
+* [Dark Theme](htmldxdatagrid-demo-theme-dark.html){target="_blank"}
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-dark.cake){target="_blank"})
+* [Contrast Theme](htmldxdatagrid-demo-theme-contrast.html){target="_blank"}
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-contrast.cake){target="_blank"})
+* [Carmine Theme](htmldxdatagrid-demo-theme-carmine.html){target="_blank"}
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-carmine.cake){target="_blank"})
+* [Dark Moon Theme](htmldxdatagrid-demo-theme-darkmoon.html){target="_blank"}
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-darkmoon.cake){target="_blank"})
+* [Soft Blue Theme](htmldxdatagrid-demo-theme-softblue.html){target="_blank"}
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-softblue.cake){target="_blank"})
+* [Dark Violet Theme](htmldxdatagrid-demo-theme-darkviolet.html){target="_blank"}
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-darkviolet.cake){target="_blank"})
+* [Green Mist Theme](htmldxdatagrid-demo-theme-greenmist.html){target="_blank"}
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-greenmist.cake){target="_blank"})
+* [Light Compact Theme](htmldxdatagrid-demo-theme-lightcompact.html){target="_blank"}
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-lightcompact.cake){target="_blank"})
+* [Dark Compact Theme](htmldxdatagrid-demo-theme-darkcompact.html){target="_blank"}
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-darkcompact.cake){target="_blank"})
+* [Contrast Compact Theme](htmldxdatagrid-demo-theme-contrastcompact.html){target="_blank"}
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-contrastcompact.cake){target="_blank"})
+* [Material Blue Light Theme](htmldxdatagrid-demo-theme-materialbluelight.html){target="_blank"}
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-materialbluelight.cake){target="_blank"})
+* [Material Lime Light Theme](htmldxdatagrid-demo-theme-materiallimelight.html){target="_blank"}
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-materiallimelight.cake){target="_blank"})
+* [Material Orange Light Theme](htmldxdatagrid-demo-theme-materialorangelight.html){target="_blank"}
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-materialorangelight.cake){target="_blank"})
+* [Material Purple Light Theme](htmldxdatagrid-demo-theme-materialpurplelight.html){target="_blank"}
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-materialpurplelight.cake){target="_blank"})
+* [Material Teal Light Theme](htmldxdatagrid-demo-theme-materialteallight.html){target="_blank"}
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-materialteallight.cake){target="_blank"})
+* [Material Blue Dark Theme](htmldxdatagrid-demo-theme-materialbluedark.html){target="_blank"}
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-materialbluedark.cake){target="_blank"})
+* [Material Lime Dark Theme](htmldxdatagrid-demo-theme-materiallimedark.html){target="_blank"}
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-materiallimedark.cake){target="_blank"})
+* [Material Orange Dark Theme](htmldxdatagrid-demo-theme-materialorangedark.html){target="_blank"}
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-materialorangedark.cake){target="_blank"})
+* [Material Purple Dark Theme](htmldxdatagrid-demo-theme-materialpurpledark.html){target="_blank"}
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-materialpurpledark.cake){target="_blank"})
+* [Material Teal Dark Theme](htmldxdatagrid-demo-theme-materialtealdark.html){target="_blank"}
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-materialtealdark.cake){target="_blank"})
+* [Material Blue Light Compact Theme](htmldxdatagrid-demo-theme-materialbluelightcompact.html){target="_blank"}
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-materialbluelightcompact.cake){target="_blank"})
+* [Material Lime Light Compact Theme](htmldxdatagrid-demo-theme-materiallimelightcompact.html){target="_blank"}
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-materiallimelightcompact.cake){target="_blank"})
+* [Material Orange Light Compact Theme](htmldxdatagrid-demo-theme-materialorangelightcompact.html){target="_blank"}
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-materialorangelightcompact.cake){target="_blank"})
+* [Material Purple Light Compact Theme](htmldxdatagrid-demo-theme-materialpurplelightcompact.html){target="_blank"}
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-materialpurplelightcompact.cake){target="_blank"})
+* [Material Teal Light Compact Theme](htmldxdatagrid-demo-theme-materialteallightcompact.html){target="_blank"}
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-materialteallightcompact.cake){target="_blank"})
+* [Material Blue Dark Compact Theme](htmldxdatagrid-demo-theme-materialbluedarkcompact.html){target="_blank"}
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-materialbluedarkcompact.cake){target="_blank"})
+* [Material Lime Dark Compact Theme](htmldxdatagrid-demo-theme-materiallimedarkcompact.html){target="_blank"}
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-materiallimedarkcompact.cake){target="_blank"})
+* [Material Orange Dark Compact Theme](htmldxdatagrid-demo-theme-materialorangedarkcompact.html){target="_blank"}
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-materialorangedarkcompact.cake){target="_blank"})
+* [Material Purple Dark Compact Theme](htmldxdatagrid-demo-theme-materialpurpledarkcompact.html){target="_blank"}
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-materialpurpledarkcompact.cake){target="_blank"})
+* [Material Teal Dark Compact Theme](htmldxdatagrid-demo-theme-materialtealdarkcompact.html){target="_blank"}
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-theme-materialtealdarkcompact.cake){target="_blank"})
+
+### Column visibility
+
+Visible columns can be defined using the `ColumnNameVisible` option:
+
+=== "Cake .NET Tool"
+
+ ```csharp
+ CreateIssueReport(
+ issues,
+ GenericIssueReportFormatFromEmbeddedTemplate(
+ GenericIssueReportTemplate.HtmlDxDataGrid,
+ settings => settings
+ .WithOption(
+ HtmlDxDataGridOption.LineVisible,
+ false)),
+ @"c:\repo",
+ @"c:\report.html");
+ ```
+
+=== "Cake Frosting"
+
+ ```csharp
+ context.CreateIssueReport(
+ issues,
+ context.GenericIssueReportFormatFromEmbeddedTemplate(
+ GenericIssueReportTemplate.HtmlDxDataGrid,
+ settings => settings
+ .WithOption(
+ HtmlDxDataGridOption.LineVisible,
+ false)),
+ @"c:\repo",
+ @"c:\report.html");
+ ```
+
+Additional columns can be added using the [HtmlDxDataGridOption.AdditionalColumns] option.
+
+* [Show and hide columns](htmldxdatagrid-demo-columnhiding.html)
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-hide-columns.cake))
+* [Add additional columns](htmldxdatagrid-demo-additionalcolumns.html)
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-additional-columns.cake))
+
+### Sorting
+
+Sorted columns can be defined using the [HtmlDxDataGridOption.SortedColumns] and the
+`ColumnNameSortOder` options:
+
+=== "Cake .NET Tool"
+
+ ```csharp
+ CreateIssueReport(
+ issues,
+ GenericIssueReportFormatFromEmbeddedTemplate(
+ GenericIssueReportTemplate.HtmlDxDataGrid,
+ settings => settings
+ .WithOption(
+ HtmlDxDataGridOption.SortedColumns,
+ new List { ReportColumn.RuleId })
+ .WithOption(
+ HtmlDxDataGridOption.RuleIdSortOrder,
+ ColumnSortOrder.Descending )),
+ @"c:\repo",
+ @"c:\report.html");
+ ```
+
+=== "Cake Frosting"
+
+ ```csharp
+ context.CreateIssueReport(
+ issues,
+ context.GenericIssueReportFormatFromEmbeddedTemplate(
+ GenericIssueReportTemplate.HtmlDxDataGrid,
+ settings => settings
+ .WithOption(
+ HtmlDxDataGridOption.SortedColumns,
+ new List { ReportColumn.RuleId })
+ .WithOption(
+ HtmlDxDataGridOption.RuleIdSortOrder,
+ ColumnSortOrder.Descending )),
+ @"c:\repo",
+ @"c:\report.html");
+ ```
+
+* [Change sorting](htmldxdatagrid-demo-sorting.html){target="_blank"}
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-sorting.cake){target="_blank"})
+
+### Grouping
+
+Grouping can be defined using the [HtmlDxDataGridOption.GroupedColumns] option:
+
+=== "Cake .NET Tool"
+
+ ```csharp
+ CreateIssueReport(
+ issues,
+ GenericIssueReportFormatFromEmbeddedTemplate(
+ GenericIssueReportTemplate.HtmlDxDataGrid,
+ settings => settings
+ .WithOption(
+ HtmlDxDataGridOption.GroupedColumns,
+ new List { ReportColumn.RuleId })),
+ @"c:\repo",
+ @"c:\report.html");
+ ```
+
+=== "Cake Frosting"
+
+ ```csharp
+ context.CreateIssueReport(
+ issues,
+ context.GenericIssueReportFormatFromEmbeddedTemplate(
+ GenericIssueReportTemplate.HtmlDxDataGrid,
+ settings => settings
+ .WithOption(
+ HtmlDxDataGridOption.GroupedColumns,
+ new List { ReportColumn.RuleId })),
+ @"c:\repo",
+ @"c:\report.html");
+ ```
+
+* [Change grouping](htmldxdatagrid-demo-grouping.html){target="_blank"}
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-grouping.cake){target="_blank"})
+* [Disable grouping](htmldxdatagrid-demo-disablegrouping.html){target="_blank"}
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-disable-grouping.cake){target="_blank"})
+
+### Exporting
+
+Exporting can be enabled using the [HtmlDxDataGridOption.EnableExporting] option:
+
+=== "Cake .NET Tool"
+
+ ```csharp
+ CreateIssueReport(
+ issues,
+ GenericIssueReportFormatFromEmbeddedTemplate(
+ GenericIssueReportTemplate.HtmlDxDataGrid,
+ settings => settings
+ .WithOption(
+ HtmlDxDataGridOption.EnableExporting,
+ true)),
+ @"c:\repo",
+ @"c:\report.html");
+ ```
+
+=== "Cake Frosting"
+
+ ```csharp
+ context.CreateIssueReport(
+ issues,
+ context.GenericIssueReportFormatFromEmbeddedTemplate(
+ GenericIssueReportTemplate.HtmlDxDataGrid,
+ settings => settings
+ .WithOption(
+ HtmlDxDataGridOption.EnableExporting,
+ true)),
+ @"c:\repo",
+ @"c:\report.html");
+ ```
+
+* [Enable exporting](htmldxdatagrid-demo-enableexporting.html){target="_blank"}
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-enable-exporting.cake){target="_blank"})
+* [Microsoft Excel export (*.xlsx)](htmldxdatagrid-demo-exportformat-xlsx.html){target="_blank"}
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-exportformat-xlsx.cake){target="_blank"})
+* [PDF export (*.pdf)](htmldxdatagrid-demo-exportformat-pdf.html){target="_blank"}
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-exportformat-pdf.cake){target="_blank"})
+* [Custom export file name](htmldxdatagrid-demo-customexportfilename.html){target="_blank"}
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-custom-export-filename.cake){target="_blank"})
+
+### Other features
+
+* [Change title](htmldxdatagrid-demo-changetitle.html){target="_blank"}
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-change-title.cake){target="_blank"})
+* [Disable header](htmldxdatagrid-demo-disableheader.html){target="_blank"}
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-disable-header.cake){target="_blank"})
+* [Disable filtering](htmldxdatagrid-demo-disablefiltering.html){target="_blank"}
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-disable-filtering.cake){target="_blank"})
+* [Disable searching](htmldxdatagrid-demo-disablesearching.html){target="_blank"}
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-disable-searching.cake){target="_blank"})
+* [Custom script location and version](htmldxdatagrid-demo-customscriptlocation.html){target="_blank"}
+ ([Source Code](https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/demos/script-runner/build/create-reports/create-reports-htmldxdatagrid-custom-script-location.cake){target="_blank"})
+
+## Source Code
+
+!!! info
+ You can use the source code as a template for your [custom template].
+
+Source code is available on [GitHub].
+
+[DevExtreme]: https://js.devexpress.com
+[GenericIssueReportTemplate.HtmlDxDataGrid]: https://cakebuild.net/api/Cake.Issues.Reporting.Generic/GenericIssueReportTemplate/0E9E9D94
+[HtmlDxDataGridOption]: https://cakebuild.net/api/Cake.Issues.Reporting.Generic/HtmlDxDataGridOption/
+[DevExtremeTheme]: https://cakebuild.net/api/Cake.Issues.Reporting.Generic/DevExtremeTheme/
+[HtmlDxDataGridOption.Theme]: https://cakebuild.net/api/Cake.Issues.Reporting.Generic/HtmlDxDataGridOption/EA83DCAB
+[HtmlDxDataGridOption.AdditionalColumns]: https://cakebuild.net/api/Cake.Issues.Reporting.Generic/HtmlDxDataGridOption/F9860912
+[HtmlDxDataGridOption.SortedColumns]: https://cakebuild.net/api/Cake.Issues.Reporting.Generic/HtmlDxDataGridOption/D578E453
+[HtmlDxDataGridOption.GroupedColumns]: https://cakebuild.net/api/Cake.Issues.Reporting.Generic/HtmlDxDataGridOption/0907599C
+[HtmlDxDataGridOption.EnableExporting]: https://cakebuild.net/api/Cake.Issues.Reporting.Generic/HtmlDxDataGridOption/1441E285
+[custom template]: ../examples/custom-template.md
+[GitHub]: https://github.com/cake-contrib/Cake.Issues.Reporting.Generic/blob/develop/src/Cake.Issues.Reporting.Generic/Templates/DxDataGrid.cshtml
diff --git a/docs/input/docs/report-formats/generic/templates/htmldxdatagrid01.png b/docs/input/documentation/report-formats/generic/templates/htmldxdatagrid01.png
similarity index 100%
rename from docs/input/docs/report-formats/generic/templates/htmldxdatagrid01.png
rename to docs/input/documentation/report-formats/generic/templates/htmldxdatagrid01.png
diff --git a/docs/input/documentation/report-formats/generic/templates/index.md b/docs/input/documentation/report-formats/generic/templates/index.md
new file mode 100644
index 000000000..0702aa255
--- /dev/null
+++ b/docs/input/documentation/report-formats/generic/templates/index.md
@@ -0,0 +1,13 @@
+---
+title: Template Gallery
+description: Gallery of available out of the box and 3rd party templates.
+icon: material/image
+---
+
+
+
+- [HTML DevExtreme Data Grid](htmldxdatagrid.md)
+- [HTML Data Table](htmldatatable.md)
+- [HTML Diagnostic](htmldiagnostic.md)
+
+
diff --git a/docs/input/documentation/report-formats/index.md b/docs/input/documentation/report-formats/index.md
new file mode 100644
index 000000000..e14771e2c
--- /dev/null
+++ b/docs/input/documentation/report-formats/index.md
@@ -0,0 +1,25 @@
+---
+title: Report Formats
+description: Documentation of the different report format addins.
+---
+
+Report format addins implement specific report formats and allow the
+Cake Issues addin to create reports in the specific format.
+
+
+
+- :material-printer: __[Console]__ – Support for reporting issues to the console
+- :material-printer: __[Generic]__ – Support for creating reports in any text based format (HTML, Markdown, ...)
+- :material-printer: __[Sarif]__ – Support for creating reports in SARIF format
+
+
+
+[Console]: console/index.md
+[Generic]: generic/index.md
+[Sarif]: sarif/index.md
+
+!!! tip
+ See [How to implement report format] for instruction on how to implement support for
+ additional report formats.
+
+[How to implement report format]: ../extending/report-format/overview.md
diff --git a/docs/input/documentation/report-formats/sarif/examples.md b/docs/input/documentation/report-formats/sarif/examples.md
new file mode 100644
index 000000000..b3cf79f1f
--- /dev/null
+++ b/docs/input/documentation/report-formats/sarif/examples.md
@@ -0,0 +1,118 @@
+---
+title: Examples
+description: Examples for using the Cake.Issues.Reporting.Sarif addin.
+icon: material/test-tube
+---
+
+To report issues to the console the SARIF report format needs to be imported.
+For this example the MsBuild issue provider is additionally used for reading issues:
+
+=== "Cake .NET Tool"
+
+ ```csharp title="build.cake"
+ #addin nuget:?package=Cake.Issues&version={{ cake_issues_version }}
+ #addin nuget:?package=Cake.Issues.MsBuild&version={{ cake_issues_version }}
+ #addin nuget:?package=Cake.Issues.Reporting&version={{ cake_issues_version }}
+ #addin nuget:?package=Cake.Issues.Reporting.Sarif&version={{ cake_issues_version }}
+ ```
+
+ !!! note
+ In addition to the SARIF report format the `Cake.Issues` and `Cake.Issues.Reporting` core addins need to be added.
+
+=== "Cake Frosting"
+
+ ```csharp title="Build.csproj"
+
+
+ Exe
+ {{ example_tfm }}
+ $(MSBuildProjectDirectory)
+ enable
+
+
+
+
+
+
+
+ ```
+
+The following example will create a SARIF report for issues logged as warnings by MsBuild.
+
+=== "Cake .NET Tool"
+
+ ```csharp title="build.cake"
+ Task("Create-IssueReport").Does(() =>
+ {
+ var repoRootPath = MakeAbsolute(Directory("./"));
+
+ // Build MySolution.sln solution in the repository root folder and write a binary log.
+ FilePath msBuildLogFile = @"c:\build\msbuild.log";
+ var msBuildSettings =
+ new DotNetMSBuildSettings().WithLogger(
+ "BinaryLogger," + Context.Tools.Resolve("Cake.Issues.MsBuild*/**/StructuredLogger.dll"),
+ "",
+ msBuildLogFile.FullPath);
+ DotNetBuild(
+ repoRootPath.CombineWithFilePath("MySolution.sln").FullPath,
+ new DotNetBuildSettings{MSBuildSettings = msBuildSettings});
+
+ // Create SARIF report.
+ CreateIssueReport(
+ MsBuildIssuesFromFilePath(
+ msBuildLogFile,
+ MsBuildBinaryLogFileFormat,
+ SarifIssueReportFormat(),
+ repoRootPath,
+ @"c:\report.sarif");
+ });
+ ```
+
+=== "Cake Frosting"
+
+ ```csharp title="Program.cs"
+ using Cake.Common.IO;
+ using Cake.Common.Tools.DotNet;
+ using Cake.Common.Tools.DotNet.Build;
+ using Cake.Common.Tools.DotNet.MSBuild;
+ using Cake.Core.IO;
+ using Cake.Frosting;
+
+ public static class Program
+ {
+ public static int Main(string[] args)
+ {
+ return new CakeHost()
+ .Run(args);
+ }
+ }
+
+ [TaskName("Create-IssueReport")]
+ public sealed class CreateIssueReportTask : FrostingTask
+ {
+ public override void Run(FrostingContext context)
+ {
+ var repoRootPath = context.MakeAbsolute(context.Directory("./"));
+
+ // Build MySolution.sln solution in the repository root folder and write a binary log.
+ FilePath msBuildLogFile = @"c:\build\msbuild.log";
+ var msBuildSettings =
+ new DotNetMSBuildSettings().WithLogger(
+ "BinaryLogger," + context.Tools.Resolve("Cake.Issues.MsBuild*/**/StructuredLogger.dll"),
+ "",
+ msBuildLogFile.FullPath);
+ context.DotNetBuild(
+ repoRootPath.CombineWithFilePath("MySolution.sln").FullPath,
+ new DotNetBuildSettings{MSBuildSettings = msBuildSettings});
+
+ // Create SARIF report.
+ context.CreateIssueReport(
+ context.MsBuildIssuesFromFilePath(
+ msBuildLogFile,
+ context.MsBuildBinaryLogFileFormat()),
+ context.SarifIssueReportFormat(),
+ repoRootPath,
+ @"c:\report.sarif");
+ }
+ }
+ ```
diff --git a/docs/input/documentation/report-formats/sarif/features.md b/docs/input/documentation/report-formats/sarif/features.md
new file mode 100644
index 000000000..f765cf2fa
--- /dev/null
+++ b/docs/input/documentation/report-formats/sarif/features.md
@@ -0,0 +1,20 @@
+---
+title: Features
+description: Features of the Cake.Issues.Reporting.Sarif addin.
+icon: material/creation-outline
+---
+
+The [Cake.Issues.Reporting.Sarif addin]{target="_blank"} provides the following features:
+
+- [x] Creates SARIF compatible files.
+
+Supports the following properties in the SARIF report:
+
+- [x] RuleId
+- [x] Message
+- [x] Kind
+- [x] Level
+- [x] Location
+- [x] RuleUrl
+
+[Cake.Issues.Reporting.Sarif addin]: https://cakebuild.net/extensions/cake-issues-reporting-sarif/
diff --git a/docs/input/documentation/report-formats/sarif/index.md b/docs/input/documentation/report-formats/sarif/index.md
new file mode 100644
index 000000000..633e6afaa
--- /dev/null
+++ b/docs/input/documentation/report-formats/sarif/index.md
@@ -0,0 +1,15 @@
+---
+title: Sarif
+description: Report format to create SARIF compatible reports.
+---
+
+Support for creating SARIF compatible reports is implemented in the
+[Cake.Issues.Reporting.Sarif addin](https://cakebuild.net/extensions/cake-issues-reporting-sarif/){target="_blank"}.
+
+
diff --git a/docs/input/docs/resources/blog-posts.md b/docs/input/documentation/resources/blog-posts.md
similarity index 57%
rename from docs/input/docs/resources/blog-posts.md
rename to docs/input/documentation/resources/blog-posts.md
index 935648bfa..8de6821f6 100644
--- a/docs/input/docs/resources/blog-posts.md
+++ b/docs/input/documentation/resources/blog-posts.md
@@ -1,19 +1,17 @@
---
-Order: 10
-Title: Blog posts
-Description: Blog posts about the Cake Issues addins.
+title: Blog posts
+description: Blog posts about the Cake Issues addins.
---
-:::{.alert .alert-info}
-If you have written about Cake Issues we would like to hear from you.
-You can add it by creating a pull request [here](https://github.com/cake-contrib/Cake.Issues.Website/tree/develop/input/docs/resources/blog-posts.md).
-:::
+!!! info
+ If you have written about Cake Issues we would like to hear from you.
+ You can add it by creating a pull request [here](https://github.com/cake-contrib/Cake.Issues.Website/tree/develop/input/docs/resources/blog-posts.md).
-# 2018
+## 2018
* [Cake.Issues - A suite of addins for issue handling in Cake](https://cakebuild.net/blog/2018/06/cake-issues) - Pascal Berger
-# 2017
+## 2017
* [Finding typos with ReSharper Command Line Tools, ReSpeller and Cake](https://tpodolak.com/blog/2017/10/27/finding-typos-resharper-command-line-tools-respeller-cake/) - Tom Podolak
* [Cake build issue reporting with PRCA](https://blog.ostebaronen.dk/2017/08/cake-build-issue-reporting-with-prca.html) - Tomasz Cielecki
\ No newline at end of file
diff --git a/docs/input/docs/resources/presentations.md b/docs/input/documentation/resources/presentations.md
similarity index 55%
rename from docs/input/docs/resources/presentations.md
rename to docs/input/documentation/resources/presentations.md
index 173ecd1fa..a1f8259dc 100644
--- a/docs/input/docs/resources/presentations.md
+++ b/docs/input/documentation/resources/presentations.md
@@ -1,18 +1,16 @@
---
-Order: 20
-Title: Presentations
-Description: Presentations about the Cake Issues addins.
+title: Presentations
+description: Presentations about the Cake Issues addins.
---
-:::{.alert .alert-info}
-If you have done a presentation about Cake Issues we would like to hear from you.
-You can add it by creating a pull request [here](https://github.com/cake-contrib/Cake.Issues.Website/tree/develop/input/docs/resources/presentations.md).
-:::
+!!! info
+ If you have done a presentation about Cake Issues we would like to hear from you.
+ You can add it by creating a pull request [here](https://github.com/cake-contrib/Cake.Issues.Website/tree/develop/input/docs/resources/presentations.md).
-# 2019
+## 2019
* Continuous Code Inspection using Cake - .NET User Group Basel: [Video](https://www.youtube.com/watch?v=tZ6hdBrj81s) [Slides](https://gitpitch.com/pascalberger/Cake.Issues-Presentation/20190212-dotnet-usergroup-basel#/) - Pascal Berger
-# 2018
+## 2018
* [Ensuring quality in your DevOps pipelines using Cake - Azure DevOps Saturday Gothenburg](https://gitpitch.com/pascalberger/Cake.Issues-Presentation/20180929-azure-devops-saturday-gothenburg) - Pascal Berger
\ No newline at end of file
diff --git a/docs/input/documentation/supported-tools.md b/docs/input/documentation/supported-tools.md
new file mode 100644
index 000000000..d4d277758
--- /dev/null
+++ b/docs/input/documentation/supported-tools.md
@@ -0,0 +1,118 @@
+---
+title: Supported Tools
+description: List of tools know to be supported by Cake.Issues.
+---
+
+This pages lists tools known to be working with Cake Issues (1)
+{ .annotate }
+
+1. If you have used Cake Issues with other we would like to hear from you.
+ You can add it to this list by creating a pull request [here](https://github.com/cake-contrib/Cake.Issues/tree/develop/docs/input/documentation/assets/tables/){target='_blank'}.
+
+## .NET
+
+{{ read_csv('assets/tables/supported-tools-dotnet.csv',keep_default_na=False) }}
+
+## Ansible
+
+{{ read_csv('assets/tables/supported-tools-ansible.csv',keep_default_na=False) }}
+
+## Amazon Cloud Formation Templates
+
+{{ read_csv('assets/tables/supported-tools-cfn.csv',keep_default_na=False) }}
+
+## Azure Resource Manager (ARM)
+
+{{ read_csv('assets/tables/supported-tools-arm.csv',keep_default_na=False) }}
+
+## Bicep
+
+{{ read_csv('assets/tables/supported-tools-bicep.csv',keep_default_na=False) }}
+
+## Clojure
+
+{{ read_csv('assets/tables/supported-tools-clojure.csv',keep_default_na=False) }}
+
+## CSS, SCSS, Sass
+
+{{ read_csv('assets/tables/supported-tools-css.csv',keep_default_na=False) }}
+
+## Dockerfile
+
+{{ read_csv('assets/tables/supported-tools-docker.csv',keep_default_na=False) }}
+
+## GitHub Actions
+
+{{ read_csv('assets/tables/supported-tools-github-actions.csv',keep_default_na=False) }}
+
+## Go
+
+{{ read_csv('assets/tables/supported-tools-go.csv',keep_default_na=False) }}
+
+## Groovy
+
+{{ read_csv('assets/tables/supported-tools-groovy.csv',keep_default_na=False) }}
+
+## Helm charts
+
+{{ read_csv('assets/tables/supported-tools-helm.csv',keep_default_na=False) }}
+
+## Java
+
+{{ read_csv('assets/tables/supported-tools-java.csv',keep_default_na=False) }}
+
+## JavaScript
+
+{{ read_csv('assets/tables/supported-tools-javascript.csv',keep_default_na=False) }}
+
+## JSON
+
+{{ read_csv('assets/tables/supported-tools-json.csv',keep_default_na=False) }}
+
+## JSX & TSX
+
+{{ read_csv('assets/tables/supported-tools-jsx.csv',keep_default_na=False) }}
+
+## Kotlin
+
+{{ read_csv('assets/tables/supported-tools-kotlin.csv',keep_default_na=False) }}
+
+## Kubernetes
+
+{{ read_csv('assets/tables/supported-tools-kubernetes.csv',keep_default_na=False) }}
+
+## Markdown
+
+{{ read_csv('assets/tables/supported-tools-markdown.csv',keep_default_na=False) }}
+
+## Natural language
+
+{{ read_csv('assets/tables/supported-tools-natural-language.csv',keep_default_na=False) }}
+
+## OpenAPI
+
+{{ read_csv('assets/tables/supported-tools-openapi.csv',keep_default_na=False) }}
+
+## PHP
+
+{{ read_csv('assets/tables/supported-tools-php.csv',keep_default_na=False) }}
+
+## Protobuf
+
+{{ read_csv('assets/tables/supported-tools-protobuf.csv',keep_default_na=False) }}
+
+## Python
+
+{{ read_csv('assets/tables/supported-tools-python.csv',keep_default_na=False) }}
+
+## Secrets
+
+{{ read_csv('assets/tables/supported-tools-secrets.csv',keep_default_na=False) }}
+
+## Terraform
+
+{{ read_csv('assets/tables/supported-tools-terraform.csv',keep_default_na=False) }}
+
+## TypeScript
+
+{{ read_csv('assets/tables/supported-tools-typescript.csv',keep_default_na=False) }}
diff --git a/docs/input/documentation/usage/breaking-builds/breaking-builds.md b/docs/input/documentation/usage/breaking-builds/breaking-builds.md
new file mode 100644
index 000000000..dc387c50b
--- /dev/null
+++ b/docs/input/documentation/usage/breaking-builds/breaking-builds.md
@@ -0,0 +1,85 @@
+---
+title: Breaking builds
+description: Usage instructions how to break builds.
+---
+
+The `Cake.Issues` addin can be used to break builds if specific issues were reported.
+
+To break builds you need to import the following core addin:
+
+=== "Cake .NET Tool"
+
+ ```csharp title="build.cake"
+ #addin nuget:?package=Cake.Issues&version={{ cake_issues_version }}
+ ```
+
+=== "Cake Frosting"
+
+ ```csharp title="Build.csproj"
+
+
+ Exe
+ {{ example_tfm }}
+ $(MSBuildProjectDirectory)
+ enable
+
+
+
+
+
+
+ ```
+
+The following task will fail the build if any issues were added to the `issues` global variable:
+
+=== "Cake .NET Tool"
+
+ ```csharp title="build.cake"
+ // Global issues list into which issues need to be added.
+ IEnumerable issues = null;
+
+ Task("BreakBuildOnIssues")
+ .Description("Breaks build if any issues in the code are found.")
+ .Does(() =>
+ {
+ BreakBuildOnIssues(issues);
+ });
+ ```
+
+=== "Cake Frosting"
+
+ ```csharp title="Program.cs"
+ using Cake.Core;
+ using Cake.Frosting;
+
+ public static class Program
+ {
+ public static int Main(string[] args)
+ {
+ return new CakeHost()
+ .UseContext()
+ .Run(args);
+ }
+ }
+
+ public class BuildContext(ICakeContext context) : FrostingContext(context)
+ {
+ private readonly List _issues = [];
+
+ public IEnumerable Issues { get { return _issues; } }
+
+ public void AddIssues(IEnumerable issues)
+ {
+ _issues.AddRange(issues);
+ }
+ }
+
+ [TaskName("BreakBuildOnIssues")]
+ public sealed class BreakBuildOnIssuesTask : FrostingTask
+ {
+ public override void Run(BuildContext context)
+ {
+ context.BreakBuildOnIssues(context.Issues);
+ }
+ }
+ ```
diff --git a/docs/input/documentation/usage/creating-issues/creating-issues.md b/docs/input/documentation/usage/creating-issues/creating-issues.md
new file mode 100644
index 000000000..671d1c651
--- /dev/null
+++ b/docs/input/documentation/usage/creating-issues/creating-issues.md
@@ -0,0 +1,90 @@
+---
+title: Creating issues
+description: Usage instructions how to create issues.
+---
+
+The `Cake.Issues` addin can be used to create issues directly in the build script.
+This issues can for example be used to create reports.
+
+To create issues you need to import the following core addin:
+
+=== "Cake .NET Tool"
+
+ ```csharp title="build.cake"
+ #addin nuget:?package=Cake.Issues&version={{ cake_issues_version }}
+ ```
+
+=== "Cake Frosting"
+
+ ```csharp title="Build.csproj"
+
+
+ Exe
+ {{ example_tfm }}
+ $(MSBuildProjectDirectory)
+ enable
+
+
+
+
+
+
+ ```
+
+In the following task a new warning for the myfile.txt file on line 42 is created:
+
+=== "Cake .NET Tool"
+
+ ```csharp title="build.cake"
+ Task("Create-Issue").Does(() =>
+ {
+ var issue =
+ NewIssue(
+ "Something went wrong",
+ "MyCakeScript",
+ "My Cake Script")
+ .WithMessageInHtmlFormat("Something went wrong")
+ .WithMessageInMarkdownFormat("Something went **wrong**")
+ .InFile("myfile.txt", 42)
+ .WithPriority(IssuePriority.Warning)
+ .Create();
+
+ Information("Issue created with message: {0}", issue.MessageText);
+ });
+ ```
+
+=== "Cake Frosting"
+
+ ```csharp title="Program.cs"
+ using Cake.Common.Diagnostics;
+ using Cake.Frosting;
+
+ public static class Program
+ {
+ public static int Main(string[] args)
+ {
+ return new CakeHost()
+ .Run(args);
+ }
+ }
+
+ [TaskName("Create-Issue")]
+ public sealed class CreateIssueTask : FrostingTask
+ {
+ public override void Run(FrostingContext context)
+ {
+ var issue =
+ context.NewIssue(
+ "Something went wrong",
+ "MyCakeScript",
+ "My Cake Script")
+ .WithMessageInHtmlFormat("Something went wrong")
+ .WithMessageInMarkdownFormat("Something went **wrong**")
+ .InFile("myfile.txt", 42)
+ .WithPriority(IssuePriority.Warning)
+ .Create();
+
+ context.Information("Issue created with message: {0}", issue.MessageText);
+ }
+ }
+ ```
diff --git a/docs/input/documentation/usage/creating-reports/creating-reports.md b/docs/input/documentation/usage/creating-reports/creating-reports.md
new file mode 100644
index 000000000..59435d809
--- /dev/null
+++ b/docs/input/documentation/usage/creating-reports/creating-reports.md
@@ -0,0 +1,87 @@
+---
+title: Creating reports
+description: Usage instructions how to create reports.
+---
+
+To create report for issues you need to import the corresponding report format.
+In the following example the issue provider for reading warnings from MsBuild log files
+and generic report format is imported:
+
+=== "Cake .NET Tool"
+
+ ```csharp title="build.cake"
+ #addin nuget:?package=Cake.Issues&version={{ cake_issues_version }}
+ #addin nuget:?package=Cake.Issues.Reporting&version={{ cake_issues_version }}
+ #addin nuget:?package=Cake.Issues.MsBuild&version={{ cake_issues_version }}
+ #addin nuget:?package=Cake.Issues.Reporting.Generic&version={{ cake_issues_version }}
+ ```
+
+ !!! note
+ In addition to the report format the `Cake.Issues` and `Cake.Issues.Reporting` core addins need to be added.
+
+=== "Cake Frosting"
+
+ ```csharp title="Build.csproj"
+
+
+ Exe
+ {{ example_tfm }}
+ $(MSBuildProjectDirectory)
+ enable
+
+
+
+
+
+
+
+ ```
+Afterwards you can define a task where you call the reporting addin with the desired issue provider and report format:
+
+=== "Cake .NET Tool"
+
+ ```csharp title="build.cake"
+ Task("Create-Report").Does(() =>
+ {
+ var repoRootFolder = new DirectoryPath(@"C:\repo");
+ CreateIssueReport(
+ MsBuildIssuesFromFilePath(
+ @"C:\build\msbuild.log",
+ MsBuildBinaryLogFileFormat),
+ GenericIssueReportFormatFromEmbeddedTemplate(GenericIssueReportTemplate.HtmlDiagnostic),
+ repoRootFolder,
+ @"c:\report.html");
+ });
+ ```
+
+=== "Cake Frosting"
+
+ ```csharp title="Program.cs"
+ using Cake.Core.IO;
+ using Cake.Frosting;
+
+ public static class Program
+ {
+ public static int Main(string[] args)
+ {
+ return new CakeHost()
+ .Run(args);
+ }
+ }
+
+ [TaskName("Create-Report")]
+ public sealed class CreateReportTask : FrostingTask
+ {
+ public override void Run(FrostingContext context)
+ {
+ var repoRootFolder = new DirectoryPath(@"C:\repo");
+ context.CreateIssueReport(
+ context.MsBuildIssuesFromFilePath(
+ @"C:\build\msbuild.log",
+ context.MsBuildBinaryLogFileFormat()),
+ context.GenericIssueReportFormatFromEmbeddedTemplate(GenericIssueReportTemplate.HtmlDiagnostic),
+ repoRootFolder,
+ @"c:\report.html");
+ }
+ }
+ ```
diff --git a/docs/input/documentation/usage/creating-reports/index.md b/docs/input/documentation/usage/creating-reports/index.md
new file mode 100644
index 000000000..22de03ec9
--- /dev/null
+++ b/docs/input/documentation/usage/creating-reports/index.md
@@ -0,0 +1,13 @@
+---
+title: Creating Reports
+description: How to create reports using Cake.Issues.Reporting.
+---
+
+
+
+!!! tip
+ For more report format specific examples see [Report Format Examples](../../report-formats/index.md).
diff --git a/docs/input/documentation/usage/index.md b/docs/input/documentation/usage/index.md
new file mode 100644
index 000000000..a4381093c
--- /dev/null
+++ b/docs/input/documentation/usage/index.md
@@ -0,0 +1,22 @@
+---
+title: Usage
+description: How to obtain, configure, and use Cake.Issues.
+---
+
+## Ready To Use Distributions
+
+The easiest way to use Cake Issues is by using one of the [Recipe packages],
+which provide build scripts, delivered as a NuGet package,
+which can be used inside your projects Cake build to add issue management.
+
+## Consuming Of Individual Addins
+
+The addins can be added individually to any Cake build and allow advanced customizations:
+
+* [Creating Issues](creating-issues/creating-issues.md)
+* [Reading Issues](reading-issues/index.md)
+* [Creating Reports](creating-reports/index.md)
+* [Reporting Issues To Pull Request And Build Systems](reporting-issues-to-pull-requests/index.md)
+* [Breaking Builds](breaking-builds/breaking-builds.md)
+
+[Recipe packages]: recipe/index.md
diff --git a/docs/input/documentation/usage/reading-issues/file-linking.md b/docs/input/documentation/usage/reading-issues/file-linking.md
new file mode 100644
index 000000000..16b7514a0
--- /dev/null
+++ b/docs/input/documentation/usage/reading-issues/file-linking.md
@@ -0,0 +1,48 @@
+---
+title: File linking
+description: Example how to define file link settings.
+---
+
+File link settings can be defined while reading issues and are passed through the `IIssue.FileLink` property to
+reporting formats, pull request systems and build server implementations:
+
+=== "Cake .NET Tool"
+
+ ```csharp
+ var settings =
+ new ReadIssuesSettings(@"c:\repo")
+ {
+ FileLinkSettings =
+ IssueFileLinkSettingsForGitHubCommit(
+ "https://github.com/cake-contrib/Cake.Issues",
+ "76a7cacef7ad4295a6766646d45c9b56")
+ };
+
+ var issues =
+ ReadIssues(
+ InspectCodeIssuesFromFilePath(
+ @"C:\build\inspectcode.log"),
+ settings));
+ ```
+
+=== "Cake Frosting"
+
+ ```csharp
+ var settings =
+ new ReadIssuesSettings(@"c:\repo")
+ {
+ FileLinkSettings =
+ IssueFileLinkSettingsForGitHubCommit(
+ "https://github.com/cake-contrib/Cake.Issues",
+ "76a7cacef7ad4295a6766646d45c9b56")
+ };
+
+ var issues =
+ context.ReadIssues(
+ context.InspectCodeIssuesFromFilePath(
+ @"C:\build\inspectcode.log"),
+ settings));
+ ```
+
+Cake.Issues comes with out-of-the-box support for linking to files hosted on GitHub and Azure Repos,
+either for a specific branch or commit. Additionally there are aliases which can be used to define any custom pattern.
diff --git a/docs/input/documentation/usage/reading-issues/index.md b/docs/input/documentation/usage/reading-issues/index.md
new file mode 100644
index 000000000..747b17788
--- /dev/null
+++ b/docs/input/documentation/usage/reading-issues/index.md
@@ -0,0 +1,15 @@
+---
+title: Reading Issues
+description: How to read issues using Cake.Issues.
+---
+
+
+
+!!! tip
+ For more issue provider specific examples see [Issue Provider Examples](../../issue-providers/index.md).
diff --git a/docs/input/documentation/usage/reading-issues/reading-issues.md b/docs/input/documentation/usage/reading-issues/reading-issues.md
new file mode 100644
index 000000000..985938743
--- /dev/null
+++ b/docs/input/documentation/usage/reading-issues/reading-issues.md
@@ -0,0 +1,103 @@
+---
+title: Reading issues
+description: Usage instructions how to read issues.
+---
+
+The `Cake.Issues` addin can be used to aggregate issues from different sources.
+This can for example be useful to break builds based on the reported issues.
+
+To read issues you need to import at least one issue provider.
+In the following example the issue providers for reading warnings from MsBuild log files
+and from JetBrains InspectCode are imported:
+
+=== "Cake .NET Tool"
+
+ ```csharp title="build.cake"
+ #addin nuget:?package=Cake.Issues&version={{ cake_issues_version }}
+ #addin nuget:?package=Cake.Issues.MsBuild&version={{ cake_issues_version }}
+ #addin nuget:?package=Cake.Issues.InspectCode&version={{ cake_issues_version }}
+ ```
+
+ !!! note
+ In addition to the issue providers the `Cake.Issues` core addin needs to be added.
+
+=== "Cake Frosting"
+
+ ```csharp title="Build.csproj"
+
+
+ Exe
+ {{ example_tfm }}
+ $(MSBuildProjectDirectory)
+ enable
+
+
+
+
+
+
+
+ ```
+
+Afterwards you can define a task where you call the core addin with the desired issue providers.
+The following example reads warnings and errors reported by MsBuild from a binary log
+and issues reported by JetBrains InspectCode:
+
+=== "Cake .NET Tool"
+
+ ```csharp title="build.cake"
+ Task("Read-Issues").Does(() =>
+ {
+ var repoRootFolder = new DirectoryPath(@"C:\repo");
+ var issues = ReadIssues(
+ new List
+ {
+ MsBuildIssuesFromFilePath(
+ @"C:\build\msbuild.log",
+ MsBuildBinaryLogFileFormat),
+ InspectCodeIssuesFromFilePath(
+ @"C:\build\inspectcode.log")
+ },
+ repoRootFolder);
+
+ Information("{0} issues are found.", issues.Count());
+ });
+ ```
+
+=== "Cake Frosting"
+
+ ```csharp title="Program.cs"
+ using Cake.Common.Diagnostics;
+ using Cake.Core.IO;
+ using Cake.Frosting;
+
+ public static class Program
+ {
+ public static int Main(string[] args)
+ {
+ return new CakeHost()
+ .Run(args);
+ }
+ }
+
+ [TaskName("Read-Issues")]
+ public sealed class ReadIssuesTask : FrostingTask
+ {
+ public override void Run(FrostingContext context)
+ {
+ var repoRootFolder = new DirectoryPath(@"C:\repo");
+ var issues = context.ReadIssues(
+ new List
+ {
+ context.MsBuildIssuesFromFilePath(
+ @"C:\build\msbuild.log",
+ context.MsBuildBinaryLogFileFormat()),
+ context.InspectCodeIssuesFromFilePath(
+ @"C:\build\inspectcode.log")
+ },
+ repoRootFolder);
+
+ context.Information("{0} issues are found.", issues.Count());
+ }
+ }
+ ```
diff --git a/docs/input/documentation/usage/reading-issues/run-information.md b/docs/input/documentation/usage/reading-issues/run-information.md
new file mode 100644
index 000000000..01f8397df
--- /dev/null
+++ b/docs/input/documentation/usage/reading-issues/run-information.md
@@ -0,0 +1,76 @@
+---
+title: Additional run information
+description: Example how to add run specific information.
+---
+
+If a build script needs to parse multiple log files from the same tool, e.g. because multiple MsBuild solutions were built,
+this can be done by calling the issue provider multiple times.
+If the results are read into the same list and shown on the same report,
+individual issues could not be assigned to any of the calls, since issue provider type and name are identical.
+
+Starting with Cake.Issues 0.9.0 it is possible to pass additional run information while reading issues,
+which then will be stored with each issues in the `IIssue.Run` property:
+
+=== "Cake .NET Tool"
+
+ ```csharp
+ var issues = new List();
+
+ // Parse issues from build of solution 1
+ issues.AddRange(
+ ReadIssues(
+ MsBuildIssuesFromFilePath(
+ @"C:\build\solution1-msbuild.log",
+ MsBuildBinaryLogFileFormat),
+ new ReadIssuesSettings(@"c:\repo")
+ {
+ Run = "Solution 1"
+ }
+ )
+ );
+
+ // Parse issues from build of solution 2
+ issues.AddRange(
+ ReadIssues(
+ MsBuildIssuesFromFilePath(
+ @"C:\build\solution2-msbuild.log",
+ MsBuildBinaryLogFileFormat),
+ new ReadIssuesSettings(@"c:\repo")
+ {
+ Run = "Solution 2"
+ }
+ )
+ );
+ ```
+
+=== "Cake Frosting"
+
+ ```csharp
+ var issues = new List();
+
+ // Parse issues from build of solution 1
+ issues.AddRange(
+ context.ReadIssues(
+ context.MsBuildIssuesFromFilePath(
+ @"C:\build\solution1-msbuild.log",
+ context.MsBuildBinaryLogFileFormat()),
+ new ReadIssuesSettings(@"c:\repo")
+ {
+ Run = "Solution 1"
+ }
+ )
+ );
+
+ // Parse issues from build of solution 2
+ issues.AddRange(
+ context.ReadIssues(
+ context.MsBuildIssuesFromFilePath(
+ @"C:\build\solution2-msbuild.log",
+ context.MsBuildBinaryLogFileFormat()),
+ new ReadIssuesSettings(@"c:\repo")
+ {
+ Run = "Solution 2"
+ }
+ )
+ );
+ ```
diff --git a/docs/input/documentation/usage/recipe/index.md b/docs/input/documentation/usage/recipe/index.md
new file mode 100644
index 000000000..c5e0876b4
--- /dev/null
+++ b/docs/input/documentation/usage/recipe/index.md
@@ -0,0 +1,33 @@
+---
+title: Recipe usage
+description: How to obtain, configure, and use Cake Issues recipes.
+---
+
+Cake.Issues recipes provide build scripts, delivered as a NuGet package, which can be used inside your projects Cake build to add issue management.
+
+Integration of code analyzing and linting tools into a build pipeline often looks the similar, and differentiates mainly on the used linters, build and pull request systems.
+Cake.Issues recipes contain code to do all the parsing, integration with build and pull request systems for you, using the individual Cake.Issues addins.
+They support different linters based on the linting log files you pass it and integrate automatically with different build and pull request systems.
+
+There are two flavors available:
+
+
+
+[Cake.Issues.Recipe]: using-cake-issues-recipe.md
+[Cake.Frosting.Issues.Recipe]: using-cake-frosting-issues-recipe.md
+[Cake .NET Tool]: https://cakebuild.net/docs/running-builds/runners/dotnet-tool
+[Cake Frosting]: https://cakebuild.net/docs/running-builds/runners/cake-frosting
diff --git a/docs/input/documentation/usage/recipe/using-cake-frosting-issues-recipe.md b/docs/input/documentation/usage/recipe/using-cake-frosting-issues-recipe.md
new file mode 100644
index 000000000..3f454f572
--- /dev/null
+++ b/docs/input/documentation/usage/recipe/using-cake-frosting-issues-recipe.md
@@ -0,0 +1,123 @@
+---
+title: Using Cake.Frosting.Issues.Recipe
+description: Basic usage of Cake.Frosting.Issues.Recipe.
+---
+
+The [Cake.Frosting.Issues.Recipe] package can be used to easily add issue management functionality to your Cake Frosting build.
+
+!!! info
+ See [Setting Up A New Frosting Project] for instructions how to create a new Cake Frosting project.
+
+[Setting Up A New Frosting Project]: https://cakebuild.net/docs/getting-started/setting-up-a-new-frosting-project{target="_blank"}
+
+## Add Cake.Frosting.Issues.Recipe to your Cake Frosting build
+
+To use [Cake.Frosting.Issues.Recipe] in your Cake Frosting build you need to first add the NuGet package in your `.csproj` file:
+
+```csharp
+
+```
+
+## Register Cake.Issues tasks
+
+To make Cake Issues tasks available to your Cake Frosting build you need to register them.
+
+Add the following line to the bootstrapping code in the `Main` method of your Cake Frosting project:
+
+```csharp
+AddAssembly(Assembly.GetAssembly(typeof(IssuesTask)))
+```
+
+The following bootstrapping code registers the Cake Issues tasks and also installs JetBrains InspectCode:
+
+```csharp
+using System;
+using System.Reflection;
+using Cake.Frosting;
+using Cake.Frosting.Issues.Recipe;
+
+public static class Program
+{
+ public static int Main(string[] args)
+ {
+ return new CakeHost()
+ .UseContext()
+ .InstallTool(
+ new Uri(
+ "nuget:?package=JetBrains.ReSharper.CommandLineTools&version={{ resharper_commandlinetool_version }}"))
+ .AddAssembly(Assembly.GetAssembly(typeof(IssuesTask)))
+ .Run(args);
+ }
+}
+```
+
+## Create build context
+
+[Cake.Frosting.Issues.Recipe] provides a build context from which you need to inherit your custom build context.
+The build context contains configuration parameters, but also the state of the current running build,
+like for example all collected issues.
+
+The following example creates a build context and defines that Cake Issues should use Cake.Git addin to determine
+state of the Git repository:
+
+```csharp
+public class BuildContext : IssuesContext
+{
+ public BuildContext(ICakeContext context)
+ : base(context, RepositoryInfoProviderType.CakeGit)
+ {
+ }
+}
+```
+
+## Passing issues to Cake.Frosting.Issues.Recipe
+
+To make issues available to [Cake.Frosting.Issues.Recipe] you need pass the log files through the corresponding methods.
+The tasks need to also be a dependency of `ReadIssuesTask` provided by [Cake.Frosting.Issues.Recipe].
+
+In the following example a new task is introduced which runs JetBrains InspectCode and passes the log file to [Cake.Frosting.Issues.Recipe]:
+
+```csharp
+[TaskName("Run-InspectCode")]
+[IsDependeeOf(typeof(ReadIssuesTask))]
+public class RunInspectCodeTask : FrostingTask
+{
+ public override void Run(BuildContext context)
+ {
+ var inspectCodeLogFilePath = context.Parameters.OutputDirectory..CombineWithFilePath("inspectCode.log");
+
+ // Run JetBrains InspectCode
+ context.InspectCode(
+ context.State.RepositoryRootDirectory.Combine("src").CombineWithFilePath("ClassLibrary1.sln"),
+ new InspectCodeSettings() {
+ OutputFile = context.InspectCodeLogFilePath
+ });
+
+ // Pass path to InspectCode log file to Cake.Frosting.Issues.Recipe
+ context.Parameters.InputFiles.AddInspectCodeLogFilePath(context.InspectCodeLogFilePath);
+ }
+}
+```
+
+See [configuration] for a full list of available configuration parameters.
+
+## Calling issues tasks
+
+[Cake.Frosting.Issues.Recipe] will add a bunch of [tasks] to your build script.
+
+To add the issues functionality into your existing build pipeline you need to add
+`ReadIssuesTask` to your pipeline.
+
+ In the following example the `Default` task makes sure the main `IssuesTask` is executed:
+
+```csharp
+[TaskName("Default")]
+[IsDependentOn(typeof(IssuesTask))]
+public class DefaultTask : FrostingTask
+{
+}
+```
+
+[Cake.Frosting.Issues.Recipe]: ../../recipe/index.md
+[configuration]: ../../recipe/configuration.md
+[tasks]: ../../recipe/tasks.md
\ No newline at end of file
diff --git a/docs/input/documentation/usage/recipe/using-cake-issues-recipe.md b/docs/input/documentation/usage/recipe/using-cake-issues-recipe.md
new file mode 100644
index 000000000..31db2db1c
--- /dev/null
+++ b/docs/input/documentation/usage/recipe/using-cake-issues-recipe.md
@@ -0,0 +1,61 @@
+---
+title: Using Cake.Issues.Recipe
+description: Basic usage of Cake.Issues.Recipe.
+---
+
+The [Cake.Issues.Recipe] package can be used to easily add issue management functionality to your build script.
+
+## Add Cake.Issues.Recipe to your build script
+
+To use Cake.Issues.Recipe in your build script you need to first load the NuGet package:
+
+```csharp
+#load nuget:package=Cake.Issues.Recipe&version={{ cake_issues_version }}
+```
+
+## Configuring Cake.Issues.Recipe
+
+To make issues available to Cake.Issues.Recipe you need to set the corresponding configuration parameters.
+
+In the following example a new task is introduced which depends on existing tasks which build a MsBuild solution and run JetBrains InspectCode.
+It will pass the MsBuild and InspectCode logfile to Cake.Issues.Recipe:
+
+```csharp
+// Run issues task by default.
+Task("Configure-CakeIssuesRecipe")
+ .IsDependentOn("Build")
+ .IsDependentOn("Run-InspectCode")
+ .Does(() =>
+{
+ IssuesParameters.InputFiles.AddMsBuildBinaryLogFilePath(msBuildLogFilePath);
+ IssuesParameters.InputFiles.AddInspectCodeLogFilePath(inspectCodeLogFilePath);
+}
+```
+
+See [configuration] for a full list of available configuration parameters.
+
+## Calling issues tasks
+
+Cake.Issues.Recipe will add a bunch of [tasks] to your build script.
+
+To add the issues functionality into your existing build pipeline you can make
+the `Read-Issues` task dependent on the task which configures Cake.Issues.Recipe:
+
+```csharp
+// Make sure build and linters run before issues task.
+IssuesBuildTasks.ReadIssuesTask
+ .IsDependentOn("Configure-CakeIssuesRecipe");
+```
+
+At some point you need to call the tasks provided by Cake.Isses.Recipe.
+In the following example the `Default` task calls the main `Issues` task:
+
+```csharp
+// Run issues task by default.
+Task("Default")
+ .IsDependentOn("Issues");
+```
+
+[Cake.Issues.Recipe]: ../../recipe/index.md
+[configuration]: ../../recipe/configuration.md
+[tasks]: ../../recipe/tasks.md
\ No newline at end of file
diff --git a/docs/input/documentation/usage/reporting-issues-to-pull-requests/custom-issue-filter.md b/docs/input/documentation/usage/reporting-issues-to-pull-requests/custom-issue-filter.md
new file mode 100644
index 000000000..b7e57be55
--- /dev/null
+++ b/docs/input/documentation/usage/reporting-issues-to-pull-requests/custom-issue-filter.md
@@ -0,0 +1,101 @@
+---
+title: Custom issue filter
+description: Usage instructions how to apply custom filters to issues.
+---
+
+You can define custom filters which are applied to issues before they are posted as comments to pull requests.
+
+??? tip "Tip: Filter to issues introduced with pull request"
+ You can use a custom filter to only have issues introduced with the current code posted to the pull request.
+
+ For this you need to store your log files as artifacts on your build system, then you can define a custom filter
+ which retrieves the logs from the previous build, parses them using the appropriate issue provider and filters
+ out any issues which were already existing in the previous build.
+
+The following example will filter out all issues from the rule `CA1000` from being posted to the pull request.
+
+=== "Cake .NET Tool"
+
+ ```csharp title="build.cake"
+ #addin nuget:?package=Cake.Issues&version={{ cake_issues_version }}
+ #addin nuget:?package=Cake.Issues.MsBuild&version={{ cake_issues_version }}
+ #addin nuget:?package=Cake.Issues.PullRequests&version={{ cake_issues_version }}
+ #addin nuget:?package=Cake.Issues.PullRequests.AzureDevOps&version={{ cake_issues_version }}
+
+ Task("ReportIssuesToPullRequest").Does(() =>
+ {
+ var repoRootFolder = new DirectoryPath(@"C:\repo");
+
+ var settings = new ReportIssuesToPullRequestFromIssueProviderSettings(repoRootFolder);
+
+ // Add custom filter.
+ settings.IssueFilters.Add(x => x.Where(issue => issue.RuleId != "CA1000"));
+
+ ReportIssuesToPullRequest(
+ new List
+ {
+ MsBuildIssuesFromFilePath(
+ @"C:\build\msbuild.log",
+ MsBuildBinaryLogFileFormat)
+ },
+ AzureDevOpsPullRequests(),
+ settings);
+ });
+ ```
+
+=== "Cake Frosting"
+
+ ```csharp title="Build.csproj"
+
+
+ Exe
+ {{ example_tfm }}
+ $(MSBuildProjectDirectory)
+ enable
+
+
+
+
+
+
+
+ ```
+
+ ```csharp title="Program.cs"
+ using Cake.Core.IO;
+ using Cake.Frosting;
+
+ public static class Program
+ {
+ public static int Main(string[] args)
+ {
+ return new CakeHost()
+ .Run(args);
+ }
+ }
+
+ [TaskName("ReportIssuesToPullRequest")]
+ public sealed class ReportIssuesToPullRequestTask : FrostingTask
+ {
+ public override void Run(FrostingContext context)
+ {
+ var repoRootFolder = new DirectoryPath(@"C:\repo");
+
+ var settings = new ReportIssuesToPullRequestFromIssueProviderSettings(repoRootFolder);
+
+ // Add custom filter.
+ settings.IssueFilters.Add(x => x.Where(issue => issue.RuleId != "CA1000"));
+
+ context.ReportIssuesToPullRequest(
+ new List
+ {
+ context.MsBuildIssuesFromFilePath(
+ @"C:\build\msbuild.log",
+ context.MsBuildBinaryLogFileFormat())
+ },
+ context.AzureDevOpsPullRequests(),
+ settings);
+ }
+ }
+ ```
+
diff --git a/docs/input/documentation/usage/reporting-issues-to-pull-requests/index.md b/docs/input/documentation/usage/reporting-issues-to-pull-requests/index.md
new file mode 100644
index 000000000..0045a459c
--- /dev/null
+++ b/docs/input/documentation/usage/reporting-issues-to-pull-requests/index.md
@@ -0,0 +1,14 @@
+---
+title: Reporting Issues To Pull Requests
+description: How to report issues to pull requests using Cake.Issues.PullRequests.
+---
+
+
+
+!!! tip
+ For more pull request system specific examples see [Pull Request System Examples](../../pull-request-systems/index.md)
diff --git a/docs/input/documentation/usage/reporting-issues-to-pull-requests/report-issues-to-pull-requests.md b/docs/input/documentation/usage/reporting-issues-to-pull-requests/report-issues-to-pull-requests.md
new file mode 100644
index 000000000..bc95c9a0e
--- /dev/null
+++ b/docs/input/documentation/usage/reporting-issues-to-pull-requests/report-issues-to-pull-requests.md
@@ -0,0 +1,87 @@
+---
+title: Report issues to pull requests
+description: Usage instructions how to report issues to pull requests.
+---
+
+To use report issues to pull requests you need to import the corresponding pull request system addin.
+In the following example the issue provider for reading warnings from MsBuild log files
+and support for Azure DevOps pull requests is imported:
+
+=== "Cake .NET Tool"
+
+ ```csharp title="build.cake"
+ #addin nuget:?package=Cake.Issues&version={{ cake_issues_version }}
+ #addin nuget:?package=Cake.Issues.PullRequests&version={{ cake_issues_version }}
+ #addin nuget:?package=Cake.Issues.MsBuild&version={{ cake_issues_version }}
+ #addin nuget:?package=Cake.Issues.PullRequests.AzureDevOps&version={{ cake_issues_version }}
+ ```
+
+ !!! note
+ In addition to the pull request system the `Cake.Issues` and `Cake.Issues.PullRequests` core addins need to be added.
+
+=== "Cake Frosting"
+
+ ```csharp title="Build.csproj"
+
+
+ Exe
+ {{ example_tfm }}
+ $(MSBuildProjectDirectory)
+ enable
+
+
+
+
+
+
+
+ ```
+
+Afterwards you can define a task where you call the core addin with the desired issue provider and pull request system:
+
+=== "Cake .NET Tool"
+
+ ```csharp title="build.cake"
+ Task("ReportIssuesToPullRequest").Does(() =>
+ {
+ var repoRootFolder = new DirectoryPath(@"C:\repo");
+ ReportIssuesToPullRequest(
+ MsBuildIssuesFromFilePath(
+ @"C:\build\msbuild.log",
+ MsBuildBinaryLogFileFormat),
+ AzureDevOpsPullRequests(),
+ repoRootFolder);
+ });
+ ```
+
+=== "Cake Frosting"
+
+ ```csharp title="Program.cs"
+ using Cake.Core.IO;
+ using Cake.Frosting;
+
+ public static class Program
+ {
+ public static int Main(string[] args)
+ {
+ return new CakeHost()
+ .Run(args);
+ }
+ }
+
+ [TaskName("ReportIssuesToPullRequest")]
+ public sealed class ReportIssuesToPullRequestTask : FrostingTask
+ {
+ public override void Run(FrostingContext context)
+ {
+ var repoRootFolder = new DirectoryPath(@"C:\repo");
+ context.ReportIssuesToPullRequest(
+ context.MsBuildIssuesFromFilePath(
+ @"C:\build\msbuild.log",
+ context.MsBuildBinaryLogFileFormat()),
+ context.AzureDevOpsPullRequests(),
+ repoRootFolder);
+ }
+ }
+ ```
+
diff --git a/docs/input/dsl/index.cshtml b/docs/input/dsl/index.cshtml
deleted file mode 100644
index 484704f4a..000000000
--- a/docs/input/dsl/index.cshtml
+++ /dev/null
@@ -1,74 +0,0 @@
----
-Title: Reference
-NoSidebar: true
----
-
- This reference guide describes the various methods and properties which you can use directly from inside a Cake build script.
- These are implemented as script aliases.
-
-
-
- Click on any alias to get detailed information about parameters and examples how to use the alias.
-
-
-@{
- // We should only have one alias here
- var aliasGroups =
- Documents["DslAliases"]
- .Single()
- .DocumentList(Keys.GroupDocuments)
- .SelectMany(x => x.DocumentList(CodeAnalysisKeys.Members))
- .Where(x => x.String("Kind") == "Method")
- .Select(x => new
- {
- Doc = x,
- MethodAlias = x.DocumentList(CodeAnalysisKeys.Attributes).Any(attr => attr.String(CodeAnalysisKeys.Name) == "CakeMethodAliasAttribute"),
- PropertyAlias = x.DocumentList(CodeAnalysisKeys.Attributes).Any(attr => attr.String(CodeAnalysisKeys.Name) == "CakePropertyAliasAttribute")
- })
- .Where(x => x.MethodAlias || x.PropertyAlias)
- .GroupBy(x => x.Doc.DocumentList(CodeAnalysisKeys.Attributes)
- .Where(attr => attr.String(CodeAnalysisKeys.Name) == "CakeAliasCategoryAttribute")
- .Select(attr => attr.Get(CodeAnalysisKeys.AttributeData).ConstructorArguments.FirstOrDefault().Value)
- .FirstOrDefault() as string ?? string.Empty)
- .OrderBy(x => x.Key);
-}
-
-@foreach(var aliasGroup in aliasGroups)
-{
- string groupName = string.IsNullOrEmpty(aliasGroup.Key) ? "General" : aliasGroup.Key;
-
@groupName
-
-
-
- @foreach(var alias in aliasGroup.OrderBy(x => x.Doc.String(CodeAnalysisKeys.DisplayName)))
- {
-
- Cake Issues is free to use, improve, contribute and distribute.
- Source code is available on GitHub under MIT license.
-
-
-
-
-
Rich ecosystem
-
- Unlike other Cake addins, Cake Issues consists of over 15 different addins,
- working together and providing you with over 75 aliases which you can use in your Cake
- build scripts to work with issues.
-
- Issues found on a feature branch can be reported to pull requests or build runs giving developers instant and direct feedback.
- There's out of the box support for Azure DevOps,
- GitHub Actions and
- AppVeyor.
-
-
-
-
-
Extensible
-
- The addins are built in a modular architecture and are providing different extension points
- which allow you to easily enhance it for supporting additional analyzers, linters, report formats and pull request systems.
-
-
-
-
\ No newline at end of file
diff --git a/docs/input/index.md b/docs/input/index.md
new file mode 100644
index 000000000..252134c36
--- /dev/null
+++ b/docs/input/index.md
@@ -0,0 +1,75 @@
+---
+hide:
+ - navigation
+ - toc
+template: home.html
+search:
+ exclude: true
+title: Home
+---
+
+Extensive and flexible solution for processing output of linters and other tools using [Cake build system](https://cakebuild.net){target="_blank"}.
+
+## Why use Cake Issues?
+
+
+
+- :material-globe-model:{ .lg .middle } __Rich ecosystem__
+
+ ---
+
+ Unlike other Cake addins, Cake Issues consists of over 15 different addins,
+ working together and providing you with over 75 aliases which you can use in your Cake
+ build scripts to work with issues.
+
+ [:octicons-arrow-right-24: Reference](https://cakebuild.net/extensions/cake-issues/){target="_blank"}
+
+- :material-wrench:{ .lg .middle } __Supports your tooling__
+
+ ---
+
+ Read issues from different analyzers, linters or tools.
+ The growing range of out-of-the-box supported tools include support for
+ .NET, Java, TypeScript, Infrastructure As Code or security tools.
+
+ [:octicons-arrow-right-24: Supported Tools](documentation/supported-tools.md)
+
+- :material-eye:{ .lg .middle } __Pull request and build workflow integration__
+
+ ---
+
+ Issues found on a feature branch can be reported to pull requests or build runs giving developers instant and direct feedback.
+ There's out of the box support for [Azure DevOps](documentation/pull-request-systems/azure-devops/index.md),
+ [GitHub Actions](documentation/pull-request-systems/github-actions/index.md) and
+ [AppVeyor](documentation/pull-request-systems/appveyor/index.md).
+
+ [:octicons-arrow-right-24: Pull Request Systems](documentation/pull-request-systems/index.md)
+
+- :material-monitor-dashboard:{ .lg .middle } __Reporting__
+
+ ---
+
+ Cake Issues provides aliases to create reports from the parsed issues.
+ There are addins to create feature rich HTML reports, SARIF standard compatible reports or to report issues to the console.
+
+ [:octicons-arrow-right-24: Report Formats](documentation/report-formats/index.md)
+
+- :material-table:{ .lg .middle } __Extensible__
+
+ ---
+
+ The addins are built in a modular architecture and are providing different extension points which allow you
+ to easily enhance it for supporting additional analyzers, linters, report formats and pull request systems.
+
+ [:octicons-arrow-right-24: Documentation](documentation/extending/index.md)
+
+- :material-scale-balance:{ .lg .middle } __Open-Source__
+
+ ---
+
+ Cake Issues is free to use, improve, contribute and distribute.
+ Source code is available on [GitHub](https://github.com/cake-contrib/Cake.Issues){target="_blank"} under MIT license.
+
+ [:octicons-arrow-right-24: Source code & license](https://github.com/cake-contrib/Cake.Issues){target="_blank"}
+
+