Skip to content

Commit 095cf11

Browse files
hyperpolymathclaude
andcommitted
chore(build): convert Makefiles to Justfiles estate-wide (standards repo)
Enforces the standards CLAUDE.md rule #7 ("No Makefiles — use Mustfile/justfile instead") across the remaining standards-repo corners: - `a2ml/docs/paper/` — replace Makefile with Justfile (pdflatex twice + clean/view targets). - `k9-svc/` — delete Makefile, fold its `install` / `install-system` / `uninstall` / `uninstall-system` / `check` targets into the existing Justfile so no capability is lost. - `k9-svc/pandoc/` — delete Makefile; add PROJECT_NAME/OWNER/AUTHOR metadata vars to the Justfile. - `k9-svc/tools/` — replace Makefile with Justfile (build / install / release targets for `k9-init` / `k9-validate` / `k9-sign`). - `a2ml/pandoc/` — delete duplicate lowercase `justfile`; canonical `Justfile` (uppercase) is already tracked. - `rhodium-standard-repositories/examples/rhodium-minimal/` — rename `justfile` → `Justfile` to match estate casing. No behaviour change: every Makefile target has a Justfile equivalent. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent aa5973f commit 095cf11

10 files changed

Lines changed: 111 additions & 249 deletions

File tree

a2ml/docs/paper/Justfile

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
set shell := ["bash", "-euo", "pipefail", "-c"]
2+
3+
default: pdf
4+
5+
pdf:
6+
pdflatex a2ml-arxiv.tex
7+
pdflatex a2ml-arxiv.tex
8+
@echo "PDF generated: a2ml-arxiv.pdf"
9+
10+
all: pdf
11+
12+
clean:
13+
rm -f *.aux *.log *.out *.pdf *.bbl *.blg
14+
15+
view: pdf
16+
xdg-open a2ml-arxiv.pdf 2>/dev/null || open a2ml-arxiv.pdf

a2ml/docs/paper/Makefile

Lines changed: 0 additions & 15 deletions
This file was deleted.

a2ml/pandoc/justfile

Lines changed: 0 additions & 19 deletions
This file was deleted.

k9-svc/Justfile

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@ check-deps:
3232
@command -v file >/dev/null 2>&1 && echo " ✓ file: available" || echo " ○ file: not installed"
3333
@echo "K9: Dependency check complete."
3434

35+
# Compatibility alias from previous Makefile workflow
36+
check: check-deps
37+
3538
# Sync .machine_readable metadata into 6scm mirrors
3639
sync-6scm:
3740
@mkdir -p .machine_readable/6scm
@@ -88,6 +91,46 @@ verify-mime:
8891
setup-mime: install-mime install-magic
8992
@echo "K9: Full MIME setup complete."
9093

