Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
Prev Previous commit
Next Next commit
Apply template changes from TemplateDotNetTool PRs #61-#77
Port the following changes from the template:

PR #61: Linting modernization
- Convert .cspell.json to .cspell.yaml with header comments and improved ignorePaths
- Convert .markdownlint-cli2.jsonc to .markdownlint-cli2.yaml with header, noBanner, noProgress
- Update lint.sh to use Python venv, lint_error variable, no emojis, expanded file extensions
- Update lint.bat to use Python venv, LINT_ERROR variable, expanded file extensions
- Add pip-requirements.txt with yamllint==1.38.0
- Add cspell and markdownlint-cli2 to package.json devDependencies
- Add .venv/ to .gitignore

PR #64: Align lint YAML configs
- Update .yamllint.yaml with header comments, DO NOT MODIFY policy,
  expanded ignore section (thirdparty, third-party, 3rd-party, .agent-logs/)
  and remove check-keys from truthy rule

PR #75: Formalize build_notes artifact handling
- Remove 'Move buildnotes.md to root' step from release.yaml
- Use artifacts/buildnotes.md directly as release body file

PR #77: Port markdown format requirements section
- Update .github/standards/technical-documentation.md reference from
  .markdownlint-cli2.jsonc to .markdownlint-cli2.yaml

Additional updates:
- Update AGENTS.md references from .cspell.json to .cspell.yaml
  and .markdownlint-cli2.jsonc to .markdownlint-cli2.yaml
- Update CONTRIBUTING.md spell checking section to reference .cspell.yaml
  and use ./lint.sh instead of individual lint commands

Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
  • Loading branch information
Copilot and Malcolmnixon committed Mar 30, 2026
commit 52a173b48847530b0ae216fa908a2c4ab70f8027
92 changes: 0 additions & 92 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
- CodeQL
- copilot
- creatordate
- 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
- oneline
- opencover
- pandoc
- pagetitle
- Pylint
- Qube
- reqstream
- ReqStream
- reviewmark
- ReviewMark
- Sarif
- SarifMark
- SBOM
- sbom
- Semgrep
- semver
- slnx
- snupkg
- sonarmark
- SonarMark
- SonarQube
- spdx
- streetsidesoftware
- 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"
- "**/.agent-logs/**"
- "**/bin/**"
- "**/obj/**"
- package-lock.json
2 changes: 1 addition & 1 deletion .github/standards/technical-documentation.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ Write technical documentation for clarity and compliance verification:
# Markdown Format Requirements

Markdown documentation in this repository must follow the formatting standards
defined in `.markdownlint-cli2.jsonc` (subject to any exclusions configured there)
defined in `.markdownlint-cli2.yaml` (subject to any exclusions configured there)
for consistency and professional presentation:

- **120 Character Line Limit**: Keep lines 120 characters or fewer for readability.
Expand Down
7 changes: 1 addition & 6 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -63,18 +63,13 @@ jobs:
name: documents
path: artifacts

- name: Move buildnotes.md to root
run: |
set -e
mv artifacts/buildnotes.md buildnotes.md

- name: Create GitHub Release
if: inputs.publish == 'release' || inputs.publish == 'publish'
uses: ncipollo/release-action@v1
with:
tag: ${{ inputs.version }}
artifacts: artifacts/*
bodyFile: buildnotes.md
bodyFile: artifacts/buildnotes.md
generateReleaseNotes: false

- name: Publish to NuGet.org
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ package-lock.json
# Python
__pycache__/
*.py[cod]
.venv/

# Generated documentation
docs/**/*.html
Expand Down
16 changes: 0 additions & 16 deletions .markdownlint-cli2.jsonc

This file was deleted.

53 changes: 53 additions & 0 deletions .markdownlint-cli2.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
---
# Markdown Linting Standards
#
# PURPOSE:
# - Maintain professional technical documentation standards
# - Ensure consistent formatting for readability and maintenance
# - Support automated documentation generation and publishing
#
# DO NOT MODIFY: These rules represent coding standards
# - If files fail linting, fix the files to meet these standards
# - Do not relax rules to accommodate existing non-compliant files
# - Consistency across repositories is critical for documentation quality

