Skip to content

Lints

FieldValue
TypeSkill Resource
Source~/.copilot/skills/architecture/lints.toml
DescriptionNot specified

Source Content

# Lint registry for scripts/lint.py — the extension point.
# Add a lint: append a [[lint]] block. No code changes needed.
#
# Fields:
# name — shown in the summary table.
# globs — files this lint applies to. A lint whose file type didn't
# change never runs.
# command — {skill} expands to this skill's directory; {files} to the
# matched files. If the first token isn't an installed tool,
# the lint is skipped with a warning, never failed.
# required — true: a non-zero exit fails the run. false: advisory.
# note — one line of context, echoed when the lint runs.
#
# This skill's other scripts (debt_scanner.py, tech_debt_analyzer.py,
# architecture_diagram_generator.py, dependency_analyzer.py,
# project_architect.py, project_scaffolder.py, code_quality_analyzer.py,
# ecosystem_analyzer.py, format_detector.py, inventory.py,
# report_generator.py, security_assessor.py, stack_comparator.py,
# tco_calculator.py, migration_analyzer.py, debt_prioritizer.py,
# debt_dashboard.py) are generative/analytical tools, not file-change
# validators — they stay separate SKILL.md entrypoints, same reasoning as
# backend's verify_scaffold.sh.
[[lint]]
name = "adr-shape"
globs = ["**/adr-*.md", "**/ADR-*.md"]
command = "bash {skill}/scripts/lint_adr.sh {files}"
required = true
note = "house ADR skeleton (frontmatter id/status + Decision/Why/Applies-when headings), no unresolved [TODO]/[TBD] in a non-draft doc"
[[lint]]
name = "comparison-shape"
globs = ["**/comparison*.md", "**/*-comparison.md", "**/*-evaluation.md"]
command = "bash {skill}/scripts/lint_comparison.sh {files}"
required = true
note = "consistent criteria columns across every candidate, no lopsided/blank cells, a real Trade-offs/Consequences section (not prose-sniffed keywords)"
[[lint]]
name = "workspace-config"
globs = ["**/pnpm-workspace.yaml", "**/turbo.json", "**/nx.json", "**/package.json"]
command = "bash {skill}/scripts/lint_workspace_config.sh {files}"
required = false
note = "valid JSON/YAML, workspace glob paths resolve — advisory since not every package.json is a monorepo root"