Requirements Quality Checklist: Code Quality Standards

January 1, 2026 ยท View on GitHub

Purpose: Verify that code quality requirements (formatting, consistency, linting, security auditing) are well-specified, measurable, and enforceable across the project.

Created: 2025-01-01 Scope: All code in repository (multi-language support)

Note: This checklist is generated by the /speckit.checklist command to test REQUIREMENTS QUALITY, not implementation compliance.

Formatting Requirements

  • CHK001 Formatting standards are explicitly defined for each programming language in use
  • CHK002 Formatting tool configuration files are specified (e.g., .prettierrc, .editorconfig, black.toml, rustfmt.toml)
  • CHK003 Formatting requirements specify whether auto-formatting is mandatory or advisory
  • CHK004 Formatting requirements include line length limits (if applicable)
  • CHK005 Formatting requirements specify indentation style (spaces vs tabs, count)
  • CHK006 Formatting requirements define handling of trailing whitespace
  • CHK007 Formatting requirements specify file encoding standards (UTF-8, etc.)
  • CHK008 Formatting requirements include end-of-line character specifications (LF vs CRLF)
  • CHK009 Formatting requirements are documented in a discoverable location (README, CONTRIBUTING, or docs/)

Language Consistency Requirements

  • CHK010 Primary programming language(s) are explicitly stated in project documentation
  • CHK011 Language version requirements are specified (e.g., Python 3.11+, Node.js 18+, Rust 1.70+)
  • CHK012 Language consistency requirements define allowed language mixing (e.g., Python + C extensions, JS + TS)
  • CHK013 Naming conventions are specified per language (camelCase, snake_case, kebab-case, etc.)
  • CHK014 Import/package organization rules are defined (e.g., import ordering, grouping)
  • CHK015 Code style guide is referenced or included (e.g., PEP 8, Google Style Guide, Rust API Guidelines)
  • CHK016 Language-specific idioms and patterns are documented or referenced
  • CHK017 Requirements specify handling of deprecated language features or versions

Linting Requirements

  • CHK018 Linting tools are specified for each language (e.g., ESLint, Pylint, Clippy, golangci-lint)
  • CHK019 Linter configuration files are required and their locations specified
  • CHK020 Linting requirements specify which rule sets are mandatory vs optional
  • CHK021 Linting requirements define severity levels (error, warning, info) and enforcement
  • CHK022 Linting requirements specify whether warnings block CI/CD or are advisory
  • CHK023 Linting requirements include process for adding exceptions or disabling rules
  • CHK024 Linting requirements specify whether pre-commit hooks are mandatory
  • CHK025 Linting requirements define CI/CD integration (fail build on lint errors)
  • CHK026 Linting requirements specify handling of legacy code (grandfathering, gradual migration)

Security Audit Requirements

  • CHK027 Security audit requirements specify dependency scanning tools (e.g., Snyk, Dependabot, npm audit, cargo audit)
  • CHK028 Security audit requirements define frequency of dependency scans (per commit, daily, weekly)
  • CHK029 Security audit requirements specify static code analysis tools (SAST) (e.g., Bandit, Semgrep, CodeQL, SonarQube)
  • CHK030 Security audit requirements define severity thresholds (critical, high, medium, low)
  • CHK031 Security audit requirements specify which severity levels block CI/CD
  • CHK032 Security audit requirements include process for handling false positives
  • CHK033 Security audit requirements define remediation timelines (e.g., critical within 24h, high within 7 days)
  • CHK034 Security audit requirements specify handling of known vulnerabilities in dependencies
  • CHK035 Security audit requirements include secret scanning (API keys, passwords, tokens)
  • CHK036 Security audit requirements specify infrastructure security checks (if applicable)
  • CHK037 Security audit requirements define reporting and notification mechanisms

Git Commit Signing Requirements

  • CHK038 Commit signing requirements specify GPG key setup process
  • CHK039 Commit signing requirements define whether signing is mandatory or optional
  • CHK040 Commit signing requirements specify enforcement mechanism (pre-commit hook, CI check)
  • CHK041 Commit signing requirements include instructions for developers to configure signing
  • CHK042 Commit signing requirements specify handling of unsigned commits (reject, warn, allow)

Accessibility Requirements

  • CHK043 Accessibility requirements specify standards (WCAG 2.1 Level AA, Section 508, etc.)
  • CHK044 Accessibility requirements define which components require accessibility (UI, APIs, documentation)
  • CHK045 Accessibility requirements specify testing tools (e.g., axe-core, WAVE, Lighthouse)
  • CHK046 Accessibility requirements include keyboard navigation requirements
  • CHK047 Accessibility requirements specify screen reader compatibility requirements
  • CHK048 Accessibility requirements define color contrast ratios
  • CHK049 Accessibility requirements include alternative text requirements for images/media
  • CHK050 Accessibility requirements specify ARIA label requirements (if applicable)

Cross-Platform Compatibility Requirements

  • CHK051 Cross-platform requirements explicitly list supported platforms (OS, architectures)
  • CHK052 Cross-platform requirements specify testing requirements per platform
  • CHK053 Cross-platform requirements define CI/CD matrix for platform testing
  • CHK054 Cross-platform requirements specify handling of platform-specific code paths
  • CHK055 Cross-platform requirements include file path handling requirements (forward/backward slashes)
  • CHK056 Cross-platform requirements specify line ending handling (LF vs CRLF)
  • CHK057 Cross-platform requirements define character encoding requirements (UTF-8)
  • CHK058 Cross-platform requirements specify dependency compatibility across platforms
  • CHK059 Cross-platform requirements include endianness considerations (if applicable)

Enforcement & Integration Requirements

  • CHK060 Requirements specify CI/CD integration points (pre-commit, build, pre-merge)
  • CHK061 Requirements define which checks are blocking vs non-blocking
  • CHK062 Requirements specify tool versions to ensure consistency across environments
  • CHK063 Requirements include setup instructions for new developers
  • CHK064 Requirements specify how to run quality checks locally
  • CHK065 Requirements define exception process (when/how to bypass checks)
  • CHK066 Requirements include monitoring/reporting of compliance metrics
  • CHK067 Requirements specify update/maintenance process for quality standards

Documentation & Discoverability

  • CHK068 All code quality requirements are documented in a single discoverable location
  • CHK069 Requirements documentation includes links to tool documentation
  • CHK070 Requirements documentation includes examples of compliant code
  • CHK071 Requirements documentation includes examples of non-compliant code with fixes
  • CHK072 Requirements documentation specifies who to contact for questions
  • CHK073 Requirements documentation includes troubleshooting guide for common issues

Measurability & Testability

  • CHK074 Each requirement has clear pass/fail criteria
  • CHK075 Requirements specify how compliance is measured (automated tools, manual review)
  • CHK076 Requirements include baseline metrics or targets (e.g., zero critical vulnerabilities)
  • CHK077 Requirements specify how to verify compliance before submission

Notes

  • Check items off as completed: [x]
  • Add comments or findings inline
  • Link to relevant resources or documentation
  • Items are numbered sequentially for easy reference
  • This checklist tests REQUIREMENTS QUALITY - verify requirements are well-specified before implementation
  • Requirements should be reviewed and updated as the project evolves