mirror of
https://github.com/affaan-m/ECC.git
synced 2026-10-20 15:01:46 +02:00
fix(commands): drop unrendered LITE_MODE_FLAG token from codeagent-wrapper calls (#3640)
The multi-backend, multi-frontend, multi-plan, multi-execute and multi-workflow commands were copied from ccg-workflow's command templates, which carry {{LITE_MODE_FLAG}} and {{GEMINI_MODEL_FLAG}} for that project's installer to substitute. ECC has no substitution step, so bash passed the literal token to codeagent-wrapper as a positional argument, the backend name landed in the working-directory slot, and every call exited 1. Remove the tokens from the five commands and the ja-JP, tr and zh-CN docs copies so the wrapper receives a plain --backend invocation. A regression test scans every multi-* command and translated copy for codeagent-wrapper lines that still contain a {{TEMPLATE}} token.
Fixes #3595
This commit is contained in:
@@ -38,7 +38,7 @@ You are the **Backend Orchestrator**, coordinating multi-model collaboration for
|
||||
```
|
||||
# New session call
|
||||
Bash({
|
||||
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend codex - \"$PWD\" <<'EOF'
|
||||
command: "~/.claude/bin/codeagent-wrapper --backend codex - \"$PWD\" <<'EOF'
|
||||
ROLE_FILE: <role prompt path>
|
||||
<TASK>
|
||||
Requirement: <enhanced requirement (or $ARGUMENTS if not enhanced)>
|
||||
@@ -53,7 +53,7 @@ EOF",
|
||||
|
||||
# Resume session call
|
||||
Bash({
|
||||
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend codex resume <SESSION_ID> - \"$PWD\" <<'EOF'
|
||||
command: "~/.claude/bin/codeagent-wrapper --backend codex resume <SESSION_ID> - \"$PWD\" <<'EOF'
|
||||
ROLE_FILE: <role prompt path>
|
||||
<TASK>
|
||||
Requirement: <enhanced requirement (or $ARGUMENTS if not enhanced)>
|
||||
|
||||
@@ -29,7 +29,7 @@ $ARGUMENTS
|
||||
```
|
||||
# Resume session call (recommended) - Implementation Prototype
|
||||
Bash({
|
||||
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend <codex|antigravity> resume <SESSION_ID> - \"$PWD\" <<'EOF'
|
||||
command: "~/.claude/bin/codeagent-wrapper --backend <codex|antigravity> resume <SESSION_ID> - \"$PWD\" <<'EOF'
|
||||
ROLE_FILE: <role prompt path>
|
||||
<TASK>
|
||||
Requirement: <task description>
|
||||
@@ -44,7 +44,7 @@ EOF",
|
||||
|
||||
# New session call - Implementation Prototype
|
||||
Bash({
|
||||
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend <codex|antigravity> - \"$PWD\" <<'EOF'
|
||||
command: "~/.claude/bin/codeagent-wrapper --backend <codex|antigravity> - \"$PWD\" <<'EOF'
|
||||
ROLE_FILE: <role prompt path>
|
||||
<TASK>
|
||||
Requirement: <task description>
|
||||
@@ -62,7 +62,7 @@ EOF",
|
||||
|
||||
```
|
||||
Bash({
|
||||
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend <codex|antigravity> resume <SESSION_ID> - \"$PWD\" <<'EOF'
|
||||
command: "~/.claude/bin/codeagent-wrapper --backend <codex|antigravity> resume <SESSION_ID> - \"$PWD\" <<'EOF'
|
||||
ROLE_FILE: <role prompt path>
|
||||
<TASK>
|
||||
Scope: Audit the final code changes.
|
||||
|
||||
@@ -38,7 +38,7 @@ You are the **Frontend Orchestrator**, coordinating multi-model collaboration fo
|
||||
```
|
||||
# New session call
|
||||
Bash({
|
||||
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend antigravity - \"$PWD\" <<'EOF'
|
||||
command: "~/.claude/bin/codeagent-wrapper --backend antigravity - \"$PWD\" <<'EOF'
|
||||
ROLE_FILE: <role prompt path>
|
||||
<TASK>
|
||||
Requirement: <enhanced requirement (or $ARGUMENTS if not enhanced)>
|
||||
@@ -53,7 +53,7 @@ EOF",
|
||||
|
||||
# Resume session call
|
||||
Bash({
|
||||
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend antigravity resume <SESSION_ID> - \"$PWD\" <<'EOF'
|
||||
command: "~/.claude/bin/codeagent-wrapper --backend antigravity resume <SESSION_ID> - \"$PWD\" <<'EOF'
|
||||
ROLE_FILE: <role prompt path>
|
||||
<TASK>
|
||||
Requirement: <enhanced requirement (or $ARGUMENTS if not enhanced)>
|
||||
|
||||
@@ -28,7 +28,7 @@ $ARGUMENTS
|
||||
|
||||
```
|
||||
Bash({
|
||||
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend <codex|antigravity> - \"$PWD\" <<'EOF'
|
||||
command: "~/.claude/bin/codeagent-wrapper --backend <codex|antigravity> - \"$PWD\" <<'EOF'
|
||||
ROLE_FILE: <role prompt path>
|
||||
<TASK>
|
||||
Requirement: <enhanced requirement>
|
||||
|
||||
@@ -42,7 +42,7 @@ You are the **Orchestrator**, coordinating a multi-model collaborative system (R
|
||||
```
|
||||
# New session call
|
||||
Bash({
|
||||
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend <codex|antigravity> - \"$PWD\" <<'EOF'
|
||||
command: "~/.claude/bin/codeagent-wrapper --backend <codex|antigravity> - \"$PWD\" <<'EOF'
|
||||
ROLE_FILE: <role prompt path>
|
||||
<TASK>
|
||||
Requirement: <enhanced requirement (or $ARGUMENTS if not enhanced)>
|
||||
@@ -57,7 +57,7 @@ EOF",
|
||||
|
||||
# Resume session call
|
||||
Bash({
|
||||
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend <codex|antigravity> resume <SESSION_ID> - \"$PWD\" <<'EOF'
|
||||
command: "~/.claude/bin/codeagent-wrapper --backend <codex|antigravity> resume <SESSION_ID> - \"$PWD\" <<'EOF'
|
||||
ROLE_FILE: <role prompt path>
|
||||
<TASK>
|
||||
Requirement: <enhanced requirement (or $ARGUMENTS if not enhanced)>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
```
|
||||
# 新規セッション呼び出し
|
||||
Bash({
|
||||
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend codex - \"$PWD\" <<'EOF'
|
||||
command: "~/.claude/bin/codeagent-wrapper --backend codex - \"$PWD\" <<'EOF'
|
||||
ROLE_FILE: <ロールプロンプトパス>
|
||||
<TASK>
|
||||
Requirement: <強化された要件(または強化されていない場合は$ARGUMENTS)>
|
||||
@@ -49,7 +49,7 @@ EOF",
|
||||
|
||||
# セッション再開呼び出し
|
||||
Bash({
|
||||
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend codex resume <SESSION_ID> - \"$PWD\" <<'EOF'
|
||||
command: "~/.claude/bin/codeagent-wrapper --backend codex resume <SESSION_ID> - \"$PWD\" <<'EOF'
|
||||
ROLE_FILE: <ロールプロンプトパス>
|
||||
<TASK>
|
||||
Requirement: <強化された要件(または強化されていない場合は$ARGUMENTS)>
|
||||
|
||||
@@ -25,7 +25,7 @@ $ARGUMENTS
|
||||
```
|
||||
# セッション再開呼び出し(推奨) - 実装プロトタイプ
|
||||
Bash({
|
||||
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend <codex|gemini> {{GEMINI_MODEL_FLAG}}resume <SESSION_ID> - \"$PWD\" <<'EOF'
|
||||
command: "~/.claude/bin/codeagent-wrapper --backend <codex|gemini> resume <SESSION_ID> - \"$PWD\" <<'EOF'
|
||||
ROLE_FILE: <ロールプロンプトパス>
|
||||
<TASK>
|
||||
Requirement: <タスクの説明>
|
||||
@@ -40,7 +40,7 @@ EOF",
|
||||
|
||||
# 新規セッション呼び出し - 実装プロトタイプ
|
||||
Bash({
|
||||
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend <codex|gemini> {{GEMINI_MODEL_FLAG}}- \"$PWD\" <<'EOF'
|
||||
command: "~/.claude/bin/codeagent-wrapper --backend <codex|gemini> - \"$PWD\" <<'EOF'
|
||||
ROLE_FILE: <ロールプロンプトパス>
|
||||
<TASK>
|
||||
Requirement: <タスクの説明>
|
||||
@@ -58,7 +58,7 @@ EOF",
|
||||
|
||||
```
|
||||
Bash({
|
||||
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend <codex|gemini> {{GEMINI_MODEL_FLAG}}resume <SESSION_ID> - \"$PWD\" <<'EOF'
|
||||
command: "~/.claude/bin/codeagent-wrapper --backend <codex|gemini> resume <SESSION_ID> - \"$PWD\" <<'EOF'
|
||||
ROLE_FILE: <ロールプロンプトパス>
|
||||
<TASK>
|
||||
Scope: 最終的なコード変更を監査。
|
||||
@@ -80,7 +80,7 @@ EOF",
|
||||
```
|
||||
|
||||
**モデルパラメータの注意事項**:
|
||||
- `{{GEMINI_MODEL_FLAG}}`: `--backend gemini`を使用する場合、`--gemini-model gemini-3-pro-preview`で置き換える(末尾のスペースに注意); codexの場合は空文字列を使用
|
||||
- ``: `--backend gemini`を使用する場合、`--gemini-model gemini-3-pro-preview`で置き換える(末尾のスペースに注意); codexの場合は空文字列を使用
|
||||
|
||||
**ロールプロンプト**:
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
```
|
||||
# 新規セッション呼び出し
|
||||
Bash({
|
||||
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend gemini --gemini-model gemini-3-pro-preview - \"$PWD\" <<'EOF'
|
||||
command: "~/.claude/bin/codeagent-wrapper --backend gemini --gemini-model gemini-3-pro-preview - \"$PWD\" <<'EOF'
|
||||
ROLE_FILE: <ロールプロンプトパス>
|
||||
<TASK>
|
||||
Requirement: <強化された要件(または強化されていない場合は$ARGUMENTS)>
|
||||
@@ -49,7 +49,7 @@ EOF",
|
||||
|
||||
# セッション再開呼び出し
|
||||
Bash({
|
||||
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend gemini --gemini-model gemini-3-pro-preview resume <SESSION_ID> - \"$PWD\" <<'EOF'
|
||||
command: "~/.claude/bin/codeagent-wrapper --backend gemini --gemini-model gemini-3-pro-preview resume <SESSION_ID> - \"$PWD\" <<'EOF'
|
||||
ROLE_FILE: <ロールプロンプトパス>
|
||||
<TASK>
|
||||
Requirement: <強化された要件(または強化されていない場合は$ARGUMENTS)>
|
||||
|
||||
@@ -24,7 +24,7 @@ $ARGUMENTS
|
||||
|
||||
```
|
||||
Bash({
|
||||
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend <codex|gemini> {{GEMINI_MODEL_FLAG}}- \"$PWD\" <<'EOF'
|
||||
command: "~/.claude/bin/codeagent-wrapper --backend <codex|gemini> - \"$PWD\" <<'EOF'
|
||||
ROLE_FILE: <ロールプロンプトパス>
|
||||
<TASK>
|
||||
Requirement: <強化された要件>
|
||||
@@ -39,7 +39,7 @@ EOF",
|
||||
```
|
||||
|
||||
**モデルパラメータの注意事項**:
|
||||
- `{{GEMINI_MODEL_FLAG}}`: `--backend gemini`を使用する場合、`--gemini-model gemini-3-pro-preview`で置き換える(末尾のスペースに注意); codexの場合は空文字列を使用
|
||||
- ``: `--backend gemini`を使用する場合、`--gemini-model gemini-3-pro-preview`で置き換える(末尾のスペースに注意); codexの場合は空文字列を使用
|
||||
|
||||
**ロールプロンプト**:
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
```
|
||||
# 新規セッション呼び出し
|
||||
Bash({
|
||||
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend <codex|gemini> {{GEMINI_MODEL_FLAG}}- \"$PWD\" <<'EOF'
|
||||
command: "~/.claude/bin/codeagent-wrapper --backend <codex|gemini> - \"$PWD\" <<'EOF'
|
||||
ROLE_FILE: <ロールプロンプトパス>
|
||||
<TASK>
|
||||
Requirement: <強化された要件(または強化されていない場合は$ARGUMENTS)>
|
||||
@@ -53,7 +53,7 @@ EOF",
|
||||
|
||||
# セッション再開呼び出し
|
||||
Bash({
|
||||
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend <codex|gemini> {{GEMINI_MODEL_FLAG}}resume <SESSION_ID> - \"$PWD\" <<'EOF'
|
||||
command: "~/.claude/bin/codeagent-wrapper --backend <codex|gemini> resume <SESSION_ID> - \"$PWD\" <<'EOF'
|
||||
ROLE_FILE: <ロールプロンプトパス>
|
||||
<TASK>
|
||||
Requirement: <強化された要件(または強化されていない場合は$ARGUMENTS)>
|
||||
@@ -68,7 +68,7 @@ EOF",
|
||||
```
|
||||
|
||||
**モデルパラメータの注意事項**:
|
||||
- `{{GEMINI_MODEL_FLAG}}`: `--backend gemini`を使用する場合、`--gemini-model gemini-3-pro-preview`で置き換える(末尾のスペースに注意); codexの場合は空文字列を使用
|
||||
- ``: `--backend gemini`を使用する場合、`--gemini-model gemini-3-pro-preview`で置き換える(末尾のスペースに注意); codexの場合は空文字列を使用
|
||||
|
||||
**ロールプロンプト**:
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ Backend odaklı iş akışı (Research → Ideation → Plan → Execute → Opt
|
||||
```
|
||||
# Yeni session çağrısı
|
||||
Bash({
|
||||
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend codex - \"$PWD\" <<'EOF'
|
||||
command: "~/.claude/bin/codeagent-wrapper --backend codex - \"$PWD\" <<'EOF'
|
||||
ROLE_FILE: <role prompt path>
|
||||
<TASK>
|
||||
Requirement: <enhanced requirement (veya enhance edilmediyse $ARGUMENTS)>
|
||||
@@ -49,7 +49,7 @@ EOF",
|
||||
|
||||
# Session devam ettirme çağrısı
|
||||
Bash({
|
||||
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend codex resume <SESSION_ID> - \"$PWD\" <<'EOF'
|
||||
command: "~/.claude/bin/codeagent-wrapper --backend codex resume <SESSION_ID> - \"$PWD\" <<'EOF'
|
||||
ROLE_FILE: <role prompt path>
|
||||
<TASK>
|
||||
Requirement: <enhanced requirement (veya enhance edilmediyse $ARGUMENTS)>
|
||||
|
||||
@@ -25,7 +25,7 @@ $ARGUMENTS
|
||||
```
|
||||
# Session devam ettirme çağrısı (önerilen) - Implementation Prototype
|
||||
Bash({
|
||||
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend <codex|gemini> {{GEMINI_MODEL_FLAG}}resume <SESSION_ID> - \"$PWD\" <<'EOF'
|
||||
command: "~/.claude/bin/codeagent-wrapper --backend <codex|gemini> resume <SESSION_ID> - \"$PWD\" <<'EOF'
|
||||
ROLE_FILE: <role prompt path>
|
||||
<TASK>
|
||||
Requirement: <task description>
|
||||
@@ -40,7 +40,7 @@ EOF",
|
||||
|
||||
# Yeni session çağrısı - Implementation Prototype
|
||||
Bash({
|
||||
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend <codex|gemini> {{GEMINI_MODEL_FLAG}}- \"$PWD\" <<'EOF'
|
||||
command: "~/.claude/bin/codeagent-wrapper --backend <codex|gemini> - \"$PWD\" <<'EOF'
|
||||
ROLE_FILE: <role prompt path>
|
||||
<TASK>
|
||||
Requirement: <task description>
|
||||
@@ -58,7 +58,7 @@ EOF",
|
||||
|
||||
```
|
||||
Bash({
|
||||
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend <codex|gemini> {{GEMINI_MODEL_FLAG}}resume <SESSION_ID> - \"$PWD\" <<'EOF'
|
||||
command: "~/.claude/bin/codeagent-wrapper --backend <codex|gemini> resume <SESSION_ID> - \"$PWD\" <<'EOF'
|
||||
ROLE_FILE: <role prompt path>
|
||||
<TASK>
|
||||
Scope: Audit the final code changes.
|
||||
@@ -80,7 +80,7 @@ EOF",
|
||||
```
|
||||
|
||||
**Model Parametre Notları**:
|
||||
- `{{GEMINI_MODEL_FLAG}}`: `--backend gemini` kullanırken, `--gemini-model gemini-3-pro-preview` ile değiştir (trailing space not edin); codex için boş string kullan
|
||||
- ``: `--backend gemini` kullanırken, `--gemini-model gemini-3-pro-preview` ile değiştir (trailing space not edin); codex için boş string kullan
|
||||
|
||||
**Role Prompts**:
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ Frontend odaklı iş akışı (Research → Ideation → Plan → Execute → Op
|
||||
```
|
||||
# Yeni session çağrısı
|
||||
Bash({
|
||||
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend gemini --gemini-model gemini-3-pro-preview - \"$PWD\" <<'EOF'
|
||||
command: "~/.claude/bin/codeagent-wrapper --backend gemini --gemini-model gemini-3-pro-preview - \"$PWD\" <<'EOF'
|
||||
ROLE_FILE: <role prompt path>
|
||||
<TASK>
|
||||
Requirement: <enhanced requirement (veya enhance edilmediyse $ARGUMENTS)>
|
||||
@@ -49,7 +49,7 @@ EOF",
|
||||
|
||||
# Session devam ettirme çağrısı
|
||||
Bash({
|
||||
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend gemini --gemini-model gemini-3-pro-preview resume <SESSION_ID> - \"$PWD\" <<'EOF'
|
||||
command: "~/.claude/bin/codeagent-wrapper --backend gemini --gemini-model gemini-3-pro-preview resume <SESSION_ID> - \"$PWD\" <<'EOF'
|
||||
ROLE_FILE: <role prompt path>
|
||||
<TASK>
|
||||
Requirement: <enhanced requirement (veya enhance edilmediyse $ARGUMENTS)>
|
||||
|
||||
@@ -24,7 +24,7 @@ $ARGUMENTS
|
||||
|
||||
```
|
||||
Bash({
|
||||
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend <codex|gemini> {{GEMINI_MODEL_FLAG}}- \"$PWD\" <<'EOF'
|
||||
command: "~/.claude/bin/codeagent-wrapper --backend <codex|gemini> - \"$PWD\" <<'EOF'
|
||||
ROLE_FILE: <role prompt path>
|
||||
<TASK>
|
||||
Requirement: <enhanced requirement>
|
||||
@@ -39,7 +39,7 @@ EOF",
|
||||
```
|
||||
|
||||
**Model Parametre Notları**:
|
||||
- `{{GEMINI_MODEL_FLAG}}`: `--backend gemini` kullanırken, `--gemini-model gemini-3-pro-preview` ile değiştir (trailing space not edin); codex için boş string kullan
|
||||
- ``: `--backend gemini` kullanırken, `--gemini-model gemini-3-pro-preview` ile değiştir (trailing space not edin); codex için boş string kullan
|
||||
|
||||
**Role Prompts**:
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@ Kalite kontrol noktaları, MCP servisleri ve multi-model işbirliği ile yapıla
|
||||
```
|
||||
# Yeni session çağrısı
|
||||
Bash({
|
||||
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend <codex|gemini> {{GEMINI_MODEL_FLAG}}- \"$PWD\" <<'EOF'
|
||||
command: "~/.claude/bin/codeagent-wrapper --backend <codex|gemini> - \"$PWD\" <<'EOF'
|
||||
ROLE_FILE: <role prompt path>
|
||||
<TASK>
|
||||
Requirement: <enhanced requirement (veya enhance edilmediyse $ARGUMENTS)>
|
||||
@@ -53,7 +53,7 @@ EOF",
|
||||
|
||||
# Session devam ettirme çağrısı
|
||||
Bash({
|
||||
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend <codex|gemini> {{GEMINI_MODEL_FLAG}}resume <SESSION_ID> - \"$PWD\" <<'EOF'
|
||||
command: "~/.claude/bin/codeagent-wrapper --backend <codex|gemini> resume <SESSION_ID> - \"$PWD\" <<'EOF'
|
||||
ROLE_FILE: <role prompt path>
|
||||
<TASK>
|
||||
Requirement: <enhanced requirement (veya enhance edilmediyse $ARGUMENTS)>
|
||||
@@ -68,7 +68,7 @@ EOF",
|
||||
```
|
||||
|
||||
**Model Parametre Notları**:
|
||||
- `{{GEMINI_MODEL_FLAG}}`: `--backend gemini` kullanırken, `--gemini-model gemini-3-pro-preview` ile değiştir (trailing space not edin); codex için boş string kullan
|
||||
- ``: `--backend gemini` kullanırken, `--gemini-model gemini-3-pro-preview` ile değiştir (trailing space not edin); codex için boş string kullan
|
||||
|
||||
**Role Prompts**:
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
```
|
||||
# 新会话调用
|
||||
Bash({
|
||||
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend codex - \"$PWD\" <<'EOF'
|
||||
command: "~/.claude/bin/codeagent-wrapper --backend codex - \"$PWD\" <<'EOF'
|
||||
ROLE_FILE: <角色提示路径>
|
||||
<TASK>
|
||||
需求: <增强后的需求(若未增强则为 $ARGUMENTS)>
|
||||
@@ -50,7 +50,7 @@ EOF",
|
||||
|
||||
# 恢复会话调用
|
||||
Bash({
|
||||
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend codex resume <SESSION_ID> - \"$PWD\" <<'EOF'
|
||||
command: "~/.claude/bin/codeagent-wrapper --backend codex resume <SESSION_ID> - \"$PWD\" <<'EOF'
|
||||
ROLE_FILE: <角色提示路径>
|
||||
<TASK>
|
||||
需求: <增强后的需求(若未增强则为 $ARGUMENTS)>
|
||||
|
||||
@@ -25,7 +25,7 @@ $ARGUMENTS
|
||||
```
|
||||
# 恢复会话调用(推荐)- 实现原型
|
||||
Bash({
|
||||
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend <codex|gemini> {{GEMINI_MODEL_FLAG}}resume <SESSION_ID> - \"$PWD\" <<'EOF'
|
||||
command: "~/.claude/bin/codeagent-wrapper --backend <codex|gemini> resume <SESSION_ID> - \"$PWD\" <<'EOF'
|
||||
ROLE_FILE: <role prompt path>
|
||||
<TASK>
|
||||
Requirement: <task description>
|
||||
@@ -40,7 +40,7 @@ EOF",
|
||||
|
||||
# 新建会话调用 - 实现原型
|
||||
Bash({
|
||||
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend <codex|gemini> {{GEMINI_MODEL_FLAG}}- \"$PWD\" <<'EOF'
|
||||
command: "~/.claude/bin/codeagent-wrapper --backend <codex|gemini> - \"$PWD\" <<'EOF'
|
||||
ROLE_FILE: <role prompt path>
|
||||
<TASK>
|
||||
Requirement: <task description>
|
||||
@@ -58,7 +58,7 @@ EOF",
|
||||
|
||||
```
|
||||
Bash({
|
||||
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend <codex|gemini> {{GEMINI_MODEL_FLAG}}resume <SESSION_ID> - \"$PWD\" <<'EOF'
|
||||
command: "~/.claude/bin/codeagent-wrapper --backend <codex|gemini> resume <SESSION_ID> - \"$PWD\" <<'EOF'
|
||||
ROLE_FILE: <role prompt path>
|
||||
<TASK>
|
||||
Scope: 审计最终的代码变更。
|
||||
@@ -81,7 +81,7 @@ EOF",
|
||||
|
||||
**模型参数说明**:
|
||||
|
||||
* `{{GEMINI_MODEL_FLAG}}`:当使用 `--backend gemini` 时,替换为 `--gemini-model gemini-3-pro-preview`(注意尾随空格);对于 codex 使用空字符串
|
||||
* ``:当使用 `--backend gemini` 时,替换为 `--gemini-model gemini-3-pro-preview`(注意尾随空格);对于 codex 使用空字符串
|
||||
|
||||
**角色提示**:
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
```
|
||||
# 新会话调用
|
||||
Bash({
|
||||
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend gemini --gemini-model gemini-3-pro-preview - \"$PWD\" <<'EOF'
|
||||
command: "~/.claude/bin/codeagent-wrapper --backend gemini --gemini-model gemini-3-pro-preview - \"$PWD\" <<'EOF'
|
||||
ROLE_FILE: <角色提示文件路径>
|
||||
<TASK>
|
||||
需求: <增强后的需求(若未增强则为$ARGUMENTS)>
|
||||
@@ -50,7 +50,7 @@ EOF",
|
||||
|
||||
# 恢复会话调用
|
||||
Bash({
|
||||
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend gemini --gemini-model gemini-3-pro-preview resume <SESSION_ID> - \"$PWD\" <<'EOF'
|
||||
command: "~/.claude/bin/codeagent-wrapper --backend gemini --gemini-model gemini-3-pro-preview resume <SESSION_ID> - \"$PWD\" <<'EOF'
|
||||
ROLE_FILE: <角色提示文件路径>
|
||||
<TASK>
|
||||
需求: <增强后的需求(若未增强则为$ARGUMENTS)>
|
||||
|
||||
@@ -24,7 +24,7 @@ $ARGUMENTS
|
||||
|
||||
```
|
||||
Bash({
|
||||
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend <codex|gemini> {{GEMINI_MODEL_FLAG}}- \"$PWD\" <<'EOF'
|
||||
command: "~/.claude/bin/codeagent-wrapper --backend <codex|gemini> - \"$PWD\" <<'EOF'
|
||||
ROLE_FILE: <role prompt path>
|
||||
<TASK>
|
||||
Requirement: <enhanced requirement>
|
||||
@@ -40,7 +40,7 @@ EOF",
|
||||
|
||||
**模型参数说明**:
|
||||
|
||||
* `{{GEMINI_MODEL_FLAG}}`: 当使用 `--backend gemini` 时,替换为 `--gemini-model gemini-3-pro-preview`(注意尾随空格);对于 codex 使用空字符串
|
||||
* ``: 当使用 `--backend gemini` 时,替换为 `--gemini-model gemini-3-pro-preview`(注意尾随空格);对于 codex 使用空字符串
|
||||
|
||||
**角色提示**:
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
```
|
||||
# 新会话调用
|
||||
Bash({
|
||||
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend <codex|gemini> {{GEMINI_MODEL_FLAG}}- \"$PWD\" <<'EOF'
|
||||
command: "~/.claude/bin/codeagent-wrapper --backend <codex|gemini> - \"$PWD\" <<'EOF'
|
||||
ROLE_FILE: <角色提示文件路径>
|
||||
<TASK>
|
||||
需求: <增强后的需求(如未增强则为$ARGUMENTS)>
|
||||
@@ -54,7 +54,7 @@ EOF",
|
||||
|
||||
# 恢复会话调用
|
||||
Bash({
|
||||
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend <codex|gemini> {{GEMINI_MODEL_FLAG}}resume <SESSION_ID> - \"$PWD\" <<'EOF'
|
||||
command: "~/.claude/bin/codeagent-wrapper --backend <codex|gemini> resume <SESSION_ID> - \"$PWD\" <<'EOF'
|
||||
ROLE_FILE: <角色提示文件路径>
|
||||
<TASK>
|
||||
需求: <增强后的需求(如未增强则为$ARGUMENTS)>
|
||||
@@ -70,7 +70,7 @@ EOF",
|
||||
|
||||
**模型参数说明**:
|
||||
|
||||
* `{{GEMINI_MODEL_FLAG}}`: 当使用 `--backend gemini` 时,替换为 `--gemini-model gemini-3-pro-preview`(注意末尾空格);对于 codex 使用空字符串
|
||||
* ``: 当使用 `--backend gemini` 时,替换为 `--gemini-model gemini-3-pro-preview`(注意末尾空格);对于 codex 使用空字符串
|
||||
|
||||
**角色提示词**:
|
||||
|
||||
|
||||
@@ -0,0 +1,95 @@
|
||||
'use strict';
|
||||
|
||||
// Regression test for #3595: the multi-* commands ship codeagent-wrapper
|
||||
// calls copied from ccg-workflow templates. ccg-workflow's installer
|
||||
// substitutes {{LITE_MODE_FLAG}} and {{GEMINI_MODEL_FLAG}} at install time;
|
||||
// ECC has no such step, so an unrendered token reaches bash as a literal
|
||||
// argument and the wrapper exits 1 on every call.
|
||||
|
||||
const assert = require('assert');
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
const repoRoot = path.resolve(__dirname, '..', '..');
|
||||
const commandsDir = path.join(repoRoot, 'commands');
|
||||
const docsDir = path.join(repoRoot, 'docs');
|
||||
|
||||
const WRAPPER = 'codeagent-wrapper';
|
||||
const TEMPLATE_TOKEN = /\{\{[A-Z0-9_]+\}\}/;
|
||||
|
||||
let passed = 0;
|
||||
let failed = 0;
|
||||
|
||||
function test(name, fn) {
|
||||
try {
|
||||
fn();
|
||||
console.log(` PASS ${name}`);
|
||||
passed++;
|
||||
} catch (error) {
|
||||
console.log(` FAIL ${name}`);
|
||||
console.log(` Error: ${error.message}`);
|
||||
failed++;
|
||||
}
|
||||
}
|
||||
|
||||
function listMultiCommandFiles(dir) {
|
||||
if (!fs.existsSync(dir)) return [];
|
||||
return fs
|
||||
.readdirSync(dir)
|
||||
.filter(fileName => /^multi-.*\.md$/.test(fileName))
|
||||
.map(fileName => path.join(dir, fileName))
|
||||
.sort();
|
||||
}
|
||||
|
||||
function listTranslatedCommandDirs() {
|
||||
return fs
|
||||
.readdirSync(docsDir, { withFileTypes: true })
|
||||
.filter(entry => entry.isDirectory())
|
||||
.map(entry => path.join(docsDir, entry.name, 'commands'))
|
||||
.filter(dir => fs.existsSync(dir));
|
||||
}
|
||||
|
||||
function findWrapperTokenLines(filePath) {
|
||||
const lines = fs.readFileSync(filePath, 'utf8').split(/\r?\n/);
|
||||
const hits = [];
|
||||
lines.forEach((line, index) => {
|
||||
if (line.includes(WRAPPER) && TEMPLATE_TOKEN.test(line)) {
|
||||
hits.push(`${path.relative(repoRoot, filePath)}:${index + 1}`);
|
||||
}
|
||||
});
|
||||
return hits;
|
||||
}
|
||||
|
||||
console.log('\n=== Testing multi-* command wrapper invocations ===\n');
|
||||
|
||||
test('token scanner flags an unrendered ccg-workflow placeholder', () => {
|
||||
const line = '~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend codex - "$PWD"';
|
||||
assert.ok(TEMPLATE_TOKEN.test(line));
|
||||
assert.ok(!TEMPLATE_TOKEN.test('~/.claude/bin/codeagent-wrapper --backend codex - "$PWD"'));
|
||||
});
|
||||
|
||||
test('commands/multi-*.md exist and call codeagent-wrapper', () => {
|
||||
const files = listMultiCommandFiles(commandsDir);
|
||||
assert.ok(files.length >= 5, `expected at least 5 multi-* commands, found ${files.length}`);
|
||||
for (const file of files) {
|
||||
const content = fs.readFileSync(file, 'utf8');
|
||||
assert.ok(content.includes(WRAPPER), `${path.relative(repoRoot, file)} does not call ${WRAPPER}`);
|
||||
}
|
||||
});
|
||||
|
||||
test('commands/multi-*.md pass no {{TEMPLATE}} tokens to codeagent-wrapper', () => {
|
||||
const hits = listMultiCommandFiles(commandsDir).flatMap(findWrapperTokenLines);
|
||||
assert.deepStrictEqual(hits, [], `unrendered template tokens at:\n${hits.join('\n')}`);
|
||||
});
|
||||
|
||||
test('translated docs/*/commands/multi-*.md pass no {{TEMPLATE}} tokens to codeagent-wrapper', () => {
|
||||
const hits = listTranslatedCommandDirs().flatMap(listMultiCommandFiles).flatMap(findWrapperTokenLines);
|
||||
assert.deepStrictEqual(hits, [], `unrendered template tokens at:\n${hits.join('\n')}`);
|
||||
});
|
||||
|
||||
if (failed > 0) {
|
||||
console.log(`\nFailed: ${failed}`);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
console.log(`\nPassed: ${passed}`);
|
||||
Reference in New Issue
Block a user