claude-smith 3.0.0 → 3.2.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.ko.md +45 -3
- package/README.md +45 -3
- package/bin/cli.mjs +331 -39
- package/hooks/batch-checkpoint.mjs +9 -22
- package/hooks/build-guard.mjs +7 -12
- package/hooks/build-tracker.mjs +9 -13
- package/hooks/commit-guard.mjs +20 -16
- package/hooks/commit-message.mjs +17 -17
- package/hooks/debug-loop.mjs +11 -22
- package/hooks/file-size-warn.mjs +7 -12
- package/hooks/plan-guard.mjs +14 -24
- package/hooks/scope-guard.mjs +9 -23
- package/hooks/subagent-inject.mjs +6 -12
- package/hooks/tdd-guard.mjs +8 -13
- package/hooks/test-tracker.mjs +10 -13
- package/lib/config.mjs +4 -1
- package/lib/event-log.mjs +96 -0
- package/lib/hook-utils.mjs +69 -0
- package/lib/stats.mjs +32 -5
- package/package.json +1 -1
- package/templates/commands/smith-dashboard.md +10 -0
- package/templates/commands/smith-update.md +1 -1
- package/templates/rules.en.md +3 -3
- package/templates/rules.ja.md +3 -3
- package/templates/rules.ko.md +3 -3
- package/templates/rules.md +3 -3
- package/templates/rules.zh.md +3 -3
package/README.ko.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
[English](README.md) | **한국어**
|
|
2
2
|
|
|
3
|
-
#
|
|
3
|
+
# 🕵️ claude-smith
|
|
4
4
|
|
|
5
|
-
>
|
|
5
|
+
> **코드의 조용한 수호자** — AI 코딩 세션의 물리적 규율 강제
|
|
6
6
|
|
|
7
7
|
## 문제
|
|
8
8
|
|
|
@@ -39,6 +39,24 @@ npx claude-smith init
|
|
|
39
39
|
|
|
40
40
|
언어를 선택하면(en/ko/zh/ja) 끝. 12개 Hook 설치, 규칙 주입, 강제 활성화.
|
|
41
41
|
|
|
42
|
+
## 실시간 알림
|
|
43
|
+
|
|
44
|
+
Claude Code 세션 중 Hook 활동을 실시간으로 확인하세요:
|
|
45
|
+
|
|
46
|
+
```json
|
|
47
|
+
{ "notify": true }
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
활성화하면 터미널에서 간략한 상태 메시지를 볼 수 있습니다:
|
|
51
|
+
```
|
|
52
|
+
🕵️ Smith — ⚠️ TDD Guard: LoginForm.tsx 테스트 파일 없음
|
|
53
|
+
🕵️ Smith — ✅ Commit Guard: 커밋 허용
|
|
54
|
+
🕵️ Smith — 🚫 Debug Loop: app.tsx 5회 편집 차단
|
|
55
|
+
🕵️ Smith — 🤖 Subagent Inject: 규칙 주입됨
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
`"notify": false` (기본값)로 설정하면 비활성화됩니다.
|
|
59
|
+
|
|
42
60
|
## 12개 Hook
|
|
43
61
|
|
|
44
62
|
### 차단하는 Hook (exit code 2 — 진행 자체를 막음)
|
|
@@ -148,6 +166,7 @@ claude-smith uninstall # 모든 구성 요소 제거
|
|
|
148
166
|
```json
|
|
149
167
|
{
|
|
150
168
|
"language": "ko",
|
|
169
|
+
"notify": false,
|
|
151
170
|
"hooks": {
|
|
152
171
|
"commit-guard": { "maxTestAge": 300 },
|
|
153
172
|
"debug-loop": { "warnAt": 3, "blockAt": 5 },
|
|
@@ -187,13 +206,36 @@ claude-smith uninstall # 모든 구성 요소 제거
|
|
|
187
206
|
- **안전한 권한**: 디렉터리 `0o700`, 파일 `0o600`
|
|
188
207
|
- **경쟁 조건 방지**: Hook별 원자적 카운터 (공유 JSON 미사용)
|
|
189
208
|
- **제로 의존성**: Node.js 기본 모듈만 사용
|
|
190
|
-
-
|
|
209
|
+
- **포괄적 테스트 스위트**: 보안 엣지 케이스, 에러 처리, 크로스 플랫폼 시나리오
|
|
191
210
|
|
|
192
211
|
## 요구 사항
|
|
193
212
|
|
|
194
213
|
- Node.js >= 18
|
|
195
214
|
- Hook을 지원하는 Claude Code (`.claude/settings.json`)
|
|
196
215
|
|
|
216
|
+
## 문제 해결
|
|
217
|
+
|
|
218
|
+
### Hook이 작동하지 않음
|
|
219
|
+
1. 설치 검증: `claude-smith check`
|
|
220
|
+
2. `.claude/settings.json`에 Hook 정의가 있는지 확인
|
|
221
|
+
3. Node.js >= 18 확인: `node --version`
|
|
222
|
+
|
|
223
|
+
### 병렬 에이전트에서 오탐 발생
|
|
224
|
+
`.claude-smith.json`에서 OMC 호환 모드 활성화:
|
|
225
|
+
```json
|
|
226
|
+
{ "omcCompat": true }
|
|
227
|
+
```
|
|
228
|
+
debug-loop, batch-checkpoint, scope-guard, plan-guard 임계값이 상향됩니다.
|
|
229
|
+
|
|
230
|
+
### 테스트가 "실행 안 됨"으로 표시됨
|
|
231
|
+
test-tracker Hook은 Bash 도구 호출의 테스트 명령만 감지합니다. 인라인이 아닌 터미널을 통해 테스트를 실행하세요.
|
|
232
|
+
|
|
233
|
+
### Hook 에러
|
|
234
|
+
개별 Hook을 수동으로 실행하여 디버깅:
|
|
235
|
+
```bash
|
|
236
|
+
echo '{"tool_name":"Edit","tool_input":{"file_path":"test.ts"},"session_id":"debug"}' | node .claude/hooks/tdd-guard.mjs
|
|
237
|
+
```
|
|
238
|
+
|
|
197
239
|
## 라이선스
|
|
198
240
|
|
|
199
241
|
MIT
|
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
**English** | [한국어](README.ko.md)
|
|
2
2
|
|
|
3
|
-
#
|
|
3
|
+
# 🕵️ claude-smith
|
|
4
4
|
|
|
5
|
-
> **
|
|
5
|
+
> **Your code's silent guardian** — Physical enforcement for AI coding sessions.
|
|
6
6
|
|
|
7
7
|
## The Problem
|
|
8
8
|
|
|
@@ -39,6 +39,24 @@ npx claude-smith init
|
|
|
39
39
|
|
|
40
40
|
Select your language (en/ko/zh/ja), and you're done. 12 hooks installed, rules injected, enforcement active.
|
|
41
41
|
|
|
42
|
+
## Live Notifications
|
|
43
|
+
|
|
44
|
+
See hook activity in real-time during Claude Code sessions:
|
|
45
|
+
|
|
46
|
+
```json
|
|
47
|
+
{ "notify": true }
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
When enabled, hooks write brief status messages visible in your terminal:
|
|
51
|
+
```
|
|
52
|
+
🕵️ Smith — ⚠️ TDD Guard: LoginForm.tsx test file missing
|
|
53
|
+
🕵️ Smith — ✅ Commit Guard: Commit allowed
|
|
54
|
+
🕵️ Smith — 🚫 Debug Loop: app.tsx 5 edits blocked
|
|
55
|
+
🕵️ Smith — 🤖 Subagent Inject: Rules injected
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Set `"notify": false` (default) to disable.
|
|
59
|
+
|
|
42
60
|
## The 12 Hooks
|
|
43
61
|
|
|
44
62
|
### Hooks That Block (exit code 2 — action physically prevented)
|
|
@@ -148,6 +166,7 @@ Project-level settings in `.claude-smith.json` (all optional):
|
|
|
148
166
|
```json
|
|
149
167
|
{
|
|
150
168
|
"language": "en",
|
|
169
|
+
"notify": false,
|
|
151
170
|
"hooks": {
|
|
152
171
|
"commit-guard": { "maxTestAge": 300 },
|
|
153
172
|
"debug-loop": { "warnAt": 3, "blockAt": 5 },
|
|
@@ -187,13 +206,36 @@ User settings always take priority over `omcCompat` defaults.
|
|
|
187
206
|
- **Secure permissions**: Directories `0o700`, files `0o600`
|
|
188
207
|
- **Race-condition safe**: Per-hook atomic counters (no shared JSON)
|
|
189
208
|
- **Zero dependencies**: Node.js built-in modules only
|
|
190
|
-
- **
|
|
209
|
+
- **Comprehensive test suite**: Security edge cases, error handling, cross-platform scenarios
|
|
191
210
|
|
|
192
211
|
## Requirements
|
|
193
212
|
|
|
194
213
|
- Node.js >= 18
|
|
195
214
|
- Claude Code with hook support (`.claude/settings.json`)
|
|
196
215
|
|
|
216
|
+
## Troubleshooting
|
|
217
|
+
|
|
218
|
+
### Hooks not firing
|
|
219
|
+
1. Verify installation: `claude-smith check`
|
|
220
|
+
2. Check `.claude/settings.json` contains hook definitions
|
|
221
|
+
3. Ensure Node.js >= 18: `node --version`
|
|
222
|
+
|
|
223
|
+
### False positives in parallel agents
|
|
224
|
+
Enable OMC compatibility mode in `.claude-smith.json`:
|
|
225
|
+
```json
|
|
226
|
+
{ "omcCompat": true }
|
|
227
|
+
```
|
|
228
|
+
This raises thresholds for debug-loop, batch-checkpoint, scope-guard, and plan-guard.
|
|
229
|
+
|
|
230
|
+
### Tests show as "not run"
|
|
231
|
+
The test-tracker hook only detects test commands in Bash tool calls. Ensure you run tests via the terminal, not inline.
|
|
232
|
+
|
|
233
|
+
### Hook errors
|
|
234
|
+
Run individual hooks manually to debug:
|
|
235
|
+
```bash
|
|
236
|
+
echo '{"tool_name":"Edit","tool_input":{"file_path":"test.ts"},"session_id":"debug"}' | node .claude/hooks/tdd-guard.mjs
|
|
237
|
+
```
|
|
238
|
+
|
|
197
239
|
## License
|
|
198
240
|
|
|
199
241
|
MIT
|