94+
# Install K9 user tooling and schemas (Makefile parity)
95+
install:
96+
@prefix="${PREFIX:-$HOME/.local}"; \
97+
bindir="$$prefix/bin"; \
98+
sharedir="$$prefix/share/k9"; \
99+
mimedir="$$prefix/share/mime/packages"; \
100+
echo "K9: Installing to $$prefix..."; \
101+
mkdir -p "$$bindir" "$$sharedir" "$$sharedir/examples" "$$sharedir/assets" "$$mimedir"; \
102+
install -m 755 must "$$bindir/k9-must"; \
103+
install -m 755 sign.sh "$$bindir/k9-sign"; \
104+
install -m 644 Justfile "$$sharedir/Justfile"; \
105+
install -m 644 pedigree.ncl register.ncl leash.ncl "$$sharedir/"; \
106+
install -m 644 examples/*.k9 "$$sharedir/examples/" 2>/dev/null || true; \
107+
install -m 644 examples/*.k9.ncl "$$sharedir/examples/" 2>/dev/null || true; \
108+
install -m 644 assets/*.svg "$$sharedir/assets/" 2>/dev/null || true; \
109+
install -m 644 mime/k9.xml "$$mimedir/"; \
110+
update-mime-database "$$prefix/share/mime" 2>/dev/null || true; \
111+
install -m 644 README.adoc SPEC.adoc GUIDE.adoc LICENSE "$$sharedir/" 2>/dev/null || true; \
112+
printf '#!/bin/sh\nexec just --justfile %s/share/k9/Justfile "$$@"\n' "$$prefix" > "$$bindir/k9"; \
113+
chmod 755 "$$bindir/k9"; \
114+
echo "K9: Installation complete."
115+
116+
install-system:
117+
@PREFIX=/usr/local just install
118+
119+
uninstall:
120+
@prefix="${PREFIX:-$HOME/.local}"; \
121+
bindir="$$prefix/bin"; \
122+
sharedir="$$prefix/share/k9"; \
123+
mimedir="$$prefix/share/mime/packages"; \
124+
echo "K9: Uninstalling from $$prefix..."; \
125+
rm -f "$$bindir/k9" "$$bindir/k9-must" "$$bindir/k9-sign"; \
126+
rm -rf "$$sharedir"; \
127+
rm -f "$$mimedir/k9.xml"; \
128+
update-mime-database "$$prefix/share/mime" 2>/dev/null || true; \
129+
echo "K9: Uninstallation complete."
130+
131+
uninstall-system:
132+
@PREFIX=/usr/local just uninstall
133+
91134
# ─────────────────────────────────────────────────────────────
92135
# Validation (The Brain)
93136
# ─────────────────────────────────────────────────────────────

k9-svc/Makefile

Lines changed: 0 additions & 122 deletions
This file was deleted.

k9-svc/pandoc/Justfile

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,12 @@ import? "contractile.just"
2020

2121
# Project metadata — customize these
2222
project := "{{PROJECT_NAME}}"
23+
PROJECT_NAME := "pandoc-k9"
24+
OWNER := "hyperpolymath"
25+
AUTHOR := "hyperpolymath"
26+
AUTHOR_EMAIL := "maintainers@hyperpolymath.org"
27+
CURRENT_YEAR := "2026"
28+
PLACEHOLDER := "PLACEHOLDER"
2329
version := "0.1.0"
2430
tier := "infrastructure" # 1 | 2 | infrastructure
2531

k9-svc/pandoc/Makefile

Lines changed: 0 additions & 13 deletions
This file was deleted.

k9-svc/tools/Justfile

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# SPDX-License-Identifier: PMPL-1.0-or-later
2+
# Justfile for K9 tools
3+
4+
set shell := ["bash", "-euo", "pipefail", "-c"]
5+
6+
default:
7+
@just --list --unsorted
8+
9+
all: build
10+
11+
build: build-k9-init build-k9-validate build-k9-sign
12+
@echo "All K9 tools built successfully"
13+
14+
build-k9-init:
15+
@echo "Building k9-init..."
16+
cd src/k9-init && cargo build --release
17+
18+
build-k9-validate:
19+
@echo "Building k9-validate..."
20+
cd src/k9-validate && cargo build --release
21+
22+
build-k9-sign:
23+
@echo "Building k9-sign..."
24+
cd src/k9-sign && cargo build --release
25+
26+
install: install-k9-init install-k9-validate install-k9-sign
27+
@echo "All K9 tools installed"
28+
29+
install-k9-init: build-k9-init
30+
sudo cp src/k9-init/target/release/k9-init /usr/local/bin/
31+
32+
install-k9-validate: build-k9-validate
33+
sudo cp src/k9-validate/target/release/k9-validate /usr/local/bin/
34+
35+
install-k9-sign: build-k9-sign
36+
sudo cp src/k9-sign/target/release/k9-sign /usr/local/bin/
37+
38+
test:
39+
cd src/k9-init && cargo test
40+
cd src/k9-validate && cargo test
41+
cd src/k9-sign && cargo test
42+
43+
clean:
44+
cd src/k9-init && cargo clean
45+
cd src/k9-validate && cargo clean
46+
cd src/k9-sign && cargo clean

k9-svc/tools/Makefile

Lines changed: 0 additions & 80 deletions
This file was deleted.

rhodium-standard-repositories/examples/rhodium-minimal/justfile renamed to rhodium-standard-repositories/examples/rhodium-minimal/Justfile

File renamed without changes.

0 commit comments

Comments
 (0)