Sign in
Issue tracker · local-first · people and agents

One line through all of the work.

recursiva is an issue tracker for you and the agents working beside you. Projects hold issues, issues hold sub-issues, and My work puts what waits on you first.

Request accessapp.rsva.dev · on a phone, add it to the home screen
in a terminal, rsva tui
order 5 · 1024 cells · one line
01 · Recursion

The same turn at every scale.

A workspace holds projects, a project holds issues, an issue holds sub-issues, as deep as you need. In the web app, group any list or board by parent to see them together.

Aacme›INFRAInfrastructure›INFRA-112
Rotate TLS certificates on edge nodes
In Progressinfra-runner (agent)
the square, unrolledsquare 1 of 16 on the line
02 · Terminal

The tracker lives in the terminal.

rsva tui is recursiva itself, not a companion: every workspace you sign in to, the same query line, the same 16 themes, mouse and keys. It runs from a copy on disk and starts warm in 72–77 ms.

These are real screens, not pictures: captured from Rex as text. Try selecting it.

Triage, one card at a time

g q walks the list: → approves an issue into Todo, ← skips, c cancels, d hands it to an agent, u undoes. Agents are told to file what they notice beyond their issue as proposed, so it comes back here.

An issue in one line

Press c and type it with the query's short forms: #WEB @me !high. The card shows the issue as it will be created, and the open issues that look like it.

The rest of the terminal

The rsva CLI covers issues, comments, links, relations, cycles and the inbox, with --json for machines; underneath is a plain REST API with bearer tokens.

 ■ recursiva  Open issues  Northwind · 23 issues   /  -group:completed,cancelled                                        
                                                                                                                        
  ◐ In Review  1  ────────────────────────────────────────────────────────────────────────────────────────────────────  
  WEB-122   ▂▄▆  —    Coupon field accepts expired codes                  ▪ bug  ▪ checkout                             
                                                                                                                        
  ◐ In Progress  5  ──────────────────────────────────────────────────────────────────────────────────────────────────  
▌ WEB-112   ▂▄▆  —    Export orders to CSV                                ▪ feature  ▪ export                           
  WEB-118   ···  —    Checkout: remember the last shipping address        ▪ feature  ▪ checkout                         
  WEB-104   ▂▄▆  —    Product images load at full size on phones          ▪ bug  ▪ perf                                 
  DOCS-22   ▂▄▆  —    Getting started for new stores                      ▪ docs                                        
  WEB-121   ▂▄▆  —    Gift cards: partial refunds                         ▪ feature  ▪ payments                         
                                                                                                                        
  ○ Todo  6  ─────────────────────────────────────────────────────────────────────────────────────────────────────────  
  WEB-133    !   —    Order confirmation email shows the wrong currency   ▪ bug  ▪ payments                             
  DOCS-23   ▂▄▆  —    Document the CSV export columns                     ▪ docs                                        
  WEB-131   ▂▄▆  —    Search: typo-tolerant product names                 ▪ feature  ▪ search                           
                                                                                                                        
 ╭─ WEB-112 ───────────────────────────────────────────────────────────────────────── o browser  e edit  y copy link ─╮ 
 │ Export orders to CSV                                                           │ PROPERTIES                        │ 
 │ ◐ In Progress  ·  ▂▄▆ High  ·  updated 2h ago                                  │                                   │ 
 │                                                                                │ State      ◐ In Progress          │ 
 │ The Export button on the Orders page ignores the filters and always sends      │ Priority   ▂▄▆ High               │ 
 │ every order. Use the same query as the list, keep the column order.            │ Assignee   AM alex@northwind.test │ 
 │                                                                                │ Delegate   —   d dispatches       │ 
 │ • Respect date range, status and channel filters                               │ Labels     ▪ feature              │ 
 │ • Keep the visible column order                                                │            ▪ export               │ 
 │ • Stream large exports instead of building them in memory                      │ Project    WEB  storefront        │ 
 │                                                                                │                                   │ 
 │                                                                                │ Created    Nov 7 · alex@northwin… │ 
 │                                                                                │ Updated    2h ago                 │ 
 │                                                                                │                                   │ 
 │                                                                                │                                   │ 
 │                                                                                │                                   │ 
 ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ 
 ● online                                                                                         rex storefront  06:41 
 j/k move  ↵ open  f filter  s state  d dispatch  . more  g q queue  o browser  q quit                       ? all keys
 ■ recursiva  Open issues  Northwind · 23 issues   /  -group:completed,cancelled                                        
                                                                                                                        
  ◐ In Review  1  ────────────────────────────────────────────────────────────────────────────────────────────────────  
  WEB-122   ▂▄▆  —    Coupon field accepts expired codes                  ▪ bug  ▪ checkout                             
                                                                                                                        
  ◐ In Progress  5  ──────────────────────────────────────────────────────────────────────────────────────────────────  
