Skip to content

feat!: bare driga opens the viewer; drop CLI copies of live views - #59

Merged
vishr merged 1 commit into
mainfrom
feat/cli-focus
Oct 24, 2026
Merged

vishr merged 1 commit into
mainfrom
feat/cli-focus

Conversation

@vishr

@vishr vishr commented Oct 24, 2026

Copy link
Copy Markdown
Member

An independent review asked whether the CLI duplicates the TUI and web. Most of it does not: MCP reads, Chat actions, notification clicks (driga inbox jump), the read-only web dashboard and TUI hand-offs all run through CLI commands, so those stay. What duplicated the live views is removed here.

Changes

  • Bare driga opens driga top when stdin and stdout are a terminal. Piped or --json, it prints the summary as before; driga summary always prints it.
  • --watch removed from every read command (a clear-screen redraw loop; top and web are the live views). The viewer heartbeat stays for web.
  • activity and conflicts commands removed. The web Activity page, Flow and Projects show this data; MCP keeps get_activity and list_conflicts (built from view, not the CLI).
  • README and docs/usage.md lead with service install, driga, web and doctor, and present read commands as the scripting and agent interface.

Breaking for anyone scripting driga activity, driga conflicts or --watch; Driga is alpha and has no compatibility shims.

Verification

  • just check passes; MCP parity test skips CLI comparison for the two MCP-only tools.
  • Built binary with isolated HOME and data: piped driga prints the summary; under a pseudo-terminal (script) driga opens the TUI with Flow, Projects and Machines tabs.

https://claude.ai/code/session_01T2vtcW6ihn1ywy9vxUq9a4

The TUI and web dashboard are where people watch agents. The CLI is the
interface for scripts, agents and actions, so it no longer imitates the
live views:

- Bare `driga` in a terminal opens `driga top`. Piped output or --json
  still prints the one-screen summary; `driga summary` always does.
- Remove --watch from every read command. It redrew text on a timer,
  which top and web already do properly.
- Remove the `activity` and `conflicts` commands. Activity is in the web
  Activity page, overlaps are in Flow and Projects, and MCP keeps
  get_activity and list_conflicts.

README and usage docs lead with top, web, service install and doctor, and
move the read commands under scripting and agents.

Claude-Session: https://claude.ai/code/session_01T2vtcW6ihn1ywy9vxUq9a4
@vishr
vishr merged commit e90fa5e into main Oct 24, 2026
4 checks passed
@vishr
vishr deleted the feat/cli-focus branch October 24, 2026 15:08
vishr added a commit that referenced this pull request Oct 24, 2026
The landing page leads with a 24-second film and three short loops, all
recordings of the shipped binary:

- cmd/driga-demo plays scripted sessions into a private data directory: it
  writes the store, holds the collector lock and runs the real prompt
  broker, so `driga` and `driga web` read it as a live collector. It never
  reads the process table, agent files or Git.
- site/footage records the TUI with VHS and the web dashboard (dark and
  light) with Playwright, then cuts site/public/media with Remotion.
  `just site-footage` redoes all of it.

The page follows the approved design: status line, headline, install,
film, feature sections for Needs you, Flow and Machines, three ways in,
local by default, and a closing install. The site switches to Geist and
Geist Mono, with Catppuccin state colours darkened to 4.5:1 in Latte.

Docs follow the CLI changes in #59: bare `driga` opens the viewer, and
activity, conflicts and --watch are gone. The notifications guide explains
the one-time macOS prompt from #58.

Claude-Session: https://claude.ai/code/session_01T2vtcW6ihn1ywy9vxUq9a4
vishr added a commit that referenced this pull request Oct 24, 2026
A Starlight site for driga.dev, built from the code where it can be:

- cmd/driga-docgen writes the CLI, settings, MCP tools and hooks reference
  pages from the parser, the settings table, the MCP server and dry-run hook
  installers; `just docs-check` and the docgen tests fail on a stale page.
- llms.txt, llms-full.txt and a Markdown alternate of every page, including
  the landing page's headings, commands and install line.
- Catppuccin Mocha and Latte as in the app, Geist and Geist Mono, one
  heading scale and focus ring, state colours at 4.5:1 or better.

The landing page leads with real-time screen recordings of the shipped
binary: the terminal from typing `driga` to an allowed permission prompt,
then the same prompt allowed in the browser, then the install command, with
a Terminal · Browser · Install chapter bar. Feature sections play tight
crops of the same takes, light or dark with the site theme; phones get the
Needs-you crop in the hero.

- cmd/driga-demo plays scripted sessions into a private temporary data
  directory: it holds the collector lock, writes the store and runs the real
  prompt broker, so `driga` and `driga web` read it as a live collector. It
  never reads the process table, agent files or Git.
