Update CHANGELOG, README files, and CLAUDE.md to document
the new ce:* primary commands and deprecation of workflows:*.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- sync.ts: add gemini + all targets, keep copilot, remove cursor (native), use shared hasPotentialSecrets
- install.ts + convert.ts: import both detectInstalledTools and resolveTargetOutputRoot; update --to all block to use new object API; fix resolvedScope ordering (was referencing target before definition)
- CHANGELOG.md: add v0.12.0 entry (auto-detect + Gemini sync)
- README.md: merge all install targets, collapsible output format table, sync defaults to --target all
- package.json: bump to 0.12.0
- sync --target now defaults to "all" when omitted
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Merges feat/proof-integration with conflict resolution:
- proof skill for creating/editing/sharing markdown docs via Proof API
- "Share to Proof" added as opt-in menu option in /workflows:brainstorm Phase 4
- "Share to Proof" added as opt-in menu option in /workflows:plan Post-Generation Options
- Bumped version 2.36.0 → 2.37.0 to avoid conflict with OpenClaw/Qwen/Windsurf release
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Remove automatic Proof upload from /workflows:brainstorm and /workflows:plan
- Add "Share to Proof" as an explicit menu option in each workflow's handoff step
- Default behavior is unchanged: documents are saved to MD files only
- Users can opt in to Proof sharing when they want collaborative review
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Combine windsurf scope support from this branch with openclaw/qwen targets from main
- Update resolve-output.ts utility to handle openclaw/qwen with openclawHome/qwenHome/pluginName
- Add openclawHome/qwenHome args to install.ts and convert.ts
- Register openclaw and qwen in targets/index.ts alongside windsurf
- Add openclaw/qwen coverage to resolve-output.test.ts (4 new tests → 288 total)
- Update README to document all 10 targets including windsurf and openclaw
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Both openclaw (#217) and qwen (#220) modified install.ts and targets/index.ts.
Combined both targets: openclawHome + qwenHome in resolveTargetOutputRoot,
both registered in the targets registry.
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix P1: Remove dead TOOL_MAP constant (defined but never referenced)
- Fix P1: Replace curl fallback for remote MCP servers with warn-and-skip,
matching the kiro pattern — curl is not an MCP server
- Fix P1: Remove incorrect literal cwd field ("${extensionPath}${/}") from
stdio MCP server config; the value was never interpolated
- Fix P1: Fix plugin.name → plugin.manifest.name in generateContextFile
(plugin.name does not exist on ClaudePlugin; produced "# undefined")
- Fix P1: Wire qwenHome through resolveTargetOutputRoot; previously the
--qwen-home CLI flag was parsed but silently discarded
- Fix P1: Remove hardcoded "compound-engineering" from qwen output path;
now uses plugin.manifest.name via new qwenHome + pluginName params
- Fix P1: Collapse dead-code resolveQwenPaths branches (both returned
identical structures; simplify to a single return)
- Fix P3: Remove rewriting of .opencode/ paths to .qwen/ — Claude plugins
do not reference opencode paths, and rewriting them is incorrect
- Fix P3: inferTemperature now returns undefined for unrecognized agents
instead of 0.3 (matching the explicit doc branch), letting the model
use its default temperature
- Fix P2: Add lookbehind guards to rewriteQwenPaths() matching kiro pattern
to avoid rewriting paths inside compound tokens or URLs
- Update --qwen-home default to ~/.qwen/extensions (plugin name appended)
- Add qwen-converter.test.ts with 16 tests covering all scenarios
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix P1: Replace incomplete string escaping in generateEntryPoint with
JSON.stringify() to prevent code injection via command names/descriptions
with backslashes, newlines, or other special characters
- Fix P1: Remove hardcoded 'compound-engineering' output path; resolve
from plugin.manifest.name via new openclawHome + pluginName params
- Fix P2: Add --openclaw-home CLI flag (default: ~/.openclaw/extensions)
consistent with --codex-home and --pi-home patterns
- Fix P2: Emit typed `const skills: Record<string, string> = {}` in
generated TypeScript to prevent downstream type errors
- Fix P3: Add lookbehind guards to rewritePaths() matching kiro pattern
- Fix P3: Extract duplicated disableModelInvocation filter to variable
- Fix P3: Build manifest skills list before constructing manifest object
(no post-construction mutation)
- Export ClaudeToOpenClawOptions type alias for interface clarity
- Add openclaw-converter.test.ts with 13 tests covering all scenarios
Co-Authored-By: Claude <noreply@anthropic.com>
Unquoted bracket syntax in `argument-hint` frontmatter causes YAML to
parse the value as an array/mapping instead of a string literal. This
crashes Claude Code's tab-completion TUI with React error #31 ("Objects
are not valid as a React child") when the renderer tries to display the
hint.
Two commands affected:
- `heal-skill`: `[optional: ...]` parsed as `[{optional: "..."}]`
- `create-agent-skill`: `[skill ...]` parsed as `["skill ..."]`
Fix: wrap values in quotes, consistent with the other 18 commands in the
plugin that already quote their `argument-hint` values.
Ref: https://github.com/anthropics/claude-code/issues/29422
Updated docs/specs/windsurf.md and the plan to accurately document
that global scope workflows go in global_workflows/ while workspace
scope workflows go in workflows/.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix resolve-pr-parallel SKILL.md name from underscores to hyphens
(must match directory name per Windsurf spec)
- Add scope parameter to TargetHandler.write signature
- Pass resolvedScope through to writer in convert.ts and install.ts
- Windsurf writer uses global_workflows/ for global scope, workflows/
for workspace scope
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add `--to windsurf` target for the converter CLI with full spec compliance
per docs/specs/windsurf.md:
- Claude agents → Windsurf skills (skills/{name}/SKILL.md)
- Claude commands → Windsurf workflows (workflows/{name}.md, flat)
- Pass-through skills copy unchanged
- MCP servers → mcp_config.json (merged with existing, 0o600 permissions)
- Hooks skipped with warning, CLAUDE.md skipped
Global scope support via generic --scope flag (Windsurf as first adopter):
- --to windsurf defaults to global (~/.codeium/windsurf/)
- --scope workspace for project-level .windsurf/ output
- --output overrides scope-derived paths
Shared utilities extracted (resolveTargetOutputRoot, hasPotentialSecrets)
to eliminate duplication across CLI commands.
68 new tests (converter, writer, scope resolution).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add proof skill for collaborative document editing via Proof's web API
and local bridge. Integrate Proof uploads into brainstorm and plan
workflows so outputs get a shareable URL automatically.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Reports and decisions are implementation artifacts that don't need to
persist in the repository. Plans in docs/plans/ are retained as living
documents that track implementation progress.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Strengthen brainstorm intake: thorough read, carry ALL content, reference source inline
- Add origin: frontmatter field to all three plan templates (MINIMAL, MORE, A LOT)
- Rename References to Sources sections, add brainstorm as first entry
- Add brainstorm cross-check checklist in final review step
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>