@hoverlover/cc-discord 0.2.3 → 0.2.4

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hoverlover/cc-discord",
3
- "version": "0.2.3",
3
+ "version": "0.2.4",
4
4
  "description": "Discord <-> Claude Code relay: use your Claude subscription to power per-channel AI bots",
5
5
  "type": "module",
6
6
  "bin": {
@@ -88,38 +88,8 @@ export AGENT_ID="$CHANNEL_ID"
88
88
  export CLAUDE_AGENT_ID="${CLAUDE_AGENT_ID:-claude-discord}"
89
89
  export CLAUDE_RUNTIME_ID="${CLAUDE_RUNTIME_ID:-rt_$(date +%s)_${RANDOM}}"
90
90
 
91
- # Determine Claude's project directory (where .claude/skills/ are discovered).
92
- # - CC_DISCORD_HOME overrides everything
93
- # - If cwd has a .claude/ directory (local dev / bun start from repo), use cwd
94
- # - Otherwise default to ~/.cc-discord (bunx / installed package)
95
- if [ -n "${CC_DISCORD_HOME:-}" ]; then
96
- CLAUDE_PROJECT_DIR="$CC_DISCORD_HOME"
97
- elif [ -d ".claude" ]; then
98
- CLAUDE_PROJECT_DIR="$(pwd)"
99
- else
100
- CLAUDE_PROJECT_DIR="$HOME/.cc-discord"
101
- fi
102
-
103
- mkdir -p "$CLAUDE_PROJECT_DIR/.claude/skills"
104
-
105
- # Seed built-in skills from the package into the project directory.
106
- # Only copies skills that don't already exist (user modifications are preserved).
107
- if [ -d "$ROOT_DIR/.claude/skills" ] && [ "$ROOT_DIR" != "$CLAUDE_PROJECT_DIR" ]; then
108
- for skill_dir in "$ROOT_DIR/.claude/skills"/*/; do
109
- skill_name="$(basename "$skill_dir")"
110
- if [ ! -d "$CLAUDE_PROJECT_DIR/.claude/skills/$skill_name" ]; then
111
- cp -r "$skill_dir" "$CLAUDE_PROJECT_DIR/.claude/skills/$skill_name"
112
- echo "[channel-agent:$CHANNEL_NAME] Seeded skill: $skill_name"
113
- fi
114
- done
115
- fi
116
-
117
- # Copy settings.json into the project dir so Claude sees it as a project config.
118
- if [ "$ROOT_DIR" != "$CLAUDE_PROJECT_DIR" ] && [ -f "$SETTINGS_PATH" ]; then
119
- mkdir -p "$CLAUDE_PROJECT_DIR/.claude"
120
- cp "$SETTINGS_PATH" "$CLAUDE_PROJECT_DIR/.claude/settings.json"
121
- fi
122
-
91
+ # Project directory inherited from start.sh, or derived here for standalone use.
92
+ CLAUDE_PROJECT_DIR="${CC_DISCORD_HOME:-$HOME/.cc-discord}"
123
93
  cd "$CLAUDE_PROJECT_DIR"
124
94
  echo "[channel-agent:$CHANNEL_NAME] Claude project dir: $CLAUDE_PROJECT_DIR"
125
95
 
package/scripts/start.sh CHANGED
@@ -69,6 +69,30 @@ if $log_setup; then
69
69
  echo "[start] Edit .env.relay and .env.worker in that directory, then restart."
70
70
  fi
71
71
 
72
+ # Project directory for Claude (skills, settings). Exported for channel-agent.sh.
73
+ export CC_DISCORD_HOME="${CC_DISCORD_HOME:-$HOME/.cc-discord}"
74
+ mkdir -p "$CC_DISCORD_HOME/.claude/skills"
75
+
76
+ # Seed built-in skills from the package into the project directory.
77
+ if [ -d "$ROOT_DIR/.claude/skills" ] && [ "$ROOT_DIR" != "$CC_DISCORD_HOME" ]; then
78
+ for skill_dir in "$ROOT_DIR/.claude/skills"/*/; do
79
+ [ -d "$skill_dir" ] || continue
80
+ skill_name="$(basename "$skill_dir")"
81
+ if [ ! -d "$CC_DISCORD_HOME/.claude/skills/$skill_name" ]; then
82
+ cp -r "$skill_dir" "$CC_DISCORD_HOME/.claude/skills/$skill_name"
83
+ echo "[start] Seeded skill: $skill_name"
84
+ fi
85
+ done
86
+ fi
87
+
88
+ # Seed settings.json so Claude sees project config.
89
+ if [ "$ROOT_DIR" != "$CC_DISCORD_HOME" ] && [ -f "$ROOT_DIR/.claude/settings.template.json" ]; then
90
+ bash "$ROOT_DIR/scripts/generate-settings.sh"
91
+ if [ -f "$ROOT_DIR/.claude/settings.json" ]; then
92
+ cp "$ROOT_DIR/.claude/settings.json" "$CC_DISCORD_HOME/.claude/settings.json"
93
+ fi
94
+ fi
95
+
72
96
  # Log directory (shared with orchestrator and channel agents)
73
97
  export CC_DISCORD_LOG_DIR="${CC_DISCORD_LOG_DIR:-/tmp/cc-discord/logs}"
74
98
  mkdir -p "$CC_DISCORD_LOG_DIR"