Commit Graph

238 Commits

Author SHA1 Message Date
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
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
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
Kieran Klaassen
63e76cf67f release: v0.9.1 — remove reports and decisions docs
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 16:18:24 -08:00
Kieran Klaassen
1aed2353e2 Remove docs/reports and docs/decisions directories, keep only plans
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>
2026-02-20 16:08:36 -08:00
Kieran Klaassen
005b5ce2a1 Merge pull request #201 from 0ut5ider/feature/opencode-commands-md-merge-permissions
Feature/opencode commands md merge permissions
2026-02-20 16:07:41 -08:00
Adrian
e900853604 docs: plan amendment for opencode-commands-md-merge
Why: All phases implemented as planned, no deviations. Recording
the amendment for completeness.
2026-02-20 15:37:36 -05:00
Kieran Klaassen
2f05f215b3 release: v2.35.2 — brainstorm-to-plan traceability
- 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>
2026-02-20 10:46:33 -08:00
Adrian
4db39f8b42 verification: opencode-command-md-merge 2026-02-20 13:34:49 -05:00
Adrian
06d4aea70c phase 06: update documentation 2026-02-20 13:32:52 -05: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
Adrian
d83c1a29c3 docs: ADR 0001-0003 — OpenCode commands, config merge, permissions default
Why: Architectural decisions recorded during planning phase.
See docs/plans/feature_opencode-commands_as_md_and_config_merge.md for full context.
2026-02-20 13:13:36 -05:00
Kieran Klaassen
174cd4cff4 release: v2.35.1 — add system-wide test check to /workflows:work
- Add System-Wide Test Check to work command task execution loop (5 questions: callbacks, real chain coverage, orphaned state, API parity, error alignment)
- Add integration test guidance to Test Continuously section
- Add System-Wide Impact sections to plan templates (MORE + A LOT)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 21:50:56 -08:00
Kieran Klaassen
d53ef1e837 Merge pull request #197 from zbeyens/fix/feature-video-public-url-verification
feature-video: remove hardcoded R2 URL and require public URL verification
2026-02-18 20:08:18 -08:00
zbeyens
c2c211107f docs(feature-video): remove hardcoded R2 URL and require 200 check 2026-02-18 17:28:50 +01:00
Kieran Klaassen
e84075660a release: v0.9.0 — add Kiro CLI target provider
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 12:37:33 -08:00
Kieran Klaassen
0099e2559a Merge PR #196: feat(kiro): add Kiro CLI as 8th --to target provider 2026-02-17 12:36:21 -08:00
Wilson Tovar
a77eacb856 docs(kiro): add Kiro format spec and update README with Kiro provider 2026-02-17 12:35:47 -08:00
Wilson Tovar
7a41f64f06 test(kiro): add converter and writer tests for Kiro provider 2026-02-17 12:35:23 -08:00
Wilson Tovar
ee76195daf feat(kiro): add Kiro CLI target provider types, converter, writer, and CLI registration 2026-02-17 12:35:23 -08:00
Kieran Klaassen
d314d7fa2a fix: resolve first-run workflow failures (2.35.0)
- fix(lfg, slfg): make ralph-loop step optional — graceful fallback
  when ralph-wiggum skill not installed (#154); add explicit
  "do not stop" instruction across all pipeline steps (#134)
- fix(plan): add mandatory "Write Plan File" step with explicit Write
  tool instructions before post-generation options — plan always
  written to disk even in LFG/SLFG pipeline context (#155, #134)
- fix(plan): use full qualified agent name for spec-flow-analyzer
  to prevent Claude prepending wrong 'workflows:' prefix (#193)

Closes #154, #155, #193
Contributing to #134

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 10:42:42 -08:00
Kieran Klaassen
e1906592cb chore: bump version to 0.8.0, update CHANGELOG 2026-02-17 10:27:37 -08:00
Kieran Klaassen
83277feee8 fix: remove deleted cursor sync/converter imports after native plugin migration 2026-02-17 10:26:36 -08:00
Kieran Klaassen
4f5efbf852 resolve merge conflict: use native Cursor plugin install, add Copilot sync 2026-02-17 10:24:58 -08:00
Kieran Klaassen
a7b76a059c Add Cursor Plugin metadata
Add Cursor Plugin metadata
2026-02-17 10:23:26 -08:00
Eric Zakariasson
7549f38623 Merge branch 'main' into chore/remove-cursor-target-support 2026-02-17 10:07:38 -08:00
Brayan Jules
dbb25c63dd fix: Preserve command namespace in Copilot skill names
Stop stripping namespace prefixes when converting commands to Copilot
skills. `workflows:plan` now becomes `workflows-plan` instead of just
`plan`, avoiding clashes with Copilot's own features in the chat UI.

Also updates slash command references in body text to match:
`/workflows:plan` → `/workflows-plan`.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 02:05:37 -03:00
Brayan Jules
7055df5d8e fix: Route copilot install to .github/ instead of opencode default
Add copilot case to resolveTargetOutputRoot so `install --to copilot`
writes to .github/ in the current directory instead of falling through
to the opencode default (~/.config/opencode).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 01:44:44 -03:00
Brayan Jules
5d984ab2da fix: Add missing closing brace for copilot target entry
The copilot entry in the targets record was missing its closing `},`
after merging with the gemini target branch, causing a parse error.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 01:41:57 -03:00
Brayan Jules
a21bc5844d Merge branch 'main' into feat/copilot-converter-target 2026-02-15 09:25:05 -03:00
Kieran Klaassen
1a3e8e2b58 release: v0.7.0 / plugin v2.34.0 — add Gemini CLI target
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 20:50:46 -08:00
Kieran Klaassen
bbe4dfadc9 Merge pull request #190 from EveryInc/feat/gemini-target
feat: add Gemini CLI as sixth target provider
2026-02-14 22:49:35 -06:00
Kieran Klaassen
fb6a2a3d11 chore: add todos/ to .gitignore
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 20:49:05 -08:00
Kieran Klaassen
3e1d62d4c4 chore: remove todos from git tracking
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 20:48:46 -08:00
Kieran Klaassen
552ebceb0b chore: mark review todos as complete
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 20:46:53 -08:00
Kieran Klaassen
d487915f0f fix: address code review findings for gemini target
- Extract named GeminiMcpServer type (eliminates NonNullable indexing)
- Deep-merge mcpServers in settings.json (preserves existing entries)
- Warn when existing settings.json cannot be parsed
- Add test for uniqueName dedup (agent/skill name collision)
- Add test for TOML triple-quote escaping

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 20:46:31 -08:00
Kieran Klaassen
e113d20126 docs: mark gemini target plan as completed
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 20:35:09 -08:00
Kieran Klaassen
8351851a13 docs: add Gemini CLI spec and update README with gemini target
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 20:34:31 -08:00
Kieran Klaassen
201ad6d0fb feat(gemini): add Gemini CLI as sixth target provider
Add `--to gemini` support for both `convert` and `install` commands,
converting Claude Code plugins into Gemini CLI-compatible format.

- Agents convert to `.gemini/skills/*/SKILL.md` with description frontmatter
- Commands convert to `.gemini/commands/*.toml` with TOML prompt format
- Namespaced commands create directory structure (workflows:plan -> workflows/plan.toml)
- Skills pass through unchanged (identical SKILL.md standard)
- MCP servers written to `.gemini/settings.json` with merge support
- Content transforms: .claude/ paths, Task calls, @agent references
- Hooks emit warning (different format in Gemini)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 20:33:21 -08:00
Brayan Jules
4f7c598f27 feat: Add GitHub Copilot converter target
Add Copilot as the 6th converter target, transforming Claude Code plugins
into Copilot's native format: custom agents (.agent.md), agent skills
(SKILL.md), and MCP server configuration JSON.

Component mapping:
- Agents → .github/agents/{name}.agent.md (with Copilot frontmatter)
- Commands → .github/skills/{name}/SKILL.md
- Skills → .github/skills/{name}/ (copied as-is)
- MCP servers → .github/copilot-mcp-config.json
- Hooks → skipped with warning

Also adds `compound sync copilot` support and fixes YAML quoting for
the `*` character in frontmatter serialization.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 00:14:40 -03:00
Kieran Klaassen
134a994c08 [2.33.1] Add status frontmatter to plan templates
- Plan templates now include `status: active` in YAML frontmatter
- /workflows:work updates plan status to `completed` after shipping
- Agents can grep frontmatter to distinguish current vs historical plans

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 09:54:42 -08:00
ericzakariasson
e469ab0cc0 Remove cursor target and add plugin metadata 2026-02-13 12:14:48 -05:00
Kieran Klaassen
b42163f1c0 Add CLI changelog with 0.6.0 release notes
Credits contributors @gvkhosla (Pi target) and @waltbeaman (model alias fix).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 20:38:22 -08:00
Kieran Klaassen
e41904a569 Add droid and cursor sync targets, extract shared path helpers
- Add sync --target droid (skills to ~/.factory/skills/)
- Add sync --target cursor (skills + MCP to .cursor/)
- Extract expandHome/resolveTargetHome to src/utils/resolve-home.ts
- Remove duplicated path helpers from convert.ts and install.ts
- Bump version to 0.6.0

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 20:37:25 -08:00
Kieran Klaassen
84af459c79 Merge pull request #182 from waltbeaman/fix/bare-model-alias-resolution
Fix bare Claude model alias resolution in OpenCode converter
2026-02-12 22:05:20 -06:00