Specification
Ship with your software
Every service ships an asmp.yaml — the registry discovers it.
Software authors ship a manifest with the code. The host registry scans, indexes, and introduces services to agents.
Canonical path
| Priority | Path | Use |
|---|---|---|
| 1 | asmp.yaml | Repo or package root (preferred) |
| 2 | infra/asmp.yaml | Infra-heavy projects |
One canonical file per service. Do not proliferate alternate names.
Minimum for discovery
A file is ASMP-like when:
asmp: "0.1"
kind: service
name: my-service
description: One line — what it does
capabilities:
provides:
- mydomain.myaction
Without capabilities.provides, the registry may index the file but agents cannot find it by ability.
Source vs host index
| Source manifest | Host index | |
|---|---|---|
| Lives | In the repo (asmp.yaml) | ~/.asmp/services/{name}.asmp.yaml |
| Written by | Whoever ships the software | Scanner or announce handshake |
| Source of truth | Yes | Cache / index |
The index may include metadata the source does not:
source: /Users/you/repos/my-service/asmp.yaml
last_seen: "2026-06-25T12:00:00Z"
generation: 2
sync: scan
status: registered
Author checklist
- Add
asmp.yamlat repo root - List real
capabilities.providesvalues - Commit with the software
- Let the host scanner find it — or
POST /services/announceon start