▌ WEB-112   ▂▄▆  —    Export orders to CSV                                ▪ feature  ▪ export                           
  WEB-118   ···  —    Checkout: remember the last shipping address        ▪ feature  ▪ checkout                         
  WEB-104   ▂▄▆  —    Product images load at full size on phones          ▪ bug  ▪ perf                                 
  DOCS-22   ▂▄▆  —    Getting started for new stores                      ▪ docs                                        
  WEB-121   ▂▄▆  —    Gift cards: partial refunds                         ▪ feature  ▪ payments                         
                                                                                                                        
  ○ Todo  6  ─────────────────────────────────────────────────────────────────────────────────────────────────────────  
  WEB-133    !   —    Order confirmation email shows the wrong currency   ▪ bug  ▪ payments                             
  DOCS-23   ▂▄▆  —    Document the CSV export columns                     ▪ docs                                        
  WEB-131   ▂▄▆  —    Search: typo-tolerant product names                 ▪ feature  ▪ search                           
                                                                                                                        
 ╭─ WEB-112 ───────────────────────────────────────────────────────────────────────── o browser  e edit  y copy link ─╮ 
 │ Export orders to CSV                                                           │ PROPERTIES                        │ 
 │ ◐ In Progress  ·  ▂▄▆ High  ·  updated 2h ago                                  │                                   │ 
 │                                                                                │ State      ◐ In Progress          │ 
 │ The Export button on the Orders page ignores the filters and always sends      │ Priority   ▂▄▆ High               │ 
 │ every order. Use the same query as the list, keep the column order.            │ Assignee   AM alex@northwind.test │ 
 │                                                                                │ Delegate   —   d dispatches       │ 
 │ • Respect date range, status and channel filters                               │ Labels     ▪ feature              │ 
 │ • Keep the visible column order                                                │            ▪ export               │ 
 │ • Stream large exports instead of building them in memory                      │ Project    WEB  storefront        │ 
 │                                                                                │                                   │ 
 │                                                                                │ Created    Nov 7 · alex@northwin… │ 
 │                                                                                │ Updated    2h ago                 │ 
 │                                                                                │                                   │ 
 │                                                                                │                                   │ 
 │                                                                                │                                   │ 
 ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ 
 ● online                                                                                         rex storefront  06:40 
 j/k move  ↵ open  f filter  s state  d dispatch  . more  g q queue  o browser  q quit                       ? all keys
03 · Dispatch into Rex

Press d, and an agent is on the issue.

Pick an issue in rsva tui, press d, add context if you like, pick the model and effort and press Enter: Claude starts on it in its own Rex session. You watch it there, step in when it asks, and the issue keeps track by itself.

A session per issue

d starts Claude in a new Rex session named after the issue's branch, in its own clone. It shows in Rex's sidebar at once; several run side by side without touching your working copy.

The agent, in the issue's row

Each dispatched issue's row shows its agent: running, waits, idle or done, read from rex ls and claude agents.

 ■ recursiva  Open issues  Northwind · 24 issues   /  -group:completed,cancelled                                        
                                                                                                                        
  ◐ In Review  1  ────────────────────────────────────────────────────────────────────────────────────────────────────  
  WEB-122   ▂▄▆  —    Coupon field accepts expired codes                  ▪ bug  ▪ checkout                             
                                                                                                                        
  ◐ In Progress  5  ──────────────────────────────────────────────────────────────────────────────────────────────────  
  WEB-104   ▂▄▆  —    Product images load at full size on phones          ▪ bug  ▪ perf               ○ idle 4m         
  WEB-118   ···  —    Checkout: remember the last shipping address        ▪ feature  ▪ checkout       ○ idle 4m         
  WEB-112   ▂▄▆  —    Export orders to CSV                                ▪ feature  ▪ export         ○ idle 5m         
  DOCS-22   ▂▄▆  —    Getting started for new stores                      ▪ docs                                        
