Cori
Reference

Manifest reference

Full schema for a Cori workflow manifest — required fields, optional fields, parameter types, and validation rules.

A workflow manifest is the manifest.md file at the root of a workflow folder. The frontmatter block contains the workflow's identity and configuration. The body (below the frontmatter) is human-readable documentation.

Required fields

FieldTypeDescription
idstringUnique identifier, kebab-case. Used in run keys and traces.
namestringHuman-readable name, shown in cori show and run lists.
descriptionstringOne-sentence description of what the workflow does.
createdstringISO 8601 date of initial creation ("2025-01-15").
versionstringSemver string ("1.0.0"). Increment on breaking changes.

Optional fields

FieldTypeDescription
updatedstringISO 8601 date of last update.
parametersarrayList of parameter objects (see below).
tools_requiredarray of stringsCLI binaries required by cli steps. Validated at cori check time.
mcp_serversarray of stringsMCP server names required by mcp_tool steps. Validated at cori check time.
tagsarray of stringsFree-form tags for organization.
schedulestringCron expression for automatic scheduling.
schedule_tzstringIANA timezone for schedule (default: "UTC").

Parameter object

FieldTypeRequiredDescription
namestringParameter name, used on the CLI (name=value).
typeenumOne of: string, number, boolean, enum, path.
descriptionstringWhat this parameter is for.
defaultanyDefault value. If omitted, the parameter is required.
optionsarrayFor enum onlyAllowed values for enum type.

Full example

---
id: translate-product-sheets-fr
name: Translate product sheets to French
description: Reads a product CSV, translates the description column to French using an LLM, and writes results to a Google Sheet.
version: "1.0.0"
created: "2025-01-15"
updated: "2025-02-03"
parameters:
  - name: input_file
    type: path
    description: Path to the source CSV file
  - name: spreadsheet_id
    type: string
    description: Google Sheets spreadsheet ID to write results to
  - name: dry_run
    type: boolean
    default: false
    description: If true, skip the write step
tools_required:
  - csvkit
mcp_servers:
  - google-sheets
tags:
  - translation
  - sheets
---

Reads `input_file`, translates the `description` column to French using GPT-4o-mini,
validates GPSR compliance for each row, and writes the results to the `FR` tab
of the specified Google Sheet.

Validation rules

All validation happens at cori check time (i.e., when the workflow compiles), not at any separate registration step. There is no registry.

  • id must be unique within a folder. Globally, refs differentiate by path.
  • version must be valid semver.
  • All entries in tools_required must be findable on PATH of the running worker.
  • All entries in mcp_servers must be declared and available in the worker's MCP config.
  • Parameters without a default are required; cori run fails with a clear error if they're missing.

What not to put in frontmatter

  • Credentials or API keys — use ~/.cori/config.toml and the OS keychain.
  • Worker routing — task queues and worker assignment are computed, not authored. Do not put routing configuration in the manifest.
  • Provider configuration — model providers are configured at the worker level, not per-workflow.

The schedule and schedule_tz fields are accepted by the compiler. Confirm scheduling is wired in the v1 runtime before relying on it. See Schedule a workflow.

On this page