- site/footage records the TUI with VHS and `driga web` with Playwright (a
  drawn pointer, both themes), refusing to film unless the viewer reads the
  demo, and cuts the films with Remotion from film/cut.json.
- Videos live in the R2 bucket driga-assets under content-hashed keys,
  served from assets.driga.dev and listed in src/data/media.json; posters
  are committed. `just site-footage` re-records, `just site-footage-publish`
  uploads.

Docs follow #58 (one-time macOS notification prompt) and #59 (bare `driga`
opens the viewer; no activity, conflicts or --watch). Deployed to Cloudflare
Pages by .github/workflows/site.yml.

Claude-Session: https://claude.ai/code/session_01T2vtcW6ihn1ywy9vxUq9a4
vishr added a commit that referenced this pull request Oct 24, 2026
A Starlight site for driga.dev, built from the code where it can be:

- cmd/driga-docgen writes the CLI, settings, MCP tools and hooks reference
  pages from the parser, the settings table, the MCP server and dry-run hook
  installers; `just docs-check` and the docgen tests fail on a stale page.
- llms.txt, llms-full.txt and a Markdown alternate of every page, including
  the landing page's headings, commands and install line.
- Catppuccin Mocha and Latte as in the app, Geist and Geist Mono, one
  heading scale and focus ring, state colours at 4.5:1 or better.

The landing page leads with real-time screen recordings of the shipped
binary: the terminal from typing `driga` to an allowed permission prompt,
then the same prompt allowed in the browser, then the install command, with
a Terminal · Browser · Install chapter bar. Feature sections play tight
crops of the same takes, light or dark with the site theme; phones get the
Needs-you crop in the hero.

- cmd/driga-demo plays scripted sessions into a private temporary data
  directory: it holds the collector lock, writes the store and runs the real
  prompt broker, so `driga` and `driga web` read it as a live collector. It
  never reads the process table, agent files or Git.
- site/footage records the TUI with VHS and `driga web` with Playwright (a
  drawn pointer, both themes), refusing to film unless the viewer reads the
  demo, and cuts the films with Remotion from film/cut.json.
- Videos live in the R2 bucket driga-assets under content-hashed keys,
  served from assets.driga.dev and listed in src/data/media.json; posters
  are committed. `just site-footage` re-records, `just site-footage-publish`
  uploads.

Docs follow #58 (one-time macOS notification prompt) and #59 (bare `driga`
opens the viewer; no activity, conflicts or --watch). Deployed to Cloudflare
Pages by .github/workflows/site.yml.

Claude-Session: https://claude.ai/code/session_01T2vtcW6ihn1ywy9vxUq9a4
vishr added a commit that referenced this pull request Oct 24, 2026
A Starlight site for driga.dev, built from the code where it can be:

- cmd/driga-docgen writes the CLI, settings, MCP tools and hooks reference
  pages from the parser, the settings table, the MCP server and dry-run hook
  installers; `just docs-check` and the docgen tests fail on a stale page.
- llms.txt, llms-full.txt and a Markdown alternate of every page, including
  the landing page's headings, commands and install line.
- Catppuccin Mocha and Latte as in the app, Geist and Geist Mono, one
  heading scale and focus ring, state colours at 4.5:1 or better.

The landing page leads with real-time screen recordings of the shipped
binary: the terminal from typing `driga` to an allowed permission prompt,
then the same prompt allowed in the browser, then the install command, with
a Terminal · Browser · Install chapter bar. Feature sections play tight
crops of the same takes, light or dark with the site theme; phones get the
Needs-you crop in the hero.

- cmd/driga-demo plays scripted sessions into a private temporary data
  directory: it holds the collector lock, writes the store and runs the real
  prompt broker, so `driga` and `driga web` read it as a live collector. It
  never reads the process table, agent files or Git.
- site/footage records the TUI with VHS and `driga web` with Playwright (a
  drawn pointer, both themes), refusing to film unless the viewer reads the
  demo, and cuts the films with Remotion from film/cut.json.
- Videos live in the R2 bucket driga-assets under content-hashed keys,
  served from assets.driga.dev and listed in src/data/media.json; posters
  are committed. `just site-footage` re-records, `just site-footage-publish`
  uploads.

Docs follow #58 (one-time macOS notification prompt) and #59 (bare `driga`
opens the viewer; no activity, conflicts or --watch). Deployed to Cloudflare
Pages by .github/workflows/site.yml.

Claude-Session: https://claude.ai/code/session_01T2vtcW6ihn1ywy9vxUq9a4
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant