Makefile 1.9 KB

123456789101112131415161718192021222324252627282930313233343536
  1. .PHONY: help install plugin link doctor update new-skill
  2. help: ## Show available commands
  3. @grep -E '^[a-zA-Z_-]+:.*##' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*## "}; {printf " make %-14s %s\n", $$1, $$2}'
  4. install: ## First-time setup: install Claude Code + auth + symlinks + plugins
  5. bash install.sh
  6. plugin: ## Install prerequisites + all plugins
  7. bash install-plugins.sh
  8. link: ## Create/update symlinks into ~/.claude/
  9. bash link.sh
  10. doctor: ## Run setup diagnostic
  11. bash doctor.sh
  12. update: ## Update Claude Code, config, submodules, plugins, and verify
  13. bash update-all.sh
  14. onboard: link ## Onboard an existing project (run from the project directory)
  15. @echo "Open Claude Code in your project directory and run: /onboard"
  16. @echo "Or with hints: /onboard Python FastAPI monorepo"
  17. new-skill: ## Create a new skill scaffold (usage: make new-skill name=myskill)
  18. @test -n "$(name)" || (echo "Usage: make new-skill name=myskill" && exit 1)
  19. @mkdir -p agents skills/$(name)
  20. @if [ ! -f agents/$(name).md ]; then \
  21. printf -- '---\nname: $(name)\ndescription: <what this agent does — keep under 200 chars>\ntools: Read, Grep, Glob, Bash\nmodel: sonnet\n---\n\n# $(name)\n\n## ROLE\n<role>\n\n## TASKS\n- <task>\n\n## RULES\n- <rule>\n\n## OUTPUT\n```\n<format>\n```\n' > agents/$(name).md; \
  22. echo "✅ Created agents/$(name).md"; \
  23. else echo "⚠️ agents/$(name).md already exists"; fi
  24. @if [ ! -f skills/$(name)/SKILL.md ]; then \
  25. printf -- '---\nname: $(name)\ndescription: <what this skill does — front-load key use case, max 250 chars>\nargument-hint: <what to pass>\ndisable-model-invocation: true\nallowed-tools: Read, Grep, Glob, Bash\n---\n\nLoad and follow strictly:\n- .claude/agents/$(name).md\n\nExecute on:\n\n$$ARGUMENTS\n' > skills/$(name)/SKILL.md; \
  26. echo "✅ Created skills/$(name)/SKILL.md"; \
  27. else echo "⚠️ skills/$(name)/SKILL.md already exists"; fi
  28. @echo " Edit both files, then run: bash link.sh"