v0.1.0
gruff-go v0.1.0
Install (pinned):
go install github.com/blundergoat/gruff-go/cmd/gruff-go@v0.1.0Or pin per project as a dev tool (Go 1.24+):
go get -tool github.com/blundergoat/gruff-go/cmd/gruff-go@v0.1.0
go tool gruff-go analyse .See CHANGELOG.md for the full notes.
Changelog
Features
- d8bb9ec: feat: add ADR-008 for external-codebase calibration as a precision-tuning loop (Matthew Hansen thatmatthansen@gmail.com)
- 4c05bf1: feat: add TLS insecure config rule to flag insecure tls.Config settings (Matthew Hansen thatmatthansen@gmail.com)
- 3717ffe: feat: add bug report and feature request templates, along with a code of conduct (Matthew Hansen thatmatthansen@gmail.com)
- c249d5d: feat: add calibration tests for function length rule and enhance sensitive-data rules (Matthew Hansen thatmatthansen@gmail.com)
- 1b780bf: feat: add capability labels to rule definitions and update validation logic (Matthew Hansen thatmatthansen@gmail.com)
- db530f2: feat: add composite design rules for detecting god functions and hotspot files (Matthew Hansen thatmatthansen@gmail.com)
- cdabbb4: feat: add dashboard server and interactive report features (Matthew Hansen thatmatthansen@gmail.com)
- 2e7d379: feat: add goreleaser configuration for automated releases and build process (Matthew Hansen thatmatthansen@gmail.com)
- f1a4562: feat: add naming.contextual-generic rule to flag generic names in large contexts (Matthew Hansen thatmatthansen@gmail.com)
- f73e801: feat: add naming.misspelling and naming.package-stutter rules to flag common misspellings and package stutter identifiers (Matthew Hansen thatmatthansen@gmail.com)
- 2141278: feat: add naming.negated-boolean rule to flag boolean identifiers with negation prefixes (Matthew Hansen thatmatthansen@gmail.com)
- 40c3383: feat: add new security rules for archive path traversal, insecure random secret, SQL string query construction, and weak crypto primitives (Matthew Hansen thatmatthansen@gmail.com)
- 188e68e: feat: add option to ignore internal packages in exported symbol comment rule (Matthew Hansen thatmatthansen@gmail.com)
- 3c24498: feat: add parameter count and nesting depth rules with documentation comments (Matthew Hansen thatmatthansen@gmail.com)
- 758e7f2: feat: add performance testing script and update .gitignore for performance harness (Matthew Hansen thatmatthansen@gmail.com)
- b43cdd4: feat: add preflight checks script to run local verification gates for gruff-go (Matthew Hansen thatmatthansen@gmail.com)
- feb92e1: feat: add rules for identifier quality and sensitive data detection (Matthew Hansen thatmatthansen@gmail.com)
- 8fcb436: feat: add tests for sensitive data redaction across preview changes and real artifacts (Matthew Hansen thatmatthansen@gmail.com)
- 86890f9: feat: enable default for parser rules and update thresholds for maxDepth and maxParameters (Matthew Hansen thatmatthansen@gmail.com)
- bfd0ba3: feat: enhance SARIF contract tests with reversed definitions and additional validation (Matthew Hansen thatmatthansen@gmail.com)
- 9ee3fde: feat: enhance comments for clarity and detail across multiple files (Matthew Hansen thatmatthansen@gmail.com)
- 1ed0727: feat: enhance dashboard functionality with project root handling and context management (Matthew Hansen thatmatthansen@gmail.com)
- 0847575: feat: enhance documentation rules with minWordsBeyondSymbol and config-field-comment requirements (Matthew Hansen thatmatthansen@gmail.com)
- b4998b6: feat: enhance function length rule to count code-bearing lines and honor nolint directives (Matthew Hansen thatmatthansen@gmail.com)
- 9ca2f9f: feat: enhance function length rule to discount table-driven test fixtures and add external test package name exemption (Matthew Hansen thatmatthansen@gmail.com)
- bb48999: feat: enhance gitignore handling by refining include-ignored flag and fallback logic (Matthew Hansen thatmatthansen@gmail.com)
- d13705b: feat: enhance gitignore handling in discovery, add --include-ignored flag, and improve package summary checks (Matthew Hansen thatmatthansen@gmail.com)
- a36ff55: feat: enhance scoring output with coverage details and complexity distribution scope (Matthew Hansen thatmatthansen@gmail.com)
- 36edf95: feat: enhance test selection logic and improve error handling in quality checks (Matthew Hansen thatmatthansen@gmail.com)
- 7dd016c: feat: enhance testing skip detection to exclude third-party methods and improve assertion helper recognition (Matthew Hansen thatmatthansen@gmail.com)
- b4295f0: feat: enhance validation logic for thresholds and add new naming rules (Matthew Hansen thatmatthansen@gmail.com)
- 04f3e28: feat: enhance version bumping script to escape current version in sed replacements and improve changelog entries (Matthew Hansen thatmatthansen@gmail.com)
- 77137c0: feat: expand sensitive-data rule pack with new detectors for GitHub, Slack, Stripe, Google, and Anthropic API keys (Matthew Hansen thatmatthansen@gmail.com)
- f6efc11: feat: implement ANSI color output handling and enhance command usage display (Matthew Hansen thatmatthansen@gmail.com)
- 5b6c22d: feat: implement gitignore matcher and include-ignored option for discovery (Matthew Hansen thatmatthansen@gmail.com)
- 84d38ea: feat: implement gitignore-respecting discovery for scans and enhance command metadata (Matthew Hansen thatmatthansen@gmail.com)
- d8bcfc8: feat: implement parser-only scanner with baseline and analysis reports (Matthew Hansen thatmatthansen@gmail.com)
- cc4c9e3: feat: improve test error handling for golden diff mode and validate SARIF output (Matthew Hansen thatmatthansen@gmail.com)
- 269f73d: feat: introduce docs.config-field-comment rule for exported struct field documentation (Matthew Hansen thatmatthansen@gmail.com)
- 62356f3: feat: move goat-flow dependency to devDependencies in package.json and package-lock.json (Matthew Hansen thatmatthansen@gmail.com)
- 2ef07d0: feat: optimize function length rule and enhance .gitignore matcher performance (Matthew Hansen thatmatthansen@gmail.com)
- 3f59618: feat: optimize rule dispatch by caching definitions and enhancing active rule management (Matthew Hansen thatmatthansen@gmail.com)
- 449ba73: feat: raise default maxLines threshold for size.file-length from 400 to 500 (Matthew Hansen thatmatthansen@gmail.com)
- f1a2f9d: feat: refactor NewReport function to use structured input parameters (Matthew Hansen thatmatthansen@gmail.com)
- 86b351c: feat: refactor command help and usage display into separate file (Matthew Hansen thatmatthansen@gmail.com)
- 9bbc71c: feat: refine comments and documentation across multiple files for clarity and precision (Matthew Hansen thatmatthansen@gmail.com)
- 3ed52fd: feat: refine naming.get-prefix rule to exclude context accessors and enhance SQL string query detection for test schemas (Matthew Hansen thatmatthansen@gmail.com)
- bc445a5: feat: remove legacy opt-in tags from default-enabled rules and update related documentation (Matthew Hansen thatmatthansen@gmail.com)
- 1a91802: feat: rename config file to .gruff-go.yaml and update related references (Matthew Hansen thatmatthansen@gmail.com)
- 04ef53f: feat: rename waste-empty-block to dead-code-empty-block and update related configurations (Matthew Hansen thatmatthansen@gmail.com)
- f757c6a: feat: supersede ADR-002 with comprehensive default-enabled rule pack and adjust thresholds (Matthew Hansen thatmatthansen@gmail.com)
- 1ebf3c1: feat: update .gruff-go.yaml to ignore additional directories for analysis (Matthew Hansen thatmatthansen@gmail.com)
- 6b4ef2d: feat: update CI configuration to run preflight checks in GitHub Actions and rename job to 'preflight' (Matthew Hansen thatmatthansen@gmail.com)
- 3b6d0f4: feat: update SARIF output structure to include gruffFingerprint and ruleIndex fields (Matthew Hansen thatmatthansen@gmail.com)
- 70622e6: feat: update architecture and code-map documentation to reflect 30-rule default-enabled registry and add CI dogfood gate (Matthew Hansen thatmatthansen@gmail.com)
- 44a143e: feat: update documentation and scoring for composite design findings (Matthew Hansen thatmatthansen@gmail.com)
- 07b22de: feat: update documentation for v0.1 release, enhance rule descriptions, and clarify configuration options (Matthew Hansen thatmatthansen@gmail.com)
- cafeeb9: feat: update documentation to clarify release process and enhance rule catalogue details (Matthew Hansen thatmatthansen@gmail.com)
- ad90c07: feat: update documentation to reflect the expanded 41-rule registry and clarify release calibration process (Matthew Hansen thatmatthansen@gmail.com)
- 3008d69: feat: update goat-flow version to 1.7.0 and adjust related documentation (Matthew Hansen thatmatthansen@gmail.com)
- f49fae4: feat: update gruff.yaml to enhance complexity and security rules, add sensitive data checks, and refine test quality metrics (Matthew Hansen thatmatthansen@gmail.com)
- 5b0a239: feat: update permissions configuration for filesystem and refine path handling (Matthew Hansen thatmatthansen@gmail.com)
Bug fixes
- 8153a99: fix: update rule IDs to use dotted notation for consistency (Matthew Hansen thatmatthansen@gmail.com)
Other
- 0844a7d: Initial commit (mattyhansen mattyhansen@users.noreply.github.com)
- 8e7e15e: refactor: simplify access to default rule definitions in tests (Matthew Hansen thatmatthansen@gmail.com)
Full changelog: ...v0.1.0