Windows cmd.exe truncates multi-line -p args at first newline when
routed through npm .cmd wrappers. Switch to stdin pipe on Windows
so Gemini receives the full task content.
- executor.go: detect isWindows(), use stdin pipe instead of -p
- backend.go: omit -p flag when targetArg is empty (stdin pipe mode)
- main.go: align display logic with new stdin pipe path
- backend_test.go: add tests for empty targetArg behavior
- Binary version: 5.9.0 → 5.10.0
- fix: update no longer resets mcpProvider to 'skip' — reads from existing config (#124)
- feat: init Step 4/4 adds confirm for Impeccable frontend tools, default OFF (#125)
- feat: add X (Twitter) @CCG_Workflow badge + demo tweet link to README
- chore: bump version to 2.1.11
Skill Registry's generateCommandContent() produced command files without
YAML frontmatter, causing Claude Code's command parser to fail on the
entire commands directory — breaking all /ccg:* and project-level commands.
Allow users to choose which model (Gemini/Codex) handles frontend and
backend tasks during init (Step 2/4) and via menu option 6. Gemini model
name is also configurable (e.g. gemini-2.5-flash). All 21 command
templates updated from hardcoded model names to template variables.
Root cause: Gemini CLI prepends MCP warning text to init event line,
causing JSON parse failure and losing session_id.
Fix: extract JSON from first '{' when initial parse fails.
All templates restored to `resume <SESSION_ID>` for both Codex and
Gemini, supporting parallel multi-session workflows.
New: spec-impl cross-phase session reuse (prototype → review).
Gemini CLI stream-json does not output session_id in events,
so the wrapper cannot capture it. All templates now use
`resume latest` for Gemini (Codex still uses `resume <SESSION_ID>`).
Affected templates: frontend, workflow, execute, feat, plan, codex-exec
- Output Session-ID to stderr immediately when backend reports
session_started, so Claude can capture it even if task times out
- Fix Command: display line to show actual task text instead of
misleading -p - for Gemini backend (geminiDirect logic)
- Bump codeagent-wrapper 5.8.0 → 5.9.0
- Bump EXPECTED_BINARY_VERSION to 5.9.0
- Fix permission pattern: Bash(codeagent-wrapper*) → Bash(*codeagent-wrapper*)
- Fix spec-init <<< here-string triggering Claude Code security check
- Unify all platforms to use permissions.allow (remove Hook + jq dependency)
- Auto-migrate: clean up old Hook and old permission entries on upgrade
- Fix TS2345 in installer-mcp.ts by narrowing serverConfig to McpServerConfig
- Add pnpm typecheck + pnpm test as required pre-release checks in CLAUDE.md
The skill runner path was still pointing to ~/.claude/skills/run_skill.js
instead of ~/.claude/skills/ccg/run_skill.js after the v1.7.75 namespace
migration, causing quality gate invocations to fail.
- Windows: auto-approve codeagent-wrapper via permissions.allow
(Hook depends on jq/grep/true which don't exist on Windows)
- macOS/Linux: keep existing Hook approach (works fine)
- Auto-migrate: remove old Hook on Windows upgrade
- Skip jq check on Windows (not needed with permissions.allow)
- Set cmd.Dir=$HOME for Gemini backend to prevent project .env from
overriding global API keys (gemini-cli#2493)
- Pass project directory via --include-directories flag instead
- Fix pre-existing Codex test env var name (CODEX_REQUIRE_APPROVAL)
- Cross-compile 6 platform binaries with -s -w strip flags
- Add language selection on first install (zh-CN / English)
- Full i18n for init.ts, menu.ts, update.ts, cli-setup.ts
- Expand i18n/index.ts to 800+ lines with complete zh-CN/en translations
- Auto-install codeagent-wrapper PreToolUse hook in settings.json
- Detect jq availability and show install instructions if missing
- Rewrite README.md in English, move Chinese to README.zh-CN.md
- Add FAQ section with hook configuration guide
- Bump version to 1.7.69