Hello Project
This is the project root. Everything else branches from here.
Tests
Smoke Test
A trivial runnable check, with its output cached below the fence.
echo "hello from meshfox"
date
exit code: 0 · 33ms
hello from meshfox
Mon Sep 7 23:35:17 +04 2026
Build Then Test
Two blocks in the same node, chained with deps: running test always
runs build first, automatically — deps="build" is a bare name here
because build lives in this node.
echo "building..."
exit code: 0
building...
echo "testing..."
exit code: 0
testing...
Examples
Deploy (cross-node dependency)
deps can also point at a block in a different node, as
node-id/block-name — here, build-then-test/test. Running deploy
runs build, then test, then deploy, in that order.
echo "deploying..."
exit code: 0
deploying...
verify closes out the chain but has no cache flag — it still runs
(and still runs deploy and its own deps first), it just never writes
an output block back into the file, so nothing below appears here even
after running it.
echo "verifying..."
Release (multiple dependencies)
deps is a comma-separated list — a block can depend on more than one
other block at once, mixing same-node and cross-node references. Here
release depends on both build-then-test/test and
deploy-example/deploy; since deploy itself already depends on
test (which depends on build), running release still only runs
build and test once each — shared dependencies aren't re-run just
because more than one thing needs them.
echo "releasing..."
exit code: 0
releasing...
Lint (implicit block name)
A node with just one fence and no name= at all is runnable too,
implicitly named after its own node id (lint) — so it's addressed as
meshfox run examples lint, no separate trailing block name needed
(dropping a name that would just repeat lint a second time). A second
fence in this node, named or not, would make that ambiguous and turn the
shortcut off.
echo "linting..."
exit code: 0
linting...
Links
Bug Tracker
Found something broken? Search here first, then open a new issue if it's not already tracked.
Seed Script
A tiny runnable script — see interpreters.canvas.md for how meshfox executes it directly from the canvas.
import sys
print(f"seeding via {sys.argv[0]}")