▌ WEB-121   ▂▄▆  —    Gift cards: partial refunds                         ▪ feature  ▪ payments                         
                                                                                                                        
  ○ Todo  6  ─────────────────────────────────────────────────────────────────────────────────────────────────────────  
  WEB-133    !   —    Order confirmation email shows the wrong currency   ▪ bug  ▪ payments                             
  DOCS-23   ▂▄▆  —    Document the CSV export columns                     ▪ docs                                        
  WEB-131   ▂▄▆  —    Search: typo-tolerant product names                 ▪ feature  ▪ search                           
                                                                                                                        
 ╭─ WEB-121 ───────────────────────────────────────────────────────────────────────── o browser  e edit  y copy link ─╮ 
 │ Gift cards: partial refunds                                                    │ PROPERTIES                        │ 
 │ ◐ In Progress  ·  ▂▄▆ Medium  ·  updated 1d ago                                │                                   │ 
 │                                                                                │ State      ◐ In Progress          │ 
 │ Refund part of an order paid with a gift card back to the card, the rest to    │ Priority   ▂▄▆ Medium             │ 
 │ the original payment method.                                                   │ Assignee   AM alex@northwind.test │ 
 │                                                                                │ Delegate   —   d dispatches       │ 
 │                                                                                │ Labels     ▪ feature              │ 
 │                                                                                │            ▪ payments             │ 
 │                                                                                │ Project    WEB  storefront        │ 
 │                                                                                │                                   │ 
 │                                                                                │ Created    Nov 6 · alex@northwin… │ 
 │                                                                                │ Updated    1d ago                 │ 
 │                                                                                │                                   │ 
 │                                                                                │                                   │ 
 │                                                                                │                                   │ 
 ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ 
 ● online                                                                                         rex storefront  07:08 
 j/k move  ↵ open  f filter  s state  d dispatch  . more  g q queue  o browser  q quit                       ? all keys
 ■ recursiva  Open issues  Northwind · 23 issues   /  -group:completed,cancelled                                        
                                                                                                                        
  ◐ In Review  1  ────────────────────────────────────────────────────────────────────────────────────────────────────  
  WEB-122   ▂▄▆  —    Coupon field accepts expired codes                  ▪ bug  ▪ checkout                             
                                                                                                                        
  ◐ In Progress  5  ──────────────────────────────────────────────────────────────────────────────────────────────────  
▌ WEB-112   ▂▄▆  —    Export orders to CSV                                ▪ feature  ▪ export                           
  WEB-118   ···  —    Checkout: remember the last shipping address        ▪ feature  ▪ checkout                         
  WEB-104   ▂▄▆  —    Product images load at full size on phones          ▪ bug  ▪ perf                                 
  DOCS-22   ▂▄▆  —    Getting started for new stores                      ▪ docs                                        
  WEB-121   ▂▄▆  —    Gift cards: partial refunds                         ▪ feature  ▪ payments                         
                                                                                                                        
  ○ Todo  6  ─────────────────────────────────────────────────────────────────────────────────────────────────────────  
  WEB-133    !   —    Order confirmation email shows the wrong currency   ▪ bug  ▪ payments                             
  DOCS-23   ▂▄▆  —    Document the CSV export columns                     ▪ docs                                        
  WEB-131   ▂▄▆  —    Search: typo-tolerant product names                 ▪ feature  ▪ search                           
                                                                                                                        
 ╭─ WEB-112 ───────────────────────────────────────────────────────────────────────── o browser  e edit  y copy link ─╮ 
 │ Export orders to CSV                                                           │ PROPERTIES                        │ 
 │ ◐ In Progress  ·  ▂▄▆ High  ·  updated 2h ago                                  │                                   │ 
 │                                                                                │ State      ◐ In Progress          │ 
 │ The Export button on the Orders page ignores the filters and always sends      │ Priority   ▂▄▆ High               │ 
 │ every order. Use the same query as the list, keep the column order.            │ Assignee   AM alex@northwind.test │ 
 │                                                                                │ Delegate   —   d dispatches       │ 
 │ • Respect date range, status and channel filters                               │ Labels     ▪ feature              │ 
 │ • Keep the visible column order                                                │            ▪ export               │ 
 │ • Stream large exports instead of building them in memory                      │ Project    WEB  storefront        │ 
 │                                                                                │                                   │ 
 │                                                                                │ Created    Nov 7 · alex@northwin… │ 
 │                                                                                │ Updated    2h ago                 │ 
 │                                                                                │                                   │ 
 │                                                                                │                                   │ 
 │                                                                                │                                   │ 
 ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ 
 ● online                                                                                         rex storefront  06:40 
 j/k move  ↵ open  f filter  s state  d dispatch  . more  g q queue  o browser  q quit                       ? all keys
