Skip to content

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

@hermanngeorge15

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions