Add designbook integration tooling + stack-adapter workplan
- designbook/ local mirror of the Claude Design project, with conventions (@dsCard/manifest) and freshness marker docs. - make designbook-sync + scripts/designbook-sync.mjs: record what a sync changed into RecentChanges.md, grouped by layer, with last /design-sync time. - make designbook-check + scripts/check_designbook_staleness.py: llm-connect (claude-code adapter) backend that detects when the cloud designbook moved ahead and warns the local mirror is outdated. - .design-sync/config.json: recorded target project pin (WhyNot Design System). - WHYNOT-WP-0002: workplan for a technology-neutral designbook IR with scaffold+drift-detect stack adapters (Lit reference). - gitignore Python artifacts. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
35
Makefile
Normal file
35
Makefile
Normal file
@@ -0,0 +1,35 @@
|
||||
# whynot-design — automation targets. Run `make` (or `make help`) for the list.
|
||||
#
|
||||
# The designbook (Claude Design project) mirrors into this repo at designbook/.
|
||||
# It is pulled with the `/design-sync` skill in Claude Code — component by
|
||||
# component, never a wholesale replace — which is an agent step, not a shell one.
|
||||
# After a sync, `make designbook-sync` captures what changed into RecentChanges.md.
|
||||
|
||||
NODE ?= node
|
||||
# Prefer the llm-connect venv (where llm_connect is installed); fall back to python3.
|
||||
PYTHON ?= $(shell [ -x $(HOME)/llm-connect/.venv/bin/python ] && echo $(HOME)/llm-connect/.venv/bin/python || echo python3)
|
||||
|
||||
.DEFAULT_GOAL := help
|
||||
.PHONY: help designbook-sync designbook-check recent-changes sync-styles test
|
||||
|
||||
help: ## Show this help.
|
||||
@grep -hE '^[a-zA-Z_-]+:.*?## ' $(MAKEFILE_LIST) \
|
||||
| awk 'BEGIN{FS=":.*?## "}{printf " \033[1m%-16s\033[0m %s\n", $$1, $$2}'
|
||||
|
||||
designbook-sync: ## After a /design-sync pull, record what changed + last-sync time into RecentChanges.md.
|
||||
@echo "Pull the designbook first (in Claude Code): /design-sync"
|
||||
@echo " then record the pull time: node scripts/designbook-sync.mjs --mark-synced"
|
||||
@echo "This reports the diff + last /design-sync time (and warns if the cloud is newer):"
|
||||
$(NODE) scripts/designbook-sync.mjs
|
||||
|
||||
designbook-check: ## Ask Claude Design (via llm-connect) if the cloud is newer; warn if the mirror is stale.
|
||||
$(PYTHON) scripts/check_designbook_staleness.py $(ARGS)
|
||||
|
||||
recent-changes: ## Regenerate RecentChanges.md (alias of the reporter; --range supported).
|
||||
$(NODE) scripts/designbook-sync.mjs $(ARGS)
|
||||
|
||||
sync-styles: ## Regenerate src/elements/_styles.js from components.css.
|
||||
$(NODE) scripts/sync-shared-styles.mjs
|
||||
|
||||
test: ## Run the Playwright visual-regression suite.
|
||||
pnpm test:visual
|
||||
Reference in New Issue
Block a user