Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
90 changes: 0 additions & 90 deletions .cspell.json

This file was deleted.

100 changes: 100 additions & 0 deletions .cspell.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
---
# Spell-Checking
#
# PURPOSE:
# - Maintain professional documentation and code quality
# - Catch spelling errors before publication
# - Support consistent technical terminology usage
# - Misspelled words should be fixed in the source
# - NEVER add a misspelled word to the 'words' list
# - PROPOSE only genuine technical terms/names as needed

version: "0.2"
language: en

# Project-specific technical terms and tool names
words:
- Anson
- Blockquotes
- buildmark
- BuildMark
- buildnotes
- camelcase
- Checkmarx
- CodeQL
- copilot
- cspell
- csproj
- dbproj
- dcterms
- Dema
- demaconsulting
- DEMACONSULTINGNUGETKEY
- Dependabot
- dependabot
- doctitle
- dotnet
- editorconfig
- filepart
- fsproj
- Gidget
- gitattributes
- ibiqlik
- LINQ
- maintainer
- markdownlint
- mermaid
- mstest
- myterm
- ncipollo
- nuget
- nupkg
- opencover
- pagetitle
- pandoc
- Propagatable
- Pylint
- Qube
- reqstream
- ReqStream
- reviewmark
- ReviewMark
- reviewplan
- reviewreport
- Sarif
- SarifMark
- SBOM
- Semgrep
- semver
- slnx
- snupkg
- sonarmark
- SonarMark
- SonarQube
- spdx
- streetsidesoftware
- templatetool
- testname
- TMPL
- tracematrix
- triaging
- Trivy
- trx
- vbproj
- vcxproj
- versionmark
- Weasyprint
- yamllint

# Exclude common build artifacts, dependencies, and vendored third-party code
ignorePaths:
- "**/.git/**"
- "**/node_modules/**"
- "**/.venv/**"
- "**/thirdparty/**"
- "**/third-party/**"
- "**/3rd-party/**"
- "**/AGENT_REPORT_*.md"
- "**/bin/**"
- "**/obj/**"
- package-lock.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
name: Code Quality Agent
name: code-quality
description: Ensures code quality through linting and static analysis - responsible for security, maintainability, and correctness
tools: [read, search, execute]
---

# Code Quality Agent - SarifMark
Expand Down Expand Up @@ -31,8 +32,8 @@ Ensure the project is:

