griffincancode/HowMany Code Analysis
Analyze code complexity, quality, and generate comprehensive reports with HowMany
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Maintainedlast commit Sep 11, 2025
- License
- MIT
Pinned Snippet
uses: griffincancode/howmany-actions@2aac61f4d548a8491b59f2ce8bd04b8e92442fad # v1.1.0tags can be moved; commit SHAs can't. why a SHA?
Inputs
| name | description | required | default |
|---|---|---|---|
| path | Directory to analyze (defaults to current directory) | no | . |
| output-format | Output format: text, json, csv, html | no | json |
| show-files | Show individual file statistics | no | false |
| verbose | Show detailed breakdown by file extension | no | true |
| max-depth | Maximum directory depth to traverse | no | "" |
| extensions | Only count specific file extensions (comma-separated: rs,py,js) | no | "" |
| include-hidden | Include hidden files and directories | no | false |
| sort-by | Sort results by: files, lines, code, comments, or size | no | files |
| descending | Sort in descending order | no | false |
| no-interactive | Disable interactive mode | no | true |
| ignore-patterns | Additional patterns to ignore (comma-separated: node_modules,target,dist) | no | "" |
| cli-mode | Use simple CLI mode for basic output | no | false |
| min-lines | Minimum lines per file to include | no | "" |
| max-lines | Maximum lines per file to include | no | "" |
| min-size | Minimum file size to include (e.g., 1KB, 500MB) | no | "" |
| max-size | Maximum file size to include (e.g., 1KB, 500MB) | no | "" |
| only-languages | Include only these languages (comma-separated: rs,py,js) | no | "" |
| exclude-languages | Exclude these languages (comma-separated: rs,py,js) | no | "" |
| show-complexity | Show complexity information in output | no | false |
| show-quality | Show quality metrics in output | no | false |
| show-ratios | Show code ratios in output | no | false |
| show-size | Show size information in output | no | false |
| fail-on-quality-gate | Fail if quality gate not met | no | false |
| quality-threshold | Minimum overall quality score (0-100) | no | 70 |
| maintainability-threshold | Minimum maintainability score (0-100) | no | 65 |
| documentation-threshold | Minimum documentation coverage (0-100) | no | 20 |
| complexity-threshold | Maximum average complexity per function | no | 10 |
| create-pr-comment | Create or update PR comment with analysis results | no | true |
| upload-sarif | Upload results as SARIF format to GitHub Code Scanning | no | false |
| artifact-name | Name for uploaded report artifact | no | howmany-report |
| howmany-version | Version of howmany to install (latest, or specific version like 0.3.2) | no | latest |
Outputs
| name | description |
|---|---|
| report-path | Path to generated report file |
| quality-score | Overall quality score (0-100) |
| maintainability-score | Maintainability index score (0-100) |
| documentation-score | Documentation coverage score (0-100) |
| complexity-score | Average complexity per function |
| total-files | Total number of files analyzed |
| total-lines | Total lines of code |
| code-lines | Lines of actual code |
| comment-lines | Lines of comments |
| passed | Whether quality gate passed (true/false) |
| recommendations | Quality improvement recommendations (JSON array) |
| sarif-file | Path to generated SARIF file (when upload-sarif is enabled) |