CLAUDE_SKILLS_DIR := $(HOME)/.claude/skills
AGENTS_SKILLS_DIR := $(HOME)/.agents/skills
SKILL_DIRS := $(shell find ./skills -maxdepth 2 -name 'SKILL.md' -exec dirname {} \;)
DIST := dist/clawdhub

.PHONY: link unlink build clean

link:
	@mkdir -p $(CLAUDE_SKILLS_DIR) $(AGENTS_SKILLS_DIR)
	@for skill in $(SKILL_DIRS); do \
		name=$$(basename $$skill); \
		for dir in $(CLAUDE_SKILLS_DIR) $(AGENTS_SKILLS_DIR); do \
			target=$$dir/$$name; \
			if [ -L "$$target" ]; then \
				rm "$$target"; \
			fi; \
			ln -s "$$(pwd)/skills/$$name" "$$target"; \
			echo "Linked: $$name -> $$target"; \
		done; \
	done

unlink:
	@for skill in $(SKILL_DIRS); do \
		name=$$(basename $$skill); \
		for dir in $(CLAUDE_SKILLS_DIR) $(AGENTS_SKILLS_DIR); do \
			target=$$dir/$$name; \
			if [ -L "$$target" ]; then \
				rm "$$target"; \
				echo "Unlinked: $$target"; \
			fi; \
		done; \
	done

build:
	@rm -rf $(DIST)
	@for skill in $(SKILL_DIRS); do \
		name=$$(basename $$skill); \
		out=$(DIST)/$$name; \
		mkdir -p $$out; \
		cp $$skill/SKILL.md $$out/; \
		for sub in references scripts; do \
			if [ -d "$$skill/$$sub" ]; then \
				cp -r $$skill/$$sub $$out/; \
			fi; \
		done; \
		echo "Built: $$out"; \
	done

clean:
	rm -rf dist
