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
Terry Li
1bdd1030f5
feat: Add sync command for Claude Code personal config ( #123 )
...
* feat: Add sync command for Claude Code personal config
Add `compound-plugin sync` command to sync ~/.claude/ personal config
(skills and MCP servers) to OpenCode or Codex.
Features:
- Parses ~/.claude/skills/ for personal skills (supports symlinks)
- Parses ~/.claude/settings.json for MCP servers
- Syncs skills as symlinks (single source of truth)
- Converts MCP to JSON (OpenCode) or TOML (Codex)
- Dedicated sync functions bypass existing converter architecture
Usage:
compound-plugin sync --target opencode
compound-plugin sync --target codex
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
* fix: address security and quality review issues
Security fixes:
- Add path traversal validation with isValidSkillName()
- Warn when MCP servers contain potential secrets (API keys, tokens)
- Set restrictive file permissions (600) on config files
- Safe forceSymlink refuses to delete real directories
- Proper TOML escaping for quotes/backslashes/control chars
Code quality fixes:
- Extract shared symlink utils to src/utils/symlink.ts
- Replace process.exit(1) with thrown error
- Distinguish ENOENT from other errors in catch blocks
- Remove unused `root` field from ClaudeHomeConfig
- Make Codex sync idempotent (remove+rewrite managed section)
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
* fix: revert version bump (leave to maintainers)
* feat: bump root version to 0.2.0 for sync command
---------
Co-authored-by: Claude <noreply@anthropic.com >
2026-02-08 17:00:48 -06:00
Zac Williams
c69c47fe9b
fix: backup existing config files before overwriting ( #119 )
...
Before writing config.toml (Codex) or opencode.json (OpenCode), the CLI
attempts to create a timestamped backup of any existing config file.
This prevents accidental data loss when users have customized configs.
Backup is best-effort - if it fails (e.g., unusual permissions), the
install continues without blocking.
Backup files are named: config.toml.bak.2026-01-23T21-16-40-065Z
2026-02-08 16:58:51 -06:00
Kieran Klaassen
e97f85bd53
feat: add OpenCode/Codex outputs and update changelog ( #104 )
...
* Add OpenCode converter coverage and specs
* Add Codex target support and spec docs
* Generate Codex command skills and refresh spec docs
* Add global Codex install path
* fix: harden plugin path loading and codex descriptions
* feat: ensure codex agents block on convert/install
* docs: clarify target branch usage for review
* chore: prep npm package metadata and release notes
* docs: mention opencode and codex in changelog
* docs: update CLI usage and remove stale todos
* feat: install from GitHub with global outputs
2026-01-21 19:00:30 -06:00