Skip to content

feat: add rules S001 (required-sections) and S003 (no-secrets)#1

Merged
hermanngeorge15 merged 3 commits into
mainfrom
feat/rules-S001-S003
Apr 1, 2026
Merged

feat: add rules S001 (required-sections) and S003 (no-secrets)#1
hermanngeorge15 merged 3 commits into
mainfrom
feat/rules-S001-S003

Conversation

@hermanngeorge15
Copy link
Copy Markdown
Contributor

PR 2 of spec-linter v0.0.1 milestone.

What

Two lint rules with full test coverage and fixtures.

Rules

  • S001: required-sections (error) — checks for Project Overview, Constraints, Acceptance Criteria
  • S003: no-secrets (error) — detects API keys, tokens, private keys

Test coverage

  • S001: 10 tests (3 pass, 7 fail/edge cases)
  • S003: 11 tests (3 pass, 8 fail/edge cases)
  • Fixtures: valid-claude.md and invalid-claude.md

hermanngeorge15 and others added 3 commits April 1, 2026 12:11
Checks that spec files contain the three required sections:
Project Overview, Constraints, and Acceptance Criteria.
Case-insensitive matching, works with any heading level.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Detects accidentally committed secrets in spec files including OpenAI/Anthropic
API keys, GitHub tokens, AWS access keys, private key blocks, and Slack tokens.
Minimum length thresholds prevent false positives on prose mentions of key prefixes.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@hermanngeorge15 hermanngeorge15 merged commit 1a465bd into main Apr 1, 2026
0 of 6 checks passed
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.

1 participant