1. **Build**: Zero warnings (TreatWarningsAsErrors=true)
2. **Linting**:
- markdownlint (`.markdownlint-cli2.jsonc`)
- cspell (`.cspell.json`)
- markdownlint (`.markdownlint-cli2.yaml`)
- cspell (`.cspell.yaml`)
- yamllint (`.yamllint.yaml`)
- dotnet format (`.editorconfig`)
3. **Static Analysis**:
Expand Down Expand Up @@ -70,12 +71,19 @@ dotnet reqstream --requirements requirements.yaml \
lint.bat # Windows
```

## Defer To
## Subagent Delegation

- **Requirements Agent**: For requirements quality and test linkage strategy
- **Technical Writer Agent**: For fixing documentation content
- **Software Developer Agent**: For fixing production code issues
- **Test Developer Agent**: For fixing test code issues
If requirements quality or test linkage issues are found, call the @requirements agent with the **request** to
address requirements quality and test linkage strategy and the **context** of the issues found.

If documentation content needs fixing, call the @technical-writer agent with the **request** to fix the
documentation content and the **context** of the issues found.

If production code issues are found, call the @software-developer agent with the **request** to fix the
production code issues and the **context** of the issues found.

If test code issues are found, call the @test-developer agent with the **request** to fix the test code issues
and the **context** of the issues found.

## Don't

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
name: Code Review Agent
name: code-review
description: Assists in performing formal file reviews - knows how to elaborate review-sets and perform structured review checks
tools: [read, search]
---

# Code Review Agent - SarifMark
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
name: Repo Consistency Agent
name: repo-consistency
description: Ensures downstream repositories remain consistent with the TemplateDotNetTool template patterns and best practices
tools: [read, search, execute]
---

# Repo Consistency Agent - SarifMark
Expand Down Expand Up @@ -56,7 +57,7 @@ The agent reviews the following areas for consistency with the TemplateDotNetToo

#### Quality Configuration

- **Linting Rules**: `.cspell.json`, `.markdownlint.json`, `.yamllint.yaml`
- **Linting Rules**: `.cspell.yaml`, `.markdownlint-cli2.yaml`, `.yamllint.yaml`
- Note: Spelling exceptions will be repository-specific
- **Editor Config**: `.editorconfig` settings (file-scoped namespaces, 4-space indent, UTF-8+BOM, LF endings)
- **Code Style**: C# code style rules and analyzer configuration
Expand Down Expand Up @@ -118,18 +119,27 @@ long-term consistency.
### What NOT to Flag

- Project-specific naming (SarifMark vs TemplateDotNetTool, package IDs, repository URLs)
- Project-specific spell check exceptions in `.cspell.json`
- Project-specific spell check exceptions in `.cspell.yaml`
- Workflow variations for specific project needs
- Additional requirements or features beyond the template
- Project-specific dependencies

## Defer To
## Subagent Delegation

- **Software Developer Agent**: For implementing code changes recommended by consistency check
- **Technical Writer Agent**: For updating documentation to match template
- **Requirements Agent**: For updating requirements.yaml
- **Test Developer Agent**: For updating test patterns
- **Code Quality Agent**: For applying linting and code style changes
If code changes recommended by the consistency check need implementing, call the @software-developer agent
with the **request** to implement the code changes and the **context** of the consistency findings.

If documentation needs updating to match the template, call the @technical-writer agent with the **request**
to update the documentation and the **context** of the template differences.

If requirements.yaml needs updating, call the @requirements agent with the **request** to update
requirements.yaml and the **context** of the changes needed.

If test patterns need updating, call the @test-developer agent with the **request** to update the test
patterns and the **context** of the template differences.

If linting and code style changes need applying, call the @code-quality agent with the **request** to apply
the linting and code style changes and the **context** of the template differences.

## Usage Pattern

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
name: Requirements Agent
name: requirements
description: Develops requirements and ensures appropriate test coverage - knows which requirements need unit/integration/self-validation tests
tools: [read, edit, search, github]
---

# Requirements Agent - SarifMark
Expand Down Expand Up @@ -66,12 +67,19 @@ evidence. This is critical for platform and framework requirements - **never rem
Without the source filter, a test result from any platform/framework satisfies the requirement. Removing a
filter invalidates the evidence for platform/framework requirements.

## Defer To
## Subagent Delegation

- **Software Developer Agent**: For implementing self-validation tests
- **Test Developer Agent**: For implementing unit and integration tests
- **Technical Writer Agent**: For documentation of requirements and processes
- **Code Quality Agent**: For verifying test quality and enforcement
If self-validation tests need implementing, call the @software-developer agent with the **request** to
implement the self-validation tests and the **context** of the requirements and test strategy.

If unit or integration tests need implementing, call the @test-developer agent with the **request** to
implement the unit and integration tests and the **context** of the requirements and test strategy.

If documentation of requirements and processes needs updating, call the @technical-writer agent with the
**request** to update the documentation and the **context** of the requirements changes.

If test quality or enforcement needs verifying, call the @code-quality agent with the **request** to verify
test quality and enforcement and the **context** of the requirements and test linkage.

## Don't

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
name: Software Developer
name: software-developer
description: Writes production code and self-validation tests - targets design-for-testability and literate programming style
tools: [read, edit, search, execute]
---

# Software Developer - SarifMark
Expand Down Expand Up @@ -66,12 +67,19 @@ var results = ProcessFile(options.InputFile);
- Must support TRX/JUnit output format
- Link to requirements in `requirements.yaml`

## Defer To
## Subagent Delegation

- **Requirements Agent**: For new requirement creation and test strategy
- **Test Developer Agent**: For unit and integration tests
- **Technical Writer Agent**: For documentation updates
- **Code Quality Agent**: For linting, formatting, and static analysis
If new requirements or test strategy decisions are needed, call the @requirements agent with the **request** to
create new requirements and determine the test strategy and the **context** of the feature being implemented.

If unit or integration tests are needed, call the @test-developer agent with the **request** to implement the
unit and integration tests and the **context** of the production code changes.

If documentation updates are needed, call the @technical-writer agent with the **request** to update the
documentation and the **context** of the code changes made.

If linting, formatting, or static analysis issues need resolving, call the @code-quality agent with the
**request** to resolve the linting and static analysis issues and the **context** of the code changes made.

## Don't

Expand Down
Loading
Loading