Documentation
¶
Overview ¶
Package changelog embeds jira-cli's own release notes so the binary can show its changelog without reaching the network. The per-change fragments under .changes/ are batched by changie into one Markdown file per version; those files (and the changelog header) are compiled in here, parsed into structured releases, and assembled on demand. This is jira-cli's changelog surfaced to its users, and is unrelated to the `jira release-notes` view of a Jira project's issues.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Release ¶
type Release struct {
// Version is the semantic version without the leading v, e.g. "0.7.7".
Version string `json:"version"`
// Tag is the git tag form, e.g. "v0.7.7".
Tag string `json:"tag"`
// URL links to the release, taken from the version heading.
URL string `json:"url,omitempty"`
// Date is the release date as written in the heading, e.g. "2026-07-05".
Date string `json:"date,omitempty"`
// Sections are the change groups (Added, Fixed, …) in file order.
Sections []Section `json:"sections"`
// Markdown is the version's notes exactly as batched. It drives the human
// renderer and is deliberately excluded from JSON.
Markdown string `json:"-"`
}
Release is one released version's notes, parsed into structured sections.
Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
check-changie
command
Command check-changie fails a feat/fix commit that ships no changelog fragment (and no `Changelog: skip` trailer), so nothing user-facing is missed from the release notes.
|
Command check-changie fails a feat/fix commit that ships no changelog fragment (and no `Changelog: skip` trailer), so nothing user-facing is missed from the release notes. |
|
gen-docs
command
Command gen-docs renders the jira command tree into Markdown reference pages for the docs site.
|
Command gen-docs renders the jira command tree into Markdown reference pages for the docs site. |
|
jira
command
Command jira is the terminal-first CLI for Jira Cloud; it wires the Cobra command tree via internal/cli/root and owns process exit.
|
Command jira is the terminal-first CLI for Jira Cloud; it wires the Cobra command tree via internal/cli/root and owns process exit. |
|
internal
|
|
|
adf
Package adf parses, validates, normalizes, and renders Atlassian Document Format — the JSON rich-text schema behind Jira descriptions, comments, and worklog notes.
|
Package adf parses, validates, normalizes, and renders Atlassian Document Format — the JSON rich-text schema behind Jira descriptions, comments, and worklog notes. |
|
agentguides
Package agentguides embeds and loads the agent workflow guides that docent serves through `jira agent` and `jira guide`.
|
Package agentguides embeds and loads the agent workflow guides that docent serves through `jira agent` and `jira guide`. |
|
browser
Package browser builds Jira web URLs and opens them in the OS default browser.
|
Package browser builds Jira web URLs and opens them in the OS default browser. |
|
cache
Package cache is a tiny per-profile JSON file store for Jira metadata (labels, epics, projects, …) that's cheap to look up — used by the `jira cache <resource>` commands and (eventually) by Cobra shell completion functions.
|
Package cache is a tiny per-profile JSON file store for Jira metadata (labels, epics, projects, …) that's cheap to look up — used by the `jira cache <resource>` commands and (eventually) by Cobra shell completion functions. |
|
cli
Package cli is the cobra-free presentation and error layer the command packages share.
|
Package cli is the cobra-free presentation and error layer the command packages share. |
|
cli/adfcmd
Package adfcmd implements the `jira adf` command group: standalone Markdown→ADF conversion and linting, plus the explicitly-lossy ADF→Markdown projection.
|
Package adfcmd implements the `jira adf` command group: standalone Markdown→ADF conversion and linting, plus the explicitly-lossy ADF→Markdown projection. |
|
cli/adfmode
Package adfmode resolves the strict vs best-effort ADF mode for a given CLI invocation, applying both the precedence ladder and per-path defaults.
|
Package adfmode resolves the strict vs best-effort ADF mode for a given CLI invocation, applying both the precedence ladder and per-path defaults. |
|
cli/agent
Package agent hosts the registry commands mounted under docent's `jira agent` group — adf-matrix and fieldtypes, the machine-readable ADF and custom-field support registries.
|
Package agent hosts the registry commands mounted under docent's `jira agent` group — adf-matrix and fieldtypes, the machine-readable ADF and custom-field support registries. |
|
cli/alias
Package alias hosts the `jira alias` command group for managing the user-defined command aliases stored in the config file.
|
Package alias hosts the `jira alias` command group for managing the user-defined command aliases stored in the config file. |
|
cli/auth
Package auth hosts the `jira auth` command group for managing Jira credentials and the active profile.
|
Package auth hosts the `jira auth` command group for managing Jira credentials and the active profile. |
|
cli/boards
Package boards hosts the `jira boards` command tree.
|
Package boards hosts the `jira boards` command tree. |
|
cli/boardscope
Package boardscope resolves the `--board NAME` / `--board-id N` flag pair against the local board cache and renders the result into JQL clauses and envelope data.
|
Package boardscope resolves the `--board NAME` / `--board-id N` flag pair against the local board cache and renders the result into JQL clauses and envelope data. |
|
cli/cache
Package cache hosts the `jira cache` command group: per-resource primers that fetch Jira metadata into the per-profile cache, plus housekeeping (clear, refresh).
|
Package cache hosts the `jira cache` command group: per-resource primers that fetch Jira metadata into the per-profile cache, plus housekeeping (clear, refresh). |
|
cli/cache/registry
Package registry is the single source of truth for the cacheable Jira metadata resources: their identity, default freshness window, and fetch.
|
Package registry is the single source of truth for the cacheable Jira metadata resources: their identity, default freshness window, and fetch. |
|
cli/cmdutil
Package cmdutil holds the cross-cutting helper layer shared by every jira-cli command: envelope writers, client/profile accessors, output-mode resolution, mutation gates, the credential-warning sink, and small generic value helpers.
|
Package cmdutil holds the cross-cutting helper layer shared by every jira-cli command: envelope writers, client/profile accessors, output-mode resolution, mutation gates, the credential-warning sink, and small generic value helpers. |
|
cli/completion
Package completion hosts the `jira completion` command and the dynamic shell-completion emitters.
|
Package completion hosts the `jira completion` command and the dynamic shell-completion emitters. |
|
cli/config
Package config implements the `jira config` cobra command tree, which manages the local configuration file, profiles, and theme settings.
|
Package config implements the `jira config` cobra command tree, which manages the local configuration file, profiles, and theme settings. |
|
cli/epic
Package epic hosts the `jira epic` command group: list, board, add, and remove for epic-to-issue membership.
|
Package epic hosts the `jira epic` command group: list, board, add, and remove for epic-to-issue membership. |
|
cli/issue
Package issue hosts the `jira issue` command group — the CLI's largest verb — covering the issue lifecycle (create, view, list, edit, clone, move, delete, transition) and its sub-resources: comments, attachments, links, watchers, and rank.
|
Package issue hosts the `jira issue` command group — the CLI's largest verb — covering the issue lifecycle (create, view, list, edit, clone, move, delete, transition) and its sub-resources: comments, attachments, links, watchers, and rank. |
|
cli/jql
Package jql hosts the `jira jql` command group for building, validating, and referencing JQL queries — the local query-construction helpers that complement the search commands.
|
Package jql hosts the `jira jql` command group for building, validating, and referencing JQL queries — the local query-construction helpers that complement the search commands. |
|
cli/me
Package me hosts the `jira me` command, a short alias for the identity portion of `jira auth whoami` that prints the active profile's Jira identity.
|
Package me hosts the `jira me` command, a short alias for the identity portion of `jira auth whoami` that prints the active profile's Jira identity. |
|
cli/releasenotes
Package releasenotes implements `jira release-notes`, which prints jira-cli's own changelog — embedded in the binary — so a user can see what changed in the tool without opening GitHub or the docs site.
|
Package releasenotes implements `jira release-notes`, which prints jira-cli's own changelog — embedded in the binary — so a user can see what changed in the tool without opening GitHub or the docs site. |
|
cli/root
Package root assembles the CLI's top-level cobra command: the persistent flags, help renderer, PersistentPreRunE (config, logging, output-mode resolution), and the subcommand tree, plus the completion-preflight seam and Execute.
|
Package root assembles the CLI's top-level cobra command: the persistent flags, help renderer, PersistentPreRunE (config, logging, output-mode resolution), and the subcommand tree, plus the completion-preflight seam and Execute. |
|
cli/runtime
Package runtime is the dependency boundary between the binary shell in cmd/jira and the command implementations.
|
Package runtime is the dependency boundary between the binary shell in cmd/jira and the command implementations. |
|
cli/schema
Package schema builds the machine-readable command and output schemas that `jira agent schema` emits and the docs generator reads.
|
Package schema builds the machine-readable command and output schemas that `jira agent schema` emits and the docs generator reads. |
|
cli/search
Package search hosts the `jira search` command group for running Jira searches — ad-hoc JQL and the saved named queries from the config's queries path.
|
Package search hosts the `jira search` command group for running Jira searches — ad-hoc JQL and the saved named queries from the config's queries path. |
|
cli/startup
Package startup parses jira's global flags and first subcommand out of the raw argv before cobra runs.
|
Package startup parses jira's global flags and first subcommand out of the raw argv before cobra runs. |
|
cli/stdin
Package stdin is the ONLY place in the source tree allowed to read os.Stdin.
|
Package stdin is the ONLY place in the source tree allowed to read os.Stdin. |
|
cli/tui
Package tui wires the `jira tui` command to the section-based dashboard.
|
Package tui wires the `jira tui` command to the section-based dashboard. |
|
cli/update
Package update implements the `jira update` cobra command, which self-updates a release-archive binary in place and points Scoop and go-install binaries at the command their channel manages updates with.
|
Package update implements the `jira update` cobra command, which self-updates a release-archive binary in place and points Scoop and go-install binaries at the command their channel manages updates with. |
|
cli/user
Package user hosts the `jira user` command group.
|
Package user hosts the `jira user` command group. |
|
cli/version
Package version implements the `jira version` cobra command: a bare version string for humans (and tooling that probes `<binary> version`), a labeled metadata block behind --detailed, and the structured envelope in machine modes.
|
Package version implements the `jira version` cobra command: a bare version string for humans (and tooling that probes `<binary> version`), a labeled metadata block behind --detailed, and the structured envelope in machine modes. |
|
cli/worklog
Package worklog hosts the `jira worklog` command group for adding and listing work logged against an issue.
|
Package worklog hosts the `jira worklog` command group for adding and listing work logged against an issue. |
|
config
Package config is the layered configuration store for jira-cli: a koanf v2 loader over defaults, a TOML file, and a JIRA_* environment overlay (last wins), plus the profile model and the credential backends profiles point at.
|
Package config is the layered configuration store for jira-cli: a koanf v2 loader over defaults, a TOML file, and a JIRA_* environment overlay (last wins), plus the profile model and the credential backends profiles point at. |
|
docs
Package docs renders a Cobra command tree to byte-stable Markdown for the jira-cli documentation site.
|
Package docs renders a Cobra command tree to byte-stable Markdown for the jira-cli documentation site. |
|
editor
Package editor spawns the user's external editor over a temporary Markdown file and reads the edited result back.
|
Package editor spawns the user's external editor over a temporary Markdown file and reads the edited result back. |
|
envelope
Package envelope holds the typed per-operation Output structs that envelope `data` payloads are built from, and derives the published JSON Schemas from those same types — one declaration, so emission and schema cannot diverge.
|
Package envelope holds the typed per-operation Output structs that envelope `data` payloads are built from, and derives the published JSON Schemas from those same types — one declaration, so emission and schema cannot diverge. |
|
errtax
Package errtax is the CLI's error taxonomy: the stable error types and codes the JSON envelope emits, and the registry that binds every code to its classification.
|
Package errtax is the CLI's error taxonomy: the stable error types and codes the JSON envelope emits, and the registry that binds every code to its classification. |
|
issuekey
Package issuekey parses and expands issue-key expressions into canonical Jira keys.
|
Package issuekey parses and expands issue-key expressions into canonical Jira keys. |
|
jira
Package jira is the Jira Cloud REST client and its typed services (issues, search, boards, comments, links, attachments, worklogs, users, rank).
|
Package jira is the Jira Cloud REST client and its typed services (issues, search, boards, comments, links, attachments, worklogs, users, rank). |
|
jira/customfield
Package customfield is the Jira custom-field type registry.
|
Package customfield is the Jira custom-field type registry. |
|
jql
Package jql builds and composes Jira Query Language strings from structured inputs.
|
Package jql builds and composes Jira Query Language strings from structured inputs. |
|
pager
Package pager shows a rendered document one screen at a time on the user's terminal.
|
Package pager shows a rendered document one screen at a time on the user's terminal. |
|
pill
Package pill is the single source of the status-badge palette: fixed truecolor fills keyed by Jira's status category (matching the Jira UI's own colors) and a luma-computed contrasting text color.
|
Package pill is the single source of the status-badge palette: fixed truecolor fills keyed by Jira's status category (matching the Jira UI's own colors) and a luma-computed contrasting text color. |
|
pipeline
Package pipeline implements the deterministic 5-stage validation pipeline that gates every Jira mutation submission.
|
Package pipeline implements the deterministic 5-stage validation pipeline that gates every Jira mutation submission. |
|
refresh
Package refresh models the cadence of a periodic poll: the current interval, pause and resume, and additive backoff when the server reports a rate limit.
|
Package refresh models the cadence of a periodic poll: the current interval, pause and resume, and additive backoff when the server reports a rate limit. |
|
selfupdate
Package selfupdate resolves which install channel delivered the running binary and builds the matching gechr/clive updater for it.
|
Package selfupdate resolves which install channel delivered the running binary and builds the matching gechr/clive updater for it. |
|
tui
Package tui is the umbrella for the `jira tui` full-screen dashboard (alpha — the headless commands are the stable surface).
|
Package tui is the umbrella for the `jira tui` full-screen dashboard (alpha — the headless commands are the stable surface). |
|
tui/components/action
Package action provides a single controller that collects input for the Jira verbs (transition, comment, assign, labels, worklog, edit) through one Mode-dispatched component, instead of a bespoke flow per action.
|
Package action provides a single controller that collects input for the Jira verbs (transition, comment, assign, labels, worklog, edit) through one Mode-dispatched component, instead of a bespoke flow per action. |
|
tui/components/activity
Package activity is the observational record of user-facing mutations for the `jira tui` dashboard: it feeds the footer's status slot (the most-recent operation and an in-flight count) and the scrollable operation-log overlay (every recorded mutation, newest-first).
|
Package activity is the observational record of user-facing mutations for the `jira tui` dashboard: it feeds the footer's status slot (the most-recent operation and an in-flight count) and the scrollable operation-log overlay (every recorded mutation, newest-first). |
|
tui/components/carousel
Package carousel renders a horizontal strip of labels with one active, and wraps navigation around the ends.
|
Package carousel renders a horizontal strip of labels with one active, and wraps navigation around the ends. |
|
tui/components/dialog
Package dialog is a domain-free stack of modal overlays for a Bubble Tea application.
|
Package dialog is a domain-free stack of modal overlays for a Bubble Tea application. |
|
tui/components/form
Package form is the modal text-input controller for overlay forms: an ordered set of single- and multi-line fields with one focus ring, a dirty-discard guard (esc on edited content asks yes/no instead of dropping it), a submit/cancel/editor event contract with a consumed-key signal, and a pluggable autocomplete seam (a trigger rune such as @ starts a query; suggestions are fetched asynchronously as commands).
|
Package form is the modal text-input controller for overlay forms: an ordered set of single- and multi-line fields with one focus ring, a dirty-discard guard (esc on edited content asks yes/no instead of dropping it), a submit/cancel/editor event contract with a consumed-key signal, and a pluggable autocomplete seam (a trigger rune such as @ starts a query; suggestions are fetched asynchronously as commands). |
|
tui/components/input
Package input is the TUI's shared text-entry substrate: thin themed wrappers over bubbles/textinput and textarea, plus the external-editor hop.
|
Package input is the TUI's shared text-entry substrate: thin themed wrappers over bubbles/textinput and textarea, plus the external-editor hop. |
|
tui/components/keybind
Package keybind is the name-indexed key-rebinding registry: a map of stable lower-case names to bubbles key.Binding pointers, with config-driven overrides and enumeration.
|
Package keybind is the name-indexed key-rebinding registry: a map of stable lower-case names to bubbles key.Binding pointers, with config-driven overrides and enumeration. |
|
tui/components/listviewport
Package listviewport is a scrollable, single-selection list of pre-rendered rows.
|
Package listviewport is a scrollable, single-selection list of pre-rendered rows. |
|
tui/components/markdown
Package markdown renders GFM (produced by internal/adf) for the TUI and the release-notes plain view through glamour, with a style derived from the active clib theme so issue bodies and comments match the rest of the dashboard.
|
Package markdown renders GFM (produced by internal/adf) for the TUI and the release-notes plain view through glamour, with a style derived from the active clib theme so issue bodies and comments match the rest of the dashboard. |
|
tui/components/palette
Package palette is a fuzzy, type-to-filter command list for a command-palette dialog.
|
Package palette is a fuzzy, type-to-filter command list for a command-palette dialog. |
|
tui/components/picker
Package picker is a vertical, type-to-filter select list for modal choices (workflow transitions today; assignees, labels and facet values next).
|
Package picker is a vertical, type-to-filter select list for modal choices (workflow transitions today; assignees, labels and facet values next). |
|
tui/components/pill
Package pill renders a labeled cycle selector — "type ‹ Task ›" — a compact one-of chooser for a form field that needs no text area.
|
Package pill renders a labeled cycle selector — "type ‹ Task ›" — a compact one-of chooser for a form field that needs no text area. |
|
tui/components/suggest
Package suggest is a session-scoped, in-memory TTL cache for slow keyed lookups behind the TUI create form — issue-type lists per project and the assignee/label suggestion queries that would otherwise re-hit Jira on every keystroke or reopen.
|
Package suggest is a session-scoped, in-memory TTL cache for slow keyed lookups behind the TUI create form — issue-type lists per project and the assignee/label suggestion queries that would otherwise re-hit Jira on every keystroke or reopen. |
|
tui/components/task
Package task is the generation-tracked async work manager for a Bubble Tea app: named scopes group work, every start bumps the scope's monotonic generation, and a finished result is accepted only while its generation is still the latest — so a superseded fetch (the user refreshed again, changed filters, moved on) is dropped instead of overwriting newer state.
|
Package task is the generation-tracked async work manager for a Bubble Tea app: named scopes group work, every start bumps the scope's monotonic generation, and a finished result is accepted only while its generation is still the latest — so a superseded fetch (the user refreshed again, changed filters, moved on) is dropped instead of overwriting newer state. |
|
tui/components/titlebox
Package titlebox draws a rounded box with its title embedded in the top border — "╭ title ─────╮" — around a body the caller has already rendered.
|
Package titlebox draws a rounded box with its title embedded in the top border — "╭ title ─────╮" — around a body the caller has already rendered. |
|
tui/core
Package core defines the contracts every TUI view is built on: the Section interface, the shared ProgramContext, the async task manager, the section registry and the typed message set.
|
Package core defines the contracts every TUI view is built on: the Section interface, the shared ProgramContext, the async task manager, the section registry and the typed message set. |
|
tui/icons
Package icons is the TUI's glyph table: one Set per icon mode (Nerd Font or plain Unicode) so both stay complete, selected by the tui.icons config key.
|
Package icons is the TUI's glyph table: one Set per icon mode (Nerd Font or plain Unicode) so both stay complete, selected by the tui.icons config key. |
|
tui/keys
Package keys holds the global key map for the section-based TUI and the config-driven rebinding that lets users override any binding by name.
|
Package keys holds the global key map for the section-based TUI and the config-driven rebinding that lets users override any binding by name. |
|
tui/sections/issues
Package issues is the triage-home section: the personal queue a reviewer works down.
|
Package issues is the triage-home section: the personal queue a reviewer works down. |
|
tui/sections/settings
Package settings is the dashboard's configuration view: it shows where the active config came from and what it resolved to, offers a manual reload, and watches the file (on the shared refresh heartbeat) so edits hot-apply without restarting the TUI.
|
Package settings is the dashboard's configuration view: it shows where the active config came from and what it resolved to, offers a manual reload, and watches the file (on the shared refresh heartbeat) so edits hot-apply without restarting the TUI. |
|
tui/theme
Package theme defines lipgloss styles shared across the Jira TUI.
|
Package theme defines lipgloss styles shared across the Jira TUI. |
|
version
Package version resolves build metadata for the running binary.
|
Package version resolves build metadata for the running binary. |
Click to show internal directories.
Click to hide internal directories.