Global Options
Available for all commands:| Option | Description |
|---|---|
--help, -h | Show help information |
--version, -V | Show version information |
beltic init
Initialize a new agent manifest with interactive or non-interactive prompts.Synopsis
Options
| Option | Type | Description | Default |
|---|---|---|---|
--output, -o | path | Output file path | agent-manifest.json |
--config, -c | path | Config file path | .beltic.yaml |
--include, -i | pattern | Include pattern (repeatable) | From config |
--exclude, -e | pattern | Exclude pattern (repeatable) | From config |
--type, -t | enum | Deployment type | standalone |
--developer-id | uuid | Developer credential ID | Prompted |
--force, -f | flag | Overwrite existing file | false |
--non-interactive | flag | Skip prompts, use defaults | false |
--no-validate | flag | Skip validation (scaffolding only) | false |
standalone, monorepo, embedded, plugin, serverless
Examples
Interactive (default):Exit Codes
0- Success1- Validation failed2- File write error3- Configuration error
beltic fingerprint
Generate or verify SHA256 fingerprint of codebase and update manifest.Synopsis
Options
| Option | Type | Description | Default |
|---|---|---|---|
--manifest, -m | path | Manifest file path | agent-manifest.json |
--config, -c | path | Config file path | .beltic.yaml |
--deps, -d | flag | Include dependency fingerprints | false |
--verify, -v | flag | Verify without writing | false |
--verbose | flag | Show all files processed | false |
Examples
Basic fingerprint generation:Exit Codes
0- Success (or fingerprints match in verify mode)1- Fingerprints mismatch (verify mode)2- File read/write error3- Configuration error
beltic keygen
Generate Ed25519 (EdDSA) or P-256 (ES256) cryptographic keypairs in PKCS#8 PEM format.Synopsis
Options
| Option | Type | Description | Required |
|---|---|---|---|
--algorithm, --alg, -a | enum | Signature algorithm | Yes |
--output, --out, -o | path | Private key output path | Yes |
--pub, -p | path | Public key output path | Auto-generated |
EdDSA, ES256
Note: Public key filename is automatically generated as {output}.pub.pem unless --pub is specified.
Examples
EdDSA (recommended):Security Notes
- Private keys are cleared from memory after writing
- Files are created with restrictive permissions (600)
- Keys are in PKCS#8 PEM format
Exit Codes
0- Success1- Key generation failed2- File write error
beltic sign
Sign AgentCredential or DeveloperCredential payloads as JWS tokens with Beltic media types.Synopsis
Options
| Option | Type | Description | Required |
|---|---|---|---|
--payload, -p | path | Credential JSON file | Yes |
--key, -k | path | Private key PEM file | Yes |
--algorithm, --alg, -a | enum | Signature algorithm | Auto-detect from key |
--output, --out, -o | path | Output JWS token file | Stdout |
--kid | string | Key ID (DID URL) | Optional |
--issuer, -i | did | Issuer DID | From payload |
--subject, -s | did | Subject DID | From payload |
--audience, -aud | did | Audience DID | Optional |
--credential-type | enum | Force credential type | Auto-detect |
--skip-schema | flag | Skip schema validation | false |
EdDSA, ES256
Credential Types: agent, developer
Examples
Basic signing:JWT Structure
Header:Exit Codes
0- Success1- Schema validation failed2- Signing failed3- File read/write error
beltic verify
Verify JWS signature, JWT claims, and credential schema.Synopsis
Options
| Option | Type | Description | Required |
|---|---|---|---|
--token, -t | path/string | JWS token (file or string) | Yes |
--key, -k | path | Public key PEM file | Yes |
--issuer, -i | did | Expected issuer DID | Optional |
--audience, -aud | did | Expected audience DID | Optional |
--credential-type | enum | Force credential type | Auto-detect |
--skip-schema | flag | Skip schema validation | false |
Examples
Basic verification:Verification Steps
- Parse JWT - Decode header, payload, signature
- Signature - Verify cryptographic signature
- Claims - Validate
iss,sub,exp,nbf,aud - Schema - Validate credential against JSON schema
Output
Success:Exit Codes
0- Valid1- Invalid signature2- Invalid claims3- Schema validation failed4- File read error
beltic dev-init
Create a self-attested DeveloperCredential for use with agent credentials. This command generates a minimal DeveloperCredential that identifies you as the developer of AI agents.Synopsis
Options
| Option | Type | Description | Default |
|---|---|---|---|
--output, -o | path | Output file path | developer-credential.json |
--name | string | Legal name (person or organization) | Prompted |
--entity-type | enum | Entity type | Prompted |
--country | string | Country code (ISO 3166-1 alpha-2) | Prompted |
--website | url | Website URL | Prompted |
--email | Business email address | Prompted | |
--public-key | path | Public key PEM to embed | Auto-discovered |
--force, -f | flag | Overwrite existing file | false |
--non-interactive | flag | Skip prompts, use defaults | false |
individual, corporation, limited_liability_company, sole_proprietorship, partnership, nonprofit, government_agency
Examples
Interactive (recommended):Output
Creates a self-attested DeveloperCredential JSON file:Exit Codes
0- Success1- Validation failed2- File write error3- Missing required fields (non-interactive mode)
beltic http-sign
Sign HTTP requests per RFC 9421 for Web Bot Auth compatibility. This command generates the requiredSignature-Agent, Signature-Input, and Signature headers.
Synopsis
Options
| Option | Type | Description | Required |
|---|---|---|---|
--method, -m | enum | HTTP method (GET, POST, etc.) | Yes |
--url, -u | url | Target URL | Yes |
--key, -k | path | Ed25519 private key (PEM) | Yes |
--key-directory | url | URL to agent’s key directory | Yes |
--header, -H | string | Additional header (repeatable) | No |
--component | string | Signature component (repeatable) | Default set |
--body, -b | string | Request body string | No |
--body-file | path | Request body from file | No |
--expires-in | int | Signature validity in seconds | 60 |
--format, -f | enum | Output format | headers |
GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS
Formats: headers, curl
Default Components: @method, @authority, @path, signature-agent
Examples
Sign a GET request:Output
Headers format (default):Exit Codes
0- Success1- Key read error2- Signing failed3- Invalid URL or method
beltic directory
Commands for managing key directories for HTTP Message Signatures (Web Bot Auth).beltic directory generate
Generate a key directory JSON file from public keys.Synopsis
Options
| Option | Type | Description | Required |
|---|---|---|---|
--public-key, -p | path | Public key PEM (repeatable) | Yes |
--out, -o | path | Output path for directory JSON | Yes |
--sign | flag | Also output signature headers | No |
--private-key | path | Private key for signing (with —sign) | With —sign |
--authority | string | Authority for signature (with —sign) | With —sign |
Examples
Generate basic key directory:Output
Key Directory JSON:beltic directory thumbprint
Compute the JWK thumbprint for a public key.Synopsis
Options
| Option | Type | Description | Required |
|---|---|---|---|
--public-key, -p | path | Public key PEM | Yes |
Examples
Output
keyid in HTTP Message Signatures.
Exit Codes (directory commands)
0- Success1- Key read error2- File write error3- Invalid key format
Environment Variables
| Variable | Description | Default |
|---|---|---|
BELTIC_CONFIG | Default config file path | .beltic.yaml |
BELTIC_MANIFEST | Default manifest file path | agent-manifest.json |
RUST_LOG | Log level (error, warn, info, debug, trace) | warn |