@tyhld/conductor 0.11.12 → 0.11.14
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 +1 -1
- package/sales-template/install.sh +98 -9
package/package.json
CHANGED
|
@@ -840,13 +840,102 @@ else
|
|
|
840
840
|
fi
|
|
841
841
|
|
|
842
842
|
# ═════════════════════════════════════════════════════════════════════════════
|
|
843
|
-
# ⑫
|
|
843
|
+
# ⑫ 職人を呼ぶ合言葉(kc)を用意する
|
|
844
|
+
#
|
|
845
|
+
# 【なぜ要るか(実機 2026-09-08)】
|
|
846
|
+
# 職人を tmux で立ち上げるとき、★作業部屋(tmux セッション)の名前が現場名と違うと
|
|
847
|
+
# 指示の配達係(relay)がその部屋を見つけられず、指示は永遠に「待っています」のまま
|
|
848
|
+
# 止まる。実際 `cc2` という名前で立てて流れなかった。
|
|
849
|
+
# =お客さまに tmux の3行を手で打ってもらう限り、同じ事故がいつでも起きる。
|
|
850
|
+
# だから「kc <現場名>」の1語にまとめ、名前を間違えようがない形にする。
|
|
851
|
+
#
|
|
852
|
+
# 【この中身は手で書いたものではない】
|
|
853
|
+
# Fshima の ~/.bashrc に入れて、ai-saku と migakia の2現場で実際に動かして
|
|
854
|
+
# 確かめた現物をそのまま移す。★作り直さない・引数を増やさない。
|
|
855
|
+
#
|
|
856
|
+
# 【壊さないための決め】
|
|
857
|
+
# ・~/.bashrc は【追記だけ】。既存の行は1つも書き換えない。
|
|
858
|
+
# ・既に kc が定義されていれば何もしない(何度打っても二重にならない=冪等)。
|
|
859
|
+
# ・同じ名前の部屋が既にあれば【入るだけ】。動いている職人を作り直さない。
|
|
860
|
+
# ═════════════════════════════════════════════════════════════════════════════
|
|
861
|
+
|
|
862
|
+
step '⑫ 職人を呼ぶ合言葉(kc)を用意する'
|
|
863
|
+
|
|
864
|
+
BASHRC="$HOME/.bashrc"
|
|
865
|
+
|
|
866
|
+
# 既に kc が定義されているか(手で入れたものも含めて見る)。
|
|
867
|
+
# ★ここを「采配くんが書いた印」で見ると、手で入れた人の分と二重になる。定義そのものを見る。
|
|
868
|
+
kc_defined() {
|
|
869
|
+
[[ -f "$BASHRC" ]] && grep -qE '^[[:space:]]*kc\(\)[[:space:]]*\{' "$BASHRC"
|
|
870
|
+
}
|
|
871
|
+
|
|
872
|
+
if kc_defined; then
|
|
873
|
+
skip '合言葉(kc)は用意できています'
|
|
874
|
+
record '合言葉 kc: 済み'
|
|
875
|
+
elif [[ "$DRY_RUN" == "1" ]]; then
|
|
876
|
+
plan '職人を呼ぶ合言葉(kc)を ~/.bashrc の末尾に足します'
|
|
877
|
+
else
|
|
878
|
+
doing '職人を呼ぶ合言葉(kc)を用意します'
|
|
879
|
+
cat >> "$BASHRC" <<'KC_SNIPPET' || die "合言葉を書けませんでした: $HOME/.bashrc"
|
|
880
|
+
|
|
881
|
+
# ── 采配くん: 職人を呼ぶ合言葉 ────────────────────────────────────────────────
|
|
882
|
+
# 使い方: kc <現場名> 例) kc my-app
|
|
883
|
+
# その現場の作業部屋(tmux)を用意し、職人(Claude Code)を開きます。
|
|
884
|
+
# ★部屋の名前は必ず現場名と同じにします(違うと指示が届きません)。
|
|
885
|
+
kc() {
|
|
886
|
+
local s="$1"
|
|
887
|
+
if [ -n "$TMUX" ]; then echo "すでにtmuxの中です。Ctrl+b → d で一度抜けてください"; return 1; fi
|
|
888
|
+
if [ -z "$s" ]; then echo "使い方: kc 現場名(例 kc TYHLD-platform)"; return 1; fi
|
|
889
|
+
if [ ! -d "$HOME/projects/$s" ]; then echo "そんな現場はありません: $s"; ls "$HOME/projects"; return 1; fi
|
|
890
|
+
systemctl --user start "conductor@$s" 2>/dev/null
|
|
891
|
+
tmux has-session -t "$s" 2>/dev/null || tmux new -d -s "$s" -c "$HOME/projects/$s" 'unset ANTHROPIC_API_KEY; exec claude'
|
|
892
|
+
tmux attach -t "$s"
|
|
893
|
+
}
|
|
894
|
+
# ─────────────────────────────────────────────────────────────────────────────
|
|
895
|
+
KC_SNIPPET
|
|
896
|
+
record '合言葉 kc: 用意した'
|
|
897
|
+
fi
|
|
898
|
+
|
|
899
|
+
# --- ログインで開いた画面でも合言葉が使えるようにする -------------------------
|
|
900
|
+
# 【bash の決まり】ログインで開いた画面では ~/.bash_profile → ~/.bash_login → ~/.profile の
|
|
901
|
+
# 順に【最初に見つかった1つだけ】が読まれる。Ubuntu の既定の ~/.profile は ~/.bashrc を
|
|
902
|
+
# 読むので、~/.bash_profile が無い機体は何もしなくてよい。
|
|
903
|
+
# ★無い機体に ~/.bash_profile を作ってはいけない。作った瞬間 ~/.profile が読まれなくなり、
|
|
904
|
+
# そこにある PATH の設定(~/.local/bin など)まで消える=直しに行って壊す。
|
|
905
|
+
# =既に ~/.bash_profile(または ~/.bash_login)が在って、そこから ~/.bashrc を読んで
|
|
906
|
+
# いないときだけ、読む1行を【追記】する。既存の行は1つも書き換えない。
|
|
907
|
+
|
|
908
|
+
LOGIN_PROFILE=''
|
|
909
|
+
for f in "$HOME/.bash_profile" "$HOME/.bash_login"; do
|
|
910
|
+
if [[ -f "$f" ]]; then
|
|
911
|
+
LOGIN_PROFILE="$f"
|
|
912
|
+
break
|
|
913
|
+
fi
|
|
914
|
+
done
|
|
915
|
+
|
|
916
|
+
if [[ -z "$LOGIN_PROFILE" ]]; then
|
|
917
|
+
skip 'ログインで開いた画面の手当ては要りません(~/.profile から読まれます)'
|
|
918
|
+
elif grep -qF '.bashrc' "$LOGIN_PROFILE"; then
|
|
919
|
+
skip "ログインで開いた画面でも使えます(${LOGIN_PROFILE##*/})"
|
|
920
|
+
elif [[ "$DRY_RUN" == "1" ]]; then
|
|
921
|
+
plan "ログインで開いた画面でも使えるように ${LOGIN_PROFILE##*/} に1行足します"
|
|
922
|
+
else
|
|
923
|
+
doing "ログインで開いた画面でも使えるようにします(${LOGIN_PROFILE##*/})"
|
|
924
|
+
printf '\n%s\n%s\n' \
|
|
925
|
+
'# 采配くん: ログインで開いた画面でも ~/.bashrc を読む' \
|
|
926
|
+
'[ -f ~/.bashrc ] && . ~/.bashrc' >> "$LOGIN_PROFILE" \
|
|
927
|
+
|| die "ログイン時の設定を書けませんでした: $LOGIN_PROFILE"
|
|
928
|
+
record "ログイン時の読み込み: ${LOGIN_PROFILE##*/} に足した"
|
|
929
|
+
fi
|
|
930
|
+
|
|
931
|
+
# ═════════════════════════════════════════════════════════════════════════════
|
|
932
|
+
# ⑬ 設置(既存の setup.sh を呼ぶ)
|
|
844
933
|
#
|
|
845
934
|
# ★ここから先は既存の設置係にそのまま任せる。番人の配置・常駐の登録・自己点検(⑦)
|
|
846
935
|
# ・次にやることの案内(⑧)は、すべて setup.sh が持っている。写しを作らない。
|
|
847
936
|
# ═════════════════════════════════════════════════════════════════════════════
|
|
848
937
|
|
|
849
|
-
step '
|
|
938
|
+
step '⑬ 設置する'
|
|
850
939
|
|
|
851
940
|
if [[ "$DRY_RUN" == "1" ]]; then
|
|
852
941
|
plan "conductor setup ${SITE} を実行します(番人の配置・常駐の登録・自己点検)"
|
|
@@ -858,10 +947,10 @@ else
|
|
|
858
947
|
fi
|
|
859
948
|
|
|
860
949
|
# ═════════════════════════════════════════════════════════════════════════════
|
|
861
|
-
#
|
|
950
|
+
# ⑭ 締め(★自己点検の○×は、すぐ上に設置係が出しています)
|
|
862
951
|
# ═════════════════════════════════════════════════════════════════════════════
|
|
863
952
|
|
|
864
|
-
step '
|
|
953
|
+
step '⑭ ここまでのまとめ'
|
|
865
954
|
|
|
866
955
|
# ★空の配列を "${arr[@]}" で展開すると、古い bash では set -u に叱られる。
|
|
867
956
|
# お客さまの機体の bash の版は選べないので、中身があるときだけ回す。
|
|
@@ -893,13 +982,13 @@ ${BAR}
|
|
|
893
982
|
次にやること — 職人(Claude Code)を動かす
|
|
894
983
|
${BAR}
|
|
895
984
|
|
|
896
|
-
下の
|
|
985
|
+
下の2行を、そのままコピーして貼ってください。
|
|
897
986
|
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
tmux attach -t "${SITE}"
|
|
987
|
+
source ~/.bashrc
|
|
988
|
+
kc ${SITE}
|
|
901
989
|
|
|
902
|
-
(1
|
|
990
|
+
(1行目は、いま用意した合言葉をこの画面に読み込みます。
|
|
991
|
+
2行目で職人が開きます。★次からは「kc ${SITE}」の1行だけで開けます)
|
|
903
992
|
|
|
904
993
|
${BAR}
|
|
905
994
|
いちばん確実な「動いています」の確かめ方
|