Skip to main content
The Linear resource exposes Linear workspace data as a virtual filesystem mounted at some prefix such as /linear/. For API key setup, see Linear Setup.

Config

Filesystem Layout

Example:
Directory and file names embed the Linear ID after __ so that resource-specific commands can reference the correct resource without extra lookups.

Teams

Each team directory is named:
Inside the team directory:
  • team.json is the normalized team metadata
  • members/ contains one JSON file per member
  • issues/ contains one directory per issue
  • projects/ contains one JSON file per project, including lightweight related issue references
  • cycles/ contains one JSON file per cycle

Issues

Each issue directory is named:
Each issue directory contains:
  • issue.json — normalized issue metadata with command-aligned fields such as issue_id, issue_key, team_id, state_id, and assignee_id
  • comments.jsonl — normalized comment stream ordered by created_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:
Member JSON includes command-aligned identifiers such as 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:
Project JSON includes lightweight related issue references. Cycle JSON includes cycle metadata such as start and end dates.

Documents

Each team has a documents/ folder with one JSON file per Linear document:
Document JSON includes the title, markdown content, the linked project, and the creator.

Cache

The Linear resource uses IndexCacheStore (same as Discord and other resources). There is no separate content cache — file content caching is handled by the workspace IOResult mechanism.

Example

See examples/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:

Acting on Linear

Reads and writes on Linear entities (issues, comments, projects, cycles, labels, users, documents, search) go through the linear CLI when installed; the mounted tree serves the same entities as normalized JSON files.