Skip to content

Commit f7e93dc

Browse files
Sync with TemplateDotNetTool PRs #15 and #16 (#64)
* Initial plan * Apply TemplateDotNetTool PR #15 and #16 changes Changes from PR #15: Clarify asymmetric requirements-test relationship - Updated agent documentation to clarify all requirements MUST link to tests - Clarified that NOT all tests need to link to requirements - Tests may exist for corner cases, design validation, failure scenarios, etc. - Updated requirements-agent.md, test-developer.md, and AGENTS.md Changes from PR #16: Add agent report file exclusions and consolidate markdownlint config - Established AGENT_REPORT_*.md naming convention for temporary agent report files - Added AGENT_REPORT_*.md exclusions to .gitignore - Added AGENT_REPORT_*.md to .cspell.json ignorePaths - Replaced .markdownlint.json with .markdownlint-cli2.jsonc that includes ignore patterns - Added documentation in AGENTS.md for agent report file guidelines All changes maintain BuildMark-specific functionality while aligning with template best practices. * Sync with TemplateDotNetTool PRs #15 and #16 Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> * Remove CHANGE_SUMMARY.md file that shouldn't be committed Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
1 parent 9deb229 commit f7e93dc

File tree

7 files changed

+48
-10
lines changed

7 files changed

+48
-10
lines changed

.cspell.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252
"*.trx",
5353
"*.spdx.json",
5454
"package-lock.json",
55-
"yarn.lock"
55+
"yarn.lock",
56+
"AGENT_REPORT_*.md"
5657
]
5758
}

.github/agents/requirements-agent.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,12 @@ Invoke the requirements-agent for:
2929

3030
### Test Coverage Strategy
3131

32+
- **All requirements MUST be linked to tests** - this is enforced in CI
33+
- **Not all tests need to be linked to requirements** - tests may exist for:
34+
- Exploring corner cases
35+
- Testing design decisions
36+
- Failure-testing scenarios
37+
- Implementation validation beyond requirement scope
3238
- **Self-validation tests** (`BuildMark_*`): Preferred for command-line behavior, features
3339
that ship with the product
3440
- **Unit tests**: For internal component behavior, isolated logic
@@ -54,4 +60,5 @@ Follow the `requirements.yaml` structure:
5460

5561
- Mix requirements with implementation details
5662
- Create requirements without test linkage
63+
- Expect all tests to be linked to requirements (some tests exist for other purposes)
5764
- Change code directly (delegate to developer agents)

.github/agents/test-developer.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,15 @@ public void ClassName_MethodUnderTest_Scenario_ExpectedBehavior()
5555
- Clear failure messages for assertions
5656
- Consider edge cases and error conditions
5757

58+
### Tests and Requirements
59+
60+
- **All requirements MUST have linked tests** - this is enforced in CI
61+
- **Not all tests need requirements** - tests may be created for:
62+
- Exploring corner cases not explicitly stated in requirements
63+
- Testing design decisions and implementation details
64+
- Failure-testing and error handling scenarios
65+
- Verifying internal behavior beyond requirement scope
66+
5867
### BuildMark-Specific
5968

6069
- **NOT self-validation tests** - those are handled by Software Developer Agent

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,3 +39,6 @@ docs/quality/codeql-quality.md
3939
docs/quality/*.html
4040
docs/buildnotes.md
4141
docs/buildnotes/*.html
42+
43+
# Agent report files
44+
AGENT_REPORT_*.md

.markdownlint-cli2.jsonc

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"config": {
3+
"default": true,
4+
"MD003": { "style": "atx" },
5+
"MD007": { "indent": 2 },
6+
"MD013": { "line_length": 120 },
7+
"MD033": false,
8+
"MD041": false
9+
},
10+
"ignores": [
11+
"node_modules",
12+
"**/AGENT_REPORT_*.md"
13+
]
14+
}

.markdownlint.json

Lines changed: 0 additions & 8 deletions
This file was deleted.

AGENTS.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ Project-specific guidance for agents working on BuildMark - a .NET CLI tool for
2323

2424
## Requirements
2525

26-
- Link ALL requirements to tests (prefer `BuildMark_*` self-validation tests for command-line behavior)
26+
- All requirements MUST be linked to tests (prefer `BuildMark_*` self-validation tests for command-line behavior)
27+
- Not all tests need to be linked to requirements (tests may exist for corner cases, design testing, failure-testing, etc.)
2728
- Enforced in CI: `dotnet reqstream --requirements requirements.yaml --tests "test-results/**/*.trx" --enforce`
2829
- When adding features: add requirement + link to test
2930
- See Requirements Agent for detailed test coverage strategy
@@ -95,3 +96,14 @@ lint.bat # Windows
9596
# Pack as NuGet tool
9697
dotnet pack --configuration Release
9798
```
99+
100+
## Agent Report Files
101+
102+
When agents need to write report files to communicate with each other or the user, follow these guidelines:
103+
104+
- **Naming Convention**: Use the pattern `AGENT_REPORT_xxxx.md` (e.g., `AGENT_REPORT_analysis.md`, `AGENT_REPORT_results.md`)
105+
- **Purpose**: These files are for temporary inter-agent communication and should not be committed
106+
- **Exclusions**: Files matching `AGENT_REPORT_*.md` are automatically:
107+
- Excluded from git (via .gitignore)
108+
- Excluded from markdown linting
109+
- Excluded from spell checking

0 commit comments

Comments
 (0)