Skip to content

Add v0.1.0 rules: S002, S007, S008 #9

Description

@hermanngeorge15

Context

The CLAUDE.md spec defines 3 additional rules for v0.1.0:

ID Name Severity Description
S002 testable-criteria warning Acceptance criteria must contain measurable language (not "make it good")
S007 imperative-constraints warning Constraints should use must/should/never, not vague language
S008 no-conflicting-language error Detect contradictory constraints

Implementation Notes

  • S002: Look for vague words ("good", "fast", "nice", "better") in acceptance criteria sections. Flag items without measurable language (numbers, percentages, specific behaviors).
  • S007: Scan Constraints section for weak language ("it would be nice", "try to", "consider"). Require imperative verbs (must, should, never, always).
  • S008: Hardest rule — detect contradictory pairs like "use TypeScript" + "use Python for scripts". Needs keyword-pair detection or semantic similarity.

Acceptance Criteria

  • Each rule has >=3 pass and >=3 fail test cases
  • S008 handles at least 5 common contradiction patterns
  • All registered in rules/index.ts
  • README rules table updated

Labels

enhancement, v0.1.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions