oh-my-customcode 0.133.0 → 0.135.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/dist/cli/index.js CHANGED
@@ -1019,7 +1019,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
1019
1019
  this._exitCallback = (err) => {
1020
1020
  if (err.code !== "commander.executeSubCommandAsync") {
1021
1021
  throw err;
1022
- } else {}
1022
+ }
1023
1023
  };
1024
1024
  }
1025
1025
  return this;
@@ -2334,7 +2334,7 @@ var init_package = __esm(() => {
2334
2334
  workspaces: [
2335
2335
  "packages/*"
2336
2336
  ],
2337
- version: "0.133.0",
2337
+ version: "0.135.0",
2338
2338
  description: "Batteries-included agent harness for Claude Code",
2339
2339
  type: "module",
2340
2340
  bin: {
@@ -19252,7 +19252,7 @@ var require_dbcs_codec = __commonJS((exports) => {
19252
19252
  if (resCode !== undefined) {
19253
19253
  dbcsCode = resCode;
19254
19254
  nextChar = uCode;
19255
- } else {}
19255
+ }
19256
19256
  }
19257
19257
  seqObj = undefined;
19258
19258
  } else if (uCode >= 0) {
@@ -19317,7 +19317,7 @@ var require_dbcs_codec = __commonJS((exports) => {
19317
19317
  newBuf[j2++] = dbcsCode >> 8;
19318
19318
  newBuf[j2++] = dbcsCode & 255;
19319
19319
  }
19320
- } else {}
19320
+ }
19321
19321
  this.seqObj = undefined;
19322
19322
  }
19323
19323
  if (this.leadSurrogate !== -1) {
package/dist/index.js CHANGED
@@ -2014,7 +2014,7 @@ var package_default = {
2014
2014
  workspaces: [
2015
2015
  "packages/*"
2016
2016
  ],
2017
- version: "0.133.0",
2017
+ version: "0.135.0",
2018
2018
  description: "Batteries-included agent harness for Claude Code",
2019
2019
  type: "module",
2020
2020
  bin: {
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "workspaces": [
4
4
  "packages/*"
5
5
  ],
6
- "version": "0.133.0",
6
+ "version": "0.135.0",
7
7
  "description": "Batteries-included agent harness for Claude Code",
8
8
  "type": "module",
9
9
  "bin": {
@@ -361,7 +361,8 @@
361
361
  "hooks": [
362
362
  {
363
363
  "type": "command",
364
- "command": "#!/bin/bash\ninput=$(cat)\nfile_path=$(echo \"$input\" | jq -r '.tool_input.file_path // \"\"')\n\nif [ -n \"$file_path\" ] && [ -f \"$file_path\" ]; then\n dir=$(dirname \"$file_path\")\n project_root=\"$dir\"\n while [ \"$project_root\" != \"/\" ] && [ ! -f \"$project_root/package.json\" ]; do\n project_root=$(dirname \"$project_root\")\n done\n \n if [ -f \"$project_root/tsconfig.json\" ]; then\n cd \"$project_root\" && npx tsc --noEmit --pretty false 2>&1 | grep \"$file_path\" | head -10 >&2 || true\n fi\nfi\n\necho \"$input\""
364
+ "command": "#!/bin/bash\ninput=$(cat)\nfile_path=$(echo \"$input\" | jq -r '.tool_input.file_path // \"\"')\n\nif [ -n \"$file_path\" ] && [ -f \"$file_path\" ]; then\n dir=$(dirname \"$file_path\")\n project_root=\"$dir\"\n while [ \"$project_root\" != \"/\" ] && [ ! -f \"$project_root/package.json\" ]; do\n project_root=$(dirname \"$project_root\")\n done\n \n if [ -f \"$project_root/tsconfig.json\" ]; then\n cd \"$project_root\" && npx tsc --noEmit --pretty false 2>&1 | grep \"$file_path\" | head -10 >&2 || true\n fi\nfi\n\necho \"$input\"",
365
+ "continueOnBlock": true
365
366
  }
366
367
  ],
367
368
  "description": "TypeScript check after editing .ts/.tsx files"
@@ -371,7 +372,8 @@
371
372
  "hooks": [
372
373
  {
373
374
  "type": "command",
374
- "command": "#!/bin/bash\ninput=$(cat)\nfile_path=$(echo \"$input\" | jq -r '.tool_input.file_path // \"\"')\n\nif [ -n \"$file_path\" ] && [ -f \"$file_path\" ]; then\n console_logs=$(grep -n \"console\\\\.log\" \"$file_path\" 2>/dev/null || true)\n \n if [ -n \"$console_logs\" ]; then\n echo \"[Hook] WARNING: console.log found in $file_path\" >&2\n echo \"$console_logs\" | head -5 >&2\n echo \"[Hook] Remove console.log before committing\" >&2\n fi\nfi\n\necho \"$input\""
375
+ "command": "#!/bin/bash\ninput=$(cat)\nfile_path=$(echo \"$input\" | jq -r '.tool_input.file_path // \"\"')\n\nif [ -n \"$file_path\" ] && [ -f \"$file_path\" ]; then\n console_logs=$(grep -n \"console\\\\.log\" \"$file_path\" 2>/dev/null || true)\n \n if [ -n \"$console_logs\" ]; then\n echo \"[Hook] WARNING: console.log found in $file_path\" >&2\n echo \"$console_logs\" | head -5 >&2\n echo \"[Hook] Remove console.log before committing\" >&2\n fi\nfi\n\necho \"$input\"",
376
+ "continueOnBlock": true
375
377
  }
376
378
  ],
377
379
  "description": "Warn about console.log statements after edits"
@@ -391,7 +393,8 @@
391
393
  "hooks": [
392
394
  {
393
395
  "type": "command",
394
- "command": "#!/bin/bash\ninput=$(cat)\nfile_path=$(echo \"$input\" | jq -r '.tool_input.file_path // \"\"')\n\nif [ -n \"$file_path\" ] && [ -f \"$file_path\" ]; then\n # Format with ruff\n if command -v ruff >/dev/null 2>&1; then\n ruff format --quiet \"$file_path\" 2>&1 >&2\n ruff check --fix --quiet \"$file_path\" 2>&1 >&2 || true\n echo \"[Hook] Python formatted with ruff\" >&2\n fi\nfi\n\necho \"$input\""
396
+ "command": "#!/bin/bash\ninput=$(cat)\nfile_path=$(echo \"$input\" | jq -r '.tool_input.file_path // \"\"')\n\nif [ -n \"$file_path\" ] && [ -f \"$file_path\" ]; then\n # Format with ruff\n if command -v ruff >/dev/null 2>&1; then\n ruff format --quiet \"$file_path\" 2>&1 >&2\n ruff check --fix --quiet \"$file_path\" 2>&1 >&2 || true\n echo \"[Hook] Python formatted with ruff\" >&2\n fi\nfi\n\necho \"$input\"",
397
+ "continueOnBlock": true
395
398
  }
396
399
  ],
397
400
  "description": "Auto-format and lint Python files with ruff after edits"
@@ -401,7 +404,8 @@
401
404
  "hooks": [
402
405
  {
403
406
  "type": "command",
404
- "command": "#!/bin/bash\ninput=$(cat)\nfile_path=$(echo \"$input\" | jq -r '.tool_input.file_path // \"\"')\n\nif [ -n \"$file_path\" ] && [ -f \"$file_path\" ]; then\n # Type check with ty\n if command -v ty >/dev/null 2>&1; then\n dir=$(dirname \"$file_path\")\n project_root=\"$dir\"\n while [ \"$project_root\" != \"/\" ] && [ ! -f \"$project_root/pyproject.toml\" ]; do\n project_root=$(dirname \"$project_root\")\n done\n \n if [ -f \"$project_root/pyproject.toml\" ]; then\n cd \"$project_root\" && ty check \"$file_path\" 2>&1 | head -10 >&2 || true\n else\n ty check \"$file_path\" 2>&1 | head -10 >&2 || true\n fi\n fi\nfi\n\necho \"$input\""
407
+ "command": "#!/bin/bash\ninput=$(cat)\nfile_path=$(echo \"$input\" | jq -r '.tool_input.file_path // \"\"')\n\nif [ -n \"$file_path\" ] && [ -f \"$file_path\" ]; then\n # Type check with ty\n if command -v ty >/dev/null 2>&1; then\n dir=$(dirname \"$file_path\")\n project_root=\"$dir\"\n while [ \"$project_root\" != \"/\" ] && [ ! -f \"$project_root/pyproject.toml\" ]; do\n project_root=$(dirname \"$project_root\")\n done\n \n if [ -f \"$project_root/pyproject.toml\" ]; then\n cd \"$project_root\" && ty check \"$file_path\" 2>&1 | head -10 >&2 || true\n else\n ty check \"$file_path\" 2>&1 | head -10 >&2 || true\n fi\n fi\nfi\n\necho \"$input\"",
408
+ "continueOnBlock": true
405
409
  }
406
410
  ],
407
411
  "description": "Type check Python files with ty after edits"
@@ -474,7 +478,8 @@
474
478
  "hooks": [
475
479
  {
476
480
  "type": "command",
477
- "command": "bash .claude/hooks/skill-count-reminder.sh"
481
+ "command": "bash .claude/hooks/skill-count-reminder.sh",
482
+ "continueOnBlock": true
478
483
  }
479
484
  ],
480
485
  "description": "Advisory reminder to sync skill counts in 6 locations when a SKILL.md is created/modified (R021)"
@@ -1,7 +1,7 @@
1
1
  # Claude Code Version Compatibility
2
2
 
3
- > Updated: 2026-05-12
4
- > Source: Claude Code release notes (#967, #968, #969, #1126 auto-detected by claude-native skill)
3
+ > Updated: 2026-05-14
4
+ > Source: Claude Code release notes (#967, #968, #969, #1126 auto-detected by claude-native skill, #1137)
5
5
 
6
6
  ## Compatibility Baseline
7
7
 
@@ -101,6 +101,113 @@ transcript view에서 다음 단축키를 사용할 수 있습니다:
101
101
 
102
102
  **Action items**: None — 모두 additive. `/context all`로 fork skill 비용 정기 점검 권장.
103
103
 
104
+ ## v2.1.140 (2026-05-12) — 호환성 점검
105
+
106
+ > Issue: #1134 — cc-release-monitor auto-create
107
+
108
+ ### Agent tool 개선
109
+
110
+ - **`subagent_type` 매칭 완화**: case-insensitive + separator-insensitive — `"Code Reviewer"`가 `code-reviewer`로 정상 해석. oh-my-customcode는 이미 strict kebab-case 사용 → 영향 없음 (단, 외부 스킬이 비표준 표기로 호출해도 동작하게 됨).
111
+
112
+ ### Slash command 안정성
113
+
114
+ - **`/goal` hanging fix**: `disableAllHooks` 또는 `allowManagedHooksOnly` 설정 환경에서 무한 대기 → 명확한 메시지 출력으로 변경. oh-my-customcode의 `omcustom:goal` 스킬은 네이티브 `/goal`과 별개 namespace이므로 직접 영향 없음.
115
+
116
+ ### Settings / Background service / Plugins
117
+
118
+ - Settings 심볼릭 링크 hot-reload fix — `ConfigChange` hook 오발화 차단
119
+ - `claude --bg` idle-exit 직전 connection drop fix
120
+ - Background service 엔드포인트 보안 환경 startup timing 완화
121
+ - Remote managed settings 401 → 토큰 force-refresh 후 1회 재시도
122
+ - Managed `extraKnownMarketplaces` 자동 업데이트가 `known_marketplaces.json`에 영속화 — **관리형 환경에서 marketplace 자동 등록 정책 검토 필요**
123
+ - `/loop` 중복 wakeup 제거 — 백그라운드 작업 완료 자동 알림 활용 시 효율 개선 (자동 적용)
124
+ - Windows event-loop stall fix (`where.exe` 재호출 폭주) — macOS dev에는 영향 없음
125
+ - `Read` tool offset이 공백/`+` 접두 문자열일 때 검증 통과 — 호출 안전성 개선
126
+ - 네이티브 터미널 cursor focus 동작 개선 (UX)
127
+ - **Plugins default component folder 무시 경고**: `plugin.json`이 동일 키를 명시할 때 default 폴더(`commands/` 등)가 무시되면 `/doctor`, `claude plugin list`, `/plugin`에서 경고. **oh-my-customcode plugin 패키지가 영향 가능 — `templates/marketplace.json` + plugin.json 구조 audit 권고**.
128
+
129
+ ### oh-my-customcode 연관 평가
130
+
131
+ | 변경 | 영향 | Action |
132
+ |------|------|--------|
133
+ | `subagent_type` 매칭 완화 | 영향 없음 (strict kebab-case 유지) | None |
134
+ | `/goal` hanging fix | omcustom:goal namespace 별개 | None |
135
+ | Settings/BG/Read tool fixes | 사용자 환경 안정성 향상 | None (수동적 효익) |
136
+ | `/loop` 효율 개선 | `loop` 스킬 사용 시 자동 적용 | None |
137
+ | Managed `extraKnownMarketplaces` 영속화 | 관리형 정책 환경 영향 가능 | P3 audit |
138
+ | Plugins default component folder 경고 | `plugin.json` 구조 audit 필요 | P3 audit |
139
+
140
+ **Action items**: P3 audit 2건 (관리형 marketplace 정책 + plugin.json default folder 검증). 모두 후속 release 별도 처리.
141
+
142
+ ## v2.1.141 (2026-05-13) — 호환성 점검
143
+
144
+ > Issue: #1137 — CC v2.1.141 compatibility documentation
145
+
146
+ ### 훅 시스템: `terminalSequence` 필드
147
+
148
+ 훅 JSON 출력에 `terminalSequence` 필드가 추가되었습니다. 훅이 터미널을 제어하지 않고도 데스크탑 알림, 창 제목 변경, 터미널 벨을 발생시킬 수 있습니다.
149
+
150
+ ```json
151
+ {
152
+ "terminalSequence": "\x1b]0;[oh-my-customcode] 작업 완료\x07"
153
+ }
154
+ ```
155
+
156
+ **oh-my-customcode 연관**: R012 HUD 이벤트 채널(stderr hooks)의 보완 수단. `terminalSequence`를 통해 창 제목(window title)을 태스크 상태로 업데이트하거나 긴 병렬 작업 완료 시 벨 신호를 보내는 활용이 가능합니다. **훅 수정은 별도 보안 승인이 필요** — `.claude/hooks/` 변경 시 사용자 명시 승인 필요 (R001).
157
+
158
+ ### 플러그인 설치: `CLAUDE_CODE_PLUGIN_PREFER_HTTPS`
159
+
160
+ GitHub 플러그인 소스를 SSH 대신 HTTPS로 클론하는 환경 변수가 추가되었습니다.
161
+
162
+ ```bash
163
+ export CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1
164
+ claude plugin install superpowers
165
+ ```
166
+
167
+ **oh-my-customcode 연관**: GitHub SSH 키가 없는 CI 환경이나 기업 방화벽 환경에서 플러그인 설치 시 활용. 기존 설치 명령어에는 변경 불필요 (HTTPS는 opt-in).
168
+
169
+ ### 워크로드 아이덴티티: `ANTHROPIC_WORKSPACE_ID`
170
+
171
+ Federation 규칙이 둘 이상의 workspace를 커버하는 경우, 발급 토큰을 특정 workspace로 스코핑하는 환경 변수입니다.
172
+
173
+ **oh-my-customcode 연관**: 멀티 workspace 엔터프라이즈 환경에서 workspace 격리 강화. 현재 단일 workspace 사용자에게는 영향 없음.
174
+
175
+ ### `claude agents --cwd <path>` — 디렉토리 스코프 세션 목록
176
+
177
+ ```bash
178
+ claude agents --cwd /workspace/repos/oh-my-customcode
179
+ ```
180
+
181
+ **oh-my-customcode 연관**: R009 병렬 에이전트 모니터링 시 노이즈 감소. 모노레포/멀티 프로젝트 환경에서 현재 프로젝트 에이전트만 추적 가능.
182
+
183
+ ### `/bg` 백그라운드 에이전트 권한 모드 유지
184
+
185
+ `/bg` 또는 `←←`로 실행된 백그라운드 에이전트가 기본값으로 되돌아가지 않고 현재 세션의 권한 모드를 유지합니다.
186
+
187
+ **oh-my-customcode 연관**: R010 `bypassPermissions` 맥락의 중요 개선. **v2.1.141+에서는 `/bg` 플로우에서 권한 모드 드롭이 발생하지 않음** — Agent tool 호출 시 `mode: "bypassPermissions"` 명시는 여전히 필요.
188
+
189
+ ### 기타 변경
190
+
191
+ - `/feedback` — 최근 24h/7d 세션 포함 지원 (멀티 세션 이슈 제보 개선)
192
+ - Rewind "Summarize up to here" — 최근 턴 보존하며 이전 컨텍스트 압축 (R013 ecomode 보완)
193
+ - Auto mode 권한 다이얼로그 — `permissions.ask` 규칙 트리거 시 이유 표시 (R002 디버깅 개선)
194
+ - "view diff in your IDE" — IDE 연결 시 파일 편집 권한 프롬프트에서 복원
195
+ - `claude agents` Completed 상태 수정 — 백그라운드 셸 잔류 에이전트 올바른 상태 표시 (R009 가시성 개선)
196
+ - thinking 스피너 개선 — opus/opusplan 사용 에이전트에서 체감
197
+
198
+ ### oh-my-customcode 연관 평가
199
+
200
+ | 변경 | 영향 | Action |
201
+ |------|------|--------|
202
+ | `terminalSequence` 훅 필드 | R012 HUD 보완 가능 | P3: 창 제목 업데이트 hook 검토 |
203
+ | `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | CI/기업 환경 플러그인 설치 | None (opt-in) |
204
+ | `ANTHROPIC_WORKSPACE_ID` | 멀티 workspace 환경 | None (단일 workspace) |
205
+ | `claude agents --cwd` | 프로젝트별 세션 필터링 | P3: cli-flags 가이드 업데이트 |
206
+ | `/bg` 권한 모드 유지 | R010 `/bg` 플로우 안전성 향상 | R010 규칙 노트 추가 (완료) |
207
+ | 기타 additive 변경 | 사용자 환경 안정성 향상 | None |
208
+
209
+ **Action items**: P3 2건 (`terminalSequence` hook 검토, cli-flags `--cwd` 추가). R010 규칙 `/bg` 노트 추가 (이번 release 처리).
210
+
104
211
  ---
105
212
 
106
213
  ## Action Items Summary
@@ -111,6 +218,8 @@ transcript view에서 다음 단축키를 사용할 수 있습니다:
111
218
  | v2.1.118 | Evaluate hooks `type: mcp_tool` for R022/R011 | P3 follow-up |
112
219
  | v2.1.119 | Audit `--print` CI with disallowedTools agents | P3 follow-up |
113
220
  | v2.1.139 | None (additive). `/context all` fork skill 비용 모니터링 권장 | P3 follow-up |
221
+ | v2.1.140 | P3 audit: managed `extraKnownMarketplaces` 영속화 + plugin.json default folder 무시 경고 | P3 follow-up |
222
+ | v2.1.141 | P3: `terminalSequence` hook 검토 + cli-flags `--cwd` 추가. R010 `/bg` 권한 모드 유지 노트 추가 (완료) | P3 follow-up |
114
223
 
115
224
  ## References
116
225
 
@@ -118,7 +227,10 @@ transcript view에서 다음 단축키를 사용할 수 있습니다:
118
227
  - #968 — Claude Code v2.1.118 release note
119
228
  - #969 — Claude Code v2.1.119 release note
120
229
  - #1126 — Claude Code v2.1.139 신규 명령 문서화
230
+ - #1134 — Claude Code v2.1.140 release note
231
+ - #1137 — Claude Code v2.1.141 compatibility documentation
121
232
  - `.claude/skills/claude-native/` — auto-generation source
122
233
  - `.claude/rules/SHOULD-hud-statusline.md` — R012 statusline integration
123
234
  - `.claude/rules/MUST-agent-design.md` — R006 agent frontmatter spec
235
+ - `.claude/rules/MUST-orchestrator-coordination.md` — R010 bypassPermissions + /bg flow
124
236
  - `guides/claude-code/14-token-efficiency.md` — token efficiency guide (관련: plugin details 활용)
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": "0.133.0",
3
- "lastUpdated": "2026-04-24T07:30:00.000Z",
2
+ "version": "0.135.0",
3
+ "lastUpdated": "2026-05-14T00:00:00.000Z",
4
4
  "omcustomMinClaudeCode": "2.1.121",
5
5
  "omcustomMinClaudeCodeReason": "Sensitive-path direct Write/Edit on .claude/** under bypassPermissions (R010 deprecation, #1101)",
6
6
  "components": [