{
  "id": "chainloop-cli",
  "name": "Chainloop CLI",
  "homepage": "https://chainloop.dev",
  "description": "An open source evidence store and policy engine for your software supply chain.",
  "executables": [
    "chainloop"
  ],
  "dotfiles": {
    "paths": [
      "[configHome]/chainloop/config.toml"
    ],
    "secret": [],
    "secret_paths": [
      {
        "file": "[configHome]/chainloop/config.toml",
        "match": {
          "key_path": [
            "auth.token"
          ]
        }
      }
    ]
  },
  "commands": {
    "format": 1,
    "label": "Chainloop CLI",
    "description": "Start and extend software supply chain attestations, and set up AI session tracing. Login, policies, contracts and registry commands are left out.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": true,
      "short_attached": true,
      "short_bundles": false
    },
    "source": [
      {
        "id": "readme",
        "kind": "manual",
        "url": "https://github.com/chainloop-dev/chainloop/blob/main/README.md",
        "revision": "HEAD 2026-10-27",
        "evidence": "chainloop attestation init --workflow build --project my-app"
      }
    ],
    "subcommand": [
      {
        "path": [
          "attestation",
          "init"
        ],
        "label": "Start an attestation",
        "description": "Begin a Chainloop attestation for a workflow run.",
        "source": [
          {
            "id": "readme",
            "kind": "manual",
            "url": "https://github.com/chainloop-dev/chainloop/blob/main/README.md",
            "revision": "HEAD 2026-10-27",
            "evidence": "chainloop attestation init --workflow build --project my-app\n"
          }
        ],
        "field": [
          {
            "id": "workflow",
            "label": "Workflow",
            "type": "string",
            "option": [
              "--workflow"
            ],
            "sources": [
              "readme"
            ]
          },
          {
            "id": "project",
            "label": "Project",
            "type": "string",
            "option": [
              "--project"
            ],
            "sources": [
              "readme"
            ]
          }
        ],
        "task": [
          {
            "id": "init",
            "label": "Start an attestation",
            "fields": [
              "workflow",
              "project"
            ],
            "required": [
              "workflow",
              "project"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "workflow",
              "project"
            ]
          }
        ]
      },
      {
        "path": [
          "attestation",
          "add"
        ],
        "label": "Add evidence",
        "description": "Attach a material (file or value) to the current attestation.",
        "source": [
          {
            "id": "readme",
            "kind": "manual",
            "url": "https://github.com/chainloop-dev/chainloop/blob/main/README.md",
            "revision": "HEAD 2026-10-27",
            "evidence": "chainloop attestation add --value sbom.cyclonedx.json\n"
          }
        ],
        "field": [
          {
            "id": "value",
            "label": "Value",
            "type": "string",
            "option": [
              "--value"
            ],
            "sources": [
              "readme"
            ]
          }
        ],
        "task": [
          {
            "id": "add",
            "label": "Add evidence",
            "fields": [
              "value"
            ],
            "required": [
              "value"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "value"
            ]
          }
        ]
      },
      {
        "path": [
          "trace",
          "init"
        ],
        "label": "Initialize tracing",
        "description": "Install git and agent hooks and write .chainloop.yml in the repository.",
        "source": [
          {
            "id": "readme",
            "kind": "manual",
            "url": "https://github.com/chainloop-dev/chainloop/blob/main/README.md",
            "revision": "HEAD 2026-10-27",
            "evidence": "chainloop trace init --project <name>\nAdd `--claude`, `--cursor`, `--opencode`, or `--codex` for the agents in use.\nFor Codex, run `chainloop trace init --codex`.\n"
          }
        ],
        "field": [
          {
            "id": "project",
            "label": "Project",
            "type": "string",
            "option": [
              "--project"
            ],
            "sources": [
              "readme"
            ]
          },
          {
            "id": "claude",
            "label": "Claude Code",
            "type": "boolean",
            "option": [
              "--claude"
            ],
            "sources": [
              "readme"
            ]
          },
          {
            "id": "cursor",
            "label": "Cursor",
            "type": "boolean",
            "option": [
              "--cursor"
            ],
            "sources": [
              "readme"
            ]
          },
          {
            "id": "opencode",
            "label": "OpenCode",
            "type": "boolean",
            "option": [
              "--opencode"
            ],
            "sources": [
              "readme"
            ]
          },
          {
            "id": "codex",
            "label": "Codex",
            "type": "boolean",
            "option": [
              "--codex"
            ],
            "sources": [
              "readme"
            ]
          }
        ],
        "task": [
          {
            "id": "trace",
            "label": "Initialize tracing",
            "fields": [
              "project",
              "claude",
              "cursor",
              "opencode",
              "codex"
            ],
            "required": [
              "project"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "project",
              "claude",
              "cursor",
              "opencode",
              "codex"
            ]
          }
        ]
      }
    ]
  }
}
