oh-my-customcode 0.60.1 → 0.61.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
@@ -9325,7 +9325,7 @@ var init_package = __esm(() => {
9325
9325
  workspaces: [
9326
9326
  "packages/*"
9327
9327
  ],
9328
- version: "0.60.1",
9328
+ version: "0.61.0",
9329
9329
  description: "Batteries-included agent harness for Claude Code",
9330
9330
  type: "module",
9331
9331
  bin: {
@@ -24805,7 +24805,8 @@ var en_default = {
24805
24805
  interactiveSelect: "Select projects to update:",
24806
24806
  interactiveNoneSelected: "No projects selected. Exiting.",
24807
24807
  interactiveUpdating: "Updating selected projects...",
24808
- projectLatestSuffix: "(latest)"
24808
+ projectLatestSuffix: "(latest)",
24809
+ newVersionAvailable: "[Info] oh-my-customcode v{{latest}} available (current: v{{current}}). Run 'npm i -g oh-my-customcode' to upgrade."
24809
24810
  },
24810
24811
  list: {
24811
24812
  description: "List installed components",
@@ -25189,7 +25190,8 @@ var ko_default = {
25189
25190
  interactiveSelect: "업데이트할 프로젝트 선택:",
25190
25191
  interactiveNoneSelected: "선택된 프로젝트가 없습니다. 종료합니다.",
25191
25192
  interactiveUpdating: "선택된 프로젝트 업데이트 중...",
25192
- projectLatestSuffix: "(최신)"
25193
+ projectLatestSuffix: "(최신)",
25194
+ newVersionAvailable: "[정보] oh-my-customcode v{{latest}} 사용 가능 (현재: v{{current}}). 'npm i -g oh-my-customcode'를 실행하여 업그레이드하세요."
25193
25195
  },
25194
25196
  list: {
25195
25197
  description: "설치된 컴포넌트 목록 표시",
@@ -30519,7 +30521,19 @@ async function loadCustomizationManifest(targetDir) {
30519
30521
  }
30520
30522
 
30521
30523
  // src/cli/update.ts
30522
- async function updateCommand(options = {}) {
30524
+ async function checkCliVersion(checkFn) {
30525
+ try {
30526
+ const result = checkFn({ currentVersion: package_default.version });
30527
+ if (result.updateAvailable && result.latestVersion) {
30528
+ console.log(i18n.t("cli.update.newVersionAvailable", {
30529
+ latest: result.latestVersion,
30530
+ current: package_default.version
30531
+ }));
30532
+ }
30533
+ } catch {}
30534
+ }
30535
+ async function updateCommand(options = {}, cliVersionCheck = checkSelfUpdate) {
30536
+ await checkCliVersion(cliVersionCheck);
30523
30537
  try {
30524
30538
  if (options.all) {
30525
30539
  await updateAllProjects(options);
@@ -30556,7 +30570,6 @@ async function updateSingleProject(targetDir, options) {
30556
30570
  printUpdateResults(result);
30557
30571
  if (!result.success) {
30558
30572
  process.exit(1);
30559
- return false;
30560
30573
  }
30561
30574
  return true;
30562
30575
  }
package/dist/index.js CHANGED
@@ -1672,7 +1672,7 @@ var package_default = {
1672
1672
  workspaces: [
1673
1673
  "packages/*"
1674
1674
  ],
1675
- version: "0.60.1",
1675
+ version: "0.61.0",
1676
1676
  description: "Batteries-included agent harness for Claude Code",
1677
1677
  type: "module",
1678
1678
  bin: {
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "workspaces": [
4
4
  "packages/*"
5
5
  ],
6
- "version": "0.60.1",
6
+ "version": "0.61.0",
7
7
  "description": "Batteries-included agent harness for Claude Code",
8
8
  "type": "module",
9
9
  "bin": {
@@ -52,6 +52,23 @@ domain: backend # backend | frontend | data-engineering | devops |
52
52
 
53
53
  > **Note**: `isolation`, `background`, `maxTurns`, `maxTokens`, `mcpServers`, `hooks`, `permissionMode`, `disallowedTools`, `limitations` are supported in Claude Code v2.1.63+. Hook types `PostCompact`, `Elicitation`, `ElicitationResult` require v2.1.76+. `CwdChanged`, `FileChanged` hook events and `managed-settings.d/` drop-in directory require v2.1.83+. Conditional `if` field for hooks requires v2.1.85+.
54
54
 
55
+ ## Permission Mode Guidance
56
+
57
+ When spawning agents via the Agent tool, CC applies a default `mode` of `acceptEdits` if not explicitly specified. To maintain consistent permission behavior:
58
+
59
+ 1. **Agent frontmatter `permissionMode`**: Declares the agent's intended permission level. CC respects this when the agent is spawned via Agent tool.
60
+ 2. **Agent tool `mode` parameter**: Overrides frontmatter at spawn time. Routing skills should pass this explicitly.
61
+ 3. **Recommendation**: For agents that modify files, set `permissionMode: bypassPermissions` in frontmatter if the project uses `bypassPermissions` mode.
62
+
63
+ | Mode | Behavior |
64
+ |------|----------|
65
+ | `default` | CC decides per-tool prompting |
66
+ | `acceptEdits` | Auto-accept file edits, prompt for others |
67
+ | `bypassPermissions` | Skip all permission prompts |
68
+ | `plan` | Require plan approval |
69
+ | `dontAsk` | Non-interactive, deny unapproved |
70
+ | `auto` | AI decides safety |
71
+
55
72
  <!-- DETAIL: Isolation/Token/Limitations/Escalation details
56
73
  ### Isolation Modes
57
74
 
@@ -77,6 +77,8 @@ For **new pipeline code**, **DAG scaffolding**, or **SQL model generation**:
77
77
  ### Step 3: Expert Selection
78
78
  Route to appropriate DE expert based on tool/framework detection.
79
79
 
80
+ > **Permission Mode**: When spawning agents, pass `mode: "bypassPermissions"` in the Agent tool call if the session uses bypassPermissions. Without explicit mode, CC defaults to `acceptEdits`.
81
+
80
82
  ### Step 4: Ontology-RAG Enrichment (R019)
81
83
 
82
84
  If `get_agent_for_task` MCP tool is available, call it with the original query and inject `suggested_skills` into the agent prompt. Skip silently on failure.
@@ -13,7 +13,7 @@ context: fork
13
13
  | Type | Agents |
14
14
  |------|--------|
15
15
  | Language | lang-golang-expert, lang-python-expert, lang-rust-expert, lang-kotlin-expert, lang-typescript-expert, lang-java21-expert |
16
- | Frontend | fe-vercel-agent, fe-vuejs-agent, fe-svelte-agent, fe-flutter-agent |
16
+ | Frontend | fe-vercel-agent, fe-vuejs-agent, fe-svelte-agent, fe-flutter-agent, fe-design-expert |
17
17
  | Backend | be-fastapi-expert, be-springboot-expert, be-go-backend-expert, be-nestjs-expert, be-express-expert, be-django-expert |
18
18
  | Tooling | tool-npm-expert, tool-optimizer, tool-bun-expert |
19
19
  | Database | db-supabase-expert, db-postgres-expert, db-redis-expert |
@@ -55,6 +55,7 @@ context: fork
55
55
  | vue | fe-vuejs-agent |
56
56
  | svelte | fe-svelte-agent |
57
57
  | flutter, dart, riverpod, bloc, widget | fe-flutter-agent |
58
+ | design, typography, color, motion, ux writing, ui design, "design system", "design review", impeccable | fe-design-expert |
58
59
  | fastapi | be-fastapi-expert |
59
60
  | django | be-django-expert |
60
61
  | spring, springboot | be-springboot-expert |
@@ -111,6 +112,8 @@ For **new file creation**, **boilerplate**, or **test code generation**:
111
112
  ### Step 3: Expert Agent Selection
112
113
  Route to appropriate language/framework expert based on file extension and keyword mapping.
113
114
 
115
+ > **Permission Mode**: When spawning agents, pass `mode: "bypassPermissions"` in the Agent tool call if the session uses bypassPermissions. Without explicit mode, CC defaults to `acceptEdits`.
116
+
114
117
  ### Step 4: Ontology-RAG Enrichment (R019)
115
118
 
116
119
  If `get_agent_for_task` MCP tool is available, call it with the original query and inject `suggested_skills` into the agent prompt. Skip silently on failure.
@@ -45,6 +45,8 @@ quality_analysis → qa-planner + qa-engineer (parallel)
45
45
  full_qa_cycle → all agents (sequential)
46
46
  ```
47
47
 
48
+ > **Permission Mode**: When spawning agents, pass `mode: "bypassPermissions"` in the Agent tool call if the session uses bypassPermissions. Without explicit mode, CC defaults to `acceptEdits`.
49
+
48
50
  ### Ontology-RAG Enrichment (R019)
49
51
 
50
52
  If `get_agent_for_task` MCP tool is available, call it with the original query and inject `suggested_skills` into the agent prompt. Skip silently on failure.
@@ -80,6 +80,8 @@ If the selected agent has `soul: true` in frontmatter, read and prepend `.claude
80
80
  5. Report result to user
81
81
  ```
82
82
 
83
+ > **Permission Mode**: When spawning agents, pass `mode: "bypassPermissions"` in the Agent tool call if the session uses bypassPermissions. Without explicit mode, CC defaults to `acceptEdits`.
84
+
83
85
  ### 2. Batch/Parallel Task Routing
84
86
 
85
87
  When command requires multiple independent operations:
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.60.1",
2
+ "version": "0.61.0",
3
3
  "lastUpdated": "2026-03-24T00:00:00.000Z",
4
4
  "components": [
5
5
  {