@guanmu/ccprofile 0.1.18 → 0.1.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +56 -29
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -636,12 +636,16 @@ async function interactiveMode() {
636
636
  const action = await p.select({
637
637
  message: "Choose action:",
638
638
  options: [
639
- { value: "install", label: "Install", hint: "Apply to current project" },
640
- { value: "add", label: "Add plugin", hint: "Search and add plugins" },
641
- { value: "remove", label: "Remove plugin", hint: "Remove a plugin" },
642
- { value: "search", label: "Search marketplace", hint: "Find new plugins" },
639
+ { value: "install", label: "Install", hint: "Install all plugins from profile" },
640
+ { value: "add", label: "Add plugin", hint: "Add a plugin to profile" },
641
+ { value: "remove", label: "Remove plugin", hint: "Remove a plugin from profile" },
642
+ { value: "list", label: "List plugins", hint: "List plugins in current profile" },
643
+ { value: "search", label: "Search marketplace", hint: "Search plugins in marketplaces" },
644
+ { value: "init", label: "Init project", hint: "Create .ccx.json for this project" },
645
+ { value: "sync", label: "Sync project", hint: "Sync .claude/plugins/ to .ccx.json" },
646
+ { value: "save", label: "Save as profile", hint: "Save .ccx.json plugins to a profile" },
643
647
  { value: "switch", label: "Switch profile", hint: "Choose a different profile" },
644
- { value: "delete", label: "Delete profile", hint: "Remove this profile" },
648
+ { value: "delete", label: "Delete profile", hint: "Delete this profile" },
645
649
  { value: "exit", label: "Exit" },
646
650
  ],
647
651
  });
@@ -660,6 +664,9 @@ async function interactiveMode() {
660
664
  case "remove":
661
665
  await removePlugin(currentProfile);
662
666
  break;
667
+ case "list":
668
+ await listPlugins(currentProfile);
669
+ break;
663
670
  case "search": {
664
671
  const found = await browsePlugins(currentProfile);
665
672
  if (found.length > 0) {
@@ -670,6 +677,15 @@ async function interactiveMode() {
670
677
  }
671
678
  break;
672
679
  }
680
+ case "init":
681
+ await initProjectConfig();
682
+ break;
683
+ case "sync":
684
+ syncProjectConfig();
685
+ break;
686
+ case "save":
687
+ await saveToProfile();
688
+ break;
673
689
  case "switch":
674
690
  stayInProfile = false;
675
691
  break;
@@ -684,33 +700,44 @@ async function interactiveMode() {
684
700
  p.outro("Done.");
685
701
  }
686
702
  function printHelp() {
703
+ const require = createRequire(import.meta.url);
704
+ const pkg = require("../package.json");
687
705
  console.log(`${renderLogo()}
706
+ ${pc.bold("ccx")} ${pc.dim("- Agent Profile Manager for Claude Code")} ${pc.gray(`v${pkg.version}`)}
707
+
708
+ ${pc.bold("Usage:")}
709
+ ${pc.cyan("ccx")} Interactive mode (TTY)
710
+ ${pc.cyan("ccx ui")} Interactive mode (TTY)
711
+
712
+ ${pc.bold("Project:")}
713
+ ${pc.cyan("ccx init")} Create .ccx.json for current project
714
+ ${pc.cyan("ccx sync")} Sync installed plugins to .ccx.json
715
+ ${pc.cyan("ccx install")} Install plugins from .ccx.json
716
+ ${pc.cyan("ccx save")} ${pc.dim("[name]")} Save .ccx.json as a reusable profile
717
+
718
+ ${pc.bold("Profiles:")}
719
+ ${pc.cyan("ccx create")} ${pc.dim("<name>")} Create a new profile
720
+ ${pc.cyan("ccx delete")} ${pc.dim("<name>")} Delete a profile
721
+ ${pc.cyan("ccx profiles")} List all profiles
722
+
723
+ ${pc.bold("Plugins:")}
724
+ ${pc.cyan("ccx install")} ${pc.dim("<profile>")} Install all plugins from a profile
725
+ ${pc.cyan("ccx add")} ${pc.dim("<profile> <plugin>")} Add a plugin to a profile
726
+ ${pc.cyan("ccx remove")} ${pc.dim("<profile> <plugin>")} Remove a plugin from a profile
727
+ ${pc.cyan("ccx list")} ${pc.dim("<profile>")} List plugins in a profile
728
+ ${pc.cyan("ccx search")} ${pc.dim("<keyword>")} Search plugins in marketplaces
688
729
 
689
- ccx - Agent Profile Manager for Claude Code
730
+ ${pc.bold("Options:")}
731
+ ${pc.cyan("ccx -v, --version")} Show version
690
732
 
691
- Usage:
692
- ccx Interactive mode (TTY only)
693
- ccx ui Interactive mode (TTY only)
694
- ccx init Create .ccx.json for current project
695
- ccx sync Sync installed plugins to .ccx.json
696
- ccx save [name] Save .ccx.json plugins as a profile
697
- ccx install Install plugins from .ccx.json
698
- ccx install <profile> Install all plugins from profile
699
- ccx create <name> Create a new profile
700
- ccx delete <name> Remove a profile
701
- ccx profiles List all profiles
702
- ccx add <profile> <plugin> Add plugin to profile
703
- ccx remove <profile> <plugin> Remove plugin from profile
704
- ccx list <profile> List plugins in profile
705
- ccx search <keyword> Search plugins in marketplaces
706
- ccx <profile> Install all plugins from profile
707
- ccx <profile> add [plugin] Add plugin to profile (legacy)
708
- ccx <profile> remove [plugin] Remove plugin from profile (legacy)
709
- ccx <profile> list List plugins in profile (legacy)
710
- ccx add <name> Create a new profile (legacy)
711
- ccx remove <name> Remove a profile (legacy)
712
- ccx list List all profiles (legacy)
713
- ccx -v, --version Show version`);
733
+ ${pc.dim("Legacy:")}
734
+ ${pc.dim("ccx <profile>")} ${pc.dim("Same as ccx install <profile>")}
735
+ ${pc.dim("ccx <profile> add [plugin]")} ${pc.dim("Same as ccx add <profile> <plugin>")}
736
+ ${pc.dim("ccx <profile> remove [plugin]")} ${pc.dim("Same as ccx remove <profile> <plugin>")}
737
+ ${pc.dim("ccx <profile> list")} ${pc.dim("Same as ccx list <profile>")}
738
+ ${pc.dim("ccx add <name>")} ${pc.dim("Same as ccx create <name>")}
739
+ ${pc.dim("ccx remove <name>")} ${pc.dim("Same as ccx delete <name>")}
740
+ ${pc.dim("ccx list")} ${pc.dim("Same as ccx profiles")}`);
714
741
  }
715
742
  // ── Main ──────────────────────────────────────────────────
716
743
  async function main(args) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@guanmu/ccprofile",
3
- "version": "0.1.18",
3
+ "version": "0.1.19",
4
4
  "description": "Agent Profile Manager for Claude Code",
5
5
  "type": "module",
6
6
  "bin": {