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