justfile 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. # claude-mods justfile
  2. # Run tasks with: just <task>
  3. # Default: list available tasks
  4. default:
  5. @just --list
  6. # Run all validation tests
  7. test:
  8. @echo "Running claude-mods validation..."
  9. @bash tests/validate.sh
  10. # Validate YAML frontmatter only
  11. validate-yaml:
  12. @bash tests/validate.sh --yaml-only
  13. # Check file naming conventions
  14. validate-names:
  15. @bash tests/validate.sh --names-only
  16. # Windows test runner
  17. test-win:
  18. powershell -ExecutionPolicy Bypass -File tests/validate.ps1
  19. # Count extensions
  20. stats:
  21. @echo "Agents: $(find agents -name '*.md' | wc -l)"
  22. @echo "Commands: $(find commands -name '*.md' | wc -l)"
  23. @echo "Skills: $(find skills -name 'SKILL.md' | wc -l)"
  24. @echo "Rules: $(find templates/rules -name '*.md' 2>/dev/null | wc -l)"
  25. # List all agents
  26. list-agents:
  27. @ls -1 agents/*.md | xargs -n1 basename | sed 's/\.md$//'
  28. # List all commands
  29. list-commands:
  30. @find commands -name '*.md' -not -path '*/\.*' | xargs -n1 basename | sed 's/\.md$//' | sort -u
  31. # List all skills
  32. list-skills:
  33. @ls -1 skills/*/SKILL.md | xargs -n1 dirname | xargs -n1 basename
  34. # List all rules
  35. list-rules:
  36. @find templates/rules -name '*.md' 2>/dev/null | xargs -n1 basename | sed 's/\.md$//' || echo "(none)"
  37. # Validate settings template
  38. validate-settings:
  39. @echo "Validating settings template..."
  40. @jq empty templates/settings.local.json && echo "Valid JSON" || echo "Invalid JSON"