Skip to content

chore(TERM-001): scaffold + filled proposal for Ghostty Linux bootstrap#42

Merged
mlorentedev merged 1 commit into
mainfrom
chore/TERM-001-proposal
May 18, 2026
Merged

chore(TERM-001): scaffold + filled proposal for Ghostty Linux bootstrap#42
mlorentedev merged 1 commit into
mainfrom
chore/TERM-001-proposal

Conversation

@mlorentedev
Copy link
Copy Markdown
Owner

Summary

Design-only PR. Lands the specs/TERM-001-ghostty-bootstrap/ scaffold with proposal.md fully written. tasks.md and verification.md are template stubs awaiting the implementation PR.

Background

During AI-011-validation (2026-05-17 session) Ghostty was adopted as the daily-driver terminal to host opencode TUI (avoids the ANSI re-emission overhead of tmux). Install + minimal config (~/.config/ghostty/config with Catppuccin Mocha + JetBrainsMono Nerd Font + confirm-close-surface) was done manually -- nothing versioned. PR #38 already merged the tmux truecolor passthrough side. This spec replicates the AI-011 bootstrap pattern for Ghostty itself.

Design decisions locked

# Decision Choice
1 Version pinning Pin in versions.conf (GHOSTTY_VERSION=1.3.0)
2 Distro coverage Ubuntu only (apt install ghostty)
3 Set-as-default GNOME terminal Manual, documented in runbook
4 Install gating Detect-and-act with warn-not-fail (no flag)

Rationale for each in proposal.md § "Design decisions locked".

Out of scope (explicit)

  • Cross-distro install paths (Arch/Fedora) -- premature abstraction
  • Automating set-as-default GNOME terminal -- modifies GUI state outside dotfiles declarative scope
  • Nerd Font automation -- font fetching is heavy and version-fragile, stays in runbook
  • Windows side / WingGhostty -- too immature (community fork v1.3.110 from 2026-05-09), deferred to a future TERM-002
  • Replacing tmux -- tmux stays for shell + sshmux; Ghostty splits for opencode TUI only

Acceptance criteria (preview)

11 testable outcomes listed in proposal.md. Implementation PR (separate, future) will check them off.

Test plan

  • init-spec.sh TERM-001-ghostty-bootstrap ran clean against vault context (link verified)
  • proposal.md passes Markdown rendering on GitHub
  • Implementation PR will land separately under feat/TERM-001-impl

Cross-links

Three-file scaffold from init-spec.sh:

- proposal.md (filled, 78 lines) -- Why / What / Out of scope / Risks /
  Acceptance criteria / locked design decisions table. The four decisions
  resolved in conversation: (1) version pinned in versions.conf; (2)
  Ubuntu-only install via apt; (3) set-as-default GNOME terminal stays
  manual in runbook; (4) detect-and-act gating (no flag, warn-not-fail
  pattern matching BUG-001 #40).
- tasks.md (template) -- will be filled in the implementation PR with
  the concrete bash/PowerShell/healthcheck/bats work items.
- verification.md (template) -- will be filled when implementation
  reaches the verification phase.

Predecessors merged into main this session: #38 (tmux truecolor for
ghostty), #39 (AI-011 archive + opencode.jsonc Layer 1 comment fix),
#40 (BUG-001 Copilot detect-and-act), #41 (oclog alias).

This commit is design-only -- no code or test surface changes. The
implementation PR will land separately under feat/TERM-001-impl once
this proposal is reviewed.
@mlorentedev mlorentedev merged commit 8d4d559 into main May 18, 2026
5 checks passed
@mlorentedev mlorentedev deleted the chore/TERM-001-proposal branch May 18, 2026 04:01
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