Files
CASAN/optimize-docs/video-steps/start-tmux.sh
T
thanhnvandClaude Opus 4.8 fbcef967e5 chore(freeze): snapshot demo state before Plan-07 hardening work
Freeze current submission/demo baseline:
- casan-next-plans/: full task-level plan set (Plan 00 index + 02/04/06/07/08/09/12, QA, slide deck)
- optimize-docs/video-steps/: per-vector scene breakdown (commands/screen-text/script) + start-tmux
- run-all.sh / scorecard.sh / map-live.sh: REAL=1 live-battery wiring
- regenerated evidence + audit/telemetry logs from live REAL=1 run
- submission README + video recording guide updates
- dry-run pipeline logs for 001-okr-web-app

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-03 22:03:44 +09:00

44 lines
2.0 KiB
Bash
Executable File

#!/usr/bin/env bash
# ============================================================================
# start-tmux.sh — dựng sẵn layout quay: pane TRÁI = bản đồ sống,
# pane PHẢI = run-all.sh. Hai pane đồng bộ qua STEP_FILE.
#
# Dùng:
# cd <thư mục gốc dự án có .specify/> # vd: AINative_OKR_CASAN5
# bash /…/optimize-docs/video-steps/start-tmux.sh
#
# Biến môi trường (tuỳ chọn):
# CASAN_ROOT=/path/to/AINative_OKR_CASAN5 # nếu không cd sẵn
# AUTO=1 STEP_DELAY=6 # pane phải tự chạy, nghỉ 6s/bước
# COLS=210 ROWS=52 LEFT=44 # kích thước cửa sổ & bề rộng pane trái
# ============================================================================
set -euo pipefail
HERE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
ROOT="${CASAN_ROOT:-$PWD}"
[ -d "$ROOT/.specify" ] || { [ -d "$ROOT/AINative_OKR_CASAN5/.specify" ] && ROOT="$ROOT/AINative_OKR_CASAN5"; }
[ -d "$ROOT/.specify" ] || { echo "✗ Không thấy .specify/ tại '$ROOT'. cd vào project hoặc đặt CASAN_ROOT."; exit 1; }
command -v tmux >/dev/null || { echo "✗ Chưa cài tmux. macOS: brew install tmux"; exit 1; }
STEP_FILE="${CASAN_STEP_FILE:-/tmp/casan_step}"
printf 'INTRO' > "$STEP_FILE"
SESS="casan"
COLS="${COLS:-210}"; ROWS="${ROWS:-52}"; LEFT="${LEFT:-44}"
RIGHT=$(( COLS - LEFT - 1 ))
tmux kill-session -t "$SESS" 2>/dev/null || true
tmux new-session -d -s "$SESS" -x "$COLS" -y "$ROWS"
# pane 0 (trái) = bản đồ sống
tmux send-keys -t "$SESS":0.0 "clear; bash '$HERE/map-live.sh' '$STEP_FILE'" C-m
# tách pane phải rộng $RIGHT cột = nơi chạy battery (đây là pane bạn thao tác)
tmux split-window -h -t "$SESS":0.0 -l "$RIGHT"
tmux send-keys -t "$SESS":0.1 \
"cd '$ROOT' && clear && CASAN_STEP_FILE='$STEP_FILE' ${AUTO:+AUTO=$AUTO} ${STEP_DELAY:+STEP_DELAY=$STEP_DELAY} bash '$HERE/run-all.sh'" C-m
tmux select-pane -t "$SESS":0.1 # focus pane phải để bấm Enter
tmux attach -t "$SESS"