feat: update Makefile and docs

This commit is contained in:
Ivan 2026-07-13 14:10:38 -05:00
parent 8345acd31b
commit 10d78fbbfb
No known key found for this signature in database
5 changed files with 26 additions and 6 deletions

View file

@ -2,7 +2,7 @@
# pre-commit: keep meshchatx.rsm in sync with the staged tree inventory.
#
# Enable once per clone:
# task hooks:install
# make hooks-install
# # or: sh scripts/ci/install-git-hooks.sh
#
# Skip for one commit:
@ -53,7 +53,7 @@ fi
if [ -z "$ID_PATH" ] || [ ! -f "$ID_PATH" ]; then
echo "pre-commit: staged inventory paths changed but no signing identity found." >&2
echo "pre-commit: set RNS_ID_PATH or run: task tree-rsm-sign" >&2
echo "pre-commit: set RNS_ID_PATH or run: make tree-rsm-sign" >&2
echo "pre-commit: or skip with SKIP_TREE_RSM_HOOK=1" >&2
exit 0
fi

View file

@ -1,9 +1,11 @@
# Compatibility shim — Taskfile.yml owns install, lint, test, and build targets.
# Tree RSM targets call shell scripts directly so Make works without Task.
TASK ?= task
.DEFAULT_GOAL := help
.PHONY: install install-offline run dev dev-fe build format lint test test-be-perf clean help dist-linux dist-linux-x64
.PHONY: tree-manifest tree-rsm-sign tree-rsm-verify hooks-install
install:
@$(TASK) install
@ -44,6 +46,21 @@ dist-linux:
dist-linux-x64:
@$(TASK) dist:linux-x64
tree-manifest:
sh scripts/ci/tree-manifest.sh generate
tree-rsm-verify:
sh scripts/ci/verify-tree-rsm.sh
tree-rsm-sign:
sh scripts/ci/sign-tree-rsm.sh
hooks-install:
sh scripts/ci/install-git-hooks.sh
help:
@echo "Makefile targets delegate to Task (see: task --list)."
@echo "Makefile targets (most delegate to Task, see: task --list)."
@echo " make tree-rsm-verify Verify meshchatx.rsm (no Task required)"
@echo " make tree-rsm-sign Sign tree inventory (requires RNS_ID_PATH)"
@echo " make hooks-install Enable .githooks pre-commit"
@$(TASK) --list

View file

@ -430,6 +430,9 @@ task build
| `make lint` | `task lint` | ESLint, vue-tsc, knip, Ruff, and basedpyright |
| `make test` | `task test` | Run frontend and backend tests |
| `make clean` | `task clean` | Remove build artifacts and node_modules |
| `make tree-rsm-verify` | (shell) | Verify `meshchatx.rsm` signature and hashes |
| `make tree-rsm-sign` | (shell) | Sign tree inventory (requires `RNS_ID_PATH`) |
| `make hooks-install` | (shell) | Enable tracked pre-commit RSM resign hook |
## Versioning

View file

@ -39,20 +39,20 @@ The repository root includes a signed rnid message file, `meshchatx.rsm`. It emb
Verify locally:
```bash
task tree-rsm-verify
make tree-rsm-verify
```
Maintainers regenerate the signature after intentional tree changes (requires a private identity file that hashes to the signer above, never commit `*.rid`):
```bash
export RNS_ID_PATH="$HOME/.local/share/reticulum-go/reticulum-go-release.rid"
task tree-rsm-sign
make tree-rsm-sign
```
Enable the tracked pre-commit hook so commits that change inventory paths resign `meshchatx.rsm` automatically when that identity is available:
```bash
task hooks:install
make hooks-install
```
Skip one commit with `SKIP_TREE_RSM_HOOK=1`.

Binary file not shown.