From 7c84505bd190133936b61b13497393dcabc98698 Mon Sep 17 00:00:00 2001 From: Gabriel Bursi Date: Wed, 29 Jul 2026 10:35:56 -0300 Subject: [PATCH 1/3] style: :art: apply prettier --- docs/cast-issue-create.svg | 45 ++++++++++++++++++++++++++++---------- docs/cast-issue-start.svg | 28 +++++++++++++++++------- 2 files changed, 53 insertions(+), 20 deletions(-) diff --git a/docs/cast-issue-create.svg b/docs/cast-issue-create.svg index 1ccc142e..dd380c4d 100644 --- a/docs/cast-issue-create.svg +++ b/docs/cast-issue-create.svg @@ -12,7 +12,8 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" > - + } + - + + + @@ -1300,7 +1315,9 @@ >0L, 0B - ~ + + ~ + -- INSERT @@ -1310,7 +1327,9 @@ class="h" >-- - markdown + + markdown + markdown descri @@ -1327,7 +1346,9 @@ markdown description - :wq + + :wq + Description entered diff --git a/docs/cast-issue-start.svg b/docs/cast-issue-start.svg index edc08372..07bfe61b 100644 --- a/docs/cast-issue-start.svg +++ b/docs/cast-issue-start.svg @@ -12,7 +12,8 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" > - + } + - + + + @@ -421,7 +431,9 @@ class="c" >issues - + + + ? Branch From 120ba6f2ebb7d273c61fd7082a7da9ce9b6c0cd5 Mon Sep 17 00:00:00 2001 From: Gabriel Bursi Date: Wed, 29 Jul 2026 11:07:50 -0300 Subject: [PATCH 2/3] Add `linear issue state` command Prints an issue's current workflow state, matching the existing title/url single-field getters. --json outputs the raw {name, color} already fetched by the shared GetIssueDetails query, so no GraphQL changes are needed. --- src/commands/issue/issue-state.ts | 33 +++++ src/commands/issue/issue.ts | 2 + .../__snapshots__/issue-state.test.ts.snap | 39 +++++ test/commands/issue/issue-state.test.ts | 136 ++++++++++++++++++ 4 files changed, 210 insertions(+) create mode 100644 src/commands/issue/issue-state.ts create mode 100644 test/commands/issue/__snapshots__/issue-state.test.ts.snap create mode 100644 test/commands/issue/issue-state.test.ts diff --git a/src/commands/issue/issue-state.ts b/src/commands/issue/issue-state.ts new file mode 100644 index 00000000..c33f151f --- /dev/null +++ b/src/commands/issue/issue-state.ts @@ -0,0 +1,33 @@ +import { Command } from "@cliffy/command" +import { + fetchIssueDetails, + fetchIssueDetailsRaw, + getIssueIdentifier, +} from "../../utils/linear.ts" +import { handleError, ValidationError } from "../../utils/errors.ts" + +export const stateCommand = new Command() + .name("state") + .description("Print the issue's current state") + .arguments("[issueId:string]") + .option("-j, --json", "Output as JSON") + .action(async ({ json }, issueId) => { + try { + const resolvedId = await getIssueIdentifier(issueId) + if (!resolvedId) { + throw new ValidationError( + "Could not determine issue ID", + { suggestion: "Please provide an issue ID like 'ENG-123'." }, + ) + } + if (json) { + const issue = await fetchIssueDetailsRaw(resolvedId, false) + console.log(JSON.stringify(issue.state, null, 2)) + return + } + const { state } = await fetchIssueDetails(resolvedId, false) + console.log(state.name) + } catch (error) { + handleError(error, "Failed to get issue state") + } + }) diff --git a/src/commands/issue/issue.ts b/src/commands/issue/issue.ts index 5a0d3427..bef7f928 100644 --- a/src/commands/issue/issue.ts +++ b/src/commands/issue/issue.ts @@ -13,6 +13,7 @@ import { queryCommand } from "./issue-query.ts" import { relationCommand } from "./issue-relation.ts" import { agentSessionCommand } from "./issue-agent-session.ts" import { startCommand } from "./issue-start.ts" +import { stateCommand } from "./issue-state.ts" import { titleCommand } from "./issue-title.ts" import { updateCommand } from "./issue-update.ts" import { urlCommand } from "./issue-url.ts" @@ -30,6 +31,7 @@ export const issueCommand = new Command() .command("query", queryCommand) .alias("q") .command("title", titleCommand) + .command("state", stateCommand) .command("start", startCommand) .command("view", viewCommand) .command("url", urlCommand) diff --git a/test/commands/issue/__snapshots__/issue-state.test.ts.snap b/test/commands/issue/__snapshots__/issue-state.test.ts.snap new file mode 100644 index 00000000..1ab2a1b9 --- /dev/null +++ b/test/commands/issue/__snapshots__/issue-state.test.ts.snap @@ -0,0 +1,39 @@ +export const snapshot = {}; + +snapshot[`Issue State Command - Help Text 1`] = ` +stdout: +" +Usage: state [issueId] + +Description: + + Print the issue's current state + +Options: + + -h, --help - Show this help. + -j, --json - Output as JSON + +" +stderr: +"" +`; + +snapshot[`Issue State Command - Prints Bare State Name 1`] = ` +stdout: +"In Progress +" +stderr: +"" +`; + +snapshot[`Issue State Command - Prints JSON 1`] = ` +stdout: +'{ + "name": "In Progress", + "color": "#f87462" +} +' +stderr: +"" +`; diff --git a/test/commands/issue/issue-state.test.ts b/test/commands/issue/issue-state.test.ts new file mode 100644 index 00000000..e228e22a --- /dev/null +++ b/test/commands/issue/issue-state.test.ts @@ -0,0 +1,136 @@ +import { snapshotTest } from "@cliffy/testing" +import { stateCommand } from "../../../src/commands/issue/issue-state.ts" +import { MockLinearServer } from "../../utils/mock_linear_server.ts" + +// Common Deno args for permissions +const denoArgs = ["--allow-all", "--quiet"] + +// Test help output +await snapshotTest({ + name: "Issue State Command - Help Text", + meta: import.meta, + colors: false, + args: ["--help"], + denoArgs, + async fn() { + await stateCommand.parse() + }, +}) + +// Test default (bare name) output +await snapshotTest({ + name: "Issue State Command - Prints Bare State Name", + meta: import.meta, + colors: false, + args: ["TEST-123"], + denoArgs, + async fn() { + const server = new MockLinearServer([ + { + queryName: "GetIssueDetails", + variables: { id: "TEST-123" }, + response: { + data: { + issue: { + identifier: "TEST-123", + title: "Fix authentication bug in login flow", + description: null, + url: + "https://linear.app/test-team/issue/TEST-123/fix-authentication-bug-in-login-flow", + branchName: "fix/test-123-auth-bug", + state: { + name: "In Progress", + color: "#f87462", + }, + assignee: null, + priority: 2, + project: null, + projectMilestone: null, + parent: null, + children: { + nodes: [], + }, + attachments: { + nodes: [], + }, + labels: { + nodes: [], + }, + }, + }, + }, + }, + ]) + + try { + await server.start() + Deno.env.set("LINEAR_GRAPHQL_ENDPOINT", server.getEndpoint()) + Deno.env.set("LINEAR_API_KEY", "Bearer test-token") + + await stateCommand.parse() + } finally { + await server.stop() + Deno.env.delete("LINEAR_GRAPHQL_ENDPOINT") + Deno.env.delete("LINEAR_API_KEY") + } + }, +}) + +// Test --json output +await snapshotTest({ + name: "Issue State Command - Prints JSON", + meta: import.meta, + colors: false, + args: ["TEST-123", "--json"], + denoArgs, + async fn() { + const server = new MockLinearServer([ + { + queryName: "GetIssueDetails", + variables: { id: "TEST-123" }, + response: { + data: { + issue: { + identifier: "TEST-123", + title: "Fix authentication bug in login flow", + description: null, + url: + "https://linear.app/test-team/issue/TEST-123/fix-authentication-bug-in-login-flow", + branchName: "fix/test-123-auth-bug", + state: { + name: "In Progress", + color: "#f87462", + }, + assignee: null, + priority: 2, + project: null, + projectMilestone: null, + parent: null, + children: { + nodes: [], + }, + attachments: { + nodes: [], + }, + labels: { + nodes: [], + }, + }, + }, + }, + }, + ]) + + try { + await server.start() + Deno.env.set("LINEAR_GRAPHQL_ENDPOINT", server.getEndpoint()) + Deno.env.set("LINEAR_API_KEY", "Bearer test-token") + + await stateCommand.parse() + } finally { + await server.stop() + Deno.env.delete("LINEAR_GRAPHQL_ENDPOINT") + Deno.env.delete("LINEAR_API_KEY") + } + }, +}) From 9cbfe3983cfc030fc88eeaa3e609edd46834a483 Mon Sep 17 00:00:00 2001 From: Gabriel Bursi Date: Wed, 29 Jul 2026 11:08:18 -0300 Subject: [PATCH 3/3] docs: regenerate linear-cli skill docs for issue state command Ran `deno task generate-skill-docs`. api.md/milestone.md/project.md also picked up terminal-width text-reflow from the current help output; no content changes. --- skills/linear-cli/SKILL.md | 1 + skills/linear-cli/references/api.md | 11 +- skills/linear-cli/references/issue.md | 228 ++++++++++++---------- skills/linear-cli/references/milestone.md | 10 +- skills/linear-cli/references/project.md | 60 +++--- 5 files changed, 167 insertions(+), 143 deletions(-) diff --git a/skills/linear-cli/SKILL.md b/skills/linear-cli/SKILL.md index 024a2fff..3ddc180f 100644 --- a/skills/linear-cli/SKILL.md +++ b/skills/linear-cli/SKILL.md @@ -192,6 +192,7 @@ linear issue relation add linear issue relation delete linear issue relation list linear issue start +linear issue state linear issue title linear issue update linear issue url diff --git a/skills/linear-cli/references/api.md b/skills/linear-cli/references/api.md index 3b308aff..2c492b69 100644 --- a/skills/linear-cli/references/api.md +++ b/skills/linear-cli/references/api.md @@ -13,11 +13,10 @@ Description: Options: - -h, --help - Show this help. - --workspace - Target workspace (uses credentials) - --variable - Variable in key=value format (coerces booleans, numbers, null; @file reads from - path) - --variables-json - JSON object of variables (merged with --variable, which takes precedence) - --paginate - Auto-paginate a single connection field using cursor pagination + -h, --help - Show this help. + --workspace - Target workspace (uses credentials) + --variable - Variable in key=value format (coerces booleans, numbers, null; @file reads from path) + --variables-json - JSON object of variables (merged with --variable, which takes precedence) + --paginate - Auto-paginate a single connection field using cursor pagination --silent - Suppress response output (exit code still reflects errors) ``` diff --git a/skills/linear-cli/references/issue.md b/skills/linear-cli/references/issue.md index 1131c17f..54549b5a 100644 --- a/skills/linear-cli/references/issue.md +++ b/skills/linear-cli/references/issue.md @@ -22,6 +22,7 @@ Commands: mine, list, l - List your issues query, q - Query issues with structured filters title [issueId] - Print the issue title + state [issueId] - Print the issue's current state start [issueId] - Start working on an issue view, v [issueId] - View issue details (default) or open in browser/app url [issueId] - Print the issue URL @@ -75,11 +76,10 @@ Description: Options: - -h, --help - Show this help. - --workspace - Target workspace (uses credentials) - -j, --json - Output as JSON - --status - Filter by session status (Values: "pending", "active", "complete", "awaitingInput", - "error", "stale") + -h, --help - Show this help. + --workspace - Target workspace (uses credentials) + -j, --json - Output as JSON + --status - Filter by session status (Values: "pending", "active", "complete", "awaitingInput", "error", "stale") ``` ##### view @@ -111,12 +111,11 @@ Description: Options: - -h, --help - Show this help. - --workspace - Target workspace (uses credentials) - -t, --title - Custom title for the attachment - -c, --comment <body> - Create a linked comment with this body; the file remains a sidebar attachment - --public - Upload images to a public, unauthenticated URL (default: private, - workspace-members only) + -h, --help - Show this help. + --workspace <slug> - Target workspace (uses credentials) + -t, --title <title> - Custom title for the attachment + -c, --comment <body> - Create a linked comment with this body; the file remains a sidebar attachment + --public - Upload images to a public, unauthenticated URL (default: private, workspace-members only) ``` ### comment @@ -156,15 +155,13 @@ Description: Options: - -h, --help - Show this help. - --workspace <slug> - Target workspace (uses credentials) - -b, --body <text> - Comment body text - --body-file <path> - Read comment body from a file (preferred for markdown content) - -p, --parent <id> - Parent comment ID for replies - -a, --attach <filepath> - Upload a file and add its Markdown link to the comment (images render inline; - repeatable) - --public - Upload attached images to a public, unauthenticated URL (default: private, - workspace-members only) + -h, --help - Show this help. + --workspace <slug> - Target workspace (uses credentials) + -b, --body <text> - Comment body text + --body-file <path> - Read comment body from a file (preferred for markdown content) + -p, --parent <id> - Parent comment ID for replies + -a, --attach <filepath> - Upload a file and add its Markdown link to the comment (images render inline; repeatable) + --public - Upload attached images to a public, unauthenticated URL (default: private, workspace-members only) ``` ##### delete @@ -245,25 +242,25 @@ Description: Options: - -h, --help - Show this help. - --workspace <slug> - Target workspace (uses credentials) - --start - Start the issue after creation - -a, --assignee <assignee> - Assign the issue to 'self' or someone (by username or name) - --due-date <dueDate> - Due date of the issue - --parent <parent> - Parent issue (if any) as a team_number code - -p, --priority <priority> - Priority of the issue (1-4, descending priority) - --estimate <estimate> - Points estimate of the issue - -d, --description <description> - Description of the issue - --description-file <path> - Read description from a file (preferred for markdown content) - -l, --label <label> - Issue label associated with the issue. May be repeated. - --team <team> - Team associated with the issue (if not your default team) - --project <project> - Project for the issue (UUID, slug ID, or name) - -s, --state <state> - Workflow state for the issue (by name or type) - --milestone <milestone> - Project milestone (UUID, or name when --project is set) - --cycle <cycle> - Cycle name, number, 'active'/'now', 'next', 'previous', or a relative offset - like +1 (use --cycle=-1 for negatives) - --no-use-default-template - Do not use default template for the issue - --no-interactive - Disable interactive prompts + -h, --help - Show this help. + --workspace <slug> - Target workspace (uses credentials) + --start - Start the issue after creation + -a, --assignee <assignee> - Assign the issue to 'self' or someone (by username or name) + --due-date <dueDate> - Due date of the issue + --parent <parent> - Parent issue (if any) as a team_number code + -p, --priority <priority> - Priority of the issue (1-4, descending priority) + --estimate <estimate> - Points estimate of the issue + -d, --description <description> - Description of the issue + --description-file <path> - Read description from a file (preferred for markdown content) + -l, --label <label> - Issue label associated with the issue. May be repeated. + --team <team> - Team associated with the issue (if not your default team) + --project <project> - Project for the issue (UUID, slug ID, or name) + -s, --state <state> - Workflow state for the issue (by name or type) + --milestone <milestone> - Project milestone (UUID, or name when --project is set) + --cycle <cycle> - Cycle name, number, 'active'/'now', 'next', 'previous', or a relative offset like +1 (use --cycle=-1 + for negatives) + --no-use-default-template - Do not use default template for the issue + --no-interactive - Disable interactive prompts -t, --title <title> - Title of the issue ``` @@ -360,24 +357,31 @@ Description: Options: - -h, --help - Show this help. - --workspace <slug> - Target workspace (uses credentials) - -s, --state <state> - Filter by issue state (can be repeated for multiple states) (Default: [ "unstarted" ], Values: "triage", "backlog", - "unstarted", "started", "completed", "canceled") - --all-states - Show issues from all states - --sort <sort> - Sort order (default: priority, can also be set via LINEAR_ISSUE_SORT) (Values: "manual", "priority") - --team <team> - Team to list issues for (if not your default team) - --project <project> - Filter by project (UUID, slug ID, or name) - --project-label <projectLabel> - Filter by project label name (shows issues from all projects with this label) - --cycle <cycle> - Filter by cycle name, number, 'active'/'now', 'next', 'previous', or a relative - offset like +1 - --milestone <milestone> - Filter by project milestone (UUID, or name when --project is set) - -l, --label <label> - Filter by label name (can be repeated for multiple labels) - --limit <limit> - Maximum number of issues to fetch (default: 50, use 0 for unlimited) (Default: 50) - --created-after <date> - Filter issues created after this date (ISO 8601 or YYYY-MM-DD) - --updated-after <date> - Filter issues updated after this date (ISO 8601 or YYYY-MM-DD) - -w, --web - Open in web browser - -a, --app - Open in Linear.app + -h, --help - Show this help. + --workspace <slug> - Target workspace (uses credentials) + -s, --state <state> - Filter by issue state (can be repeated for multiple (Default: [ "unstarted" ], Values: "triage", "backlog", + states) "unstarted", "started", "completed", "canceled") + --all-states - Show issues from all states + --sort <sort> - Sort order (default: priority, can also be set via (Values: "manual", "priority") + LINEAR_ISSUE_SORT) + --team <team> - Team to list issues for (if not your default team) + --project <project> - Filter by project (UUID, slug ID, or name) + --project-label <projectLabel> - Filter by project label name (shows issues from all + projects with this label) + --cycle <cycle> - Filter by cycle name, number, 'active'/'now', + 'next', 'previous', or a relative offset like +1 + --milestone <milestone> - Filter by project milestone (UUID, or name when + --project is set) + -l, --label <label> - Filter by label name (can be repeated for multiple + labels) + --limit <limit> - Maximum number of issues to fetch (default: 50, use (Default: 50) + 0 for unlimited) + --created-after <date> - Filter issues created after this date (ISO 8601 or + YYYY-MM-DD) + --updated-after <date> - Filter issues updated after this date (ISO 8601 or + YYYY-MM-DD) + -w, --web - Open in web browser + -a, --app - Open in Linear.app --no-pager - Disable automatic paging for long output ``` @@ -416,30 +420,36 @@ Description: Options: - -h, --help - Show this help. - --workspace <slug> - Target workspace (uses credentials) - --search <term> - Full-text search term - --search-comments - Also search inside issue comments (requires --search) - --team <team> - Filter by team key (can be repeated for multiple teams) - --all-teams - Query across all teams - -s, --state <state> - Filter by issue state (can be repeated for multiple states) (Values: "triage", "backlog", "unstarted", "started", - "completed", "canceled") - --all-states - Show issues from all states (this is the default) - --assignee <assignee> - Filter by assignee (username) - -A, --all-assignees - Show issues for all assignees (this is the default) - -U, --unassigned - Show only unassigned issues - --sort <sort> - Sort order: manual or priority (default: priority, not available with --search) (Values: "manual", "priority") - --project <project> - Filter by project (UUID, slug ID, or name) - --project-label <projectLabel> - Filter by project label name (shows issues from all projects with this label) - --cycle <cycle> - Filter by cycle name, number, 'active'/'now', 'next', 'previous', or a relative - offset like +1 - --milestone <milestone> - Filter by project milestone (UUID, or name when --project is set) - -l, --label <label> - Filter by label name (can be repeated for multiple labels) - --limit <limit> - Maximum number of issues to fetch (default: 50, use 0 for unlimited) (Default: 50) - --created-after <date> - Filter issues created after this date (ISO 8601 or YYYY-MM-DD) - --updated-after <date> - Filter issues updated after this date (ISO 8601 or YYYY-MM-DD) - --include-archived - Include archived issues - -j, --json - Output results as JSON + -h, --help - Show this help. + --workspace <slug> - Target workspace (uses credentials) + --search <term> - Full-text search term + --search-comments - Also search inside issue comments (requires --search) + --team <team> - Filter by team key (can be repeated for multiple teams) + --all-teams - Query across all teams + -s, --state <state> - Filter by issue state (can be repeated for multiple (Values: "triage", "backlog", "unstarted", + states) "started", "completed", "canceled") + --all-states - Show issues from all states (this is the default) + --assignee <assignee> - Filter by assignee (username) + -A, --all-assignees - Show issues for all assignees (this is the default) + -U, --unassigned - Show only unassigned issues + --sort <sort> - Sort order: manual or priority (default: priority, not (Values: "manual", "priority") + available with --search) + --project <project> - Filter by project (UUID, slug ID, or name) + --project-label <projectLabel> - Filter by project label name (shows issues from all + projects with this label) + --cycle <cycle> - Filter by cycle name, number, 'active'/'now', 'next', + 'previous', or a relative offset like +1 + --milestone <milestone> - Filter by project milestone (UUID, or name when --project + is set) + -l, --label <label> - Filter by label name (can be repeated for multiple labels) + --limit <limit> - Maximum number of issues to fetch (default: 50, use 0 for (Default: 50) + unlimited) + --created-after <date> - Filter issues created after this date (ISO 8601 or + YYYY-MM-DD) + --updated-after <date> - Filter issues updated after this date (ISO 8601 or + YYYY-MM-DD) + --include-archived - Include archived issues + -j, --json - Output results as JSON --no-pager - Disable automatic paging for long output ``` @@ -541,6 +551,24 @@ Options: -b, --branch <branch> - Custom branch name to use instead of the issue identifier ``` +### state + +> Print the issue's current state + +``` +Usage: linear issue state [issueId] + +Description: + + Print the issue's current state + +Options: + + -h, --help - Show this help. + --workspace <slug> - Target workspace (uses credentials) + -j, --json - Output as JSON +``` + ### title > Print the issue title @@ -571,26 +599,24 @@ Description: Options: - -h, --help - Show this help. - --workspace <slug> - Target workspace (uses credentials) - -a, --assignee <assignee> - Assign the issue to 'self' or someone (by username or name) - --unassign - Clear the issue's assignee (cannot be combined with --assignee) - --due-date <dueDate> - Due date of the issue - --parent <parent> - Parent issue (if any) as a team_number code - -p, --priority <priority> - Priority of the issue (1-4, descending priority) - --estimate <estimate> - Points estimate of the issue - -d, --description <description> - Description of the issue - --description-file <path> - Read description from a file (preferred for markdown content) - -l, --label <label> - Issue label associated with the issue. May be repeated. - --team <team> - Team associated with the issue (if not your default team) - --project <project> - Project to assign the issue to (UUID, slug ID, or name) - -s, --state <state> - Workflow state for the issue (by name or type) - --milestone <milestone> - Project milestone (UUID, or name when --project is set or the issue already has - a project) - --cycle <cycle> - Cycle name, number, 'active'/'now', 'next', 'previous', or a relative offset - like +1 (use --cycle=-1 for negatives). Use --clear-cycle to remove the issue - from its cycle - --clear-cycle - Remove the issue from its cycle + -h, --help - Show this help. + --workspace <slug> - Target workspace (uses credentials) + -a, --assignee <assignee> - Assign the issue to 'self' or someone (by username or name) + --unassign - Clear the issue's assignee (cannot be combined with --assignee) + --due-date <dueDate> - Due date of the issue + --parent <parent> - Parent issue (if any) as a team_number code + -p, --priority <priority> - Priority of the issue (1-4, descending priority) + --estimate <estimate> - Points estimate of the issue + -d, --description <description> - Description of the issue + --description-file <path> - Read description from a file (preferred for markdown content) + -l, --label <label> - Issue label associated with the issue. May be repeated. + --team <team> - Team associated with the issue (if not your default team) + --project <project> - Project to assign the issue to (UUID, slug ID, or name) + -s, --state <state> - Workflow state for the issue (by name or type) + --milestone <milestone> - Project milestone (UUID, or name when --project is set or the issue already has a project) + --cycle <cycle> - Cycle name, number, 'active'/'now', 'next', 'previous', or a relative offset like +1 (use --cycle=-1 for + negatives). Use --clear-cycle to remove the issue from its cycle + --clear-cycle - Remove the issue from its cycle -t, --title <title> - Title of the issue ``` diff --git a/skills/linear-cli/references/milestone.md b/skills/linear-cli/references/milestone.md index 8ea79842..1718b281 100644 --- a/skills/linear-cli/references/milestone.md +++ b/skills/linear-cli/references/milestone.md @@ -18,11 +18,11 @@ Options: Commands: - list - List milestones for a project - view, v <milestone> - View milestone details. By default lists the first 10 attached issues from the - first page of 50; use --all to paginate the full set. - create - Create a new project milestone - update <id> - Update an existing project milestone + list - List milestones for a project + view, v <milestone> - View milestone details. By default lists the first 10 attached issues from the first page of 50; use --all to paginate the + full set. + create - Create a new project milestone + update <id> - Update an existing project milestone delete <id> - Delete a project milestone ``` diff --git a/skills/linear-cli/references/project.md b/skills/linear-cli/references/project.md index 9644da7c..7ac54ec6 100644 --- a/skills/linear-cli/references/project.md +++ b/skills/linear-cli/references/project.md @@ -40,26 +40,25 @@ Description: Options: - -h, --help - Show this help. - --workspace <slug> - Target workspace (uses credentials) - -n, --name <name> - Project name (required) - -d, --description <description> - Project description (max 255 characters, enforced by Linear's API) - -f, --description-file <path> - Read project description from file (still subject to the 255-character API - limit) - --content <markdown> - Project overview markdown - --content-file <path> - Read project overview markdown from a file - -t, --team <team> - Team key (required, can be repeated for multiple teams) - -l, --lead <lead> - Project lead (username, email, or @me) - -s, --status <status> - Project status (planned, started, paused, completed, canceled, backlog) - --start-date <startDate> - Start date (YYYY-MM-DD) - --target-date <targetDate> - Target completion date (YYYY-MM-DD) - --priority <priority> - Project priority (none, urgent, high, medium, low) - --label <label> - Project label associated with the project. May be repeated. - --member <user> - Project member (username, email, display name, or @me). May be repeated. - --icon <icon> - Project icon - --color <color> - Project color as a HEX string - --initiative <initiative> - Add to initiative immediately (ID, slug, or name) - -i, --interactive - Interactive mode (default if no flags provided) + -h, --help - Show this help. + --workspace <slug> - Target workspace (uses credentials) + -n, --name <name> - Project name (required) + -d, --description <description> - Project description (max 255 characters, enforced by Linear's API) + -f, --description-file <path> - Read project description from file (still subject to the 255-character API limit) + --content <markdown> - Project overview markdown + --content-file <path> - Read project overview markdown from a file + -t, --team <team> - Team key (required, can be repeated for multiple teams) + -l, --lead <lead> - Project lead (username, email, or @me) + -s, --status <status> - Project status (planned, started, paused, completed, canceled, backlog) + --start-date <startDate> - Start date (YYYY-MM-DD) + --target-date <targetDate> - Target completion date (YYYY-MM-DD) + --priority <priority> - Project priority (none, urgent, high, medium, low) + --label <label> - Project label associated with the project. May be repeated. + --member <user> - Project member (username, email, display name, or @me). May be repeated. + --icon <icon> - Project icon + --color <color> - Project color as a HEX string + --initiative <initiative> - Add to initiative immediately (ID, slug, or name) + -i, --interactive - Interactive mode (default if no flags provided) -j, --json - Output created project as JSON ``` @@ -117,17 +116,16 @@ Description: Options: - -h, --help - Show this help. - --workspace <slug> - Target workspace (uses credentials) - -n, --name <name> - Project name - -d, --description <description> - Project description (max 255 characters, enforced by Linear's API) - -f, --description-file <path> - Read project description from file (still subject to the 255-character API - limit) - -s, --status <status> - Status (planned, started, paused, completed, canceled, backlog) - -l, --lead <lead> - Project lead (username, email, or @me) - --start-date <startDate> - Start date (YYYY-MM-DD) - --target-date <targetDate> - Target date (YYYY-MM-DD) - -t, --team <team> - Team key (can be repeated for multiple teams) + -h, --help - Show this help. + --workspace <slug> - Target workspace (uses credentials) + -n, --name <name> - Project name + -d, --description <description> - Project description (max 255 characters, enforced by Linear's API) + -f, --description-file <path> - Read project description from file (still subject to the 255-character API limit) + -s, --status <status> - Status (planned, started, paused, completed, canceled, backlog) + -l, --lead <lead> - Project lead (username, email, or @me) + --start-date <startDate> - Start date (YYYY-MM-DD) + --target-date <targetDate> - Target date (YYYY-MM-DD) + -t, --team <team> - Team key (can be repeated for multiple teams) --label <label> - Replace the project's labels. May be repeated to set multiple labels. ```