| name | linear-reference-architecture |
| description | Production-grade Linear integration architecture patterns.
Use when designing system architecture, choosing integration patterns,
or reviewing architectural decisions for Linear integrations.
Trigger: "linear architecture", "linear system design",
"linear integration patterns", "linear best practices architecture".
|
| allowed-tools | Read, Write, Edit, Grep |
| version | 1.12.0 |
| license | MIT |
| author | Jeremy Longshore <jeremy@intentsolutions.io> |
| tags | ["saas","linear","linear-reference"] |
| compatibility | Designed for Claude Code, also compatible with Codex and OpenClaw |
Linear Reference Architecture
Overview
Production-grade architectural patterns for Linear integrations. Choose the right pattern based on team size, complexity, and real-time requirements.
Architecture Decision Matrix
| Pattern | Best For | Complexity | Rate Budget | Example |
|---|
| Simple | Single app, small team | Low | < 500 req/hr | Internal dashboard |
| Service-Oriented | Multiple apps, shared state | Medium | 500-2,000 req/hr | Platform with Linear sync |
| Event-Driven | Real-time needs, many consumers | High | < 500 req/hr + webhooks | Multi-service notification system |
| CQRS | Audit trails, complex queries | Very High | Minimal API calls | Compliance-grade tracking |
Architecture 1: Simple Integration
Direct SDK calls from your application. Best for scripts, internal tools, and prototypes.
import { LinearClient } from "@linear/sdk";
const client = new LinearClient({ apiKey: process.env.LINEAR_API_KEY! });
export async function getOpenIssues(teamKey: string) {
return client.issues({
first: 50,
filter: {
team: { key: { eq: teamKey } },
: { : { : [, ] } },
},
: ,
});
}
() {
labels = client.({ : { : { : } } });
client.({
teamId,
title,
description,
: ,
: labels.. ? [labels.[].] : [],
});
}