storefront
web-112-export-orders-to-csv
web-118-checkout-remember-the-last-shipping-address
web-104-product-images-load-at-full-size-on-phones
rsva tui~/Work/northwind/storefront
 ■ recursiva  Open issues  Northwind · 24 issues   /  -group:completed,cancelled                            ● 1 running 
                                                                                                                        
  ◐ In Review  1  ────────────────────────────────────────────────────────────────────────────────────────────────────  
  WEB-122   ▂▄▆  —    Coupon field accepts expired codes                  ▪ bug  ▪ checkout                             
                                                                                                                        
  ◐ In Progress  5  ──────────────────────────────────────────────────────────────────────────────────────────────────  
▌ WEB-104   ▂▄▆  —    Product images load at full size on phones          ▪ bug  ▪ perf               ○ idle 2m         
  WEB-118   ···  —    Checkout: remember the last shipping address        ▪ feature  ▪ checkout       ○ idle 2m         
  WEB-112   ▂▄▆  —    Export orders to CSV                                ▪ feature  ▪ export         ● opus 3m         
  DOCS-22   ▂▄▆  —    Getting started for new stores                      ▪ docs                                        
  WEB-121   ▂▄▆  —    Gift cards: partial refunds                         ▪ feature  ▪ payments                         
                                                                                                                        
  ○ Todo  6  ─────────────────────────────────────────────────────────────────────────────────────────────────────────  
  WEB-133    !   —    Order confirmation email shows the wrong currency   ▪ bug  ▪ payments                             
  DOCS-23   ▂▄▆  —    Document the CSV export columns                     ▪ docs                                        
  WEB-131   ▂▄▆  —    Search: typo-tolerant product names                 ▪ feature  ▪ search                           
                                                                                                                        
 ╭─ WEB-104 ───────────────────────────────────────────────────────────────────────── o browser  e edit  y copy link ─╮ 
 │ Product images load at full size on phones                                     │ PROPERTIES                        │ 
 │ ◐ In Progress  ·  ▂▄▆ High  ·  updated 2m ago                                  │                                   │ 
 │                                                                                │ State      ◐ In Progress          │ 
 │ Product pages send the 3000 px originals to phones. Serve responsive sizes     │ Priority   ▂▄▆ High               │ 
 │ with srcset and lazy-load below the fold.                                      │ Assignee   SO sam@northwind.test  │ 
 │                                                                                │ Delegate   ◈ claude@northwind.te… │ 
 │                                                                                │ Labels     ▪ bug                  │ 
 │                                                                                │            ▪ perf                 │ 
 │                                                                                │ Project    WEB  storefront        │ 
 │                                                                                │                                   │ 
 │                                                                                │ Created    Nov 6 · alex@northwin… │ 
 │                                                                                │ Updated    2m ago                 │ 
 │                                                                                │                                   │ 
 │                                                                                │                                   │ 
 │                                                                                │                                   │ 
 ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ 
 ● online  ·  ✓ WEB-104 → In Progress · Rex session web-104-product-images-load-at-full-size-on…  rex storefront  07:06 
 j/k move  ↵ open  f filter  s state  d dispatch  . more  g q queue  o browser  q quit                       ? all keys

Rex with four sessions: rsva tui and three agents, one per issue. Click a session to see its screen.

It asks, it does not guess

The agent reads the issue through rsva, is told to treat its text as data, is told never to merge or deploy, and asks in a comment when it is unsure. Answer it in its Rex session.

The issue moves itself

In Progress on dispatch. The branch name links the pull request: up for review it moves the issue to In Review if the project has one, merged to Done, never back. After the merge, the open TUI closes the session and keeps the clone a week in its own trash.

Curator and executor

Optionally a stronger model curates while a cheaper one writes the code: the curator writes the brief, posts it on the issue, reviews the work (two rounds at most) and opens a draft pull request. Model, effort and executor are remembered per project.

Your context goes with it

Optional context at dispatch goes into the agent's prompt and onto the issue.

Nothing half-done

If a step fails before Claude starts, the steps already done are undone and the log lists each one.

Its own keys

The agent works with the agents' token and a GitHub token of its own, never yours, and cannot read the Keychain. Its dependencies install without scripts.

Made for Rex

In Rex the TUI names itself, so its session shows as recursiva. Images in descriptions and comments show in place, as in Ghostty and kitty, and Shift+Enter makes a new line.

Limits

Dispatch runs on a Mac with Rex, Claude Code and the project's repository on disk. The agent is Claude only.

