Skip to content

Update repo-consistency agent and apply TemplateDotNetLibrary improvements#17

Draft
Copilot wants to merge 3 commits intomainfrom
copilot/update-repo-consistency-agent
Draft

Update repo-consistency agent and apply TemplateDotNetLibrary improvements#17
Copilot wants to merge 3 commits intomainfrom
copilot/update-repo-consistency-agent

Conversation

Copy link
Contributor

Copilot AI commented Mar 24, 2026

Pulls in the latest repo-consistency agent from TemplateDotNetLibrary and runs it to propagate outstanding template improvements (PRs #43–#64).

Description

Agent update: Replaces the verbose old repo-consistency-agent.md with the new concise frontmatter-driven format (name, description, tools, user-invocable).

Linting infrastructure overhaul:

  • Migrated configs from JSON/JSONC → YAML: .cspell.yaml, .markdownlint-cli2.yaml
  • Updated .yamllint.yaml with DO NOT MODIFY headers and expanded ignore paths
  • Rewrote lint.sh / lint.bat to use npm install + Python .venv pattern; collects all errors before failing; added dotnet format --verify-no-changes after yamllint check
  • Added pip-requirements.txt (yamllint==1.38.0) and pinned cspell/markdownlint-cli2 in package.json
  • Added .venv/ to .gitignore

CI workflow: Replaced three separate linting Actions with a single bash ./lint.sh step backed by actions/setup-node@v6 and actions/setup-python@v6.

Agent frontmatter: Added tools: and user-invocable: true to all five agent files.

Git/repo hygiene:

  • Added .gitattributes enforcing LF for all text files, CRLF for .bat/.cmd
  • Bumped BuildMark 0.4.00.4.1

Docs: Updated AGENTS.md, CONTRIBUTING.md, and .github/pull_request_template.md to reflect new config file names, spell-check policy ("never silence failures by adding misspelled words"), and consolidated linting checklist.

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

Pre-Submission Checklist

Build and Test

  • Code builds successfully: dotnet build --configuration Release
  • All unit tests pass: dotnet test --configuration Release
  • 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

  • All linters pass: ./lint.sh (Unix/macOS) or cmd /c lint.bat / ./lint.bat (Windows)

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

All linters pass post-migration: cspell (31 files, 0 issues), markdownlint-cli2 (18 files, 0 errors), yamllint (0 errors), dotnet format (0 issues).


⌨️ Start Copilot coding agent tasks without leaving your editor — available in VS Code, Visual Studio, JetBrains IDEs and Eclipse.

- Migrate linting configs from JSON to YAML format:
  - Rename .cspell.json -> .cspell.yaml with policy comments and improved ignorePaths
  - Rename .markdownlint-cli2.jsonc -> .markdownlint-cli2.yaml with full documentation
  - Update .yamllint.yaml with improved ignore paths and remove check-keys: true
- Rewrite lint.sh and lint.bat to use npm install + Python venv pattern
  - Uses 'npx cspell --no-progress --no-color' with expanded file extensions
  - Sets up .venv/ for yamllint via pip-requirements.txt
  - Continues all checks even on failure (collects all errors)
- Add pip-requirements.txt with yamllint==1.38.0
- Update package.json to include cspell 9.7.0 and markdownlint-cli2 0.21.0
- Add .venv/ to .gitignore
- Update build.yaml quality-checks job:
  - Add Setup Node.js (actions/setup-node@v6) and Setup Python (actions/setup-python@v6) steps
  - Replace three separate linting Actions with single 'bash ./lint.sh' step
- Create .gitattributes to enforce LF line endings (eol=crlf for .bat/.cmd)
- Add tools: and user-invocable: true frontmatter to all 5 agent files
- Update .github/pull_request_template.md to consolidate linting checklist
- Update AGENTS.md: fix config file names, add spell check word list policy
- Update CONTRIBUTING.md: update spell check policy and linting instructions
- Bump BuildMark from 0.4.0 to 0.4.1 in .config/dotnet-tools.json
Copilot AI changed the title [WIP] Update repo consistency agent from TemplateDotNetLibrary Update repo-consistency agent and apply TemplateDotNetLibrary improvements Mar 24, 2026
Copilot AI requested a review from Malcolmnixon March 24, 2026 13:26
if %errorlevel% neq 0 exit /b %errorlevel%
REM Run yamllint check
yamllint .
if errorlevel 1 set "LINT_ERROR=1"
Copy link
Contributor

Choose a reason for hiding this comment

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

Consider keeping the dotnet format --verify-no-change check after the yamllint check, but using the same LINT_ERROR propagation approach as the other checks.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Added dotnet format --verify-no-changes after the yamllint check with the same LINT_ERROR propagation pattern in f2b0b1a.


# Run yamllint check
yamllint . || lint_error=1

Copy link
Contributor

Choose a reason for hiding this comment

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

Consider keeping the dotnet format --verify-no-changes but put it after the yamllint and keep the lint_error propagation approach shown for the other checks.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Added dotnet format --verify-no-changes after the yamllint check with the same lint_error propagation pattern in f2b0b1a.

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.

2 participants