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

PriorityPathUse
1asmp.yamlRepo or package root (preferred)
2infra/asmp.yamlInfra-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 manifestHost index
LivesIn the repo (asmp.yaml)~/.asmp/services/{name}.asmp.yaml
Written byWhoever ships the softwareScanner or announce handshake
Source of truthYesCache / 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

  1. Add asmp.yaml at repo root
  2. List real capabilities.provides values
  3. Commit with the software
  4. Let the host scanner find it — or POST /services/announce on start

Next