No description
Find a file
Christopher Rueber c60ddf5fb1 feat(tui): allow navigation to today in daily tab with live data indicators
Add support for selecting the current day in the Daily tab. Today's date is
now reachable via right/l/n, displayed with an amber " Today (in progress)"
badge, and the status bar shows a right-aligned "Last synced: HH:MM AM/PM"
timestamp sourced from the tickets table.

Pressing `r` (replacing ctrl+r) on today also clears the cached ticket_activity
rows before re-generating, forcing a fresh Jira fetch. On past days `r` only
regenerates the summary as before.

- db: add DeleteTicketActivityByProjectAndDate and GetLastSyncedForProjectAndDate
- tui/styles: add colorWarning (amber) and styleTodayBadge
- tui/browser: lift maxAllowedDate cap to today, today badge in date nav,
  r key with today-aware activity cache busting, two-column status bar with
  async last-synced timestamp
2026-03-09 23:48:22 -05:00
cmd/jeera feat: Phase 8 — mouse support, graceful degradation, XDG paths, README, smoke test 2026-03-06 17:26:42 -06:00
internal feat(tui): allow navigation to today in daily tab with live data indicators 2026-03-09 23:48:22 -05:00
migrations feat: Phase 1 — project skeleton, config, Go module, all dependencies 2026-03-06 16:24:35 -06:00
plans feat(tui): allow navigation to today in daily tab with live data indicators 2026-03-09 23:48:22 -05:00
prompts chore: initial commit with spec, prompts, and implementation plan 2026-03-06 16:23:08 -06:00
research docs: add plan and research notes for queue conc refactor 2026-03-09 22:08:11 -05:00
.gitignore feat: Phase 1 — project skeleton, config, Go module, all dependencies 2026-03-06 16:24:35 -06:00
AGENTS.md Update README and AGENTS.md to reflect current codebase state 2026-03-09 18:16:21 -05:00
APPLICATION.md revert BoltHold migration, restore SQLite with UpsertTicketBatch 2026-03-09 14:20:16 -05:00
config.toml.example feat: Phase 1 — project skeleton, config, Go module, all dependencies 2026-03-06 16:24:35 -06:00
go.mod refactor(queue): use conc.WaitGroup, add Cancel(), and recover panics 2026-03-09 22:07:58 -05:00
go.sum refactor(queue): use conc.WaitGroup, add Cancel(), and recover panics 2026-03-09 22:07:58 -05:00
jeera fix: debug logging for sync pipeline + fix changelog RFC3339 parse bug 2026-03-06 18:09:40 -06:00
JIRA.md revert BoltHold migration, restore SQLite with UpsertTicketBatch 2026-03-09 14:20:16 -05:00
Makefile feat: Phase 8 — mouse support, graceful degradation, XDG paths, README, smoke test 2026-03-06 17:26:42 -06:00
README.md Update README and AGENTS.md to reflect current codebase state 2026-03-09 18:16:21 -05:00

jeera

A terminal UI for browsing AI-generated Jira activity summaries — daily, weekly, monthly, and yearly — with a Year-in-Review feature.

Installation

go install git.packden.us/crueber/jeera/cmd/jeera@latest

Quick Start

  1. Copy the example config:
    cp config.toml.example ~/.config/jeera/config.toml
    
  2. Fill in your Jira and AI credentials in ~/.config/jeera/config.toml.
  3. Run:
    jeera
    

On first launch, if Jira credentials are missing, a setup wizard will guide you through configuration.

Configuration

Config is stored at $XDG_CONFIG_HOME/jeera/config.toml (defaults to ~/.config/jeera/config.toml).

Field Description
jira.base_url Your Jira instance URL, e.g. https://mycompany.atlassian.net
jira.email Your Jira account email
jira.api_token Jira API token (generate at id.atlassian.com)
ai.provider LLM provider: openai, openrouter, ollama, or lmstudio
ai.base_url Override the provider's base URL (optional)
ai.api_key API key for the LLM provider
ai.model Model name to use (e.g. gpt-4o, llama3.2)

The SQLite database is stored at $XDG_DATA_HOME/jeera/jeera.db (defaults to ~/.local/share/jeera/jeera.db).

Keybindings

Global

Key Action
ctrl+a Open AI Settings
ctrl+g Open Jira Settings
ctrl+y Open Year-in-Review
? Show help screen
esc / q Go back / quit

Browser

Key Action
p Focus project input
t Focus team input
tab Cycle summary tabs (forward)
shift+tab Cycle summary tabs (backward)
h / Previous period
l / Next period
n Jump to latest period
j / Scroll down
k / Scroll up
PgDn Page down
PgUp Page up
ctrl+r Force refresh current view
i Toggle Individual / Team mode

Year-in-Review

Key Action
r Regenerate year-in-review
p Edit project key
tab Cycle team tabs (forward)
shift+tab Cycle team tabs (backward)
j / k Scroll down / up

Settings

Key Action
ctrl+t Test connection
ctrl+s Save settings

Supported LLM Providers

Provider Default Base URL Notes
openai https://api.openai.com/v1 Requires api_key
openrouter https://openrouter.ai/api/v1 Requires api_key
ollama http://localhost:11434/v1 Local; no api_key needed
lmstudio http://localhost:1234/v1 Local; no api_key needed

Any OpenAI-compatible endpoint can be used by setting ai.base_url manually.

Mouse Support

Tab labels and date navigation arrows are clickable when running in a terminal that supports mouse input.