Skip to main content

create-aimarket-agent

From an empty directory to a signed AIMarket Protocol v2 provider.
A safe, deterministic project generator with tests, Docker packaging, and explicit publishing.

CI Python >=3.11 45 tests passing 100% branch coverage Documentation in 5 languages AIMarket Protocol v2 Ed25519 signing License: MIT

English · Русский · Español · Français · 中文 · Localization glossary

Quick start

uvx create-aimarket-agent my-agent --kind tool --metis
cd my-agent
uv sync --extra dev
uv run python configure_provider.py
uv run pytest
uv run python validate_manifest.py
uv run python agent.py

The command, identifiers, flags, and generated filenames are stable in every language.

Generated repository

Path Role
agent.py FastAPI health and invoke endpoints
capability.json AIMarket Protocol v2 capability manifest
provider_signing.py Persistent Ed25519 identity and request-bound response signing
configure_provider.py Writes the public provider key into the manifest atomically
validate_manifest.py Fail-closed structural validation before publishing
test_agent.py API, request-bound signature, and request-size tests
Dockerfile · .dockerignore Non-root container packaging with persistent key volume
.github/workflows/test.yml Generated-project CI

Security model

  • Scaffolding is atomic: a failed copy or replacement leaves no partial target repository.
  • Project names are allow-listed before they enter source or JSON files.
  • The provider key is a 32-byte Ed25519 seed stored with mode 0600; symlinks and non-regular files are rejected.
  • Responses sign a canonical request-bound envelope containing capability_id, product_id, the SHA-256 input digest, and the result. This prevents replay across requests.
  • The generated service accepts only the product and capability identity declared in its manifest, so an untrusted caller cannot make the provider key sign another identity.
  • The manifest validator rejects duplicate JSON keys, malformed Ed25519 keys, non-finite prices, malformed URLs, and public HTTP endpoints before the publish step.
  • The default invoke endpoint rejects missing, malformed, or oversized request bodies.
  • Publishing is never automatic. Stake, publisher identity, trust policy, and Hub registration remain explicit operator actions.

Project kinds

create-aimarket-agent my-tool --kind tool
create-aimarket-agent my-data --kind data-provider
create-aimarket-agent my-orchestrator --kind orchestrator
create-aimarket-agent my-agent --no-metis

Docker

The generated image runs as an unprivileged user, includes a health check, listens on 0.0.0.0:8080, and stores the provider key in /data/provider.key.

docker build -t my-agent .
docker run --read-only --tmpfs /tmp -p 127.0.0.1:8080:8080 -v my-agent-key:/data my-agent

Back up the provider key before publishing. Replacing it invalidates the provider_pubkey registered with the Hub. Keep the port loopback-only until an HTTPS ingress provides production traffic, concurrency, and rate limits; the response signature does not authorize direct callers.

Development of this generator

uv sync --extra dev
uv run pytest
uv build --wheel

Localization contract

Documentation is available in English, Russian, Spanish, French, and Chinese and follows the canonical AICOM localization glossary. Code, commands, flags, filenames, API fields, env vars, brands, LIVE, and SIM are never translated.

License

MIT — see LICENSE.

Metadata

Release files for create-aimarket-agent 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for create-aimarket-agent 0.1.0
File Size Uploaded
create_aimarket_agent-0.1.0.tar.gz 14.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for create-aimarket-agent 0.1.0
File Interpreter ABI Platform
create_aimarket_agent-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 32.0 kB

Release files / create_aimarket_agent-0.1.0.tar.gz

Download URL create_aimarket_agent-0.1.0.tar.gz
Size 14.8 kB
Tags Source
SHA-256 checksum
How to use checksums
6de5e7871e1980561ba2e41d26a1913dda60a74b1895be7ec8f7188f62900872
BLAKE2b-256 checksum
How to use checksums
89686c18dc6921e2299d7096e08c20cd628c26eca267a3ac1647417213c1f6c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.6

Release files / create_aimarket_agent-0.1.0-py3-none-any.whl

Download URL create_aimarket_agent-0.1.0-py3-none-any.whl
Size 17.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e86c43af51ea7f760399ce8d5a3fee1e008414cbd18620724dd11988535c163f
BLAKE2b-256 checksum
How to use checksums
539fd298d4067b017aa59b5db205a4370cfa2e28591c02c54b55c1b620ee7a13
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.6

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page