Skip to content

TOML Schema

envpkt.toml is validated against a JSON Schema. The schema is published at:

  • npm: envpkt/schema (importable via package exports)
  • GitHub: schemas/envpkt.schema.json

Enable editor autocompletion by adding the schema directive on line 1:

#:schema https://raw.githubusercontent.com/jordanburke/envpkt/main/schemas/envpkt.schema.json
FieldTypeRequiredDescription
versionnumberYesSchema version number (currently 1)
catalogstringNoPath to shared secret catalog (relative to config file)

Agent identity and capabilities.

FieldTypeRequiredDescription
namestringYes (if section present)Agent display name
consumer"agent" | "service" | "developer" | "ci"NoConsumer type classification
descriptionstringNoAgent description or role
capabilitiesstring[]NoCapabilities this agent provides
expiresstring (date)NoAgent credential expiration (YYYY-MM-DD)
servicesstring[]NoService dependencies
identitystringNoPath to encrypted agent key file
recipientstringNoAgent’s age public key for encryption
secretsstring[]NoSecret keys this agent needs from catalog

Per-secret metadata. Each key corresponds to an environment variable name.

FieldTypeRequiredTierDescription
servicestringNoScan-firstService this secret authenticates to
expiresstring (date)NoScan-firstExpiration date (YYYY-MM-DD)
rotation_urlstring (URI)NoScan-firstURL for rotation procedure
purposestringNoContextWhy this secret exists
capabilitiesstring[]NoContextOperations this secret grants
createdstring (date)NoContextProvisioning date (YYYY-MM-DD)
rotatesstringNoOperationalRotation schedule (e.g., 90d, quarterly)
rate_limitstringNoOperationalRate limit info (e.g., 1000/min)
model_hintstringNoOperationalSuggested model or tier
sourcestringNoOperationalSecret origin (e.g., vault, ci, manual)
requiredbooleanNoEnforcementWhether secret is required for operation
tagsobjectNoEnforcementKey-value tags for grouping/filtering

Policy configuration for credential lifecycle management.

FieldTypeDefaultDescription
stale_warning_daysnumber90Days since creation to consider a secret stale
require_expirationbooleanfalseRequire expires on all secrets
require_servicebooleanfalseRequire service on all secrets

Automation callbacks for lifecycle events.

FieldTypeDescription
on_expiringstringCommand or webhook when secrets are expiring
on_expiredstringCommand or webhook when secrets have expired
on_audit_failstringCommand or webhook on audit failure

Tool integration configuration. Open namespace for third-party extensions.

[tools]
fnox = true
mcp = true