/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:Documents
Each team has adocuments/ folder with one JSON file per Linear document:
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__: