Story: SQLite CLI quality-of-life setup

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

Connecting to an ORE Studio SQLite database from the sqlite3 shell gives a sane, readable experience out of the box: headed, box-drawn output with columns wide enough to show their content (no wrapping), visible NULL markers, query timing, and connection-level safety defaults — all from a single committed, well-commented rc file.

Status

Field Value
State DONE
Parent sprint Sprint 18
Now Complete — .sqliterc landed in PR #804.
Waiting on Nothing.
Next Done.
Last touched 2026-05-24

Acceptance

  • A committed rc file lives at projects/ores.sql/utility/sqliterc.sql.
  • Every active entry carries a comment explaining what it does.
  • Long column values are shown in full on one line (no wrapping); the columns simply grow wider.
  • NULLs are rendered with a visible marker.
  • The file loads via sqlite3 -init <file> with no errors.

Tasks

Task State Start End Description
Task: Add a default sqliterc with formatting and ergonomic defaults DONE 2026-05-24 2026-05-24 Author projects/ores.sql/utility/sqliterc.sql with commented defaults for output formatting, wide non-wrapping columns, and session settings.

Decisions

  • .mode box --wrap 0 is the lever that fixes wrapping: plain .mode box folds long values onto multiple lines, --wrap 0 lets the column expand to fit instead.
  • PRAGMA journal_mode = WAL is left commented: it persists to the database file and affects all connections, so it must be set deliberately, not from an interactive rc.

Out of scope

  • A PostgreSQL .psqlrc equivalent (ORE Studio's primary database is PostgreSQL; this story covers the SQLite shell only).

Emacs 29.1 (Org mode 9.6.6)