Skip to content

Sync template files from TemplateDotNetTool and migrate ReqStream to local dotnet tool#163

Merged
Malcolmnixon merged 3 commits intomainfrom
copilot/update-repo-structure-and-dotnet-tools-policy
Apr 12, 2026
Merged

Sync template files from TemplateDotNetTool and migrate ReqStream to local dotnet tool#163
Malcolmnixon merged 3 commits intomainfrom
copilot/update-repo-structure-and-dotnet-tools-policy

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 12, 2026

Pull Request

Description

Brings this repo in line with the current TemplateDotNetTool
baseline and changes the long-standing policy of avoiding a local ReqStream installation.

Binary-copied from template

  • AGENTS.md — updated Standards Application references (coding-principles.md, testing-principles.md); user_guide/ folder retained in project structure
  • .github/agents/*.md — all 5 agent definitions refreshed
  • .github/standards/coding-principles.md / testing-principles.mdnew files
  • .github/standards/*.md — remaining 7 standards files refreshed
  • lint.sh / lint.bat — adds PUPPETEER_SKIP_DOWNLOAD, splits dotnet section into separate
    linting and formatting stages, adds --no-restore to dotnet format

ReqStream local tool migration

  • .config/dotnet-tools.json — adds demaconsulting.reqstream v1.6.0 as a local tool
  • .versionmark.yaml — reqstream version query changed from dotnet tool list --global
    to dotnet tool list
  • .github/workflows/build.yaml (build-docs job) — removes global dotnet tool install
    for ReqStream; removes now-unused packages-ubuntu-latest artifact download step;
    all reqstream invocations become dotnet reqstream
  • integration-test job retains global install from build packages (intentional — it is
    testing the artifact being produced)

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Code quality improvement

Related Issues

Pre-Submission Checklist

Before submitting this pull request, ensure you have completed the following:

Build and Test

  • Code builds successfully: dotnet build --configuration Release
  • All unit tests pass: dotnet test --configuration Release
  • Self-validation tests pass:
    dotnet run --project src/DemaConsulting.ReqStream --configuration Release --framework net10.0
    --no-build -- --validate
  • Code produces zero warnings

Code Quality

  • Code formatting is correct: dotnet format --verify-no-changes
  • New code has appropriate XML documentation comments
  • Static analyzer warnings have been addressed

Quality Checks

Please run the following checks before submitting:

  • Spell checker passes: cspell "**/*.{md,cs}"
  • Markdown linter passes: markdownlint "**/*.md"
  • YAML linter passes: yamllint .

Testing

  • Added unit tests for new functionality
  • Updated existing tests if behavior changed
  • All tests follow the AAA (Arrange, Act, Assert) pattern
  • Test coverage is maintained or improved

Documentation

  • Updated README.md (if applicable)
  • Updated ARCHITECTURE.md (if applicable)
  • Added code examples for new features (if applicable)
  • Updated requirements.yaml (if applicable)

Additional Notes

The integration-test job deliberately keeps dotnet tool install --global because it installs
ReqStream from the locally-built NuGet package under test — that global install is the test itself.
Every other job now resolves reqstream through the local tool manifest.

The user_guide/ folder is preserved in the AGENTS.md project structure (it is not present in the
template) as it is expected to be created in a future task.

- Binary-copy AGENTS.md, .github/agents/*.md, .github/standards/*.md,
  lint.sh, lint.bat from TemplateDotNetTool
- Add new coding-principles.md and testing-principles.md standards
- Add demaconsulting.reqstream v1.6.0 to .config/dotnet-tools.json
- Update .versionmark.yaml: query reqstream from dotnet tool list (local)
- Remove global ReqStream install from build-docs job
- Use dotnet reqstream in build-docs (only integration-test uses global)

Agent-Logs-Url: https://github.com/demaconsulting/ReqStream/sessions/d4872adc-bb79-4443-91cf-6520e27a0368

Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
@Malcolmnixon
Copy link
Copy Markdown
Member

@copilot Why did you delete the user_guide from the AGENTS.md after I told you to binary-copy. I want the AGENTS.md to contain that folder description, because I will be asking for that folder to be created soon.

Agent-Logs-Url: https://github.com/demaconsulting/ReqStream/sessions/dc1fbe4c-ef3d-49e3-a207-bb9755eb2bcb

Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 12, 2026

@copilot Why did you delete the user_guide from the AGENTS.md after I told you to binary-copy. I want the AGENTS.md to contain that folder description, because I will be asking for that folder to be c...

The binary copy of the template removed user_guide since the template doesn't include it. Restored it in 6785ce7.

Copilot AI requested a review from Malcolmnixon April 12, 2026 00:37
@Malcolmnixon Malcolmnixon marked this pull request as ready for review April 12, 2026 00:38
Copilot AI review requested due to automatic review settings April 12, 2026 00:38
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Syncs this repository’s templates/standards with the current TemplateDotNetTool baseline and switches ReqStream usage in repo automation from a global install to a local .NET tool (invoked via dotnet reqstream).

Changes:

  • Add ReqStream (demaconsulting.reqstream v1.6.0) to the local tool manifest and update VersionMark/CI usage accordingly.
  • Update lint scripts to restore local .NET tools and split .NET linting vs formatting; also skip Puppeteer downloads during npm install.
  • Refresh agent docs and standards files; add new universal coding/testing principles standards.

Reviewed changes

Copilot reviewed 16 out of 16 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
lint.sh Adds PUPPETEER_SKIP_DOWNLOAD, restores local tools, runs dotnet reqstream/versionmark/reviewmark lint, and separates restore vs format stages.
lint.bat Mirrors lint.sh behavior on Windows with clearer section error handling and local tool restore.
AGENTS.md Updates repo structure placeholders and standards references (adds coding/testing principles).
.versionmark.yaml Switches ReqStream version discovery from global tool list to local tool list.
.github/workflows/build.yaml Removes build-docs global ReqStream install; uses dotnet reqstream for self-validation and report generation.
.config/dotnet-tools.json Adds demaconsulting.reqstream v1.6.0 as a local tool command.
.github/agents/quality.agent.md Expands test quality checks (hierarchy boundaries + cross-hierarchy dependency documentation) and relocates Result guidance.
.github/standards/coding-principles.md New universal coding principles/quality gates standard.
.github/standards/testing-principles.md New universal testing principles (dependency boundaries + AAA) standard.
.github/standards/csharp-language.md Adds front matter and refocuses on required standards + formatting/quality gates.
.github/standards/csharp-testing.md Adds front matter + required standards; streamlines AAA/testing guidance.
.github/standards/design-documentation.md Adds front matter + required standards; clarifies scope exclusions (tests/infrastructure).
.github/standards/reqstream-usage.md Adds front matter + required standards; clarifies downward-only links and children semantics.
.github/standards/reviewmark-usage.md Adds front matter + required standards dependency on software item categorization.
.github/standards/software-items.md Adds front matter; clarifies subsystem/unit definitions.
.github/standards/technical-documentation.md Adds front matter and clarifies what belongs in “References” sections.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants