git_worktree_manager/operations/setup_claude/
paths.rs1use std::path::{Path, PathBuf};
7
8pub const MARKETPLACE_NAME: &str = "gw-local";
9pub const PLUGIN_NAME: &str = "gw";
10pub const PLUGIN_SLUG: &str = "gw@gw-local";
11
12const APP_DIR: &str = "git-worktree-manager";
13const MARKETPLACE_SUBDIR: &str = "claude-marketplace";
14const PLUGIN_SUBDIR: &str = "gw-plugin";
15const SENTINEL_FILE: &str = ".gw-managed";
16
17pub fn marketplace_root_under(data_local: &Path) -> PathBuf {
18 data_local.join(APP_DIR).join(MARKETPLACE_SUBDIR)
19}
20
21pub fn marketplace_manifest_under(data_local: &Path) -> PathBuf {
22 marketplace_root_under(data_local)
23 .join(".claude-plugin")
24 .join("marketplace.json")
25}
26
27pub fn plugin_root_under(data_local: &Path) -> PathBuf {
28 marketplace_root_under(data_local).join(PLUGIN_SUBDIR)
29}
30
31pub fn plugin_manifest_under(data_local: &Path) -> PathBuf {
32 plugin_root_under(data_local)
33 .join(".claude-plugin")
34 .join("plugin.json")
35}
36
37pub fn command_gw_under(data_local: &Path) -> PathBuf {
38 plugin_root_under(data_local).join("commands").join("gw.md")
39}
40
41pub fn skill_delegate_under(data_local: &Path) -> PathBuf {
42 plugin_root_under(data_local)
43 .join("skills")
44 .join("delegate")
45 .join("SKILL.md")
46}
47
48pub fn skill_manage_under(data_local: &Path) -> PathBuf {
49 plugin_root_under(data_local)
50 .join("skills")
51 .join("manage")
52 .join("SKILL.md")
53}
54
55pub fn skill_manage_reference_under(data_local: &Path) -> PathBuf {
56 plugin_root_under(data_local)
57 .join("skills")
58 .join("manage")
59 .join("references")
60 .join("gw-commands.md")
61}
62
63pub fn sentinel_under(data_local: &Path) -> PathBuf {
64 marketplace_root_under(data_local).join(SENTINEL_FILE)
65}
66
67pub fn installed_plugins_json_under(home: &Path) -> PathBuf {
70 home.join(".claude")
71 .join("plugins")
72 .join("installed_plugins.json")
73}