check-my-toolkit 0.10.4 → 0.11.0
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/README.md +151 -79
- package/dist/cli.js +18 -0
- package/dist/cli.js.map +1 -1
- package/dist/code/tools/base.d.ts +2 -2
- package/dist/code/tools/base.d.ts.map +1 -1
- package/dist/code/tools/base.js +10 -3
- package/dist/code/tools/base.js.map +1 -1
- package/dist/code/tools/eslint.js +1 -1
- package/dist/code/tools/npmaudit.js +1 -1
- package/dist/code/tools/pipaudit.js +1 -1
- package/dist/code/tools/tsc.js +1 -1
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -1,24 +1,25 @@
|
|
|
1
1
|
# check-my-toolkit
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
3
|
+
A unified CLI for enforcing code quality standards across projects. One config file, multiple tools, consistent output.
|
|
6
4
|
|
|
7
5
|
```bash
|
|
8
6
|
npm install -g check-my-toolkit
|
|
9
7
|
```
|
|
10
8
|
|
|
11
|
-
|
|
9
|
+
## Why?
|
|
12
10
|
|
|
13
|
-
|
|
14
|
-
npx check-my-toolkit code check
|
|
15
|
-
```
|
|
11
|
+
Most projects cobble together ESLint, Prettier, Ruff, tsc, and various other tools with inconsistent configs. `cm` unifies them:
|
|
16
12
|
|
|
17
|
-
|
|
13
|
+
- **Single config** — `check.toml` controls all tools
|
|
14
|
+
- **Consistent output** — Same format whether it's ESLint or Ruff
|
|
15
|
+
- **Org standards** — Extend from a shared registry to enforce team conventions
|
|
16
|
+
- **CI-ready** — Exit codes and JSON output for automation
|
|
18
17
|
|
|
19
|
-
|
|
18
|
+
## Quick Start
|
|
20
19
|
|
|
21
|
-
```
|
|
20
|
+
```bash
|
|
21
|
+
# Create check.toml
|
|
22
|
+
cat > check.toml << 'EOF'
|
|
22
23
|
[code.linting.eslint]
|
|
23
24
|
enabled = true
|
|
24
25
|
|
|
@@ -27,58 +28,157 @@ enabled = true
|
|
|
27
28
|
|
|
28
29
|
[code.types.tsc]
|
|
29
30
|
enabled = true
|
|
31
|
+
EOF
|
|
32
|
+
|
|
33
|
+
# Run checks
|
|
34
|
+
cm code check
|
|
30
35
|
```
|
|
31
36
|
|
|
32
|
-
|
|
37
|
+
Output:
|
|
33
38
|
|
|
34
|
-
```bash
|
|
35
|
-
cm code check
|
|
36
39
|
```
|
|
40
|
+
[code.linting] ESLint
|
|
41
|
+
✗ src/index.ts:10:5 - 'foo' is assigned but never used
|
|
42
|
+
|
|
43
|
+
[code.linting] Ruff
|
|
44
|
+
✓ No violations
|
|
45
|
+
|
|
46
|
+
[code.types] tsc
|
|
47
|
+
✓ No type errors
|
|
48
|
+
|
|
49
|
+
code: 1 violation found
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Supported Tools
|
|
53
|
+
|
|
54
|
+
### Linting
|
|
55
|
+
|
|
56
|
+
| Tool | Language | Config |
|
|
57
|
+
|------|----------|--------|
|
|
58
|
+
| ESLint | TypeScript/JavaScript | `[code.linting.eslint]` |
|
|
59
|
+
| Ruff | Python | `[code.linting.ruff]` |
|
|
60
|
+
|
|
61
|
+
### Formatting
|
|
62
|
+
|
|
63
|
+
| Tool | Language | Config |
|
|
64
|
+
|------|----------|--------|
|
|
65
|
+
| Prettier | TypeScript/JavaScript | `[code.formatting.prettier]` |
|
|
66
|
+
| Ruff Format | Python | `[code.linting.ruff] format = true` |
|
|
67
|
+
|
|
68
|
+
### Type Checking
|
|
69
|
+
|
|
70
|
+
| Tool | Language | Config |
|
|
71
|
+
|------|----------|--------|
|
|
72
|
+
| tsc | TypeScript | `[code.types.tsc]` |
|
|
73
|
+
| ty | Python | `[code.types.ty]` |
|
|
74
|
+
|
|
75
|
+
### Dead Code Detection
|
|
76
|
+
|
|
77
|
+
| Tool | Language | Config |
|
|
78
|
+
|------|----------|--------|
|
|
79
|
+
| Knip | TypeScript/JavaScript | `[code.unused.knip]` |
|
|
80
|
+
| Vulture | Python | `[code.unused.vulture]` |
|
|
81
|
+
|
|
82
|
+
### Security
|
|
83
|
+
|
|
84
|
+
| Tool | Purpose | Config |
|
|
85
|
+
|------|---------|--------|
|
|
86
|
+
| Gitleaks | Secret detection | `[code.security.gitleaks]` |
|
|
87
|
+
| npm audit | JS dependency vulnerabilities | `[code.security.npm-audit]` |
|
|
88
|
+
| pip-audit | Python dependency vulnerabilities | `[code.security.pip-audit]` |
|
|
89
|
+
|
|
90
|
+
### Other
|
|
91
|
+
|
|
92
|
+
| Tool | Purpose | Config |
|
|
93
|
+
|------|---------|--------|
|
|
94
|
+
| Tests | Verify test files exist | `[code.tests]` |
|
|
95
|
+
| Naming | File/folder naming conventions | `[code.naming]` |
|
|
37
96
|
|
|
38
97
|
## Commands
|
|
39
98
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
99
|
+
```bash
|
|
100
|
+
cm code check # Run all enabled checks
|
|
101
|
+
cm code check --format json # JSON output for CI
|
|
102
|
+
cm code audit # Verify tool configs exist
|
|
103
|
+
cm validate # Validate check.toml syntax
|
|
104
|
+
cm validate registry # Validate a registry structure
|
|
105
|
+
```
|
|
45
106
|
|
|
46
107
|
## Configuration
|
|
47
108
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
### Code Domain
|
|
109
|
+
### Basic
|
|
51
110
|
|
|
52
111
|
```toml
|
|
53
112
|
[code.linting.eslint]
|
|
54
|
-
enabled = true
|
|
113
|
+
enabled = true
|
|
55
114
|
|
|
56
115
|
[code.linting.ruff]
|
|
57
|
-
enabled = true
|
|
116
|
+
enabled = true
|
|
117
|
+
line-length = 100
|
|
118
|
+
lint.select = ["E", "F", "I"]
|
|
58
119
|
|
|
59
120
|
[code.types.tsc]
|
|
60
|
-
enabled = true
|
|
121
|
+
enabled = true
|
|
122
|
+
|
|
123
|
+
[code.formatting.prettier]
|
|
124
|
+
enabled = true
|
|
125
|
+
|
|
126
|
+
[code.unused.knip]
|
|
127
|
+
enabled = true
|
|
128
|
+
|
|
129
|
+
[code.security.gitleaks]
|
|
130
|
+
enabled = true
|
|
61
131
|
```
|
|
62
132
|
|
|
63
|
-
###
|
|
133
|
+
### Extending from a Registry
|
|
64
134
|
|
|
65
|
-
|
|
135
|
+
Share standards across repos by extending from a registry:
|
|
136
|
+
|
|
137
|
+
```toml
|
|
138
|
+
[extends]
|
|
139
|
+
registry = "github:myorg/standards"
|
|
140
|
+
rulesets = ["typescript", "security"]
|
|
141
|
+
```
|
|
66
142
|
|
|
67
|
-
|
|
143
|
+
The registry contains reusable rulesets in `rulesets/*.toml` that get merged into your config.
|
|
68
144
|
|
|
69
|
-
###
|
|
145
|
+
### File Naming Conventions
|
|
70
146
|
|
|
147
|
+
```toml
|
|
148
|
+
[code.naming]
|
|
149
|
+
enabled = true
|
|
150
|
+
|
|
151
|
+
[code.naming.rules.kebab-ts]
|
|
152
|
+
pattern = "^[a-z][a-z0-9]*(-[a-z0-9]+)*$"
|
|
153
|
+
extensions = [".ts", ".tsx"]
|
|
154
|
+
exclude = ["*.test.ts", "*.spec.ts"]
|
|
155
|
+
|
|
156
|
+
[code.naming.rules.snake-py]
|
|
157
|
+
pattern = "^[a-z][a-z0-9]*(_[a-z0-9]+)*$"
|
|
158
|
+
extensions = [".py"]
|
|
71
159
|
```
|
|
72
|
-
[code.linting] ESLint
|
|
73
|
-
✗ src/index.ts:10:5 - 'foo' is assigned but never used
|
|
74
160
|
|
|
75
|
-
|
|
76
|
-
✓ No type errors
|
|
161
|
+
### Test File Validation
|
|
77
162
|
|
|
78
|
-
|
|
163
|
+
```toml
|
|
164
|
+
[code.tests]
|
|
165
|
+
enabled = true
|
|
166
|
+
pattern = "**/*.test.ts" # Glob pattern for test files
|
|
79
167
|
```
|
|
80
168
|
|
|
81
|
-
|
|
169
|
+
## CI Integration
|
|
170
|
+
|
|
171
|
+
### GitHub Actions
|
|
172
|
+
|
|
173
|
+
```yaml
|
|
174
|
+
- name: Install check-my-toolkit
|
|
175
|
+
run: npm install -g check-my-toolkit
|
|
176
|
+
|
|
177
|
+
- name: Run code checks
|
|
178
|
+
run: cm code check
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
### JSON Output
|
|
82
182
|
|
|
83
183
|
```bash
|
|
84
184
|
cm code check --format json
|
|
@@ -86,13 +186,13 @@ cm code check --format json
|
|
|
86
186
|
|
|
87
187
|
```json
|
|
88
188
|
{
|
|
89
|
-
"version": "0.
|
|
189
|
+
"version": "0.10.4",
|
|
90
190
|
"configPath": "/path/to/check.toml",
|
|
91
191
|
"domains": {
|
|
92
192
|
"code": {
|
|
93
193
|
"status": "fail",
|
|
94
194
|
"violationCount": 1,
|
|
95
|
-
"
|
|
195
|
+
"tools": { ... }
|
|
96
196
|
}
|
|
97
197
|
},
|
|
98
198
|
"summary": {
|
|
@@ -102,7 +202,7 @@ cm code check --format json
|
|
|
102
202
|
}
|
|
103
203
|
```
|
|
104
204
|
|
|
105
|
-
|
|
205
|
+
### Exit Codes
|
|
106
206
|
|
|
107
207
|
| Code | Meaning |
|
|
108
208
|
|------|---------|
|
|
@@ -111,62 +211,34 @@ cm code check --format json
|
|
|
111
211
|
| 2 | Configuration error |
|
|
112
212
|
| 3 | Runtime error |
|
|
113
213
|
|
|
114
|
-
## Supported Tools
|
|
115
|
-
|
|
116
|
-
| Tool | Language | Command |
|
|
117
|
-
|------|----------|---------|
|
|
118
|
-
| ESLint | TypeScript/JavaScript | `eslint .` |
|
|
119
|
-
| Ruff | Python | `ruff check .` |
|
|
120
|
-
| tsc | TypeScript | `tsc --noEmit` |
|
|
121
|
-
|
|
122
|
-
Tools must be installed in your project. If a tool is not found, it will be skipped with a warning.
|
|
123
|
-
|
|
124
|
-
## CI Integration
|
|
125
|
-
|
|
126
|
-
Add to your GitHub Actions workflow:
|
|
127
|
-
|
|
128
|
-
```yaml
|
|
129
|
-
- name: Run code checks
|
|
130
|
-
run: npx check-my-toolkit code check
|
|
131
|
-
```
|
|
132
|
-
|
|
133
214
|
## Roadmap
|
|
134
215
|
|
|
135
|
-
|
|
216
|
+
| Domain | Status | Description |
|
|
217
|
+
|--------|--------|-------------|
|
|
218
|
+
| **code** | Stable | Linting, types, formatting, security |
|
|
219
|
+
| **process** | Planned | PR size limits, branch naming, repo settings |
|
|
136
220
|
|
|
137
|
-
|
|
138
|
-
- **process** - PR checks, branch naming, commit conventions
|
|
139
|
-
- **stack** - Tool versions, environment variables, service dependencies
|
|
221
|
+
See [docs/roadmap/](docs/roadmap/) for detailed plans.
|
|
140
222
|
|
|
141
223
|
## Development
|
|
142
224
|
|
|
143
225
|
### Prerequisites
|
|
144
226
|
|
|
145
|
-
macOS (using Homebrew):
|
|
146
|
-
|
|
147
227
|
```bash
|
|
228
|
+
# macOS
|
|
148
229
|
brew bundle
|
|
149
|
-
```
|
|
150
230
|
|
|
151
|
-
This installs Python 3.13, Ruff,
|
|
231
|
+
# This installs Python 3.13, Ruff, Vulture for tests
|
|
232
|
+
```
|
|
152
233
|
|
|
153
|
-
###
|
|
234
|
+
### Commands
|
|
154
235
|
|
|
155
236
|
```bash
|
|
156
|
-
# Install dependencies
|
|
157
|
-
npm
|
|
158
|
-
|
|
159
|
-
#
|
|
160
|
-
npm run
|
|
161
|
-
|
|
162
|
-
# Run tests
|
|
163
|
-
npm test
|
|
164
|
-
|
|
165
|
-
# Type check
|
|
166
|
-
npm run typecheck
|
|
167
|
-
|
|
168
|
-
# Lint
|
|
169
|
-
npm run lint
|
|
237
|
+
npm install # Install dependencies
|
|
238
|
+
npm run build # Compile TypeScript
|
|
239
|
+
npm test # Run tests
|
|
240
|
+
npm run typecheck # Type check
|
|
241
|
+
npm run lint # Lint
|
|
170
242
|
```
|
|
171
243
|
|
|
172
244
|
## License
|
package/dist/cli.js
CHANGED
|
@@ -4,8 +4,10 @@ import * as path from "node:path";
|
|
|
4
4
|
import { fileURLToPath } from "node:url";
|
|
5
5
|
import chalk from "chalk";
|
|
6
6
|
import { Command, Option } from "commander";
|
|
7
|
+
import { zodToJsonSchema } from "zod-to-json-schema";
|
|
7
8
|
import { auditCodeConfig, runCodeChecks } from "./code/index.js";
|
|
8
9
|
import { ConfigError, getProjectRoot, loadConfig, loadConfigAsync } from "./config/index.js";
|
|
10
|
+
import { configSchema } from "./config/schema.js";
|
|
9
11
|
import { formatOutput } from "./output/index.js";
|
|
10
12
|
import { ExitCode } from "./types/index.js";
|
|
11
13
|
// Read version from package.json to avoid hardcoding
|
|
@@ -158,6 +160,22 @@ validateCommand
|
|
|
158
160
|
});
|
|
159
161
|
program.addCommand(validateCommand);
|
|
160
162
|
// =============================================================================
|
|
163
|
+
// Schema subcommand
|
|
164
|
+
// =============================================================================
|
|
165
|
+
const schemaCommand = new Command("schema").description("Output JSON schemas for configuration files");
|
|
166
|
+
// cm schema config - output check.toml JSON schema
|
|
167
|
+
schemaCommand
|
|
168
|
+
.command("config")
|
|
169
|
+
.description("Output JSON schema for check.toml configuration")
|
|
170
|
+
.action(() => {
|
|
171
|
+
const jsonSchema = zodToJsonSchema(configSchema, {
|
|
172
|
+
name: "CheckTomlConfig",
|
|
173
|
+
$refStrategy: "none",
|
|
174
|
+
});
|
|
175
|
+
process.stdout.write(`${JSON.stringify(jsonSchema, null, 2)}\n`);
|
|
176
|
+
});
|
|
177
|
+
program.addCommand(schemaCommand);
|
|
178
|
+
// =============================================================================
|
|
161
179
|
// Code subcommand
|
|
162
180
|
// =============================================================================
|
|
163
181
|
const codeCommand = new Command("code").description("Code quality checks");
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,9 +21,9 @@ export declare abstract class BaseToolRunner implements IToolRunner {
|
|
|
21
21
|
*/
|
|
22
22
|
protected isNotInstalledError(error: unknown): boolean;
|
|
23
23
|
/**
|
|
24
|
-
* Create a
|
|
24
|
+
* Create a fail result for when config is missing
|
|
25
25
|
*/
|
|
26
|
-
protected
|
|
26
|
+
protected failNoConfig(duration: number): CheckResult;
|
|
27
27
|
/**
|
|
28
28
|
* Create a skip result for when tool is not installed
|
|
29
29
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/code/tools/base.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,WAAW,EACX,KAAK,WAAW,EAChB,KAAK,SAAS,EACf,MAAM,sBAAsB,CAAC;AAE9B;;;GAGG;AACH,8BAAsB,cAAe,YAAW,WAAW;IACzD,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;IAExC;;OAEG;IACH,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAMjD;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IASxD;;OAEG;IACH,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAMtD;;OAEG;IACH,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW;
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/code/tools/base.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,WAAW,EACX,KAAK,WAAW,EAChB,KAAK,SAAS,EACf,MAAM,sBAAsB,CAAC;AAE9B;;;GAGG;AACH,8BAAsB,cAAe,YAAW,WAAW;IACzD,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;IAExC;;OAEG;IACH,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAMjD;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IASxD;;OAEG;IACH,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAMtD;;OAEG;IACH,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW;IAiBrD;;OAEG;IACH,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW;IASzD;;OAEG;IACH,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW;IAI7C;;OAEG;IACH,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW;IAItE;;OAEG;IACH,SAAS,CAAC,cAAc,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW;IAIhF;;OAEG;IACH,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAEvD;;OAEG;IACG,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;CAqBvD"}
|
package/dist/code/tools/base.js
CHANGED
|
@@ -33,11 +33,18 @@ export class BaseToolRunner {
|
|
|
33
33
|
return message.includes("enoent") || message.includes("not found");
|
|
34
34
|
}
|
|
35
35
|
/**
|
|
36
|
-
* Create a
|
|
36
|
+
* Create a fail result for when config is missing
|
|
37
37
|
*/
|
|
38
|
-
|
|
38
|
+
failNoConfig(duration) {
|
|
39
39
|
const expected = this.configFiles.join(" or ");
|
|
40
|
-
return CheckResult.
|
|
40
|
+
return CheckResult.fail(this.name, this.rule, [
|
|
41
|
+
{
|
|
42
|
+
rule: `${this.rule}.${this.toolId}`,
|
|
43
|
+
tool: this.toolId,
|
|
44
|
+
message: `Config not found. Expected one of: ${expected}`,
|
|
45
|
+
severity: "error",
|
|
46
|
+
},
|
|
47
|
+
], duration);
|
|
41
48
|
}
|
|
42
49
|
/**
|
|
43
50
|
* Create a skip result for when tool is not installed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/code/tools/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EACL,WAAW,GAGZ,MAAM,sBAAsB,CAAC;AAE9B;;;GAGG;AACH,MAAM,OAAgB,cAAc;IAMlC;;OAEG;IACO,SAAS,CAAC,WAAmB;QACrC,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CACtC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAC9C,CAAC;IACJ,CAAC;IAED;;OAEG;IACO,UAAU,CAAC,WAAmB;QACtC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACtC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;gBAClD,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACO,mBAAmB,CAAC,KAAc;QAC1C,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAC5C,OAAO,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACrE,CAAC;IAED;;OAEG;IACO,YAAY,CAAC,QAAgB;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/C,OAAO,WAAW,CAAC,IAAI,CACrB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,EACT,GAAG,QAAQ,
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/code/tools/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@ export class ESLintRunner extends BaseToolRunner {
|
|
|
20
20
|
async run(projectRoot) {
|
|
21
21
|
const startTime = Date.now();
|
|
22
22
|
if (!this.hasConfig(projectRoot)) {
|
|
23
|
-
return this.
|
|
23
|
+
return this.failNoConfig(Date.now() - startTime);
|
|
24
24
|
}
|
|
25
25
|
try {
|
|
26
26
|
const result = await execa("npx", ["eslint", ".", "--format", "json"], {
|
|
@@ -12,7 +12,7 @@ export class NpmAuditRunner extends BaseToolRunner {
|
|
|
12
12
|
const startTime = Date.now();
|
|
13
13
|
const elapsed = () => Date.now() - startTime;
|
|
14
14
|
if (!this.hasConfig(projectRoot)) {
|
|
15
|
-
return this.
|
|
15
|
+
return this.failNoConfig(elapsed());
|
|
16
16
|
}
|
|
17
17
|
try {
|
|
18
18
|
const result = await execa("npm", ["audit", "--json"], {
|
|
@@ -14,7 +14,7 @@ export class PipAuditRunner extends BaseToolRunner {
|
|
|
14
14
|
const elapsed = () => Date.now() - startTime;
|
|
15
15
|
this.projectRoot = projectRoot;
|
|
16
16
|
if (!this.hasConfig(projectRoot)) {
|
|
17
|
-
return this.
|
|
17
|
+
return this.failNoConfig(elapsed());
|
|
18
18
|
}
|
|
19
19
|
try {
|
|
20
20
|
const result = await this.runPipAudit(projectRoot);
|
package/dist/code/tools/tsc.js
CHANGED
|
@@ -71,7 +71,7 @@ export class TscRunner extends BaseToolRunner {
|
|
|
71
71
|
const startTime = Date.now();
|
|
72
72
|
const elapsed = () => Date.now() - startTime;
|
|
73
73
|
if (!this.hasConfig(projectRoot)) {
|
|
74
|
-
return this.
|
|
74
|
+
return this.failNoConfig(elapsed());
|
|
75
75
|
}
|
|
76
76
|
try {
|
|
77
77
|
const result = await this.runTsc(projectRoot);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "check-my-toolkit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.0",
|
|
4
4
|
"description": "Unified project health checks - code, process, and stack",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -65,7 +65,8 @@
|
|
|
65
65
|
"commander": "^13.0.0",
|
|
66
66
|
"execa": "^9.6.1",
|
|
67
67
|
"glob": "^13.0.0",
|
|
68
|
-
"zod": "^3.24.1"
|
|
68
|
+
"zod": "^3.24.1",
|
|
69
|
+
"zod-to-json-schema": "^3.25.1"
|
|
69
70
|
},
|
|
70
71
|
"lint-staged": {
|
|
71
72
|
"*.ts": [
|