linctl

module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 18, 2026 License: MIT

README

linctl

linctl is a schema-aligned Go CLI for Linear.

It is built for agent-safe daily coordination: reads are lightweight, writes re-resolve the active Linear token and fail closed unless the resolved org/team/project matches the pinned target.

Install

From source:

go install github.com/KyaniteHQ/linctl/cmd/linctl@latest

After the first tagged release:

brew install --cask KyaniteHQ/linctl/linctl

Configure

Create .linctl.toml in a repo:

[target]
org_id = "linear-org-id"
team_key = "LIT"
team_id = "linear-team-id"
project_id = "optional-linear-project-id"

Inject credentials with LINCTL_TOKEN or LINEAR_API_KEY; do not commit tokens.

Usage

linctl usage
linctl target --json
linctl current --json
linctl issue usage
linctl project usage

Issue and project writes require a pinned target. Team-scoped creates compare org/team; resource-scoped updates and archives resolve the resource first and compare the pinned project when configured.

Development

go generate ./...
git diff --exit-code -- internal/client/generated.go
go vet ./...
go test -race -shuffle=on -count=1 ./...
go run github.com/golangci/golangci-lint/v2/cmd/golangci-lint@latest run --timeout 5m ./...

The temporary integration fixture is configured in test/integration-config.json. Inject LINCTL_TEST_TOKEN from secret storage only when running live integration tests:

LINCTL_TEST_TOKEN=<token> go test -count=1 -tags=integration ./internal/client

Directories

Path Synopsis
cmd
linctl command
Package main starts the linctl binary.
Package main starts the linctl binary.
internal
cli
Package cli owns the linctl command-line surface.
Package cli owns the linctl command-line surface.
client
Package client contains Linear GraphQL client primitives.
Package client contains Linear GraphQL client primitives.
config
Package config loads linctl configuration from files, profiles, and environment variables.
Package config loads linctl configuration from files, profiles, and environment variables.
gitctx
Package gitctx derives Linear context from the current VCS checkout.
Package gitctx derives Linear context from the current VCS checkout.
render
Package render writes human and JSON command output.
Package render writes human and JSON command output.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL