Core capabilities
- Agent manifest management (interactive or non-interactive)
- Deterministic SHA256 fingerprinting with include/exclude patterns
- Key generation for Ed25519 (EdDSA) and P-256 (ES256)
- Schema-aware signing (Agent/Developer credentials) into JWTs with Beltic media types
- Verification with signature, claims, and JSON Schema validation
- HTTP Message Signatures (RFC 9421) for Web Bot Auth
- Key directory generation and management
Install
Quick Install (Recommended)
Homebrew (macOS/Linux):Build from Source
Requires Rust 1.70+ (2021 edition).Quick start (end-to-end)
Command reference
All commands accept--help for full usage.
init
- Interactive or non-interactive manifest creation.
- Options:
--output,--config,--include,--exclude,--type(standalone,monorepo,embedded,plugin,serverless),--developer-id,--force,--non-interactive,--no-validate. - Notes: uses
.beltic.yamltemplates; can run without validation for scaffolding.
dev-init
- Create a self-attested DeveloperCredential.
- Options:
--output,--name,--entity-type,--country,--website,--email,--public-key,--force,--non-interactive. - Notes: generates a minimal DeveloperCredential for self-signing workflows.
fingerprint
- Generates or verifies the SHA256 fingerprint and updates the manifest by default.
- Options:
--manifest,--config,--deps(include dependency fingerprints),--verify(do not write),--verbose. - Notes:
--verifylets you compare hashes without mutating the manifest.
keygen
- Generates Ed25519 (
EdDSA) or P-256 (ES256) keypairs in PKCS#8 PEM. - Options:
--alg,--out(private key path),--pub(public key path). - Notes: clears secrets from memory after writing keys.
sign
- Signs AgentCredential or DeveloperCredential payloads as JWTs with Beltic media types and a
vcclaim. - Options:
--key,--alg,--payload,--out,--kid,--issuer,--subject,--audience,--credential-type,--skip-schema. - Output: compact JWT with
typofapplication/beltic-agent+jwtorapplication/beltic-developer+jwt. - Notes:
--credential-typeforces detection;--skip-schemais only for debugging.
verify
- Verifies signature plus issuer/audience/time claims and validates the
vcclaim against schemas. - Options:
--key,--token,--issuer,--audience,--credential-type,--skip-schema. - Output:
VALIDwith decoded payload on success;INVALIDwith error detail otherwise. - Notes: accepts token from file or inline string; supports expected issuer/audience filters.
http-sign
- Signs HTTP requests per RFC 9421 for Web Bot Auth compatibility.
- Options:
--method,--url,--key,--key-directory,--header,--body,--body-file,--expires-in,--format. - Output: signature headers or curl command.
directory generate
- Generates a key directory JSON for HTTP Message Signatures.
- Options:
--public-key,--out,--credential-url,--sign,--private-key,--authority.
directory thumbprint
- Computes the JWK thumbprint for a public key.
- Options:
--public-key.
Developer credential workflow (CLI)
Agent credential workflow (CLI)
Web Bot Auth workflow (CLI)
Configuration quick notes
The CLI reads.beltic.yaml to control fingerprinting and deployment metadata:
standalone, monorepo, embedded, plugin, and serverless. See .beltic.yaml.example in beltic-cli for richer templates.
Examples
- Test agent:
beltic-cli/test-agent/is a TypeScript customer support agent demonstratinginit,fingerprint,keygen,sign, andverify. - Sample CLI workflows live in
beltic-cli/README.md(standalone and serverless examples). - Credential templates align with the spec repo fixtures under
beltic-spec/examples/*so you can sign and verify realistic payloads.