.PHONY: install uninstall restart status logs test-once

UNIT_DIR := $(HOME)/.config/systemd/user
STATE_DIR := $(HOME)/.local/state/gitea-bot

install:
	@test -f $(HOME)/.gitea-mochi-token || (echo "missing $(HOME)/.gitea-mochi-token"; exit 1)
	@test -x /home/fam/.local/bin/claude || (echo "missing claude bin"; exit 1)
	mkdir -p $(UNIT_DIR) $(STATE_DIR)
	install -m 644 gitea-bot.service $(UNIT_DIR)/gitea-bot.service
	systemctl --user daemon-reload
	systemctl --user enable --now gitea-bot
	@sleep 1
	systemctl --user status gitea-bot --no-pager -l | head -25

uninstall:
	-systemctl --user disable --now gitea-bot
	rm -f $(UNIT_DIR)/gitea-bot.service
	systemctl --user daemon-reload

restart:
	systemctl --user restart gitea-bot
	systemctl --user status gitea-bot --no-pager -l | head -10

status:
	systemctl --user status gitea-bot --no-pager -l | head -25

logs:
	tail -n 200 -f $(STATE_DIR)/bot.log

test-once:
	@# 单次轮询：reset state.db 让所有未处理 issue 都被 dispatch（慎用）
	MOCHI_TOKEN=$$(cat $(HOME)/.gitea-mochi-token) python3 -c \
	  "import bot; bot.poll_once(bot.init_state(bot.CONFIG['state_dir']/'state.db'), open('$(HOME)/.gitea-mochi-token').read().strip())"