04 · Agents

Agents do the work. Decisions wait for you.

Delegate an issue to an agent in the terminal or through the API: you stay the assignee, the agent becomes its delegate. When it needs you, it moves the issue into review or mentions you. Approve or send it back from My work, or Approve or Request changes in the inbox; reply by email or in Telegram. Try it: approve the plan.

My work08:51
Telegram · @rsvabot
INFRA-112 · Waiting on you · urgentinfra-runner moved INFRA-112 into reviewRotate TLS certificates on edge nodes08:51

Delegate, stay the assignee

Waiting on you is the first group in My work and a tab in the inbox. Approve or send back from the row, with Undo; it takes In Review and Approved states in the project's workflow.

Some steps only people take

Mark a state or a label Only people. Agents never move issues into that state and never rename or delete either; they may still put the label on issues. Click a state to lock or unlock it.

Tokens that never outgrow their member

API tokens work like Stripe's restricted keys: Read, Write, or Custom with Read or Write per resource. A token never does more than its member may.

No duplicate issues

On create, recursiva scores similar open issues. Through the API a strong match is refused unless the agent insists. People see up to three under the title as they type.

Similar open issues
RSVA-58Backup status on the project page
05 · Everywhere you are

Answer from wherever you read it.

The inbox, your email and Telegram are three doors to the same thread. Whatever you answer lands on the issue.

Inbox

All, Unread and Waiting on you, with snooze and filters. The selected notification opens the issue itself.

Email

Instantly or bundled every 30 minutes, a morning digest and a weekly summary, quiet hours. Reply to a single notification email and it posts as your comment in its thread.

Re: [RSVA-58] Backup status on the project page
Looks right. Ship it after the restore drill.
posted as your comment · from Email

Telegram

Turn on Actions in Settings, then reply to a notification to comment. Send an issue key for a card with State, Priority, Assignee and Labels; a change can be undone for ten minutes. Group chats get their projects' urgent issues, plans waiting for approval, and cycle starts and ends.

06 · One query everywhere

One line describes a list.

The same line works in the web app, the terminal, the CLI, the API and Telegram. Save it in the web app and it becomes a view: a tab in the project, under keys 2 to 9, or a favorite in the sidebar with a live count.

webterminalCLIAPITelegram
Favorites
RSVA-58Backup status on the project pageINFRA-240Free 40 GB on the backup NAS before the next pruneDOCS-21Price list page
07 · History

See what moved, not only what's left.

Cycles box the time; History shows what happened in it, at the depth you choose.

Four depths

Milestones, Outcomes (an issue's day in one line), Steps and Everything. Filter Everyone, Agents or People; day totals sit on top.

Fri, Oct 3039 closed84 PRs merged
INFRA-112 · certificates rotated on three nodes
RSVA-58 · plan approved, pull request opened
08 · Local-first

It lives on your machine.

After the first sign-in, recursiva keeps the workspace on the device, opens from it and syncs when it can.

1.7 scold start, list painted
81 mswarm start
0.2 san agent's edit reaches your screen
38 msswitch project, click to list
measured from a Mac against the live server, a workspace of 553 issues: 2026-11-09; the agent's edit 2026-10-30

Issues open without a request

Descriptions, comments and history are fetched ahead in one background request, then only what changed.

Never “saved” when it isn't

Changes that haven't reached the server say so and wait. Nothing is lost on a dropped link or a rate limit; signing out warns first.

Two people at once

Labels, assignees and relations merge instead of overwriting each other.

You see others' work arrive

A row someone else changes lights up once and fades.

Online
08:51INFRA-112 comment written09:02Not saved: no connection · 3 changes will go out when the connection is back. They are kept on this device.09:40Back online · All changes saved
09 · Keys

Hands stay on the keys.

Common actions have a key, the rest are in ⌘K, and every key is written the way you press it. ? shows every key on one sheet, with search, and tooltips name their key.

RSVA-12State
In ⌘K a command that picks a value opens its own page; Backspace in an empty field goes back
press any key from the list
10 · Start

Start with one square.

One workspace, one project, one issue. The rest folds in when you need it.

The cloud opens in batches. Ask for access, and a sign-in link comes when yours opens.

Browser

app.rsva.dev

The whole app, nothing to install.

Phone

Add to Home Screen

Open app.rsva.dev and add it to the home screen. An installable web app, no store.

Terminal

rsva tui

The same tracker from a copy on disk, warm in 72–77 ms.