-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathJustfile
More file actions
94 lines (79 loc) · 2.74 KB
/
Justfile
File metadata and controls
94 lines (79 loc) · 2.74 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
84
85
86
87
88
89
90
91
92
93
94
# SPDX-License-Identifier: PMPL-1.0-or-later
# Justfile - hyperpolymath standard task runner
default:
@just --list
# Build the project
build:
@echo "Building..."
# Run tests
test:
@echo "Testing..."
# Run lints
lint:
@echo "Linting..."
# Clean build artifacts
clean:
@echo "Cleaning..."
# Format code
fmt:
@echo "Formatting..."
# Run all checks
check: lint test
# Prepare a release
release VERSION:
@echo "Releasing {{VERSION}}..."
# Run dialect demos (per golden-path contract)
# Usage: just demo [dialect]
demo dialect="all":
#!/usr/bin/env bash
set -euo pipefail
run_demo() {
local dialect="$1"
local hive_path="./hives/${dialect}-hive"
if [[ -d "$hive_path" ]]; then
echo "=========================================="
echo "Running ${dialect^^} demo..."
echo "=========================================="
if [[ -f "$hive_path/justfile" ]]; then
just -f "$hive_path/justfile" demo
elif [[ -f "$hive_path/Mustfile" ]]; then
must -f "$hive_path/Mustfile" demo
else
echo "No demo harness found for $dialect"
return 1
fi
else
echo "Hive not available: $dialect (path: $hive_path)"
echo "Available dialects: me, solo, duet, ensemble"
return 1
fi
}
if [[ "{{dialect}}" == "all" ]]; then
echo "My-Lang Playground Demo"
echo "========================"
echo ""
echo "Note: Hives are coming soon. Add submodules to ./hives/"
echo ""
# When hives are available, iterate:
# for d in me solo duet ensemble; do
# run_demo "$d" || true
# done
echo "Run 'just demo <dialect>' once hives are installed."
echo "Dialects: me, solo, duet, ensemble"
else
run_demo "{{dialect}}"
fi
# Initialize submodules (part of golden-path)
init:
git submodule update --init --recursive
# Verify playground health
verify:
@echo "Verifying playground structure..."
@test -d .machine_read && echo "[OK] .machine_read/ exists" || echo "[FAIL] .machine_read/ missing"
@test -f .machine_read/ANCHOR.scm && echo "[OK] ANCHOR.scm exists" || echo "[FAIL] ANCHOR.scm missing"
@test -f .machine_read/SPEC.playground.scm && echo "[OK] SPEC.playground.scm exists" || echo "[FAIL] SPEC.playground.scm missing"
@test -d hives && echo "[OK] hives/ exists" || echo "[FAIL] hives/ missing"
@echo "Verification complete."
# Run panic-attacker pre-commit scan
assail:
@command -v panic-attack >/dev/null 2>&1 && panic-attack assail . || echo "panic-attack not found — install from https://github.com/hyperpolymath/panic-attacker"