oh-my-customcode 0.136.2 → 0.138.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
@@ -2334,7 +2334,7 @@ var init_package = __esm(() => {
2334
2334
  workspaces: [
2335
2335
  "packages/*"
2336
2336
  ],
2337
- version: "0.136.2",
2337
+ version: "0.138.0",
2338
2338
  description: "Batteries-included agent harness for Claude Code",
2339
2339
  type: "module",
2340
2340
  bin: {
package/dist/index.js CHANGED
@@ -2014,7 +2014,7 @@ var package_default = {
2014
2014
  workspaces: [
2015
2015
  "packages/*"
2016
2016
  ],
2017
- version: "0.136.2",
2017
+ version: "0.138.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.136.2",
6
+ "version": "0.138.0",
7
7
  "description": "Batteries-included agent harness for Claude Code",
8
8
  "type": "module",
9
9
  "bin": {
@@ -0,0 +1,52 @@
1
+ # Pipeline Label Standards
2
+
3
+ Canonical reference for GitHub issue label semantics in the auto-dev pipeline.
4
+ Used by `scope-selection` to include/exclude issues and by `implement` for lifecycle management.
5
+
6
+ ## Label Definitions
7
+
8
+ | Label | Meaning | scope-selection 처리 |
9
+ |-------|---------|----------------------|
10
+ | `verify-ready` | Triage 완료, 즉시 verify 가능 (자동화 후보) | INCLUDE (preferred) |
11
+ | `verify-done` | Triage 완료했으나 deferred 또는 이미 처리됨 (이번 사이클 미포함) | EXCLUDE |
12
+ | `in-progress` | 작업 진행 중 (다른 세션에서 claim됨) | EXCLUDE |
13
+ | `needs-review` | 사람 검토 필요 (자동 파이프라인 진입 불가) | EXCLUDE |
14
+ | `decision-needed` | 결정 필요 (보안, 정책 critical) | EXCLUDE |
15
+ | `automated` | Auto-generated issue (claude-native skill 등) | INCLUDE if other criteria met |
16
+ | `claude-code-release` | CC version compat docs trigger | INCLUDE (preferred) |
17
+ | `documentation` | Docs scope | INCLUDE (preferred for docs-only release) |
18
+ | `enhancement-yaml-only` | YAML/config-only scope change | INCLUDE (eligible for docs-only compression) |
19
+
20
+ ## Selection Rule
21
+
22
+ ```
23
+ EXCLUDE if:
24
+ - blocked_by_decision == true
25
+ - labels ∩ {decision-needed, needs-review, verify-done, manual-action, in-progress} ≠ ∅
26
+
27
+ INCLUDE (preferred tier):
28
+ - labels ∩ {verify-ready, claude-code-release, documentation} ≠ ∅
29
+
30
+ INCLUDE (standard tier):
31
+ - P1/P2/P3 issues not in excluded set
32
+
33
+ Tie-break priority: P1 > P2 > P3 > unclassified
34
+ ```
35
+
36
+ ## Compression Eligibility (G6)
37
+
38
+ An issue is eligible for `docs-only` compression mode if its labels include at least one of:
39
+ `documentation`, `automated`, `claude-code-release`, `enhancement-yaml-only`
40
+
41
+ If ALL scoped issues are compression-eligible AND scope size ≤ 3, the pipeline MAY use
42
+ `compression_mode=docs-only` (skip professor-triage / release-plan / deep-plan / deep-verify skill spawns).
43
+
44
+ ## Lifecycle Labels (set by `implement` step)
45
+
46
+ | Transition | Action |
47
+ |-----------|--------|
48
+ | Work started | Add `in-progress`, assign @me |
49
+ | Work succeeded | Remove `in-progress`, add `verify-ready` |
50
+ | Work failed | Remove `in-progress`, add `needs-review` |
51
+ | Released | Remove `verify-ready`, close with "Fixed in v{version}" |
52
+ | Deferred | Add `verify-done`, label "Deferred from v{version}" |
@@ -1,6 +1,6 @@
1
1
  name: auto-dev
2
2
  description: "Automated development pipeline — from issue triage to release"
3
- version: "2.0.0"
3
+ version: "2.1.0"
4
4
 
5
5
  # Design rule: each pipeline run produces ONE bounded release unit (3-7 issues), not all open issues.
6
6
  # This pipeline is a project-agnostic template. Project-specific overrides belong in
@@ -9,6 +9,43 @@ version: "2.0.0"
9
9
  steps:
10
10
  - name: pre-triage
11
11
  prompt: |
12
+ Phase 0 — Sync local with remote.
13
+
14
+ 1. Fetch all remote state:
15
+ git fetch --all --tags --prune
16
+
17
+ 2. Detect behind count vs origin/HEAD branch:
18
+ current_branch=$(git rev-parse --abbrev-ref HEAD)
19
+ behind=$(git rev-list --count HEAD..origin/$current_branch)
20
+
21
+ 3. If behind > 0:
22
+ - Working tree clean (git status --short empty):
23
+ git pull --ff-only
24
+ report: "[pre-triage] synced $behind commits"
25
+ - Working tree dirty:
26
+ HALT with "[pre-triage] $behind commits behind, working tree dirty — manual reconcile required"
27
+ exit 1
28
+
29
+ 4. Report current state:
30
+ - Latest tag: git tag --sort=-v:refname | head -1
31
+ - Local HEAD: git rev-parse --short HEAD
32
+ - Behind state: synced or 0
33
+
34
+ 5. Cross-reference checks (advisory, do NOT halt):
35
+ a. Memory vs git consistency (G7):
36
+ - latest_tag=$(git tag --sort=-v:refname | head -1)
37
+ - Compare with "Last release" or equivalent line in pipeline memory/context
38
+ - If mismatch: stderr warning "[pre-triage] WARNING: memory says vX.Y.Z but git latest tag is vA.B.C — update memory after pipeline completion"
39
+ - Do NOT halt (advisory only — memory updates are session-end responsibility)
40
+
41
+ b. Issue body stale version references (G5):
42
+ - Retrieve open issues: gh issue list --state open --limit 100 --json number,body
43
+ - For each issue body, extract all vX.Y.Z patterns (regex: v\d+\.\d+\.\d+)
44
+ - Retrieve git tag list: git tag --list
45
+ - Flag any issue referencing a version not present in git tags:
46
+ "[pre-triage] WARNING: Issue #N references vX.Y.Z (not in git tags) — body may be stale"
47
+ - Output all warnings as advisory log; do NOT halt
48
+
12
49
  Phase 1 — Ensure required labels exist, then scan issues.
13
50
 
14
51
  1. Create labels if missing (idempotent):
@@ -26,44 +63,95 @@ steps:
26
63
  - order: topological sort over dependencies
27
64
 
28
65
  4. Output: dependency-sorted issue table with blocked_by_decision flag.
29
- description: "Ensure labels exist, scan issues, dependency-analyze"
66
+ description: "Sync remote, stale-version check, memory consistency check, scan issues"
30
67
 
31
68
  - name: scope-selection
32
69
  prompt: |
33
70
  Select a single bounded release scope (3-7 issues) for THIS pipeline run.
34
71
 
35
- Selection rules:
72
+ ## Step 0 — Milestone state pre-check (G3)
73
+
74
+ Before creating a milestone for version vX.Y.Z:
75
+ 1. Query all milestones (open and closed):
76
+ existing=$(gh api 'repos/{owner}/{repo}/milestones?state=all&per_page=100' --jq '.[] | select(.title == "vX.Y.Z") | "\(.number)|\(.state)"')
77
+ 2. Evaluate:
78
+ - If existing && state=closed:
79
+ HALT with "[scope-selection] BLOCKED: milestone vX.Y.Z already exists and is closed. Bump version or reopen milestone manually."
80
+ - If existing && state=open:
81
+ Use existing milestone as-is (do not create new)
82
+ - If not existing:
83
+ Create new milestone: gh api repos/{owner}/{repo}/milestones --method POST --field title="vX.Y.Z"
84
+
85
+ ## Step 1 — Label-based filtering (G4)
86
+
87
+ Reference label semantics: .claude/skills/pipeline/labels.md
88
+
89
+ Apply filter rules:
90
+ - EXCLUDE: blocked_by_decision == true OR labels ∩ {decision-needed, needs-review, verify-done, manual-action, in-progress} ≠ ∅
91
+ - INCLUDE (preferred): labels ∩ {verify-ready, claude-code-release, documentation} ≠ ∅
92
+ - INCLUDE (standard): P1/P2/P3 issues not in excluded set
93
+ - Tie-break: P1 > P2 > P3 > unclassified
94
+
95
+ ## Step 2 — Selection rules
96
+
36
97
  1. Determine release tier:
37
98
  - No tags yet → v0.1.0
38
99
  - Otherwise: highest-priority open tier (bug → chore → feature)
39
- 2. Exclude:
40
- - blocked_by_decision == true
41
- - Issues requiring manual/human action
100
+ 2. Apply Step 1 filter (label-based exclusion and preference)
42
101
  3. Sort by dependency: prerequisites before dependents
43
102
  4. Cap at 7 issues; if priority issues < 7, stop at that priority (don't mix tiers)
44
103
  5. Minimum 1 issue; if 0 eligible, halt with "no eligible issues for auto-dev run"
45
104
 
46
- Create release milestone and assign scoped issues.
105
+ Assign scoped issues to milestone.
47
106
  Output markdown release manifest:
48
- | order | # | title | prerequisite | effort |
107
+ | order | # | title | prerequisite | effort | labels |
49
108
 
50
109
  Persist manifest as pipeline state for subsequent steps.
51
- description: "Pick 3-7 issues as v{X.Y.Z} scope, create milestone"
110
+ description: "Milestone state pre-check, label filter, pick 3-7 issues as v{X.Y.Z} scope"
52
111
  depends_on: pre-triage
53
112
 
113
+ - name: compression-mode-eval
114
+ prompt: |
115
+ Evaluate whether this pipeline run qualifies for docs-only compression mode (G6).
116
+
117
+ ## Compression Eligibility Check
118
+
119
+ Reference: .claude/skills/pipeline/labels.md — "Compression Eligibility" section
120
+
121
+ Conditions for compression_mode=docs-only:
122
+ 1. scope size ≤ 3 (number of issues in release manifest)
123
+ 2. ALL scoped issues have labels ∩ {documentation, automated, claude-code-release, enhancement-yaml-only} ≠ ∅
124
+
125
+ ## Decision
126
+
127
+ If BOTH conditions met → set compression_mode=docs-only
128
+ - triage step: skip professor-triage skill; perform direct manifest summary instead
129
+ - plan step: skip release-plan skill; single-response plan instead
130
+ - deep-plan step: skip deep-plan skill; single-response implementation notes instead
131
+ - deep-verify step: skip deep-verify skill; perform self-review checklist instead
132
+ - Log: "[compression-mode] docs-only compression activated (scope={n}, all docs/yaml labels)"
133
+
134
+ Otherwise → set compression_mode=standard
135
+ - All pipeline steps execute normally with full skill spawns
136
+ - Log: "[compression-mode] standard mode (scope={n}, mixed labels or large scope)"
137
+
138
+ Output: compression_mode value as pipeline state for downstream steps.
139
+ description: "Evaluate docs-only compression eligibility; set compression_mode state"
140
+ depends_on: scope-selection
141
+
54
142
  - name: triage
55
143
  skill: professor-triage
56
- description: "Cross-analysis triage with priority assessment (scoped to release manifest)"
57
- depends_on: scope-selection
144
+ description: "Cross-analysis triage with priority assessment (scoped to release manifest) — skipped if compression_mode=docs-only"
145
+ depends_on: compression-mode-eval
58
146
 
59
147
  - name: plan
60
148
  skill: release-plan
61
- description: "Release unit plan from triaged issues"
149
+ description: "Release unit plan from triaged issues — skipped if compression_mode=docs-only"
62
150
  depends_on: triage
63
151
 
64
152
  - name: deep-plan
65
153
  skill: deep-plan
66
- description: "Research-validated implementation plan (research → plan → verify)"
154
+ description: "Research-validated implementation plan (research → plan → verify) — skipped if compression_mode=docs-only"
67
155
  depends_on: plan
68
156
 
69
157
  - name: implement
@@ -112,23 +200,36 @@ steps:
112
200
 
113
201
  - name: verify-build
114
202
  prompt: |
115
- Project-specific build and test verification.
116
-
117
- Auto-detect project type and run appropriate checks:
118
- - Node/Bun: package.json install + lint + type-check + test
119
- - Python: py_compile + pytest
120
- - Go: go build + go vet + go test
121
- - Docker: docker build (if Dockerfile exists)
122
- - Static site: file existence + format validation
123
-
124
- Halt on first failure. Report exact command + stderr.
125
- Do NOT proceed to release if any check fails.
126
- description: "Auto-detected build + test verification"
203
+ Project-specific build + test verification.
204
+
205
+ For Node/Bun projects (this repo):
206
+ 1. bun install verify lockfile sync (halt on lockfile drift)
207
+ 2. bun run lint (if package.json has lint script)
208
+ 3. bun run typecheck (if available)
209
+ 4. bun test MANDATORY, no silent skip
210
+ - Baseline reference: #1156 historically documented 86 failures; v0.136.2 fixes resolved them → current baseline = 0
211
+ - Each release: adopt prior version's test result as baseline (dynamic, not hardcoded)
212
+ - Compute current pass/fail counts
213
+ - If current FAIL count > baseline NEW regression detected → halt + report failure list
214
+ - If current FAIL count <= baseline → continue with advisory log "X failures (baseline {n}, delta {d})"
215
+ 5. Build verification (if package has build script)
216
+
217
+ For Python/Go/Docker/static-site projects: auto-detect and run equivalent (py_compile + pytest / go build + go vet + go test / docker build / file validation).
218
+
219
+ Halt conditions:
220
+ - Lint errors (exit != 0)
221
+ - Typecheck errors
222
+ - NEW test failures (regression from baseline)
223
+ - Build failure
224
+ - Lockfile drift
225
+
226
+ Halt → report exact command + stderr + delta details. Do NOT proceed to release on any halt.
227
+ description: "Auto-detected build + test verification (bun test with baseline delta guard)"
127
228
  depends_on: implement
128
229
 
129
230
  - name: deep-verify
130
231
  skill: deep-verify
131
- description: "Multi-angle release quality verification"
232
+ description: "Multi-angle release quality verification — self-review checklist only if compression_mode=docs-only"
132
233
  depends_on: verify-build
133
234
 
134
235
  - name: release
@@ -0,0 +1,195 @@
1
+ # templates/
2
+
3
+ > **oh-my-customcode 배포 디렉토리**
4
+ >
5
+ > `omcustom init` 실행 시 새 프로젝트에 복사되는 파일들의 소스입니다.
6
+
7
+ ---
8
+
9
+ ## 목적 (Purpose)
10
+
11
+ `templates/`는 oh-my-customcode의 **배포 구조(distribution structure)**입니다.
12
+
13
+ 사용자가 새 프로젝트에서 `omcustom init`을 실행하면, 이 디렉토리의 내용이 대상 프로젝트 루트로 복사됩니다. 즉, 이 디렉토리는 oh-my-customcode가 제공하는 에이전트 시스템의 **완성된 스냅샷**입니다.
14
+
15
+ ```
16
+ oh-my-customcode 소스 레포
17
+ └── templates/ ← 배포 소스 (이 디렉토리)
18
+ ├── .claude/
19
+ ├── guides/
20
+ └── CLAUDE.md
21
+
22
+ 사용자 프로젝트 (omcustom init 후)
23
+ └── your-project/
24
+ ├── .claude/ ← templates/.claude/ 에서 복사
25
+ ├── guides/ ← templates/guides/ 에서 복사
26
+ └── CLAUDE.md ← templates/CLAUDE.md 에서 복사
27
+ ```
28
+
29
+ ---
30
+
31
+ ## 메인 README와의 관계
32
+
33
+ | 문서 | 대상 | 설명 |
34
+ |------|------|------|
35
+ | [`/README.md`](../README.md) | oh-my-customcode **자체** | 프로젝트 소개, 철학, 설치 가이드 |
36
+ | `templates/README.md` (이 파일) | **배포 콘텐츠** | 배포되는 파일 구조와 카운트 |
37
+
38
+ 메인 README는 oh-my-customcode라는 도구를 설명합니다. 이 파일은 그 도구가 배포하는 내용물을 설명합니다.
39
+
40
+ ---
41
+
42
+ ## 디렉토리 구조
43
+
44
+ ```
45
+ templates/
46
+ ├── README.md # 이 파일 (배포 콘텐츠 문서)
47
+ ├── CLAUDE.md # 에이전트 시스템 진입점
48
+ ├── manifest.json # 배포 컴포넌트 카운트 및 메타데이터
49
+ ├── .claude/
50
+ │ ├── agents/ # 에이전트 정의 파일 (*.md, 49개)
51
+ │ ├── skills/ # 스킬 모듈 (각 디렉토리에 SKILL.md, 117개)
52
+ │ ├── rules/ # 전역 규칙 (R000–R022, 22개)
53
+ │ ├── hooks/
54
+ │ │ ├── hooks.json # 훅 이벤트 설정 (PreToolUse/PostToolUse 등)
55
+ │ │ └── scripts/ # 훅 셸 스크립트 (34개)
56
+ │ ├── contexts/ # 컨텍스트 설정 파일 (ecomode 등)
57
+ │ └── ontology/ # Ontology-RAG 지식 그래프
58
+ └── guides/ # 레퍼런스 문서 디렉토리 (50개)
59
+ ```
60
+
61
+ ---
62
+
63
+ ## 컴포넌트 (Components)
64
+
65
+ 아래 카운트는 `templates/manifest.json`과 동기화됩니다.
66
+ CI의 `verify-template-sync.sh`가 소스와 templates/ 간 일치를 검증합니다.
67
+
68
+ ### Agents (49)
69
+
70
+ `.claude/agents/*.md` — 에이전트 정의 파일.
71
+
72
+ 각 파일은 단일 전문가 에이전트를 정의합니다. frontmatter에 `name`, `description`, `model`, `tools`가 필수 포함됩니다.
73
+
74
+ | 카테고리 | 수량 |
75
+ |----------|------|
76
+ | SW Engineer / Language | 6 |
77
+ | SW Engineer / Backend | 6 |
78
+ | SW Engineer / Frontend | 5 |
79
+ | SW Engineer / Tooling | 4 |
80
+ | DE Engineer | 6 |
81
+ | SW Engineer / Database | 4 |
82
+ | Security | 1 |
83
+ | SW Architect | 2 |
84
+ | Infra Engineer | 2 |
85
+ | QA Team | 3 |
86
+ | Manager | 6 |
87
+ | System | 4 |
88
+
89
+ ### Skills (117)
90
+
91
+ `.claude/skills/*/SKILL.md` — 재사용 가능한 스킬 모듈.
92
+
93
+ 각 스킬 디렉토리에 `SKILL.md`가 있으며, 필요에 따라 `scripts/` 서브디렉토리를 포함합니다.
94
+
95
+ 스킬 범위(`scope`):
96
+ - `core` — 범용 개발 도구 (init 시 배포됨)
97
+ - `harness` — 에이전트/스킬/룰 유지보수 도구 (init 시 배포됨)
98
+ - `package` — 패키지 특화 도구 (선택 배포)
99
+
100
+ ### Rules (22)
101
+
102
+ `.claude/rules/*.md` — 에이전트 행동 규칙 (R000–R022, R014 없음).
103
+
104
+ 파일명 형식: `{PRIORITY}-{name}.md` (예: `MUST-agent-identification.md`)
105
+
106
+ | 우선순위 | 의미 | 예 |
107
+ |----------|------|-----|
108
+ | `MUST` | 절대 준수 | R007 에이전트 식별, R009 병렬 실행 |
109
+ | `SHOULD` | 강력 권장 | R003 상호작용, R013 Ecomode |
110
+ | `MAY` | 선택 | R005 최적화 |
111
+
112
+ ### Guides (50)
113
+
114
+ `guides/*/` — 레퍼런스 문서 디렉토리.
115
+
116
+ 각 디렉토리는 단일 토픽에 대한 best practices, 튜토리얼, 또는 설계 가이드를 담습니다. 에이전트가 작업 중 참조합니다 (R006 관심사 분리).
117
+
118
+ ### Hooks (34)
119
+
120
+ `.claude/hooks/scripts/*.sh` — 라이프사이클 훅 스크립트.
121
+
122
+ `hooks.json`에 정의된 이벤트(PreToolUse, PostToolUse, Stop 등)에 반응합니다.
123
+
124
+ 주요 훅 스크립트:
125
+
126
+ | 스크립트 | 역할 |
127
+ |----------|------|
128
+ | `secret-filter.sh` | API 키/시크릿 노출 방지 |
129
+ | `stage-blocker.sh` | 스테이지 게이트 강제 |
130
+ | `rule-deletion-guard.sh` | 규칙 파일 삭제 차단 |
131
+ | `stuck-detector.sh` | 에이전트 무한루프 감지 |
132
+ | `context-budget-advisor.sh` | 컨텍스트 예산 경고 |
133
+ | `cost-cap-advisor.sh` | 비용 한도 초과 경고 |
134
+
135
+ ---
136
+
137
+ ## 사용 방법 (Usage)
138
+
139
+ ### omcustom init
140
+
141
+ ```bash
142
+ # 전역 설치
143
+ npm install -g oh-my-customcode
144
+
145
+ # 프로젝트에 oh-my-customcode 초기화
146
+ cd your-project
147
+ omcustom init
148
+ ```
149
+
150
+ `omcustom init`은 이 `templates/` 디렉토리의 내용을 대상 프로젝트에 복사합니다:
151
+ 1. `.claude/` 전체 (agents, skills, rules, hooks, contexts, ontology)
152
+ 2. `guides/` 전체
153
+ 3. `CLAUDE.md` (프로젝트 진입점)
154
+
155
+ ### 선택적 업데이트
156
+
157
+ 이미 초기화된 프로젝트를 최신 버전으로 업데이트할 때:
158
+
159
+ ```bash
160
+ omcustom update
161
+ ```
162
+
163
+ ---
164
+
165
+ ## 동기화 검증
166
+
167
+ 소스(`.claude/`, `guides/`)와 `templates/` 간 동기화는 CI에서 자동 검증됩니다.
168
+
169
+ ```bash
170
+ # 로컬 검증
171
+ bash .github/scripts/verify-template-sync.sh
172
+ ```
173
+
174
+ 검증 항목:
175
+ - 스킬 수 일치 (`.claude/skills/` ↔ `templates/.claude/skills/`)
176
+ - 에이전트 수 일치
177
+ - 룰 수 일치
178
+ - 가이드 수 일치
179
+ - 훅 스크립트 수 일치
180
+ - `manifest.json` 카운트 일치
181
+
182
+ 소스에 새 파일을 추가할 때는 반드시 `templates/`에도 동기화해야 합니다.
183
+ `manifest.json`의 카운트도 함께 업데이트하세요.
184
+
185
+ ---
186
+
187
+ ## 기여 가이드 참조
188
+
189
+ 에이전트, 스킬, 룰 추가/수정 시 3중 동기화가 필요합니다:
190
+
191
+ 1. **원본**: `.claude/agents/`, `.claude/skills/`, `.claude/rules/`, `guides/`
192
+ 2. **templates 복사**: `templates/.claude/agents/`, `templates/.claude/skills/` 등
193
+ 3. **카운트 업데이트**: `templates/manifest.json`, `README.md`, `CLAUDE.md` 등
194
+
195
+ 자세한 내용은 프로젝트 루트의 기여 가이드 및 `guides/` 참조 문서를 확인하세요.
@@ -1,7 +1,7 @@
1
1
  # Claude Code Version Compatibility
2
2
 
3
- > Updated: 2026-05-14
4
- > Source: Claude Code release notes (#967, #968, #969, #1126 auto-detected by claude-native skill, #1137)
3
+ > Updated: 2026-05-15
4
+ > Source: Claude Code release notes (#967, #968, #969, #1126 auto-detected by claude-native skill, #1137, #1158)
5
5
 
6
6
  ## Compatibility Baseline
7
7
 
@@ -139,6 +139,133 @@ transcript view에서 다음 단축키를 사용할 수 있습니다:
139
139
 
140
140
  **Action items**: P3 audit 2건 (관리형 marketplace 정책 + plugin.json default folder 검증). 모두 후속 release 별도 처리.
141
141
 
142
+ ## v2.1.142 (2026-05-14) — 호환성 점검
143
+
144
+ > Issue: #1158 — CC v2.1.142 compatibility documentation
145
+
146
+ ### `claude agents` 신규 플래그 — 백그라운드 세션 설정
147
+
148
+ `claude agents` 명령에 백그라운드 세션을 직접 구성하는 플래그가 추가되었습니다.
149
+
150
+ ```bash
151
+ claude agents --add-dir <path> # 추가 디렉토리 접근 권한
152
+ claude agents --settings <path> # 커스텀 settings 파일 경로
153
+ claude agents --mcp-config <path> # MCP 설정 파일 경로
154
+ claude agents --plugin-dir <path> # 플러그인 디렉토리 경로
155
+ claude agents --permission-mode <mode> # 권한 모드 지정
156
+ claude agents --model <model> # 사용할 모델 지정
157
+ claude agents --effort <level> # effort 레벨 지정
158
+ claude agents --dangerously-skip-permissions # 권한 프롬프트 생략
159
+ ```
160
+
161
+ **oh-my-customcode 연관**: R009 병렬 에이전트, R018 Agent Teams 고급 운영 시 활용 가능. 특히 `--permission-mode`, `--model`, `--effort` 플래그는 R006 에이전트 프론트매터의 값을 CLI 레벨에서 오버라이드하는 경로를 제공합니다. `--dangerously-skip-permissions`는 CI/unattended 환경에서 `bypassPermissions`(R010)와 동등한 효과. **Action required: None** — 기존 harness 운영에 영향 없음.
162
+
163
+ ### Fast Mode 기본 모델 변경: Opus 4.7
164
+
165
+ Fast Mode 활성화 시 기본 모델이 Opus 4.6에서 **Opus 4.7**로 변경되었습니다.
166
+
167
+ ```bash
168
+ # Opus 4.6으로 고정하려면 (이전 동작 유지)
169
+ export CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE=1
170
+ ```
171
+
172
+ **oh-my-customcode 연관**: R006 에이전트 프론트매터에서 `model: opus`를 사용하는 에이전트(arch-documenter, arch-speckit-agent 등)와 Fast Mode 상호작용에 주의. Fast Mode 토글(`/fast`)이 활성화된 세션에서는 Opus 4.7이 자동으로 선택됩니다. R012 statusline의 모델 표기도 4.7로 반영됩니다. 모델 변경에 따른 동작 차이가 있을 경우 위 환경 변수로 고정 가능.
173
+
174
+ ### Plugin root-level SKILL.md 지원
175
+
176
+ 플러그인 루트에 `SKILL.md`가 존재하면 `skills/` 서브디렉토리 없이도 스킬로 노출됩니다.
177
+
178
+ **oh-my-customcode 연관**: oh-my-customcode는 `.claude/skills/<name>/SKILL.md` 패턴을 사용하므로 직접 영향 없음. 외부 플러그인이 루트 `SKILL.md`를 통해 스킬을 노출할 경우, 라우팅 스킬(R019 enrichment)이 이를 자동 감지합니다.
179
+
180
+ ### `/plugin details` — LSP 서버 표시
181
+
182
+ `claude plugin details <name>` 명령의 상세 정보 패널에 플러그인이 제공하는 **LSP 서버** 목록이 추가됩니다.
183
+
184
+ **oh-my-customcode 연관**: 플러그인 인벤토리 가시성 향상. LSP 통합 플러그인(ex: context7) 사용 시 서버 상태 확인에 활용 가능. 직접적인 harness 변경 불필요.
185
+
186
+ ### `/web-setup` — 기존 GitHub App 연결 교체 경고
187
+
188
+ `/web-setup` 실행 시 기존 GitHub App 연결을 대체하기 전에 경고를 표시합니다.
189
+
190
+ **oh-my-customcode 연관**: 영향 없음 (UX 안전장치, mgr-gitnerd GitHub 연동과 무관).
191
+
192
+ ### `MCP_TOOL_TIMEOUT` 수정 — 원격 MCP 서버 타임아웃
193
+
194
+ `MCP_TOOL_TIMEOUT` 환경 변수가 원격 HTTP/SSE MCP 서버의 요청별 fetch 타임아웃을 실제로 높이도록 수정되었습니다 (기존 60초 상한선 해제).
195
+
196
+ ```bash
197
+ export MCP_TOOL_TIMEOUT=120000 # 120초 (밀리초 단위)
198
+ ```
199
+
200
+ **oh-my-customcode 연관**: `claude-mem`, `ontology-rag` 등 원격 MCP 서버를 사용하는 R011/R019 연동에서 타임아웃 문제가 있었다면 이 변수로 해결 가능. 네트워크 지연이 큰 환경에서 MCP 도구 호출 실패율 감소 기대.
201
+
202
+ ### BG 세션 / Git Worktree Edit 차단 수정
203
+
204
+ 백그라운드 세션에서 기존 git worktree 내 파일 편집이 차단되던 문제가 수정되었습니다.
205
+
206
+ **oh-my-customcode 연관**: `mgr-gitnerd`가 worktree를 사용하는 브랜치 병렬 작업 시나리오에서 R009 병렬 에이전트 운영이 안정화됩니다.
207
+
208
+ ### BG 세션 macOS sleep/wake 소멸 수정
209
+
210
+ macOS 절전/복귀 후 백그라운드 세션이 사라지던 문제가 수정되었습니다. 데몬이 클럭 점프를 감지하여 세션을 유지합니다.
211
+
212
+ **oh-my-customcode 연관**: R018 Agent Teams 장시간 실행 세션의 안정성 개선. 긴 병렬 작업 중 macOS 절전 시 세션 유실 방지.
213
+
214
+ ### 데몬 바이너리 업그레이드 후 충돌 루프 수정
215
+
216
+ `brew upgrade` 등 바이너리 업그레이드 후 데몬이 crash-loop에 빠지던 문제가 수정되었습니다.
217
+
218
+ **oh-my-customcode 연관**: 영향 없음 (플랫폼 안정성 개선).
219
+
220
+ ### Claude-in-Chrome 확장 공유 탭 없을 때 BG 에이전트 충돌 수정
221
+
222
+ **oh-my-customcode 연관**: 영향 없음 (브라우저 자동화 사용 시 환경 안정성 개선).
223
+
224
+ ### `claude agents` 연결 시 링크 클릭 수정
225
+
226
+ 연결된 `claude agents` 세션에서 링크 클릭 시 headless browser shim이 적용되지 않도록 수정되었습니다.
227
+
228
+ **oh-my-customcode 연관**: 영향 없음 (UX 수정).
229
+
230
+ ### `claude agents` "v to open in editor" 수정
231
+
232
+ `$EDITOR`/`$VISUAL` 환경 변수를 존중하도록 수정되었습니다 (기존: 데몬 기본값 사용).
233
+
234
+ **oh-my-customcode 연관**: 영향 없음 (UX 수정).
235
+
236
+ ### `claude agents` Windows 네트워크 드라이브 데드락 수정
237
+
238
+ **oh-my-customcode 연관**: macOS 개발 환경에는 영향 없음.
239
+
240
+ ### Apple Terminal 256색 배경색 번짐 수정
241
+
242
+ `claude agents` 세션 연결 시 256색 터미널에서 배경색이 번지던 문제가 수정되었습니다.
243
+
244
+ **oh-my-customcode 연관**: 영향 없음 (터미널 렌더링 수정).
245
+
246
+ ### `claude --bg --dangerously-skip-permissions` 유지 수정
247
+
248
+ retire/wake 사이클 후에도 `--dangerously-skip-permissions` 플래그가 유지되도록 수정되었습니다.
249
+
250
+ **oh-my-customcode 연관**: R010 unattended 실행 안정성 개선. 장시간 백그라운드 에이전트 실행 시 권한 모드 드롭 방지.
251
+
252
+ ### oh-my-customcode 연관 평가
253
+
254
+ | 변경 | 영향 | Action |
255
+ |------|------|--------|
256
+ | `claude agents` 신규 플래그 | 고급 세션 구성 가능 | None (opt-in) |
257
+ | Fast Mode 기본 모델 → Opus 4.7 | `model: opus` 에이전트 + Fast Mode 상호작용 | 필요 시 `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE=1` |
258
+ | Plugin root SKILL.md | omcustom 패턴 미해당 | None |
259
+ | `/plugin details` LSP 표시 | 인벤토리 가시성 향상 | None |
260
+ | `/web-setup` 교체 경고 | UX 안전장치 | None |
261
+ | `MCP_TOOL_TIMEOUT` 수정 | R011/R019 MCP 타임아웃 해결 | 필요 시 환경 변수 설정 |
262
+ | BG + git worktree Edit 차단 수정 | R009 worktree 병렬 작업 안정화 | None |
263
+ | BG macOS sleep/wake 소멸 수정 | R018 장시간 세션 안정성 | None |
264
+ | 데몬 crash-loop 수정 | 플랫폼 안정성 | None |
265
+ | 기타 버그 수정 (Chrome ext, links, editor, Windows, 256색, BG permissions) | 환경별 안정성 개선 | None |
266
+
267
+ **Action items**: Fast Mode를 사용하는 경우 Opus 4.7 전환 영향을 확인하고, 필요 시 `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE=1`로 고정. `MCP_TOOL_TIMEOUT` 설정이 필요한 환경에서는 선택적으로 적용.
268
+
142
269
  ## v2.1.141 (2026-05-13) — 호환성 점검
143
270
 
144
271
  > Issue: #1137 — CC v2.1.141 compatibility documentation
@@ -153,7 +280,7 @@ transcript view에서 다음 단축키를 사용할 수 있습니다:
153
280
  }
154
281
  ```
155
282
 
156
- **oh-my-customcode 연관**: R012 HUD 이벤트 채널(stderr hooks)의 보완 수단. `terminalSequence`를 통해 창 제목(window title)을 태스크 상태로 업데이트하거나 긴 병렬 작업 완료 시 벨 신호를 보내는 활용이 가능합니다. **훅 수정은 별도 보안 승인이 필요** — `.claude/hooks/` 변경 시 사용자 명시 승인 필요 (R001).
283
+ **oh-my-customcode 연관**: R012 HUD 이벤트 채널(stderr hooks)의 보완 수단. 현재 HUD는 stderr를 통해 에이전트 스폰 이벤트를 알리는데, `terminalSequence`를 통해 창 제목(window title)을 태스크 상태로 업데이트하거나 긴 병렬 작업 완료 시 벨 신호를 보내는 활용이 가능합니다. **훅 수정은 별도 보안 승인이 필요** — `.claude/hooks/` 변경 시 사용자 명시 승인 필요 (R001).
157
284
 
158
285
  ### 플러그인 설치: `CLAUDE_CODE_PLUGIN_PREFER_HTTPS`
159
286
 
@@ -164,36 +291,70 @@ export CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1
164
291
  claude plugin install superpowers
165
292
  ```
166
293
 
167
- **oh-my-customcode 연관**: GitHub SSH 키가 없는 CI 환경이나 기업 방화벽 환경에서 플러그인 설치 시 활용. 기존 설치 명령어에는 변경 불필요 (HTTPS는 opt-in).
294
+ **oh-my-customcode 연관**: GitHub SSH 키가 없는 CI 환경이나 기업 방화벽 환경에서 oh-my-customcode 플러그인 설치 시 활용. CLAUDE.md 외부 의존성 섹션의 설치 명령어에는 변경 불필요 (HTTPS는 opt-in).
168
295
 
169
296
  ### 워크로드 아이덴티티: `ANTHROPIC_WORKSPACE_ID`
170
297
 
171
298
  Federation 규칙이 둘 이상의 workspace를 커버하는 경우, 발급 토큰을 특정 workspace로 스코핑하는 환경 변수입니다.
172
299
 
173
- **oh-my-customcode 연관**: 멀티 workspace 엔터프라이즈 환경에서 workspace 격리 강화. 현재 단일 workspace 사용자에게는 영향 없음.
300
+ ```bash
301
+ export ANTHROPIC_WORKSPACE_ID=ws_xxxxxxxxxxxx
302
+ ```
303
+
304
+ **oh-my-customcode 연관**: 멀티 workspace 엔터프라이즈 환경에서 R001(안전 규칙) 준수 측면의 워크스페이스 격리 강화. 현재 단일 workspace 사용자에게는 영향 없음.
174
305
 
175
306
  ### `claude agents --cwd <path>` — 디렉토리 스코프 세션 목록
176
307
 
308
+ `claude agents` 명령이 `--cwd` 플래그를 지원합니다. 특정 디렉토리로 세션 목록을 필터링합니다.
309
+
177
310
  ```bash
178
311
  claude agents --cwd /workspace/repos/oh-my-customcode
312
+ claude agents --cwd ~/projects/my-service
179
313
  ```
180
314
 
181
- **oh-my-customcode 연관**: R009 병렬 에이전트 모니터링 시 노이즈 감소. 모노레포/멀티 프로젝트 환경에서 현재 프로젝트 에이전트만 추적 가능.
315
+ **oh-my-customcode 연관**: R009 병렬 에이전트 모니터링 시 노이즈 감소. 모노레포 또는 멀티 프로젝트 환경에서 현재 프로젝트 에이전트만 추적 가능. `guides/claude-code/13-cli-flags.md`에 `--cwd` 플래그 추가 권장 (별도 P3).
316
+
317
+ ### `/feedback` 최근 세션 포함 지원
318
+
319
+ `/feedback` 명령이 최근 24시간 또는 7일 세션을 포함할 수 있게 되었습니다. 현재 세션을 넘나드는 이슈 제보 시 유용합니다.
320
+
321
+ **oh-my-customcode 연관**: 멀티 세션에 걸친 에이전트 동작 이슈(R016 위반 패턴 등)를 Anthropic에 제보할 때 재현 컨텍스트를 자동 포함. 직접적인 harness 변경 불필요.
322
+
323
+ ### Rewind 메뉴: "Summarize up to here"
324
+
325
+ Rewind 메뉴에 이전 턴까지의 컨텍스트를 압축하되 최근 대화를 보존하는 옵션이 추가되었습니다.
326
+
327
+ **oh-my-customcode 연관**: R013 ecomode context budget 관리와 상호 보완. 수동 context 압축 도구로 활용 가능 (PreCompact/PostCompact 훅 — R006 Hook Event Types). `sys-memory-keeper`가 세션 종료 시 메모리를 저장하는 R011 패턴과 함께 사용하면 중요 컨텍스트 유실 없이 압축 가능.
328
+
329
+ ### Auto mode 권한 다이얼로그 개선
330
+
331
+ `permissions.ask` 규칙이 권한 프롬프트를 트리거한 경우, 다이얼로그가 그 이유를 명시적으로 표시합니다.
332
+
333
+ **oh-my-customcode 연관**: R002 권한 규칙 디버깅 개선. `bypassPermissions` 모드에서 예상치 못한 권한 프롬프트 발생 시 원인 파악이 쉬워짐. 개발자가 `.claude/hooks/hooks.json` 또는 settings의 `permissions` 설정을 진단하는 데 직접 도움.
334
+
335
+ ### IDE 연결 시 "view diff in your IDE" 복원
336
+
337
+ 파일 편집 권한 프롬프트에서 IDE 연결 상태일 때 "view diff in your IDE" 옵션이 복원되었습니다.
338
+
339
+ **oh-my-customcode 연관**: 영향 없음 (UX 복원, harness 연동 없음).
182
340
 
183
341
  ### `/bg` 백그라운드 에이전트 권한 모드 유지
184
342
 
185
343
  `/bg` 또는 `←←`로 실행된 백그라운드 에이전트가 기본값으로 되돌아가지 않고 현재 세션의 권한 모드를 유지합니다.
186
344
 
187
- **oh-my-customcode 연관**: R010 `bypassPermissions` 맥락의 중요 개선. **v2.1.141+에서는 `/bg` 플로우에서 권한 모드 드롭이 발생하지 않음** — Agent tool 호출 `mode: "bypassPermissions"` 명시는 여전히 필요.
345
+ **oh-my-customcode 연관**: R010 `bypassPermissions` 맥락에서 중요한 개선. 이전에는 `/bg`로 에이전트를 분리하면 `bypassPermissions` 설정이 유실되어 unattended 실행 중 권한 프롬프트가 발생할 수 있었습니다. **v2.1.141+에서는 `/bg` 플로우에서 권한 모드 드롭이 더 이상 발생하지 않음** — R010 Universal bypassPermissions 규칙은 Agent tool 호출에 여전히 필요하지만, `/bg` 전환 추가 workaround 불필요.
188
346
 
189
- ### 기타 변경
347
+ ### `claude agents`: 백그라운드 셸 잔류 에이전트 상태 수정
190
348
 
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 사용 에이전트에서 체감
349
+ 작업을 완료했으나 백그라운드 셸이 계속 실행 중인 에이전트가 Working 대신 Completed 상태로 올바르게 표시됩니다.
350
+
351
+ **oh-my-customcode 연관**: R009 병렬 에이전트 상태 가시성 개선. `claude agents`로 병렬 작업 모니터링 허위 Working 상태로 인한 혼란 감소.
352
+
353
+ ### 장시간 thinking 스피너 피드백 개선
354
+
355
+ 긴 reasoning 구간에서 스피너 표시가 개선되었습니다.
356
+
357
+ **oh-my-customcode 연관**: 영향 없음 (UX 개선, opus/opusplan 모델 사용 에이전트에서 체감 가능).
197
358
 
198
359
  ### oh-my-customcode 연관 평가
199
360
 
@@ -203,10 +364,40 @@ claude agents --cwd /workspace/repos/oh-my-customcode
203
364
  | `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | CI/기업 환경 플러그인 설치 | None (opt-in) |
204
365
  | `ANTHROPIC_WORKSPACE_ID` | 멀티 workspace 환경 | None (단일 workspace) |
205
366
  | `claude agents --cwd` | 프로젝트별 세션 필터링 | P3: cli-flags 가이드 업데이트 |
206
- | `/bg` 권한 모드 유지 | R010 `/bg` 플로우 안전성 향상 | R010 규칙 노트 추가 (완료) |
207
- | 기타 additive 변경 | 사용자 환경 안정성 향상 | None |
367
+ | `/feedback` 세션 범위 확장 | 이슈 제보 개선 | None |
368
+ | Rewind "Summarize up to here" | R013 수동 context 압축 | None |
369
+ | Auto mode 권한 다이얼로그 | R002 디버깅 개선 | None (수동적 효익) |
370
+ | IDE diff 옵션 복원 | UX 복원 | None |
371
+ | `/bg` 권한 모드 유지 | R010 `/bg` 플로우 안전성 향상 | **R010 규칙 노트 업데이트** |
372
+ | `claude agents` Completed 상태 수정 | R009 상태 가시성 개선 | None |
373
+ | thinking 스피너 개선 | UX | None |
374
+
375
+ **Action items**: P3 2건 (`terminalSequence` hook 검토, cli-flags 가이드 `--cwd` 추가). R010 규칙 문서에 `/bg` 권한 모드 유지 노트 추가 (이번 release에서 처리).
376
+
377
+ ---
378
+
379
+ ## Known Limitations
380
+
381
+ ### `.gitignore` 중첩 `.md` 파일 패턴 제한
382
+
383
+ 현재 `.gitignore`에는 다음 패턴이 설정되어 있습니다:
384
+
385
+ ```gitignore
386
+ docs/superpowers/plans/*
387
+ !docs/superpowers/plans/*.md
388
+ ```
389
+
390
+ 이 패턴은 `docs/superpowers/plans/` **직접 자식** `.md` 파일만 추적합니다. git 시맨틱상 부모 디렉토리가 이미 제외(`*`)되면, 자식 디렉토리 내 파일의 `!` 부정 패턴이 효력을 발휘하지 않습니다. 예를 들어 `docs/superpowers/plans/subdir/plan.md`는 추적되지 않습니다.
391
+
392
+ **현재 영향**: 없음. `release-plan` 스킬은 `docs/superpowers/plans/YYYY-MM-DD-<name>.md` 플랫 경로만 생성합니다. 중첩 `.md` 파일 추적이 필요해질 경우의 수정 방안:
393
+
394
+ ```gitignore
395
+ docs/superpowers/plans/**
396
+ !docs/superpowers/plans/*.md
397
+ !docs/superpowers/plans/<subdir>/*.md # 추적이 필요한 서브디렉토리 명시
398
+ ```
208
399
 
209
- **Action items**: P3 2건 (`terminalSequence` hook 검토, cli-flags `--cwd` 추가). R010 규칙 `/bg` 노트 추가 (이번 release 처리).
400
+ > Issue: #1147 문서화 전용, 코드 변경 없음.
210
401
 
211
402
  ---
212
403
 
@@ -220,6 +411,7 @@ claude agents --cwd /workspace/repos/oh-my-customcode
220
411
  | v2.1.139 | None (additive). `/context all` fork skill 비용 모니터링 권장 | P3 follow-up |
221
412
  | v2.1.140 | P3 audit: managed `extraKnownMarketplaces` 영속화 + plugin.json default folder 무시 경고 | P3 follow-up |
222
413
  | v2.1.141 | P3: `terminalSequence` hook 검토 + cli-flags `--cwd` 추가. R010 `/bg` 권한 모드 유지 노트 추가 (완료) | P3 follow-up |
414
+ | v2.1.142 | Fast Mode Opus 4.7 전환 확인 (필요 시 `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE=1`). `MCP_TOOL_TIMEOUT` 선택적 설정. | P3 follow-up |
223
415
 
224
416
  ## References
225
417
 
@@ -229,6 +421,8 @@ claude agents --cwd /workspace/repos/oh-my-customcode
229
421
  - #1126 — Claude Code v2.1.139 신규 명령 문서화
230
422
  - #1134 — Claude Code v2.1.140 release note
231
423
  - #1137 — Claude Code v2.1.141 compatibility documentation
424
+ - #1158 — Claude Code v2.1.142 compatibility documentation
425
+ - #1147 — .gitignore nested .md pattern limitation note
232
426
  - `.claude/skills/claude-native/` — auto-generation source
233
427
  - `.claude/rules/SHOULD-hud-statusline.md` — R012 statusline integration
234
428
  - `.claude/rules/MUST-agent-design.md` — R006 agent frontmatter spec
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.136.2",
2
+ "version": "0.138.0",
3
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)",