-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
83 lines (67 loc) · 2.87 KB
/
Makefile
File metadata and controls
83 lines (67 loc) · 2.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
include scripts/init.mk
# ==============================================================================
# Project targets
format: # Auto-format code @Quality
# No formatting required for this repository
lint-file-format: # Check file formats @Quality
check=all ./scripts/quality/check-file-format.sh && echo "file format: ok"
lint-markdown-format: # Check markdown formatting @Quality
check=all ./scripts/quality/check-markdown-format.sh && echo "markdown format: ok"
lint-markdown-links: # Check markdown links @Quality
output=$$(check=all ./scripts/quality/check-markdown-links.sh 2>&1) && echo "markdown links: ok" || { echo "$$output"; exit 1; }
lint-shell: # Check shell scripts @Quality
$(MAKE) check-shell-lint
lint: # Run linter to check code style and errors @Quality
$(MAKE) lint-file-format
$(MAKE) lint-markdown-format
$(MAKE) lint-markdown-links
$(MAKE) lint-shell
test: # Run all tests @Testing
# No tests required for this repository
clone-rt: # Clone the repository template into .github/skills/repository-template @Operations
.github/skills/repository-template/scripts/git-clone-repository-template.sh
specify: # Fetch upstream spec-kit and apply local extensions @Operations
./scripts/specify.sh
apply: # Copy prompt files assets to a destination repository; mandatory: dest=[path] ai=[copilot|claude]; optional: clean|revert=[true|false], all|python|typescript|react|rust|terraform|tauri|playwright|django|fastapi=[true] @Operations
$(if $(dest),,$(error dest is required. Usage: make apply dest=/path/to/destination ai=copilot|claude))
$(if $(ai),,$(error ai is required. Usage: make apply dest=/path/to/destination ai=copilot|claude))
./scripts/apply.sh "$(dest)" "$(ai)"
count-tokens: # Count LLM tokens for key instruction packs; optional: args=[files/options] @Operations
uv run --with tiktoken python scripts/count-tokens.py \
$(if $(args),$(args), \
--sort-by tokens \
.github/copilot-instructions.md \
.specify/memory/constitution.md \
.github/instructions/makefile.instructions.md \
.github/instructions/shell.instructions.md \
.github/instructions/docker.instructions.md \
.github/instructions/python.instructions.md \
.github/instructions/includes \
.github/skills/repository-template/SKILL.md \
)
clean:: # Remove project-specific generated files (main) @Operations
rm -rf .github/skills/repository-template/assets
find . \( \
-name ".coverage" -o \
-name ".env" -o \
-name "*.log" -o \
-name "coverage.xml" \
\) -prune -exec rm -rf {} +
config:: # Configure development environment (main) @Configuration
$(MAKE) _install-dependencies
$(MAKE) clone-rt
# ==============================================================================
${VERBOSE}.SILENT: \
apply \
clean \
clone-rt \
config \
count-tokens \
format \
lint \
lint-file-format \
lint-markdown-format \
lint-markdown-links \
lint-shell \
specify \
test \