monad
A federated semantic compute runtime.
A monad is a daemon: it holds a live .me kernel, answers for a namespace over HTTP, and registers itself on the mesh so other monads and users can find it β talks through me.whatever(what) syntax.
me://Everything.is.just.a.hash.of.a.knowledge.unit
β‘ Quick Start your Monads
Clone
git clone https://github.com/neurons-me/monad.git
cd monad/
Choose a runtime
π· TypeScript β the only stable runtime that exists today.
cd Typescript
npm install
npm run test
Run it. A monad needs a seed β the 64-hex key its cryptographic identity and every derived secret trace back to.
SEED="Tetragramaton" npm run dev
Or the compiled build:
SEED="Tetragramaton" node dist/server.js
Which namespace it answers for is a separate setting, ME_NAMESPACE β not derived from the seed. Leave it unset and it falls back to your machineβs hostname.
Talk to it. Two ways in, same tree either way.
Over the wire, from any app, any device, any language:
GET /profile/name
Host: username.cleaker.me
"username" // that's it
In-process, writing directly against the kernel it holds:
me["@"]("jabellae"); // your digital identity
me.profile.name("JosΓ© Abella"); // declare meaning
me("profile.name"); // "JosΓ© Abella" β resolve meaning
One tree, many monads. Run this on any machine, and that machine can host one or many monads, all tuned to the same namespace. Adding another one never changes the namespace β only which monad is currently answering for it, decided by subtractive synthesis: no central coordinator picks a monad in advance; the mesh holds every registered monad for the namespace and subtracts the dead ones, routing to whichever survives.
Full walkthrough β env vars, the compiled build, the subtractive-synthesis mechanism in full: Quick Start your Monads β
What it looks like:
You install it. You run it. Now you have a local Monad that speaks a simple language:
"give me suiGn's profile name"
"write that suiGn's email is suign@example.com"
"who is suiGn and what do they have"
Any app, any device, any language can talk to it.
.me β cleaker β monad.ai β NetGet β cleaker.me
What the system is now
Not:
- a chatbot framework,
- a cloud AI platform,
- or a blockchain protocol.
It is now:
a federated semantic compute runtime
with:
- sovereign identity,
- namespace chemistry,
- contextual routing,
- distributed monads,
- live mesh resolution,
- local-first continuity,
- recursive AI agents.
How it works:
Itβs a service you run locally or on any machine you control. It has one job: answer semantic questions about a namespace.
A namespace is a named semantic tree β like username.cleaker.me or user-macbook-air.local.
A monad is the runtime agent the resolver may use internally to answer for the namespace:
username.cleaker.me/profile semantic path / meaning
username.cleaker.me/photos/iphone semantic path / meaning
username.cleaker.me/.mesh/monads internal Monad registry
me://username.cleaker.me[Lisa]/profile technical execution override
me://username.cleaker.me[Haiku]/profile technical execution override
lisa@127.0.0.1:8161 Monad instance + endpoint
All target username.cleaker.me/profile.
The selected monad only changes execution, not meaning.
The pieces:
There are three things working together:
.me β the kernel. Knows how to store, encrypt, and derive your data from a single seed.
monads β active agents that can serve, resolve, execute, and coordinate.
cleaker β the connector. Takes your identity and plugs it into a namespace so apps can find you.
netGet β the placement and endpoint layer. It knows where a Monad physically runs: laptop, iPhone, Raspberry Pi, VM, relay, or localhost.
Where to go from here:
- Want to run it? β Typescript docs
- Want to understand the protocol? β NRP - Namespace Resolution Protocol
- Want to build an app on top of this? β this.me on npm
- Want to understand the big picture? β neurons.me
- How does the mesh pick a live monad? β Subtractive Synthesis
MIT β neurons.me
Author: suiGn
