mirror of
https://github.com/Jeffallan/claude-skills.git
synced 2026-09-14 18:43:38 +08:00
6590b9c7f0
Add prettier-markdown pre-commit hook for skills/, docs/, and root .md files (excludes commands/ prompt templates). Add markdown check to CI validate workflow and Makefile lint/format/validate targets. Document all linting and formatting conventions in CONTRIBUTING.md. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
72 lines
2.1 KiB
Makefile
72 lines
2.1 KiB
Makefile
.PHONY: dev-link dev-unlink validate test site-dev site-build lint format lint-fix
|
|
|
|
PLUGIN_NAME := fullstack-dev-skills
|
|
VERSION := $(shell python -c "import json; print(json.load(open('version.json'))['version'])")
|
|
CACHE_BASE := $(HOME)/.claude/plugins/cache/$(PLUGIN_NAME)/$(PLUGIN_NAME)
|
|
CACHE_DIR := $(CACHE_BASE)/$(VERSION)
|
|
|
|
dev-link:
|
|
@if [ -L "$(CACHE_DIR)" ]; then \
|
|
echo "Error: $(CACHE_DIR) is already a symlink."; \
|
|
exit 1; \
|
|
fi
|
|
@if [ -d "$(CACHE_DIR).bak" ]; then \
|
|
echo "Error: Backup already exists at $(CACHE_DIR).bak"; \
|
|
echo "Run 'make dev-unlink' first to restore it."; \
|
|
exit 1; \
|
|
fi
|
|
@if [ ! -d "$(CACHE_DIR)" ]; then \
|
|
echo "Error: Cache directory not found at $(CACHE_DIR)"; \
|
|
echo "Is the plugin installed? Check: cat ~/.claude/plugins/installed_plugins.json"; \
|
|
exit 1; \
|
|
fi
|
|
mv "$(CACHE_DIR)" "$(CACHE_DIR).bak"
|
|
ln -s "$(CURDIR)" "$(CACHE_DIR)"
|
|
@echo ""
|
|
@echo "Linked: $(CACHE_DIR) -> $(CURDIR)"
|
|
@echo "Restart Claude Code to load changes from your working copy."
|
|
|
|
dev-unlink:
|
|
@if [ ! -L "$(CACHE_DIR)" ]; then \
|
|
echo "Error: $(CACHE_DIR) is not a symlink. Nothing to unlink."; \
|
|
exit 1; \
|
|
fi
|
|
@if [ ! -d "$(CACHE_DIR).bak" ]; then \
|
|
echo "Error: No backup found at $(CACHE_DIR).bak"; \
|
|
exit 1; \
|
|
fi
|
|
rm "$(CACHE_DIR)"
|
|
mv "$(CACHE_DIR).bak" "$(CACHE_DIR)"
|
|
@echo ""
|
|
@echo "Restored cache from backup."
|
|
@echo "Restart Claude Code to load the released version."
|
|
|
|
validate:
|
|
python scripts/validate-skills.py
|
|
python scripts/validate-markdown.py --check
|
|
python scripts/update-docs.py --check
|
|
|
|
test:
|
|
bash scripts/test-makefile.sh
|
|
|
|
site-dev:
|
|
cd site && npm run dev
|
|
|
|
site-build:
|
|
cd site && npm run build
|
|
|
|
lint:
|
|
ruff check scripts/
|
|
ruff format --check scripts/
|
|
pyright scripts/
|
|
cd site && npx prettier --plugin prettier-plugin-astro --check "src/**" "scripts/**" astro.config.mjs
|
|
npx prettier --check "skills/**/*.md" "docs/**/*.md" "*.md" "research/**/*.md"
|
|
|
|
format:
|
|
ruff check --fix scripts/
|
|
ruff format scripts/
|
|
cd site && npx prettier --plugin prettier-plugin-astro --write "src/**" "scripts/**" astro.config.mjs
|
|
npx prettier --write "skills/**/*.md" "docs/**/*.md" "*.md" "research/**/*.md"
|
|
|
|
lint-fix: format
|