Commit Graph

70 Commits

Author SHA1 Message Date
Octopus
e372b43d30 feat(model): add MiniMax provider prefix for cross-platform model normalization (#463) 2026-03-31 00:22:50 -07:00
Trevin Chow
638b38abd2 fix(review): harden ce-review base resolution (#452) 2026-03-30 01:10:45 -07:00
Trevin Chow
f93d10cf60 feat(converters): centralize model field normalization across targets (#442)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 13:08:35 -07:00
Trevin Chow
35678b8add feat(testing): close the testing gap in ce:work, ce:plan, and testing-reviewer (#438)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 13:07:05 -07:00
Trevin Chow
9caaf071d9 feat(review): make review mandatory across pipeline skills (#433)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 20:31:03 -07:00
Trevin Chow
3706a9764b feat(ce-review): add headless mode for programmatic callers (#430)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 16:09:21 -07:00
Trevin Chow
914f9b0d98 feat(ce-review): add base: and plan: arguments, extract scope detection (#405)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 07:59:54 -07:00
Trevin Chow
da390a65a2 refactor: merge deepen-plan into ce:plan as automatic confidence check (#404) 2026-03-26 22:15:58 -07:00
Trevin Chow
b25480af9e fix: sanitize colons in skill/agent names for Windows path compatibility (#398) 2026-03-26 16:15:48 -07:00
Trevin Chow
0877b693ce fix: add strict YAML validation for plugin frontmatter (#399) 2026-03-26 14:07:28 -07:00
Trevin Chow
daddb7d72f fix: consolidate compound-docs into ce-compound skill (#390) 2026-03-26 11:41:19 -07:00
Trevin Chow
e09a7426be feat: add branch-based plugin install for worktree workflows (#395) 2026-03-26 11:01:56 -07:00
thefutureisw0rk
f819e435a5 fix: one-step codex installs by preferring bundled plugins (#383)
Co-authored-by: The Future is Work <future@Thes-Mac-Studio.local>
2026-03-25 21:39:45 -07:00
Trevin Chow
8ebc77b8e6 fix: guard CONTEXTUAL_RISK_FLAGS lookup against prototype pollution (#377) 2026-03-25 14:17:39 -07:00
Trevin Chow
ce9016fac5 feat: integrate orphaned stack-specific reviewers into ce:review (#375) 2026-03-25 13:47:43 -07:00
Trevin Chow
7c5ff445e3 feat: promote ce:review-beta to stable ce:review (#371) 2026-03-24 21:00:38 -07:00
Trevin Chow
2612ed6b3d feat: rationalize todo skill names and optimize skills (#368) 2026-03-24 18:35:09 -07:00
Trevin Chow
65e5621dbe refactor: consolidate todo storage under .context/compound-engineering/todos/ (#361) 2026-03-24 09:54:30 -07:00
Trevin Chow
18d22afde2 feat: redesign document-review skill with persona-based review (#359) 2026-03-24 01:51:22 -07:00
Trevin Chow
e932276866 feat: add ce:review-beta with structured persona pipeline (#348) 2026-03-23 21:49:04 -07:00
Trevin Chow
4087e1df82 feat: fix skill transformation pipeline across all targets (#334) 2026-03-21 19:45:20 -07:00
Trevin Chow
838aeb79d0 fix: add cursor-marketplace as release-please component (#315) 2026-03-18 18:47:00 -07:00
Trevin Chow
4952007cab fix: remove plugin versions from marketplace.json and fix brittle test
- Remove plugin version fields from marketplace.json -- canonical
  versions live in each plugin's plugin.json. Duplicating them created
  drift that release-please couldn't maintain.
- Remove version sync logic from metadata.ts (description sync kept)
- Fix release-preview test to compute expected versions dynamically
  from current manifests instead of hardcoding them
2026-03-18 01:45:49 -07:00
Trevin Chow
754c2a893b fix: stabilize compound-engineering component counts (#299) 2026-03-17 23:46:27 -07:00
Trevin Chow
51f906c9ff fix: enforce release metadata consistency (#297) 2026-03-17 19:17:25 -07:00
Trevin Chow
78971c9027 fix: make GitHub releases canonical for release-please (#295) 2026-03-17 18:40:51 -07:00
Trevin Chow
f47f829d81 feat: migrate repo releases to manual release-please (#293) 2026-03-17 17:58:13 -07:00
Kieran Klaassen
6f561f94b4 fix: harden codex copied skill rewriting (#285) 2026-03-16 21:25:59 -07:00
Kieran Klaassen
82c1fe86df chore: remove deprecated workflows:* skill aliases (#284)
* docs: capture codex skill prompt model

* fix: align codex workflow conversion

* chore: remove deprecated workflows:* skill aliases

The workflows:brainstorm, workflows:plan, workflows:work, workflows:review,
and workflows:compound aliases have been deprecated long enough. Remove them
and update skill counts (46 → 41) across plugin.json, marketplace.json,
README, and CLAUDE.md.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Trevin Chow <trevin@trevinchow.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 23:19:03 -05:00
Sphia Sadek
dfff20e1ad fix(kiro): parse .mcp.json wrapper key and support remote MCP servers (#259)
* fix(kiro): parse .mcp.json wrapper key and support remote MCP servers

* refactor: extract unwrapMcpServers helper to deduplicate parser logic

Address review feedback by extracting the mcpServers unwrap logic
into a shared helper used by both loadMcpServers and loadMcpPaths.
2026-03-16 23:09:07 -05:00
Kieran Klaassen
d2ab6c0768 feat(plugin): release v2.39.0 with community contributions
Bump plugin to 2.39.0 with features from Matt Van Horn (@mvanhorn):
context budget precheck, plan sequence numbers, review serial mode,
agent-browser debugging commands, test-browser port detection, lfg
phase gating, and Context7 API key auth.

Also fixes MCP server merge order so plugin servers correctly
overwrite stale entries during sync.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 17:02:50 -07:00
Kieran Klaassen
c21fbe54e9 Merge pull request #240 from mvanhorn/osc/85-fix-pretooluse-hook-concurrency
fix(hooks): replace sys.exit(2) with non-fatal tool blocking in PreToolUse
2026-03-10 16:45:48 -07:00
Matt Van Horn
598222e11c fix(hooks): wrap PreToolUse handlers in try-catch to prevent parallel tool call crashes
When Claude makes parallel tool calls and a PreToolUse hook command
fails, the thrown error can crash the entire batch, causing API 400
errors. Wrap generated tool.execute.before handlers in try-catch so
failures are logged but non-fatal.

Fixes #85

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 21:44:59 -07:00
Matt Van Horn
1db76800f9 fix(install): merge config instead of overwriting on opencode target
The sync path's mergeJsonConfigAtKey had incoming entries overwriting
existing user entries on conflict. Reverse the spread order so user
config wins, matching the install path's existing behavior.

Also add merge feedback logging and a test for the sync merge path.

Fixes #125

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 21:43:39 -07:00
Kieran Klaassen
4e9899f346 fix(openclaw): emit empty configSchema in plugin manifests
OpenClaw rejects generated plugin manifests that omit configSchema, even for tool plugins with no user configuration. Always emit an empty object schema so converted installs boot cleanly.\n\nAdd converter and writer regression coverage for the manifest shape.\n\nFixes #224
2026-03-03 20:30:27 -08:00
Kieran Klaassen
168c946033 feat(sync): add Claude home sync parity across providers 2026-03-02 21:02:21 -08:00
Kieran Klaassen
15b2296bd8 chore: Resolve conflicts with main, update to v0.12.0
- 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>
2026-03-01 15:12:21 -08:00
Kieran Klaassen
19f581b7af chore: Resolve merge conflict with main (openclaw + qwen + windsurf)
- 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>
2026-03-01 14:53:42 -08:00
Kieran Klaassen
f442409d9f chore: Resolve merge conflict with qwen target
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>
2026-03-01 14:44:18 -08:00
Kieran Klaassen
305fea486f fix: Address review findings in Qwen converter
- 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>
2026-03-01 14:38:42 -08:00
Kieran Klaassen
4b60bcaf6c fix: Address review findings in OpenClaw converter
- 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>
2026-03-01 14:35:31 -08:00
Ryan Burnham
6fe51a0602 feat(windsurf): add Windsurf as converter target with global scope support
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>
2026-02-26 18:36:34 +08:00
Adrian
27319bd85f phase 05: change permissions default to none 2026-02-20 13:31:31 -05:00
Adrian
3914dfdebe phase 04: deep merge opencode json 2026-02-20 13:30:17 -05:00
Adrian
5abddbcbd9 phase 03: write command md files 2026-02-20 13:28:25 -05:00
Adrian
f0b6ce9689 phase 02: convert command to md files 2026-02-20 13:20:48 -05:00
Adrian
da94da90db phase 01: type change for command files 2026-02-20 13:16:02 -05:00
Wilson Tovar
7a41f64f06 test(kiro): add converter and writer tests for Kiro provider 2026-02-17 12:35:23 -08:00
Kieran Klaassen
4f5efbf852 resolve merge conflict: use native Cursor plugin install, add Copilot sync 2026-02-17 10:24:58 -08:00
Eric Zakariasson
7549f38623 Merge branch 'main' into chore/remove-cursor-target-support 2026-02-17 10:07:38 -08:00