Mesh Language
July 16, 2026 · View on GitHub
Mesh Language
Expressive, readable concurrency. Elixir-style syntax. Static type inference. Native single binaries.
Getting Started
1. Install Mesh
macOS and Linux
curl -sSf https://meshlang.dev/install.sh | sh
Windows (PowerShell)
irm https://meshlang.dev/install.ps1 | iex
Installer URLs:
2. Verify the install
meshc --version
meshpkg --version
Refresh an installed toolchain in place with either binary:
meshc update
meshpkg update
3. Start with hello world
meshc init hello_mesh
cd hello_mesh
Open main.mpl and replace its contents with:
fn main() do
println("Hello, World!")
end
Compile and run it:
meshc build .
./hello_mesh
main.mpl remains the default executable entrypoint. If you need a different startup file later, use the optional [package].entrypoint = "lib/start.mpl" setting in mesh.toml.
4. Choose your next starter
Once hello-world runs, pick the starter that matches your next job:
meshc init --clustered hello_cluster— the minimal clustered starter. The generated example uses@cluster pub fn add()and the runtime-owned handler nameWork.add.meshc init --template todo-api --db sqlite todo_api— the honest local-only starter and the honest local single-node SQLite starter. It stays local-only, keeps SQLite single-node only, and includes actor-backed write rate limiting. Seeexamples/todo-sqlite/README.md.meshc init --template todo-api --db postgres shared_todo— the shared/deployable starter and the serious shared/deployable PostgreSQL starter. It clustersGET /todos,GET /todos/:id, and idempotentPOST /todos; health plus unsafe-keylessPUTandDELETEremain local. It is the generated starter that owns the staged deploy + failover proof chain once you step onto the proof pages. Seeexamples/todo-postgres/README.md.
Then follow the generated project README, or go straight to the docs:
Where to go next
Keep the public ladder starter/examples-first: the scaffold and /examples stay ahead of maintainer proof surfaces.
- Main getting started guide: https://meshlang.dev/docs/getting-started/
- Clustered walkthrough: use
meshc init --clusteredand then follow https://meshlang.dev/docs/getting-started/clustered-example/ - SQLite Todo starter: https://github.com/hyperpush-org/mesh-lang/blob/main/examples/todo-sqlite/README.md — the honest local-only, single-node-only starter.
- PostgreSQL Todo starter: https://github.com/hyperpush-org/mesh-lang/blob/main/examples/todo-postgres/README.md — the serious shared/deployable starter and the handoff into the staged deploy + failover proof chain on the proof pages.
- Autonomous Clusters: https://meshlang.dev/docs/autonomous-clusters/ — configure adaptive routing, continuity, local elasticity, and horizontal capacity drivers.
- Distributed Proof: https://meshlang.dev/docs/distributed-proof/ — run the self-contained Docker/PostgreSQL release proof.
- Tooling docs: https://meshlang.dev/docs/tooling/
Maintainers / public release proof
The implementation roadmap for runtime-owned elasticity and execution routing is in Autonomous Scaling and Built-In Load Balancing Plan. The release proof is owned entirely by this repository; see https://meshlang.dev/docs/distributed-proof/ for the Docker/PostgreSQL, chaos, performance, soak, and capacity-driver gates.
Canonical assembled proof command:
set -a && source .env && set +a && bash scripts/verify-m034-s05.sh
Release candidate tags stay split:
- binary candidate:
v<Cargo version> - extension candidate:
ext-v<extension version>
Hosted workflow evidence is expected from:
deploy.ymldeploy-services.ymlauthoritative-verification.ymlrelease.ymlextension-release-proof.ymlpublish-extension.yml
Public surfaces checked by that proof include:
- https://meshlang.dev/docs/getting-started/
- https://meshlang.dev/docs/tooling/
- https://packages.meshlang.dev/packages/snowdamiz/mesh-registry-proof
- https://packages.meshlang.dev/search?q=snowdamiz%2Fmesh-registry-proof
- https://api.packages.meshlang.dev/api/v1/packages?search=snowdamiz%2Fmesh-registry-proof
Inspect these retained artifacts after a run:
.tmp/m034-s05/verify/candidate-tags.json.tmp/m034-s05/verify/remote-runs.json
Contributing
See CONTRIBUTING.md.
License
This project is licensed under the MIT License. See LICENSE.