/linear/.
For API key setup, see Linear Setup.
Config
Filesystem Layout
__ so that
resource-specific commands can reference the correct resource without
extra lookups.
Teams
Each team directory is named:team.jsonis the normalized team metadatamembers/contains one JSON file per memberissues/contains one directory per issueprojects/contains one JSON file per project, including lightweight related issue referencescycles/contains one JSON file per cycle
Issues
Each issue directory is named:issue.json— normalized issue metadata with command-aligned fields such asissue_id,issue_key,team_id,state_id, andassignee_idcomments.jsonl— normalized comment stream ordered bycreated_at
comments.jsonl is a Mirage representation chosen for shell-friendly
workflows. It is not a native Linear file format.
Members
Each member file is named:user_id and email
so the value can be reused directly in commands like linear-issue-assign.
Projects and Cycles
Project and cycle files are named:Cache
The Linear resource usesIndexCacheStore (same as Discord and other
resources). There is no separate content cache — file content caching
is handled by the workspace IOResult mechanism.
Example
Seeexamples/linear/linear.py for the full working example.
Finding IDs
IDs are embedded in directory and file names after__:
Shell Commands
Standard commands available on the mounted Linear tree:Resource-Specific Commands
linear-issue-create
Create a new issue. Description can be passed via --description, --description_file, or stdin.
* One of
--team_id or --team_key is required.
linear-issue-update
Update an existing issue. Description can be passed via --description, --description_file, or stdin.
* One of
--issue_id or --issue_key is required.
linear-issue-assign
Assign an issue to a user.
* One of
--issue_id or --issue_key is required.
** One of --assignee_id or --assignee_email is required.
linear-issue-transition
Transition an issue to a different workflow state.
* One of
--issue_id or --issue_key is required.
** One of --state_id or --state_name is required.
linear-issue-set-priority
Set the priority of an issue.
* One of
--issue_id or --issue_key is required.
linear-issue-set-project
Assign an issue to a project.
* One of
--issue_id or --issue_key is required.
linear-issue-add-label
Add a label to an issue.
* One of
--issue_id or --issue_key is required.
linear-issue-comment-add
Add a comment to an issue. Body can be passed via --body, --body_file, or stdin.
* One of
--issue_id or --issue_key is required.
** One of --body, --body_file, or stdin is required.
linear-issue-comment-update
Update an existing comment. Body can be passed via --body, --body_file, or stdin.
** One of
--body, --body_file, or stdin is required.
linear-search
Search issues across the workspace.
Returns matching issues as a JSON array.