oh-my-customcode 0.60.1 → 0.62.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 +18 -5
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/templates/.claude/rules/MUST-agent-design.md +17 -0
- package/templates/.claude/skills/de-lead-routing/SKILL.md +2 -0
- package/templates/.claude/skills/dev-lead-routing/SKILL.md +4 -1
- package/templates/.claude/skills/qa-lead-routing/SKILL.md +2 -0
- package/templates/.claude/skills/secretary-routing/SKILL.md +2 -0
- package/templates/manifest.json +1 -1
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.
|
|
9328
|
+
version: "0.62.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
|
|
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
package/package.json
CHANGED
|
@@ -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:
|
package/templates/manifest.json
CHANGED