linear

bởi vercel

API GraphQL Linear được mô phỏng để phát triển và kiểm thử cục bộ. Sử dụng khi người dùng cần kiểm thử tích hợp Linear cục bộ, mô phỏng các vấn đề, bình luận của Linear,…

npx skills add https://github.com/vercel-labs/emulate --skill linear

Linear API Emulator

Stateful Linear GraphQL API emulation with organizations, users, teams, workflow states, issues, comments, labels, projects, cycles, OAuth apps, tokens, webhooks, and basic agent sessions.

Start

# Linear only
npx emulate --service linear

Default URL: http://localhost:4012 when all services are started, or http://localhost:4000 when Linear is the only service.

URL Mapping

Real Linear URLEmulator URL
https://api.linear.app/graphql$LINEAR_EMULATOR_URL/graphql
https://linear.app/oauth/authorize$LINEAR_EMULATOR_URL/oauth/authorize
https://api.linear.app/oauth/token$LINEAR_EMULATOR_URL/oauth/token
https://api.linear.app/oauth/revoke$LINEAR_EMULATOR_URL/oauth/revoke

Auth

GraphQL accepts a bearer token or bare personal API key:

curl "$LINEAR_EMULATOR_URL/graphql" \
  -H "Authorization: Bearer lin_test_admin" \
  -H "Content-Type: application/json" \
  -d '{"query":"{ viewer { id email } }"}'

Scope checks are relaxed by default. Set linear.strict_scopes: true in seed config to require supported operation scopes such as read, write, issues:create, comments:create, and admin.

Seed Config

linear:
  organization:
    name: Acme
    url_key: acme
  users:
    - email: admin@example.com
      name: Admin User
      admin: true
    - email: dev@example.com
      name: Developer
  teams:
    - key: ENG
      name: Engineering
  issues:
    - team: ENG
      title: Fix local checkout test
      state: Todo
      assignee: dev@example.com
  oauth_apps:
    - client_id: lin_example_client_id
      client_secret: example_client_secret
      name: My Linear App
      redirect_uris:
        - http://localhost:3000/api/auth/callback/linear
      scopes: [read, write, issues:create, comments:create]
  tokens:
    - token: lin_test_admin
      user: admin@example.com
      scopes: [read, write, issues:create, comments:create, admin]
  strict_scopes: false

GraphQL Surface

Supported queries:

  • viewer
  • organization
  • users, user
  • teams, team
  • workflowStates, workflowState
  • issues, issue
  • comments, comment
  • issueLabels, issueLabel
  • projects, project
  • cycles, cycle
  • webhooks, webhook
  • agentSessions, agentSession

Supported mutations:

  • issueCreate, issueUpdate, issueDelete, issueArchive, issueUnarchive
  • commentCreate, commentUpdate, commentDelete
  • issueLabelCreate, issueLabelUpdate, issueLabelDelete
  • issueAddLabel, issueRemoveLabel
  • webhookCreate, webhookDelete
  • agentSessionCreateOnIssue, agentSessionCreateOnComment, agentSessionUpdate
  • agentActivityCreate

Connections use Relay-style cursors with nodes, edges, and pageInfo.

Issue selections expose both numeric priority and Linear's derived priorityLabel values: No priority, Urgent, High, Medium, and Low.

OAuth

  • GET /oauth/authorize - authorization endpoint with local user picker
  • POST /oauth/authorize/callback - local user picker callback
  • POST /oauth/token - authorization code, refresh token, and client credentials grants
  • POST /oauth/revoke - revoke access or refresh tokens

OAuth apps can use actor: user or actor: app. The configured actor is authoritative. User actor apps use authorization code flows. App actor apps use the app install flow and can request client credentials tokens. App actor support is sufficient for local agent and service-account tests, but it is not full production Linear agent behavior.

Webhooks

Create local webhook subscriptions through webhookCreate or seed config. Supported writes dispatch Linear-shaped payloads with Linear-Delivery, Linear-Event, and Linear-Signature headers when a secret is configured.

Inspector

Open GET / in the Linear emulator to inspect issues, teams, users, projects, agent sessions, OAuth apps, tokens, webhook subscriptions, and webhook deliveries.

Current Limits

Full Linear schema coverage, exact production rate limiting, notification inbox behavior, rich document APIs, customer APIs, initiative APIs, exact search relevance, and full production agent behavior are not implemented.

Thêm skills từ vercel

vercel
vercel
API REST Vercel được mô phỏng để phát triển và kiểm thử cục bộ. Sử dụng khi người dùng cần tương tác với các điểm cuối API Vercel tại chỗ, kiểm thử tích hợp Vercel,…
cron-jobs
vercel
Cấu hình và các phương pháp tốt nhất cho Vercel Cron Jobs. Sử dụng khi thêm, chỉnh sửa hoặc gỡ lỗi các tác vụ đã lên lịch trong vercel.json.
codegen
vercel
Các tiện ích tạo mã cho json-render. Sử dụng khi tạo mã từ đặc tả giao diện người dùng, xây dựng trình xuất mã tùy chỉnh, duyệt qua các đặc tả hoặc tuần tự hóa các thuộc tính cho…
next-best-practice
vercel
Các phương pháp hay nhất của Next.js - quy ước tệp, ranh giới RSC, mẫu dữ liệu, API bất đồng bộ, siêu dữ liệu, xử lý lỗi, trình xử lý tuyến đường, tối ưu hóa hình ảnh/phông chữ,…
benchmark-sandbox
vercel
Chạy các kịch bản đánh giá vercel-plugin trong Vercel Sandboxes thay vì các bảng WezTerm cục bộ. Cung cấp các microVM tạm thời với Claude Code và plugin được cài đặt sẵn,…
write-guide
vercel
Tạo một hướng dẫn kỹ thuật dạy một trường hợp sử dụng thực tế thông qua các ví dụ tiến dần. Các khái niệm chỉ được giới thiệu khi người đọc cần đến chúng.
benchmark-testing
vercel
Tạo và khởi chạy các dự án kiểm thử benchmark để thực thi việc tiêm kỹ năng vercel-plugin qua các kịch bản thực tế. Thiết lập các thư mục độc lập, cài đặt…
ai-gateway
vercel
Hướng