social-agent-cli 1.1.2 → 1.1.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/bin/claude-social.sh +78 -0
- package/install.ts +3 -1
- package/package.json +1 -1
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# claude-social: Claude Code'u sosyal medya farkındalıklı modda başlatır
|
|
3
|
+
# Projenin CLAUDE.md'sine social prompt'u ekler, Claude kapanınca kaldırır.
|
|
4
|
+
|
|
5
|
+
PROMPT_FILE="$HOME/.social-agent/social-mode-prompt.md"
|
|
6
|
+
MARKER="<!-- SOCIAL-AGENT-START -->"
|
|
7
|
+
MARKER_END="<!-- SOCIAL-AGENT-END -->"
|
|
8
|
+
CLAUDE_MD="CLAUDE.md"
|
|
9
|
+
|
|
10
|
+
if [[ ! -f "$PROMPT_FILE" ]]; then
|
|
11
|
+
echo "Social Agent kurulu değil. Önce: social-agent setup"
|
|
12
|
+
exit 1
|
|
13
|
+
fi
|
|
14
|
+
|
|
15
|
+
# Disabled flag'ini kaldır
|
|
16
|
+
rm -f "$HOME/.social-agent/.social-disabled"
|
|
17
|
+
|
|
18
|
+
# CLAUDE.md önceden var mıydı?
|
|
19
|
+
CLAUDE_MD_EXISTED=false
|
|
20
|
+
if [[ -f "$CLAUDE_MD" ]]; then
|
|
21
|
+
CLAUDE_MD_EXISTED=true
|
|
22
|
+
fi
|
|
23
|
+
|
|
24
|
+
# Zaten eklenmişse tekrar ekleme
|
|
25
|
+
if grep -q "$MARKER" "$CLAUDE_MD" 2>/dev/null; then
|
|
26
|
+
echo "[social] CLAUDE.md'de social mode zaten aktif."
|
|
27
|
+
else
|
|
28
|
+
SOCIAL_CONTENT=$(cat "$PROMPT_FILE")
|
|
29
|
+
{
|
|
30
|
+
echo ""
|
|
31
|
+
echo "$MARKER"
|
|
32
|
+
echo "$SOCIAL_CONTENT"
|
|
33
|
+
echo ""
|
|
34
|
+
echo "\"social kapat\" denirse bu bloğu CLAUDE.md'den kaldır ve \`touch ~/.social-agent/.social-disabled\` çalıştır."
|
|
35
|
+
echo "\"social aç\" denirse ~/.social-agent/social-mode-prompt.md içeriğini oku ve bu bloğu tekrar ekle."
|
|
36
|
+
echo "$MARKER_END"
|
|
37
|
+
} >> "$CLAUDE_MD"
|
|
38
|
+
echo "[social] CLAUDE.md'ye social mode eklendi."
|
|
39
|
+
fi
|
|
40
|
+
|
|
41
|
+
# Flag'leri parse et
|
|
42
|
+
CLAUDE_ARGS=()
|
|
43
|
+
SKIP_PERMS=false
|
|
44
|
+
|
|
45
|
+
for arg in "$@"; do
|
|
46
|
+
if [[ "$arg" == "-permission" || "$arg" == "--permission" ]]; then
|
|
47
|
+
SKIP_PERMS=true
|
|
48
|
+
else
|
|
49
|
+
CLAUDE_ARGS+=("$arg")
|
|
50
|
+
fi
|
|
51
|
+
done
|
|
52
|
+
|
|
53
|
+
# Claude'u başlat
|
|
54
|
+
if [[ "$SKIP_PERMS" == "true" ]]; then
|
|
55
|
+
claude --dangerously-skip-permissions "${CLAUDE_ARGS[@]}"
|
|
56
|
+
else
|
|
57
|
+
claude "${CLAUDE_ARGS[@]}"
|
|
58
|
+
fi
|
|
59
|
+
EXIT_CODE=$?
|
|
60
|
+
|
|
61
|
+
# Claude kapanınca social bloğu kaldır
|
|
62
|
+
if [[ -f "$CLAUDE_MD" ]]; then
|
|
63
|
+
# macOS sed ile marker arası bloğu sil
|
|
64
|
+
sed -i '' "/$MARKER/,/$MARKER_END/d" "$CLAUDE_MD" 2>/dev/null
|
|
65
|
+
|
|
66
|
+
# Boş satırları temizle
|
|
67
|
+
sed -i '' '/^[[:space:]]*$/{ N; /^\n[[:space:]]*$/d; }' "$CLAUDE_MD" 2>/dev/null
|
|
68
|
+
|
|
69
|
+
# CLAUDE.md biz oluşturduk ve artık boşsa sil
|
|
70
|
+
if [[ "$CLAUDE_MD_EXISTED" == "false" ]]; then
|
|
71
|
+
CONTENT=$(cat "$CLAUDE_MD" 2>/dev/null | tr -d '[:space:]')
|
|
72
|
+
if [[ -z "$CONTENT" ]]; then
|
|
73
|
+
rm -f "$CLAUDE_MD"
|
|
74
|
+
fi
|
|
75
|
+
fi
|
|
76
|
+
fi
|
|
77
|
+
|
|
78
|
+
exit $EXIT_CODE
|
package/install.ts
CHANGED
|
@@ -192,7 +192,9 @@ Bu dosyayı düzenlemek için: ${promptPath}
|
|
|
192
192
|
console.log("\n 6. Claude-Social Alias\n ──────────────────────");
|
|
193
193
|
const shellRc = process.env.SHELL?.includes("zsh") ? join(homedir(), ".zshrc") : join(homedir(), ".bashrc");
|
|
194
194
|
|
|
195
|
-
|
|
195
|
+
// claude-social.sh'ın yolunu bul (global install'da node_modules içinde)
|
|
196
|
+
const socialScript = join(PKG_DIR, "bin", "claude-social.sh");
|
|
197
|
+
const aliasLine = `alias claude-social='${socialScript}'`;
|
|
196
198
|
|
|
197
199
|
const rcContent = existsSync(shellRc) ? readFileSync(shellRc, "utf-8") : "";
|
|
198
200
|
if (rcContent.includes("claude-social")) {
|