Commit Graph

443 Commits

Author SHA1 Message Date
Kieran Klaassen
b703976b6d fix(release): align semantic-release config 2026-03-02 21:21:43 -08:00
Kieran Klaassen
ea21196cf1 fix(release): harden semantic-release publishing 2026-03-02 21:17:28 -08:00
Kieran Klaassen
8fd1670ee2 fix(release): automate npm releases from main 2026-03-02 21:14:12 -08:00
Kieran Klaassen
f5e2f257eb ci(release): switch npm publish to trusted publishing 2026-03-02 21:06:02 -08:00
Kieran Klaassen
168c946033 feat(sync): add Claude home sync parity across providers 2026-03-02 21:02:21 -08:00
Kieran Klaassen
1a0ddb9de1 chore: Bump version to 2.38.1 with changelog for #204 fix
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 15:50:45 -08:00
Kieran Klaassen
9a16de4627 fix: Add cross-platform fallback for AskUserQuestion in setup and skill creation workflows
Fixes #204
2026-03-01 15:47:38 -08:00
Kieran Klaassen
87c19f99e6 docs: Add plan files for ce:* rename and setup skill cross-platform fix
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 15:47:28 -08:00
Kieran Klaassen
c8ebc5b2d5 fix: Fix preamble placement and extend to add-workflow.md
- Move Interaction Method preamble to after H1 in create-new-skill.md
  (was incorrectly placed before the # heading)
- Add same preamble to add-workflow.md which also references AskUserQuestion
  in Step 3 without a fallback instruction

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 15:47:04 -08:00
Kieran Klaassen
98e0a169cb fix: Strengthen AskUserQuestion guidance for cross-platform compatibility
- codex-agents.ts: replace vague "ask the user in chat" with structured
  numbered-list instructions for Codex AGENTS.md context
- CLAUDE.md: add AskUserQuestion policy to skill compliance checklist
  to prevent recurrence in future skills

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 15:43:41 -08:00
Kieran Klaassen
465bd3d6bb fix: Add cross-platform fallback preamble to create-new-skill.md
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 15:43:35 -08:00
Kieran Klaassen
a2c4978ace fix: Add cross-platform fallback preamble to setup/SKILL.md
Instructs the LLM to use numbered-list prompts when AskUserQuestion
is unavailable (Codex, Gemini, Copilot, etc.), preventing silent
auto-configuration on non-Claude platforms. Fixes #204.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 15:43:29 -08:00
Kieran Klaassen
0e32da268e feat: Rename workflows:* to ce:* with backwards-compatible deprecation (v2.38.0)
Add ce:plan, ce:work, ce:review, ce:brainstorm, ce:compound as the new
primary commands. Old workflows:* names remain as thin deprecation wrappers
that warn and forward with disable-model-invocation.

Also removes the unused GitHub Pages documentation site.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 15:34:11 -08:00
Kieran Klaassen
5f7428269d chore: Bump version to 2.38.0
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 15:34:04 -08:00
Kieran Klaassen
a84288cf8b chore: Remove GitHub Pages documentation site
The static docs site (index.html, css/, js/, pages/) is unused.
Working directories (plans/, brainstorms/, solutions/, specs/) are kept.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 15:33:24 -08:00
Kieran Klaassen
1514e51a94 feat: Add ce:* command aliases for workflows:* commands
Create commands/ce/ directory with ce:plan, ce:work, ce:review,
ce:brainstorm, and ce:compound as the new primary commands.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 15:32:56 -08:00
Kieran Klaassen
5846cde548 docs: Update documentation to reflect ce:* command rename
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>
2026-03-01 15:26:56 -08:00
Kieran Klaassen
718cbfc73d feat: Update skill references from workflows:* to ce:*
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 15:26:30 -08:00
Kieran Klaassen
01f15fdca9 feat: Update orchestration commands to reference ce:* instead of workflows:*
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 15:26:27 -08:00
Kieran Klaassen
64c9b326a8 feat: Update agent references from workflows:* to ce:*
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 15:26:17 -08:00
Kieran Klaassen
6fdffab0a9 feat: Convert workflows:* commands to deprecation wrappers
Each wrapper forwards to the new ce:* equivalent with a deprecation notice.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 15:26:04 -08:00
Kieran Klaassen
de3d4a99a3 docs: Add #191 CLI changes to plugin changelog (v2.37.2)
Auto-detect install, Gemini sync, and sync --target all default.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-01 15:13:04 -08:00
Kieran Klaassen
e06e5b8c61 feat: auto-detect install targets, Gemini sync, and --target all (v0.12.0)
feat: auto-detect install targets and add Gemini sync
2026-03-01 15:12:26 -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
30837ef2e9 fix: Replace all stale every-marketplace references with compound-engineering-plugin
- CLAUDE.md: update repo name in title, structure diagram, and example install path
- .claude-plugin/marketplace.json: rename marketplace identifier
- docs/solutions/plugin-versioning-requirements.md: fix local file paths
- plugins/compound-engineering/commands/deploy-docs.md: fix GitHub Pages URL
- plans/landing-page-launchkit-refresh.md: fix local file paths

Closes #211. Closed #212 (was inverting the fix).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-01 15:05:14 -08:00
Kieran Klaassen
2e2a58beab docs: Add changelog entry for #213 (.worktrees gitignore)
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-01 15:03:33 -08:00
Kieran Klaassen
15769e2ece chore: Add .worktrees to .gitignore
Add .worktrees to gitignore
2026-03-01 15:03:15 -08:00
Kieran Klaassen
62a66c8f7f docs: Add changelog entry for #214 and bump to v2.37.1
Fix /workflows:review broken markdown rendering (XSAM)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-01 15:03:02 -08:00
Kieran Klaassen
b817b9e3d9 fix(workflows:review): fix formatting issues causing broken rendering
fix(workflows:review): fix formatting issues causing broken rendering
2026-03-01 15:02:33 -08:00
Kieran Klaassen
30d33270b9 feat: Add proof skill and optional Proof sharing in plan/brainstorm workflows (v2.37.0)
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>
2026-03-01 15:02:08 -08:00
Kieran Klaassen
6b46fb2ccf refactor: Make Proof sharing optional in brainstorm and plan workflows
- 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>
2026-03-01 15:01:11 -08:00
Kieran Klaassen
2370da9c3c docs: Add missing contributor mentions to changelogs
- Credit @rburnham52 for resolve-pr-parallel skill name fix (#202)
- Credit @XSAM for changelog link fix (#215)
- Credit @ianguelman for README install command update (#218)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 14:57:50 -08:00
Kieran Klaassen
1ea9806fb6 docs: Update changelogs for all recent merges (no version bump)
CLI CHANGELOG (CHANGELOG.md):
- Add OpenClaw target (#217, TrendpilotAI) to 0.11.0
- Add Qwen Code target (#220, rlam3) to 0.11.0
- Add Fixed section: code injection, plugin.manifest.name, remote MCP, CLI flags

Plugin CHANGELOG (plugins/compound-engineering/CHANGELOG.md):
- Add OpenClaw, Qwen, Windsurf install targets to 2.36.0
- Add Fixed: argument-hint YAML crash (#219, solon)
- Add Fixed: resolve-pr-parallel skill name (underscore → hyphen)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 14:56:03 -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
c55be29de0 Merge pull request #217 from TrendpilotAI/feat/openclaw-target
feat: Add OpenClaw as conversion target
2026-03-01 14:44:24 -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
803b1d662e Merge pull request #218 from ianguelman/main
Update Claude Code install command
2026-03-01 14:43:36 -08:00
Kieran Klaassen
d40b39fa19 Merge pull request #220 from rlam3/main
feat: Add Qwen Code support
2026-03-01 14:42:37 -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
Kieran Klaassen
e2abb3df91 Merge pull request #219 from solon/fix/quote-argument-hint-yaml-values
fix: quote argument-hint values to prevent YAML object parsing
2026-03-01 14:29:15 -08:00
Raymond Lam
e1d5bdedb3 feat: Add Qwen Code support
- Add Qwen Code target for converting Claude Code plugins
- Implement claude-to-qwen converter with agent/command/skill mapping
- Write qwen-extension.json config with MCP servers and settings
- Generate QWEN.md context file with plugin documentation
- Support nested commands with colon separator (workflows:plan)
- Extract MCP environment placeholders as settings
- Add --to qwen and --qwen-home CLI options
- Document Qwen installation in README

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-28 11:51:28 -05:00
Brian Solon
8a530f7e25 fix: quote argument-hint values to prevent YAML object parsing
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
2026-02-27 16:43:51 -05:00
Ian Guelman
c597091849 docs: update Claude Code install command 2026-02-27 13:25:04 -03:00
Ryan Burnham
1107e3dd31 docs: update spec and plan to reflect global_workflows/ directory
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>
2026-02-26 21:02:25 +08:00
Ryan Burnham
e081e32a30 fix: pass scope to writeWindsurfBundle and fix skill name casing
- 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>
2026-02-26 20:29:40 +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
TrendpilotAI
a3701e220d feat: Add OpenClaw as conversion target
Add openclaw as the 8th conversion target, enabling:
  bunx @every-env/compound-plugin install compound-engineering --to openclaw

Converts Claude Code plugins into OpenClaw's extension format:
- Agents → skills/agent-*/SKILL.md
- Commands → api.registerCommand() + skills/cmd-*/SKILL.md
- Skills → copied verbatim with path rewriting (.claude/ → .openclaw/)
- MCP servers → openclaw.json config
- Generates openclaw.plugin.json manifest, package.json, and index.ts entry point

Output installs to ~/.openclaw/extensions/<plugin-name>/

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 02:03:52 -05:00
Kieran Klaassen
9196ed8ad8 Merge pull request #215 from XSAM/fix-changelog
Fix github link in changelog
2026-02-25 10:44:00 -08:00
Sam Xie
03f6ec64b3 Fix github link 2026-02-25 08:56:14 -08:00