claude-roi 0.7.0 → 0.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-roi",
3
- "version": "0.7.0",
3
+ "version": "0.7.2",
4
4
  "description": "Correlate Claude Code token usage with git output to measure AI coding agent ROI",
5
5
  "type": "module",
6
6
  "bin": {
@@ -104,20 +104,65 @@ const NON_VERIFICATION_PATTERNS = [
104
104
  /^\s*echo\s+/, // printing
105
105
  /^\s*ls\b/, // listing
106
106
  /^\s*rm\s+/, // file deletion
107
+ /^\s*cd\s+/, // directory change (when standalone)
108
+ /^\s*mkdir\s+/, // directory creation
109
+ /^\s*cp\s+/, // file copy
110
+ /^\s*mv\s+/, // file move
111
+ /^\s*touch\s+/, // file creation
112
+ /^\s*chmod\s+/, // permission change
113
+ /^\s*gh\s+pr\b/, // GitHub PR operations
114
+ /^\s*gh\s+issue\b/, // GitHub issue operations
115
+ /^\s*git\s+(add|commit|push|pull|checkout|branch|merge|stash|rebase)\b/, // git write ops
116
+ /^\s*npm\s+(install|i|ci|publish|init)\b/, // npm non-test commands
117
+ /^\s*pip\s+install\b/, // pip install
118
+ /^\s*brew\s+/, // homebrew
119
+ /^\s*curl\s+/, // HTTP requests
120
+ /^\s*wget\s+/, // downloads
121
+ /^\s*docker\s+/, // docker commands
122
+ /^\s*kill\s+/, // process kill
123
+ /^\s*pkill\s+/, // process kill
124
+ /^\s*open\s+/, // open files/URLs
125
+ /^\s*code\s+/, // open in VS Code
126
+ /^\s*pbcopy\b/, // clipboard
127
+ /^\s*sed\s+/, // stream edit
128
+ /^\s*awk\s+/, // text processing
129
+ /^\s*grep\s+/, // search (not verification)
130
+ /^\s*wc\s+/, // word count
131
+ /^\s*head\s+/, // file preview
132
+ /^\s*tail\s+/, // file preview
107
133
  ];
108
134
 
109
135
  // Patterns that identify test/lint/typecheck commands (for autonomy self-heal score)
110
136
  const VERIFICATION_PATTERNS = [
111
- /\bnpm\s+(test|run\s+(test|lint|check|typecheck))\b/,
112
- /\b(pnpm|yarn|bun)\s+(run\s+)?(test|lint|check|typecheck)\b/,
113
- /\b(jest|vitest|mocha|ava)\b/,
114
- /\b(pytest|python\s+-m\s+(pytest|unittest))\b/,
115
- /\b(go\s+test|cargo\s+(test|clippy))\b/,
116
- /\b(eslint|biome|prettier\b.*--check)/,
137
+ // JavaScript/TypeScript
138
+ /\bnpm\s+(test|run\s+(test|lint|check|typecheck|format:check))\b/,
139
+ /\b(pnpm|yarn|bun)\s+(run\s+)?(test|lint|check|typecheck|format:check)\b/,
140
+ /\b(jest|vitest|mocha|ava|cypress|playwright)\s/,
117
141
  /\btsc(\s+--noEmit|\s+-p)\b/,
118
- /\b(mypy|ruff|flake8|pylint|rubocop)\b/,
142
+ /\b(eslint|biome|prettier\b.*--check)/,
119
143
  /\bnode\s+--check\b/,
120
- /\bmake\s+(test|check|lint)\b/,
144
+ /\bnpx\s+(tsc|eslint|jest|vitest|prettier\s+--check)\b/,
145
+
146
+ // Python
147
+ /\b(pytest|python\s+-m\s+(pytest|unittest|mypy|ruff|flake8|pylint))\b/,
148
+ /\b(mypy|ruff\s+check|flake8|pylint|pyright|bandit)\b/,
149
+
150
+ // Go
151
+ /\bgo\s+(test|vet)\b/,
152
+ /\bgolangci-lint\b/,
153
+
154
+ // Rust
155
+ /\bcargo\s+(test|clippy|check)\b/,
156
+
157
+ // Ruby
158
+ /\b(rubocop|rspec|bundle\s+exec\s+(rspec|rubocop))\b/,
159
+
160
+ // Java/Kotlin
161
+ /\b(gradle|gradlew|mvn|maven)\s+(test|check|verify)\b/,
162
+
163
+ // General
164
+ /\bmake\s+(test|check|lint|verify)\b/,
165
+ /\bpre-commit\s+run\b/,
121
166
  ];
122
167
 
123
168
  function isVerificationCommand(command) {