noBanner: true

# Disable the progress indicator on stdout
noProgress: true

config:
# Enable all default rules
default: true

# Require ATX-style headers (# Header) instead of Setext-style
MD003:
style: atx

# Set consistent indentation for nested lists
MD007:
indent: 2

# Allow longer lines for URLs and technical content
MD013:
line_length: 120

# Allow multiple top-level headers per document
MD025: false

# Allow inline HTML for enhanced documentation
MD033: false

# Allow documents without top-level header (for fragments)
MD041: false

# Exclude common build artifacts, dependencies, and vendored third-party code
ignores:
- "**/.git/**"
- "**/node_modules/**"
- "**/.venv/**"
- "**/thirdparty/**"
- "**/third-party/**"
- "**/3rd-party/**"
- "**/AGENT_REPORT_*.md"
- "**/.agent-logs/**"
24 changes: 21 additions & 3 deletions .yamllint.yaml
Original file line number Diff line number Diff line change
@@ -1,14 +1,32 @@
---
# yamllint configuration for BuildMark
# This configuration defines the rules for YAML file linting
# YAML Linting Standards
#
# PURPOSE:
# - Maintain consistent code quality and readability standards
# - Support CI/CD workflows with reliable YAML parsing
# - Ensure professional documentation and configuration files
#
# DO NOT MODIFY: These rules represent coding standards
# - If files fail linting, fix the files to meet these standards
# - Do not relax rules to accommodate existing non-compliant files
# - Consistency across repositories is critical for maintainability

extends: default

# Exclude common build artifacts, dependencies, and vendored third-party code
ignore: |
.git/
node_modules/
.venv/
thirdparty/
third-party/
3rd-party/
.agent-logs/

rules:
# Allow 'on:' in GitHub Actions workflows (not a boolean value)
truthy:
allowed-values: ['true', 'false', 'on', 'off']
check-keys: true

# Allow longer lines for URLs and complex expressions
line-length:
Expand Down
8 changes: 4 additions & 4 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ compliance gates on every CI/CD run instead of as a last-mile activity.
### Linting Tools (ALL Must Pass)

- **markdownlint-cli2**: Markdown style and formatting enforcement
- **cspell**: Spell-checking across all text files (use `.cspell.json` for technical terms)
- **cspell**: Spell-checking across all text files (use `.cspell.yaml` for technical terms)
- **yamllint**: YAML structure and formatting validation
- **Language-specific linters**: Based on repository technology stack

Expand All @@ -104,8 +104,8 @@ compliance gates on every CI/CD run instead of as a last-mile activity.

- **`lint.sh` / `lint.bat`** - Cross-platform comprehensive linting scripts
- **`.editorconfig`** - Code formatting rules
- **`.cspell.json`** - Spell-check configuration and technical term dictionary
- **`.markdownlint-cli2.jsonc`** - Markdown linting rules
- **`.cspell.yaml`** - Spell-check configuration and technical term dictionary
- **`.markdownlint-cli2.yaml`** - Markdown linting rules
- **`.yamllint.yaml`** - YAML linting configuration
- **`package.json`** - Node.js dependencies for linting tools

Expand Down Expand Up @@ -161,7 +161,7 @@ integration, see the Requirements and Test Source Filters sections below.

- **`requirements.yaml`** - All requirements with test linkage (enforced via `dotnet reqstream --enforce`)
- **`.editorconfig`** - Code style (file-scoped namespaces, 4-space indent, UTF-8, LF endings)
- **`.cspell.json`, `.markdownlint-cli2.jsonc`, `.yamllint.yaml`** - Linting configs
- **`.cspell.yaml`, `.markdownlint-cli2.yaml`, `.yamllint.yaml`** - Linting configs

## Requirements

Expand Down
Loading
Loading