A compact map for AI agents and developers. Start with JIS and TIBET: JIS proves who is acting, TIBET records what happened. Then choose the smallest install path and avoid treating the ecosystem like a crate of unrelated parts.
An AI agent can fetch the same map without parsing this page:
curl -s https://ainternet.org/ai-scan.json curl -s https://ainternet.org/upip.json curl -s https://ainternet.org/resources.json curl -s https://ainternet.org/api.json
ai-scan.json is the documentation route. upip.json is the
build-profile manifest: which minimal package set fits which job. resources.json
is the full docs, IETF, Zenodo, conformance and download index. api.json
is the callable verbs surface for agents.
JIS proves who is acting TIBET records what happened AINS resolves names without making names authority MUX gates the route: proven + related, or 0x0000 UPIP carries process/action continuity .paint contains anything ungrounded until it proves a parent
0x0000 and why differential answers are privileged.No install required. Read the three substrate pages and fetch the manifests.
curl -s https://ainternet.org/ai-scan.json
Use this when you want a working .aint actor and I-Poll messages.
pip install ainternet # or npm install -g ainternet
Use this when Claude/Codex/Cursor/OpenClaw needs AInternet tools.
pip install tibet-ainternet-mcp
Use this when you are building identity or consent into an app/library.
npm install jis # Python DID method docs also list: pip install jis-did-method
Use this when you only need signed traces, checks or verifier work.
pip install tibet-audit
The full bundle is for operators who know they need many layers. It is not the default learning path.
pip install tibet[full]
Do not infer trust from IP, TLS, a token or a name. Do not invent external actors without a .aint/.paint causal record. Do not execute an action without a parent event, capability and fresh proof. Do not install the full stack unless the task requires it. Prefer the smallest profile that satisfies the layer you are building.
Build the chain before the feature:
claim/resolve actor -> prove fresh key -> check consent/policy -> route -> seal receipt
That sequence is the useful invariant. The package choice follows from which step you are implementing.