mirror of
https://github.com/schpet/linear-cli.git
synced 2026-09-14 14:26:50 +08:00
928b1eb65e
Linear attaches every document to exactly one target — project, issue, initiative, team, cycle, or release — and documentCreate now rejects targetless documents outright. The CLI only exposed --project/--issue on create, --project on update, and slug-only --project plus --issue on list. The reporter asked for the missing create flags; the consistent fix is wider: a shared attachment-target module (six long-only flags, exactly-one validation before any network/editor/stdin work, --team + --cycle collapsing into one team-scoped cycle target like the issue commands) now backs create, update, and list, so their semantics cannot drift. Along the way this removes the interactive "workspace document" option (it always fails server-side now), gives update the missing --issue, fixes list --project silently matching slug IDs only, resolves list filters to IDs so bad input errors instead of returning an empty list, types the ATTACHMENT column (six namespaces make bare names ambiguous), and shows all six associations in view/list output. New shared resolvers: resolveInitiativeId (UUID/slug/name) and resolveReleaseId (UUID/name/version, paginated to exhaustion so ambiguity detection sees every candidate, erroring on ambiguous matches rather than picking one silently). teamId/initiativeId/cycleId are [Internal] in Linear's schema but verified working with a regular API key, as issueId was before it became public. Live-QA'd against a real workspace for project/issue/team/cycle/ initiative targets, including re-pointing (the server clears the old target). Releases require a Business plan and are covered by mocked tests and the refreshed schema only. Github-Issue: Fixes #260 Github-Issue-Url: https://github.com/schpet/linear-cli/issues/260