{
  "schema_version": "cmdhub.website.command_catalog.v1",
  "tool": "linear",
  "title": "Linear CLI",
  "description": "Linear resources through the cmdhub CLI.",
  "auth_mode": "api_key",
  "auth_scopes": {
    "label": "Linear OAuth or API key",
    "scopes": [
      "Linear workspace API access"
    ],
    "note": "Used for Linear workspaces, teams, users, states, cycles, labels, projects, issues, and comments."
  },
  "markdown_url": "/cli/linear/index.md",
  "commands": [
    {
      "id": "cmd-linear-attachment",
      "path": "linear attachment",
      "name": "attachment",
      "short": "Manage Linear attachment records",
      "long": "",
      "mutates": false,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "",
      "flags": []
    },
    {
      "id": "cmd-linear-attachment-create",
      "path": "linear attachment create",
      "name": "create",
      "short": "Create a Linear external URL attachment",
      "long": "",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "linear attachment create --help\nlinear attachment create --issue i1 --url https://example.com/logs --title \"Logs\"",
      "flags": [
        {
          "name": "issue",
          "type": "string",
          "usage": "Issue ref, identifier, URL, or ID"
        },
        {
          "name": "metadata-json",
          "type": "string",
          "usage": "Attachment metadata JSON object"
        },
        {
          "name": "subtitle",
          "type": "string",
          "usage": "Attachment subtitle"
        },
        {
          "name": "title",
          "type": "string",
          "usage": "Attachment title"
        },
        {
          "name": "url",
          "type": "string",
          "usage": "External URL to attach"
        }
      ]
    },
    {
      "id": "cmd-linear-attachment-delete",
      "path": "linear attachment delete",
      "name": "delete",
      "short": "Delete a Linear external URL attachment",
      "long": "",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": true,
      "example": "linear attachment delete a1 --yes",
      "flags": [
        {
          "name": "dry-run",
          "type": "bool",
          "usage": "Preview without changing Linear state"
        },
        {
          "name": "yes",
          "type": "bool",
          "usage": "Confirm attachment deletion"
        }
      ]
    },
    {
      "id": "cmd-linear-attachment-get",
      "path": "linear attachment get",
      "name": "get",
      "short": "Get a Linear attachment",
      "long": "",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "linear attachment get a1",
      "flags": []
    },
    {
      "id": "cmd-linear-attachment-list",
      "path": "linear attachment list",
      "name": "list",
      "short": "List Linear attachment records",
      "long": "",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "linear attachment list\nlinear attachment list --issue CMD-123",
      "flags": [
        {
          "name": "include-archived",
          "type": "bool",
          "usage": "Include archived Linear records"
        },
        {
          "name": "issue",
          "type": "string",
          "usage": "Issue ref, identifier, URL, or ID"
        }
      ]
    },
    {
      "id": "cmd-linear-attachment-update",
      "path": "linear attachment update",
      "name": "update",
      "short": "Update a Linear external URL attachment",
      "long": "",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "linear attachment update a1 --title \"Updated logs\"",
      "flags": [
        {
          "name": "metadata-json",
          "type": "string",
          "usage": "Attachment metadata JSON object"
        },
        {
          "name": "subtitle",
          "type": "string",
          "usage": "Attachment subtitle"
        },
        {
          "name": "title",
          "type": "string",
          "usage": "Attachment title"
        }
      ]
    },
    {
      "id": "cmd-linear-auth",
      "path": "linear auth",
      "name": "auth",
      "short": "Manage Linear authentication",
      "long": "",
      "mutates": false,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "",
      "flags": []
    },
    {
      "id": "cmd-linear-auth-login",
      "path": "linear auth login",
      "name": "login",
      "short": "Authenticate with Linear",
      "long": "",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "linear auth login\nlinear auth login --api-key\nlinear auth login --help\nlinear auth status",
      "flags": [
        {
          "name": "api-key",
          "type": "bool",
          "usage": "authenticate with a Linear personal API key instead of OAuth"
        },
        {
          "name": "api-key-stdin",
          "type": "bool",
          "usage": "read the Linear API key from stdin"
        }
      ]
    },
    {
      "id": "cmd-linear-auth-logout",
      "path": "linear auth logout",
      "name": "logout",
      "short": "Remove stored Linear credentials",
      "long": "",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "linear auth login\nlinear auth logout\nlinear auth logout --help",
      "flags": []
    },
    {
      "id": "cmd-linear-auth-refresh",
      "path": "linear auth refresh",
      "name": "refresh",
      "short": "Refresh stored Linear credentials",
      "long": "",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "linear auth refresh\nlinear auth refresh --help",
      "flags": []
    },
    {
      "id": "cmd-linear-auth-status",
      "path": "linear auth status",
      "name": "status",
      "short": "Show Linear auth status",
      "long": "",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "linear auth status\nlinear auth status --help\nlinear auth status --json",
      "flags": []
    },
    {
      "id": "cmd-linear-auth-whoami",
      "path": "linear auth whoami",
      "name": "whoami",
      "short": "Show the current Linear user and workspace",
      "long": "",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "linear auth whoami\nlinear auth whoami --help\nlinear auth whoami --json",
      "flags": []
    },
    {
      "id": "cmd-linear-capabilities",
      "path": "linear capabilities",
      "name": "capabilities",
      "short": "Describe capabilities",
      "long": "",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "linear capabilities --help",
      "flags": []
    },
    {
      "id": "cmd-linear-comment",
      "path": "linear comment",
      "name": "comment",
      "short": "Manage Linear comment records",
      "long": "",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "",
      "flags": []
    },
    {
      "id": "cmd-linear-comment-create",
      "path": "linear comment create",
      "name": "create",
      "short": "Create a Linear issue comment",
      "long": "",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "linear comment create --help\nlinear comment create --issue i1 --body \"Reproduced in staging.\"",
      "flags": [
        {
          "name": "body",
          "type": "string",
          "usage": "Comment markdown body"
        },
        {
          "name": "body-file",
          "type": "string",
          "usage": "Read comment body from a file"
        },
        {
          "name": "issue",
          "type": "string",
          "usage": "Issue ref, identifier, URL, or ID"
        }
      ]
    },
    {
      "id": "cmd-linear-comment-delete",
      "path": "linear comment delete",
      "name": "delete",
      "short": "Delete a Linear issue comment",
      "long": "",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": true,
      "example": "linear comment delete cm1 --yes",
      "flags": [
        {
          "name": "dry-run",
          "type": "bool",
          "usage": "Preview without changing Linear state"
        },
        {
          "name": "yes",
          "type": "bool",
          "usage": "Confirm comment deletion"
        }
      ]
    },
    {
      "id": "cmd-linear-comment-get",
      "path": "linear comment get",
      "name": "get",
      "short": "Get a Linear comment",
      "long": "",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "linear comment get cm1",
      "flags": []
    },
    {
      "id": "cmd-linear-comment-list",
      "path": "linear comment list",
      "name": "list",
      "short": "List Linear comment records",
      "long": "",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "linear comment list\nlinear comment list --issue CMD-123",
      "flags": [
        {
          "name": "include-archived",
          "type": "bool",
          "usage": "Include archived Linear records"
        },
        {
          "name": "issue",
          "type": "string",
          "usage": "Issue ref, identifier, URL, or ID"
        }
      ]
    },
    {
      "id": "cmd-linear-comment-update",
      "path": "linear comment update",
      "name": "update",
      "short": "Update a Linear issue comment",
      "long": "",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "linear comment update cm1 --body \"Updated comment.\"",
      "flags": [
        {
          "name": "body",
          "type": "string",
          "usage": "Comment markdown body"
        },
        {
          "name": "body-file",
          "type": "string",
          "usage": "Read comment body from a file"
        }
      ]
    },
    {
      "id": "cmd-linear-config",
      "path": "linear config",
      "name": "config",
      "short": "Inspect local configuration",
      "long": "",
      "mutates": false,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "",
      "flags": []
    },
    {
      "id": "cmd-linear-config-explain",
      "path": "linear config explain",
      "name": "explain",
      "short": "Explain resolved configuration",
      "long": "",
      "mutates": false,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "linear config explain --help",
      "flags": []
    },
    {
      "id": "cmd-linear-cycle",
      "path": "linear cycle",
      "name": "cycle",
      "short": "Manage Linear cycle records",
      "long": "",
      "mutates": false,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "",
      "flags": []
    },
    {
      "id": "cmd-linear-cycle-get",
      "path": "linear cycle get",
      "name": "get",
      "short": "Get a Linear cycle",
      "long": "",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "linear cycle get cy1",
      "flags": []
    },
    {
      "id": "cmd-linear-cycle-list",
      "path": "linear cycle list",
      "name": "list",
      "short": "List Linear cycle records",
      "long": "",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "linear cycle list\nlinear cycle list --team CMD",
      "flags": [
        {
          "name": "include-archived",
          "type": "bool",
          "usage": "Include archived Linear records"
        },
        {
          "name": "team",
          "type": "string",
          "usage": "Team ref, key, name, or ID"
        }
      ]
    },
    {
      "id": "cmd-linear-doctor",
      "path": "linear doctor",
      "name": "doctor",
      "short": "Run diagnostics",
      "long": "",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "linear doctor --help",
      "flags": []
    },
    {
      "id": "cmd-linear-issue",
      "path": "linear issue",
      "name": "issue",
      "short": "Manage Linear issue records",
      "long": "",
      "mutates": false,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "",
      "flags": []
    },
    {
      "id": "cmd-linear-issue-archive",
      "path": "linear issue archive",
      "name": "archive",
      "short": "Archive a Linear issue",
      "long": "",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": true,
      "example": "linear issue archive i1 --yes",
      "flags": [
        {
          "name": "dry-run",
          "type": "bool",
          "usage": "Preview without changing Linear state"
        },
        {
          "name": "yes",
          "type": "bool",
          "usage": "Confirm the issue archive operation"
        }
      ]
    },
    {
      "id": "cmd-linear-issue-create",
      "path": "linear issue create",
      "name": "create",
      "short": "Create a Linear issue",
      "long": "",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "linear issue create --help\nlinear issue create --team CMD --title \"Investigate login error\"",
      "flags": [
        {
          "name": "assignee",
          "type": "string",
          "usage": "Assignee user ref, email, name, ID, or me"
        },
        {
          "name": "cycle",
          "type": "string",
          "usage": "Cycle ref, number, name, or ID"
        },
        {
          "name": "description",
          "type": "string",
          "usage": "Issue markdown description"
        },
        {
          "name": "description-file",
          "type": "string",
          "usage": "Read issue markdown description from a file"
        },
        {
          "name": "due-date",
          "type": "string",
          "usage": "Due date in YYYY-MM-DD form"
        },
        {
          "name": "label",
          "type": "stringArray",
          "default": "[]",
          "usage": "Issue label ref, name, or ID; repeatable"
        },
        {
          "name": "priority",
          "type": "string",
          "usage": "Priority: none, urgent, high, medium, low, or 0-4"
        },
        {
          "name": "project",
          "type": "string",
          "usage": "Project ref, slug, name, or ID"
        },
        {
          "name": "state",
          "type": "string",
          "usage": "Workflow state ref, name, or ID"
        },
        {
          "name": "team",
          "type": "string",
          "usage": "Team ref, key, name, or ID"
        },
        {
          "name": "title",
          "type": "string",
          "usage": "Issue title"
        }
      ]
    },
    {
      "id": "cmd-linear-issue-get",
      "path": "linear issue get",
      "name": "get",
      "short": "Get a Linear issue",
      "long": "",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "linear issue get CMD-123",
      "flags": []
    },
    {
      "id": "cmd-linear-issue-label",
      "path": "linear issue label",
      "name": "label",
      "short": "Manage labels on Linear issues",
      "long": "",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "",
      "flags": []
    },
    {
      "id": "cmd-linear-issue-label-add",
      "path": "linear issue label add",
      "name": "add",
      "short": "Add a label on a Linear issue",
      "long": "",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "linear issue label add i1 --label cmdhub-demo",
      "flags": [
        {
          "name": "label",
          "type": "string",
          "usage": "Label ref, name, or ID"
        }
      ]
    },
    {
      "id": "cmd-linear-issue-label-remove",
      "path": "linear issue label remove",
      "name": "remove",
      "short": "Remove a label on a Linear issue",
      "long": "",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "linear issue label remove i1 --label cmdhub-demo",
      "flags": [
        {
          "name": "label",
          "type": "string",
          "usage": "Label ref, name, or ID"
        }
      ]
    },
    {
      "id": "cmd-linear-issue-list",
      "path": "linear issue list",
      "name": "list",
      "short": "List Linear issue records",
      "long": "",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "linear issue list\nlinear issue list --limit 20",
      "flags": [
        {
          "name": "assignee",
          "type": "string",
          "usage": "Assignee user ref, email, name, ID, or me"
        },
        {
          "name": "created-after",
          "type": "string",
          "usage": "Only include issues created after this date or RFC3339 timestamp"
        },
        {
          "name": "creator",
          "type": "string",
          "usage": "Creator user ref, email, name, ID, or me"
        },
        {
          "name": "cycle",
          "type": "string",
          "usage": "Cycle ref, number, name, or ID"
        },
        {
          "name": "due-after",
          "type": "string",
          "usage": "Only include issues due on or after this YYYY-MM-DD date"
        },
        {
          "name": "due-before",
          "type": "string",
          "usage": "Only include issues due on or before this YYYY-MM-DD date"
        },
        {
          "name": "include-archived",
          "type": "bool",
          "usage": "Include archived Linear records"
        },
        {
          "name": "label",
          "type": "string",
          "usage": "Issue label ref, name, or ID"
        },
        {
          "name": "priority",
          "type": "string",
          "usage": "Priority: none, urgent, high, medium, low, or 0-4"
        },
        {
          "name": "project",
          "type": "string",
          "usage": "Project ref, slug, name, or ID"
        },
        {
          "name": "state",
          "type": "string",
          "usage": "Workflow state ref, name, or ID"
        },
        {
          "name": "state-type",
          "type": "string",
          "usage": "Workflow state type such as backlog, unstarted, started, completed, or canceled"
        },
        {
          "name": "team",
          "type": "string",
          "usage": "Team ref, key, name, or ID"
        },
        {
          "name": "updated-after",
          "type": "string",
          "usage": "Only include issues updated after this date or RFC3339 timestamp"
        }
      ]
    },
    {
      "id": "cmd-linear-issue-search",
      "path": "linear issue search",
      "name": "search",
      "short": "Search Linear issue records",
      "long": "",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "linear issue search\nlinear issue search --query login",
      "flags": [
        {
          "name": "assignee",
          "type": "string",
          "usage": "Assignee user ref, email, name, ID, or me"
        },
        {
          "name": "created-after",
          "type": "string",
          "usage": "Only include issues created after this date or RFC3339 timestamp"
        },
        {
          "name": "creator",
          "type": "string",
          "usage": "Creator user ref, email, name, ID, or me"
        },
        {
          "name": "cycle",
          "type": "string",
          "usage": "Cycle ref, number, name, or ID"
        },
        {
          "name": "due-after",
          "type": "string",
          "usage": "Only include issues due on or after this YYYY-MM-DD date"
        },
        {
          "name": "due-before",
          "type": "string",
          "usage": "Only include issues due on or before this YYYY-MM-DD date"
        },
        {
          "name": "include-archived",
          "type": "bool",
          "usage": "Include archived Linear records"
        },
        {
          "name": "label",
          "type": "string",
          "usage": "Issue label ref, name, or ID"
        },
        {
          "name": "priority",
          "type": "string",
          "usage": "Priority: none, urgent, high, medium, low, or 0-4"
        },
        {
          "name": "project",
          "type": "string",
          "usage": "Project ref, slug, name, or ID"
        },
        {
          "name": "query",
          "type": "string",
          "usage": "Search text"
        },
        {
          "name": "state",
          "type": "string",
          "usage": "Workflow state ref, name, or ID"
        },
        {
          "name": "state-type",
          "type": "string",
          "usage": "Workflow state type such as backlog, unstarted, started, completed, or canceled"
        },
        {
          "name": "team",
          "type": "string",
          "usage": "Team ref, key, name, or ID"
        },
        {
          "name": "updated-after",
          "type": "string",
          "usage": "Only include issues updated after this date or RFC3339 timestamp"
        }
      ]
    },
    {
      "id": "cmd-linear-issue-unarchive",
      "path": "linear issue unarchive",
      "name": "unarchive",
      "short": "Unarchive a Linear issue",
      "long": "",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": true,
      "example": "linear issue unarchive i1 --yes",
      "flags": [
        {
          "name": "dry-run",
          "type": "bool",
          "usage": "Preview without changing Linear state"
        },
        {
          "name": "yes",
          "type": "bool",
          "usage": "Confirm the issue unarchive operation"
        }
      ]
    },
    {
      "id": "cmd-linear-issue-update",
      "path": "linear issue update",
      "name": "update",
      "short": "Update a Linear issue",
      "long": "",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "linear issue update i1 --state \"In Progress\"\nlinear issue update i1 --title \"Updated title\"",
      "flags": [
        {
          "name": "assignee",
          "type": "string",
          "usage": "Assignee user ref, email, name, ID, or me"
        },
        {
          "name": "clear-assignee",
          "type": "bool",
          "usage": "Remove issue assignee"
        },
        {
          "name": "clear-cycle",
          "type": "bool",
          "usage": "Remove issue cycle"
        },
        {
          "name": "clear-due-date",
          "type": "bool",
          "usage": "Remove issue due date"
        },
        {
          "name": "clear-project",
          "type": "bool",
          "usage": "Remove issue project"
        },
        {
          "name": "cycle",
          "type": "string",
          "usage": "Cycle ref, number, name, or ID"
        },
        {
          "name": "description",
          "type": "string",
          "usage": "Issue markdown description"
        },
        {
          "name": "description-file",
          "type": "string",
          "usage": "Read issue markdown description from a file"
        },
        {
          "name": "due-date",
          "type": "string",
          "usage": "Due date in YYYY-MM-DD form"
        },
        {
          "name": "priority",
          "type": "string",
          "usage": "Priority: none, urgent, high, medium, low, or 0-4"
        },
        {
          "name": "project",
          "type": "string",
          "usage": "Project ref, slug, name, or ID"
        },
        {
          "name": "state",
          "type": "string",
          "usage": "Workflow state ref, name, or ID"
        },
        {
          "name": "title",
          "type": "string",
          "usage": "Issue title"
        }
      ]
    },
    {
      "id": "cmd-linear-label",
      "path": "linear label",
      "name": "label",
      "short": "Manage Linear label records",
      "long": "",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "",
      "flags": []
    },
    {
      "id": "cmd-linear-label-get",
      "path": "linear label get",
      "name": "get",
      "short": "Get a Linear label",
      "long": "",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "linear label get l1",
      "flags": []
    },
    {
      "id": "cmd-linear-label-list",
      "path": "linear label list",
      "name": "list",
      "short": "List Linear label records",
      "long": "",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "linear label list\nlinear label list --team CMD",
      "flags": [
        {
          "name": "include-archived",
          "type": "bool",
          "usage": "Include archived Linear records"
        },
        {
          "name": "team",
          "type": "string",
          "usage": "Team ref, key, name, or ID"
        }
      ]
    },
    {
      "id": "cmd-linear-login",
      "path": "linear login",
      "name": "login",
      "short": "Authenticate with Linear",
      "long": "",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "linear auth status\nlinear login\nlinear login --api-key",
      "flags": [
        {
          "name": "api-key",
          "type": "bool",
          "usage": "authenticate with a Linear personal API key instead of OAuth"
        },
        {
          "name": "api-key-stdin",
          "type": "bool",
          "usage": "read the Linear API key from stdin"
        }
      ]
    },
    {
      "id": "cmd-linear-logout",
      "path": "linear logout",
      "name": "logout",
      "short": "Remove stored Linear credentials",
      "long": "",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "linear auth login\nlinear logout",
      "flags": []
    },
    {
      "id": "cmd-linear-profile",
      "path": "linear profile",
      "name": "profile",
      "short": "Manage provider profiles",
      "long": "",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "",
      "flags": []
    },
    {
      "id": "cmd-linear-profile-create",
      "path": "linear profile create",
      "name": "create",
      "short": "Create an unauthenticated provider profile",
      "long": "",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "linear profile create --help",
      "flags": []
    },
    {
      "id": "cmd-linear-profile-delete",
      "path": "linear profile delete",
      "name": "delete",
      "short": "Delete a local provider profile",
      "long": "",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "linear profile delete --help",
      "flags": []
    },
    {
      "id": "cmd-linear-profile-list",
      "path": "linear profile list",
      "name": "list",
      "short": "List provider profiles",
      "long": "",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "linear profile list --help",
      "flags": []
    },
    {
      "id": "cmd-linear-profile-rename",
      "path": "linear profile rename",
      "name": "rename",
      "short": "Rename a local provider profile",
      "long": "",
      "mutates": false,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "linear profile rename --help",
      "flags": []
    },
    {
      "id": "cmd-linear-profile-use",
      "path": "linear profile use",
      "name": "use",
      "short": "Set the default provider profile",
      "long": "",
      "mutates": true,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "linear profile use --help",
      "flags": []
    },
    {
      "id": "cmd-linear-project",
      "path": "linear project",
      "name": "project",
      "short": "Manage Linear project records",
      "long": "",
      "mutates": false,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "",
      "flags": []
    },
    {
      "id": "cmd-linear-project-get",
      "path": "linear project get",
      "name": "get",
      "short": "Get a Linear project",
      "long": "",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "linear project get p1",
      "flags": []
    },
    {
      "id": "cmd-linear-project-list",
      "path": "linear project list",
      "name": "list",
      "short": "List Linear project records",
      "long": "",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "linear project list\nlinear project list --limit 10",
      "flags": [
        {
          "name": "include-archived",
          "type": "bool",
          "usage": "Include archived Linear records"
        }
      ]
    },
    {
      "id": "cmd-linear-project-search",
      "path": "linear project search",
      "name": "search",
      "short": "Search Linear project records",
      "long": "",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "linear project search\nlinear project search --query onboarding",
      "flags": [
        {
          "name": "include-archived",
          "type": "bool",
          "usage": "Include archived Linear records"
        },
        {
          "name": "query",
          "type": "string",
          "usage": "Search text"
        }
      ]
    },
    {
      "id": "cmd-linear-resolve",
      "path": "linear resolve",
      "name": "resolve",
      "short": "Resolve a local ref, short id, or URL alias",
      "long": "",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "linear resolve --help\nlinear resolve <ref>",
      "flags": []
    },
    {
      "id": "cmd-linear-schema",
      "path": "linear schema",
      "name": "schema",
      "short": "Emit schema hints",
      "long": "",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "linear schema --help",
      "flags": [
        {
          "name": "in",
          "type": "bool",
          "usage": "Show input schema"
        },
        {
          "name": "input",
          "type": "bool",
          "usage": "Show input schema"
        },
        {
          "name": "out",
          "type": "bool",
          "usage": "Show output schema"
        }
      ]
    },
    {
      "id": "cmd-linear-state",
      "path": "linear state",
      "name": "state",
      "short": "Manage Linear state records",
      "long": "",
      "mutates": false,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "",
      "flags": []
    },
    {
      "id": "cmd-linear-state-get",
      "path": "linear state get",
      "name": "get",
      "short": "Get a Linear state",
      "long": "",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "linear state get s1",
      "flags": []
    },
    {
      "id": "cmd-linear-state-list",
      "path": "linear state list",
      "name": "list",
      "short": "List Linear state records",
      "long": "",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "linear state list\nlinear state list --team CMD",
      "flags": [
        {
          "name": "include-archived",
          "type": "bool",
          "usage": "Include archived Linear records"
        },
        {
          "name": "team",
          "type": "string",
          "usage": "Team ref, key, name, or ID"
        }
      ]
    },
    {
      "id": "cmd-linear-team",
      "path": "linear team",
      "name": "team",
      "short": "Manage Linear team records",
      "long": "",
      "mutates": false,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "",
      "flags": []
    },
    {
      "id": "cmd-linear-team-get",
      "path": "linear team get",
      "name": "get",
      "short": "Get a Linear team",
      "long": "",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "linear team get t1",
      "flags": []
    },
    {
      "id": "cmd-linear-team-list",
      "path": "linear team list",
      "name": "list",
      "short": "List Linear team records",
      "long": "",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "linear team list\nlinear team list --limit 10",
      "flags": [
        {
          "name": "include-archived",
          "type": "bool",
          "usage": "Include archived Linear records"
        }
      ]
    },
    {
      "id": "cmd-linear-team-search",
      "path": "linear team search",
      "name": "search",
      "short": "Search Linear team records",
      "long": "",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "linear team search\nlinear team search --query platform",
      "flags": [
        {
          "name": "include-archived",
          "type": "bool",
          "usage": "Include archived Linear records"
        },
        {
          "name": "query",
          "type": "string",
          "usage": "Search text"
        }
      ]
    },
    {
      "id": "cmd-linear-user",
      "path": "linear user",
      "name": "user",
      "short": "Manage Linear user records",
      "long": "",
      "mutates": false,
      "safe_discovery": false,
      "supports_dry_run": false,
      "example": "",
      "flags": []
    },
    {
      "id": "cmd-linear-user-get",
      "path": "linear user get",
      "name": "get",
      "short": "Get a Linear user",
      "long": "",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "linear user get u1",
      "flags": []
    },
    {
      "id": "cmd-linear-user-list",
      "path": "linear user list",
      "name": "list",
      "short": "List Linear user records",
      "long": "",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "linear user list\nlinear user list --limit 10",
      "flags": [
        {
          "name": "include-archived",
          "type": "bool",
          "usage": "Include archived Linear records"
        }
      ]
    },
    {
      "id": "cmd-linear-user-search",
      "path": "linear user search",
      "name": "search",
      "short": "Search Linear user records",
      "long": "",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "linear user search\nlinear user search --query alice",
      "flags": [
        {
          "name": "include-archived",
          "type": "bool",
          "usage": "Include archived Linear records"
        },
        {
          "name": "query",
          "type": "string",
          "usage": "Search text"
        }
      ]
    },
    {
      "id": "cmd-linear-version",
      "path": "linear version",
      "name": "version",
      "short": "Show version information",
      "long": "",
      "mutates": false,
      "safe_discovery": true,
      "supports_dry_run": false,
      "example": "linear version --help",
      "flags": []
    }
  ]
}
