Story: ORE Studio Emacs dashboard
Table of Contents
This page documents a story in Sprint 18. It captures the goal, current status, acceptance criteria, and the tasks that compose it.
Goal
Replace the broken per-mode ores.lisp approach — where scripts from
one checkout bleed into another — with an env-aware emacs-dashboard
console. The dashboard binds to the active checkout via .env,
groups all dev commands (DB, services, compass, build), provides
bookmarks to key directories, links to recipes and the user manual,
offers an ORE Studio shell, and shows the ORE splash image.
Status
| Field | Value |
|---|---|
| State | DONE |
| Parent sprint | Sprint 18 |
| Now | Nothing. |
| Waiting on | — |
| Next | — |
| Last touched | 2026-05-29 |
Acceptance
ores-dashboard.elloads without error via(require 'ores-dashboard).- Dashboard binds dynamically to the current checkout's
.env— two Emacs instances onlocal1andlocal2run independent commands. - Command groups cover: DB (init, migrate, reset), Services (start/stop server, NATS), Compass (list, where, add), Build (configure, build, test, deploy site, deploy skills).
- Bookmarks section resolves log dir and bin dir from
.env. - Links section opens key recipes and the user manual inside Emacs.
- "Open ORE Studio shell" launches a comint shell bound to the active env.
- ORE splash image displayed in dashboard header.
- Superseded per-mode modules (
ores-db.eletc.) are removed or gutted. - A dashboard chapter exists in the user guide.
- Reusable helpers (
ores-env.el,ores-shell.el,ores-shell-mode.el) are retained and wired in.
Tasks
| Task | State | Start | End | Description |
|---|---|---|---|---|
| Audit existing ores.lisp modules and design dashboard architecture | DONE | 2026-05-24 | 2026-05-25 | Survey all .el files under projects/ores.lisp, identify what is reusable vs superseded, and produce the design for ores-dashboard.el. |
| Implement ores-dashboard.el | DONE | 2026-05-24 | 2026-05-26 | Create the ores-dashboard.el core: env binding, .env reading, command groups (db, services, compass, build), bookmarks, ORE shell, splash image. |
| Remove superseded ores.lisp modules | BACKLOG | 2026-05-24 | Delete or gut ores-db.el and other per-mode modules that are superseded by the dashboard; keep reusable helpers (ores-env.el, ores-shell.el). | |
| Write the ORE Studio dashboard user manual section | BACKLOG | 2026-05-24 | Add a dashboard chapter to the user guide covering: launching the dashboard, each command group, bookmarks, and the ORE Studio shell. | |
| Make compass output paths clickable in dashboard output pane | DISCOVERED | 2026-05-25 | Post-process compass where/list/status output so that org-mode file paths appear as clickable links that open the target file in the dashboard output pane. | |
| Fix DB dashboard operations to use .env database name | DONE | 2026-05-25 | 2026-05-25 | Kill connections, Teardown DB and Recreate DB all prompt for a database via completing-read instead of reading ORES_DATABASE_NAME from .env. |
| Add SQLite connections DB entry to dashboard DB card | DONE | 2026-05-25 | 2026-05-25 | Add an item to the dashboard DB card that opens ~/.local/share/ores.qt/connections.db in sql-sqlite, loading the project sqliterc for ergonomic display. |
Decisions
- Used a custom
special-mode-derived major mode rather thanemacs-dashboard: the card/box layout, keyboard shortcuts, and full-frame output display are all home-grown and tightly fitted to ORE Studio's needs. - Dashboard is dev-only; no production-environment integration.
- Each Emacs instance reads
.envat load time;default-directoryis set to the checkout root on the buffer soproject-currentalways resolves correctly from action lambdas. - All
.elsources moved toprojects/ores.lisp/src/;modeling/directory added withcomponent_overview.org.
Out of scope
- Integration with production or staging environments.
- A new Emacs minor-mode API surface (the dashboard replaces the old per-mode approach entirely; no shim layer).