Skip to content

Conversation

@Jython1415
Copy link
Owner

This commit implements the require-parameter-examples linter rule to ensure all formula parameters have non-empty example values.

Changes:

  • Add RequireParameterExamplesRule class to scripts/lint_formulas.py

    • Validates all parameters have non-empty 'example' fields
    • Supports edge cases: zero values, falsy values, quoted strings, BLANK()
    • Registered in FormulaLinter (4 rules now)
  • Add comprehensive test suite (16 test cases) to tests/test_linter.py

    • TestRequireParameterExamplesRule with positive and negative cases
    • Test edge cases and error messages
    • Updated rule count assertion (3 -> 4 rules)
  • Fix NONERRORSTO formula in formulas/nonerrorsto.yaml

    • Changed replacement parameter example from empty string to '""'
    • Represents the double-quoted empty string example
  • Update documentation

    • CLAUDE.md: Example YAML, linter rules list, formula development best practices
    • tests/CLAUDE.md: Parameter examples rule documentation
  • Regenerate README.md

    • NONERRORSTO replacement parameter now shows '""' as example

All tests pass (180 tests), linter validates all 33 formulas successfully.

This commit implements the `require-parameter-examples` linter rule to ensure
all formula parameters have non-empty example values.

Changes:
- Add RequireParameterExamplesRule class to scripts/lint_formulas.py
  - Validates all parameters have non-empty 'example' fields
  - Supports edge cases: zero values, falsy values, quoted strings, BLANK()
  - Registered in FormulaLinter (4 rules now)

- Add comprehensive test suite (16 test cases) to tests/test_linter.py
  - TestRequireParameterExamplesRule with positive and negative cases
  - Test edge cases and error messages
  - Updated rule count assertion (3 -> 4 rules)

- Fix NONERRORSTO formula in formulas/nonerrorsto.yaml
  - Changed replacement parameter example from empty string to '""'
  - Represents the double-quoted empty string example

- Update documentation
  - CLAUDE.md: Example YAML, linter rules list, formula development best practices
  - tests/CLAUDE.md: Parameter examples rule documentation

- Regenerate README.md
  - NONERRORSTO replacement parameter now shows '""' as example

All tests pass (180 tests), linter validates all 33 formulas successfully.
@Jython1415 Jython1415 merged commit a8ba500 into main Jan 19, 2026
2 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.

3 participants