Skip to content

dokugent byo

Bring Your Own (BYO) is Dokugent’s validation layer for external agent components, plans, certs, or metadata that users manually insert into a compiled agent file.

Purpose

Use dokugent byo to verify that custom data you inject into the "byo" array of .compiled.cert.json is structurally valid and compatible with Dokugent’s expectations.

What It Does

  • Reads the "byo" array inside a compiled agent cert
  • Validates each object against a known structure
  • Returns errors or warnings if any required fields are missing or malformed
  • Ensures clean handoff to preview, simulate, or certify

What It Doesn't Do

  • Does not process or execute byo content
  • Does not transform or interpret third-party formats (e.g. LangChain, CrewAI, n8n)
  • Does not auto-load files — all data must be embedded directly in the byo array

Structure and Placement

In Dokugent, "byo" is a top-level key — just like "Agent", "Plan", or "Criteria" — within a structured JSON file. It holds imported or manually created content that was not generated via Dokugent CLI wizards.

Each file inside .dokugent/data/byo/ should follow this general structure:

{
  "agentId": "agentName@2025-06-01_20-17-00",
  "byo": [
    { }
  ]
}

Optional: BYO Namespacing

If your BYO bundle contains its own plans, criteria, or conventions, you may namespace them like so:

{
  "agentId": "examplebot@2025-06-01_22-00-00",
  "byo": {
    "plans": [ { } ],
    "criteria": [ { } ],
    "conventions": [ { } ]
  }
}

This signals that the content is external and did not pass through Dokugent's generation pipeline. These entries will not be auto-included unless explicitly referenced downstream.

Philosophy

Dokugent treats "byo" as a sandboxed data container. It’s up to the user to define the structure — Dokugent only requires the surrounding JSON to be valid and traceable via agentId.

This design keeps the CLI simple while allowing for extensibility, foreign imports, or interop with other tools like LangChain or CrewAI.

Usage

dokugent byo

The command will validate the byo section of the active compiled agent and print a pass/fail result.

Use Case Examples

  • Injecting metadata from third-party agent builders
  • Attaching custom evaluation rules or constraints
  • Logging simulation annotations or override conditions

Design Philosophy

Dokugent doesn’t attempt to support all agent stacks — it defines a clean boundary. If you bring your own data, you are responsible for making it valid.

This ensures transparency, auditability, and trust at runtime.