Skip to content

repothread/clawrise-plugin-linear

Repository files navigation

clawrise-plugin-linear

clawrise-plugin-linear is the standalone Linear provider plugin for Clawrise.

It follows the public clawrise-cli plugin contract and integrates through plugin.json + stdio JSON-RPC without importing any internal package from clawrise-cli.

clawrise-cli repository:

Current Scope

The initial release intentionally keeps a small surface focused on integration validation:

  • auth method: linear.api_key
  • linear.viewer.get
  • linear.team.list
  • linear.issue.get
  • linear.issue.create
  • linear.issue.update

Not included yet:

  • OAuth login
  • comments, attachments, and workflow-style higher-level features
  • a Node.js implementation

Installation

1. Development Discovery

Build the plugin inside this repository:

./scripts/build.sh

Then expose the current directory as a discovery root for clawrise:

CLAWRISE_PLUGIN_PATHS=$PWD clawrise doctor
CLAWRISE_PLUGIN_PATHS=$PWD clawrise auth methods --platform linear
CLAWRISE_PLUGIN_PATHS=$PWD clawrise spec list linear

If you are verifying from the clawrise-cli source repository, you can also run:

CLAWRISE_PLUGIN_PATHS=$PWD GOCACHE=/tmp/clawrise-go-build GOMODCACHE=/tmp/clawrise-gomodcache go run ./cmd/clawrise doctor

2. Archive Installation

After release, the recommended distribution path is GitHub Releases with .tar.gz archives:

clawrise plugin install https://github.com/repothread/clawrise-plugin-linear/releases/download/v0.1.0/clawrise-plugin-linear-0.1.0-darwin-arm64.tar.gz

Account Configuration

The official Linear GraphQL endpoint is https://api.linear.app/graphql. When using a personal or service API key, requests use the header Authorization: <API_KEY>. Official docs:

Recommended account configuration:

accounts:
  linear_default:
    title: Linear Default
    platform: linear
    subject: integration
    auth:
      method: linear.api_key
      public:
        api_url: https://api.linear.app/graphql
      secret_refs:
        token: secret:linear_default:token

Common Commands

Read the current viewer:

clawrise linear.viewer.get --json '{}'

List visible teams:

clawrise linear.team.list --json '{}'

Read an issue:

clawrise linear.issue.get --json '{"id":"ISS-123"}'

Create an issue:

clawrise linear.issue.create --dry-run --json '{"team_id":"team_uuid","title":"Test from Clawrise"}'

Update an issue:

clawrise linear.issue.update --dry-run --json '{"id":"ISS-123","title":"Updated title"}'

Development And Testing

Run unit tests:

go test ./...

Verify local integration with clawrise-cli:

./scripts/verify-with-clawrise.sh /path/to/clawrise-cli

This repository ships with:

  • Makefile
  • GitHub Actions CI
  • GitHub Actions release packaging
  • skills/clawrise-linear/SKILL.md

Packaging

Build an archive for the current platform:

./scripts/package.sh 0.1.0

Example output:

dist/clawrise-plugin-linear-0.1.0-darwin-arm64.tar.gz

Design Principles

  • keep zero code coupling with clawrise-cli
  • rely on execution_auth resolved by auth.resolve at execution time
  • never read the clawrise-cli main config file directly from the plugin
  • prioritize discoverability, testability, and release readiness before expanding the operation surface

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors