Developer Onboarding
Start here · five minutes from a fresh checkout to a daemon you have watched work, by hand
Working with a coding agent? Start with Onboard your agent: one prompt sets up all three repositories. This page is the same setup by hand.
By hand
- Set up. Check out the standard at
../pulse-mesh; every manifest here reaches it there.rust-toolchain.tomlpins the Rust version, andrustupinstalls it on the firstcargocommand. - See it work.
cargo install --path tools/pms --locked cargo install --path mesh/mesh-hub --locked pms doctor pms demopms doctorchecks the toolchain and the environment.pms demostarts a daemon, passes five messages from a producer to a consumer through it, prints each one, and stops the daemon. - Run a mesh yourself. Two programs talk through the daemon starts a daemon and moves envelopes between terminals, programs and languages.
- Prove the tree.
scripts/gate.sh --quickruns the per-commit checks;scripts/gate.shruns the gate a change passes before it merges. A check whose tool is missing fails and prints the command that installs it.
From there, An agent swarm puts a planner and two workers on the mesh.
Before your first change
CONTRIBUTING.mdsays what a contribution means during the beta, holds the table of every check the gate runs, and gives the four-question test for where new code goes, which Workspace Layout explains.AGENTS.mdlists the rules every change keeps, for a person as much as for an agent: a port-protocol change moves the specification, the fixtures and both thin clients together; the daemon stays on loopback;unsafeonly with a// SAFETY:comment; decision records added and never rewritten.- The specification is normative, the rustdoc is the API contract, and the Decision log records why the non-obvious calls were made. This book explains and guides; where it and the code disagree, one of them is wrong.
Where to read first
mesh/mesh-hub-runtime/src/lib.rs: the in-process event bus (PulseHub) themesh-hubdaemon wraps.mesh/mesh-hub/src/: the daemon, its transports, its per-connection loop, and the bridge to the hub.mesh/mesh-port-protocol/src/lib.rsandfixtures/: the messages every client speaks, and the frames the thin clients are held to.mesh/mesh-client/src/client.rs: the Rust client (Mesh), whichdev-hubre-exports.tools/pms/src/main.rsandsrc/commands/: thepmscommand line, the most concrete tour of what the daemon does.