This issue depends on shared application services/domain events and the headless server for remote sessions.
Required behavior
Launch locally through the CLI and remotely through an authenticated server SSH session.
Render sidebar, list, editor, status/output, modal/prompt, settings, tags, Git, and report states specified by tui.allium.
Navigate/open entries, edit and save Markdown/Lua/Liquid, publish/unpublish, search/filter, switch projects, and invoke command prompt actions through shared engines.
Support the specified editor modes, wrapping, shortcuts, confirmations, validation errors, and task progress.
Expose AI quick actions only when the active online/airplane endpoint permits them.
Subscribe to domain events so other desktop/TUI/CLI client changes refresh the appropriate state without discarding unsaved local edits.
Use the server-selected locale remotely and normal locale settings locally.
Handle resize, disconnect/reconnect, terminal restore, and clean exit.
Implementation notes
Do not recreate engine logic in the renderer. Keep terminal state as a projection of shared application state plus unsaved editor buffers.
Prefer one established terminal dependency if the current workspace has none; verify the current official Rust documentation before choosing it.
Follow red/green TDD with renderer/state tests and PTY-level smoke coverage where necessary.
Acceptance criteria
Every rule group in specs/tui.allium is reachable and covered by state/command tests.
Local and SSH sessions produce the same persisted results for representative CRUD, editing, publishing, Git, and settings flows.
External events refresh lists/reports while preserving unsaved buffers.
Airplane gating, confirmations, validation errors, terminal resize/restore, disconnect, and locale are tested.
cargo fmt --all -- --check, cargo build --workspace, and cargo test --workspace pass.
## Goal
Implement the terminal client in specs/tui.allium over the same application workflows used by desktop and the headless server.
## Current state
- specs/tui.allium covers navigation, editing, publishing, AI, settings, tags, Git, reports, commands, multi-client synchronization, and locale.
- No TUI renderer or terminal input loop exists.
- This issue depends on shared application services/domain events and the headless server for remote sessions.
## Required behavior
- Launch locally through the CLI and remotely through an authenticated server SSH session.
- Render sidebar, list, editor, status/output, modal/prompt, settings, tags, Git, and report states specified by tui.allium.
- Navigate/open entries, edit and save Markdown/Lua/Liquid, publish/unpublish, search/filter, switch projects, and invoke command prompt actions through shared engines.
- Support the specified editor modes, wrapping, shortcuts, confirmations, validation errors, and task progress.
- Expose AI quick actions only when the active online/airplane endpoint permits them.
- Subscribe to domain events so other desktop/TUI/CLI client changes refresh the appropriate state without discarding unsaved local edits.
- Use the server-selected locale remotely and normal locale settings locally.
- Handle resize, disconnect/reconnect, terminal restore, and clean exit.
## Implementation notes
- Do not recreate engine logic in the renderer. Keep terminal state as a projection of shared application state plus unsaved editor buffers.
- Prefer one established terminal dependency if the current workspace has none; verify the current official Rust documentation before choosing it.
- Follow red/green TDD with renderer/state tests and PTY-level smoke coverage where necessary.
## Acceptance criteria
- Every rule group in specs/tui.allium is reachable and covered by state/command tests.
- Local and SSH sessions produce the same persisted results for representative CRUD, editing, publishing, Git, and settings flows.
- External events refresh lists/reports while preserving unsaved buffers.
- Airplane gating, confirmations, validation errors, terminal resize/restore, disconnect, and locale are tested.
- cargo fmt --all -- --check, cargo build --workspace, and cargo test --workspace pass.
Implemented in 23981ce. Added one Ratatui workspace for local bds-cli tui sessions and authenticated SSH PTYs, backed throughout by the shared project/post/template/script/media/tag/settings/AI/Git/report/task/domain-event engines. It includes numbered sidebars, search and project/command overlays, syntax-highlighted soft-wrapped Markdown/Liquid/Lua editing and preview, save/publish/unpublish/title/language shortcuts, confirmations and surfaced validation, colour image previews, typed desktop-parity settings including metadata/publishing/AI/MCP agent configuration, full tag and Git workflows, report apply/cancel and live refresh, active-endpoint AI gating, shared locale updates, resize/reconnect/restore handling, and preservation of dirty buffers during external events. Updated README, localization in all five locales, and RUST_PLAN_EXTENSION. Neutral review against issue #27, specs/tui.allium, and bDS2 found and corrected settings-backend, wrapped scrolling, report-refresh, validation-survival, image-rendering, MCP-agent, Git parity, and terminal-restoration gaps. Verification: allium check specs/tui.allium (no findings; two existing informational unused-field diagnostics), cargo fmt --all -- --check, cargo build --workspace, 19 isolated TUI tests, authenticated SSH PTY smoke coverage, and cargo test --workspace all pass.
Implemented in 23981ce. Added one Ratatui workspace for local bds-cli tui sessions and authenticated SSH PTYs, backed throughout by the shared project/post/template/script/media/tag/settings/AI/Git/report/task/domain-event engines. It includes numbered sidebars, search and project/command overlays, syntax-highlighted soft-wrapped Markdown/Liquid/Lua editing and preview, save/publish/unpublish/title/language shortcuts, confirmations and surfaced validation, colour image previews, typed desktop-parity settings including metadata/publishing/AI/MCP agent configuration, full tag and Git workflows, report apply/cancel and live refresh, active-endpoint AI gating, shared locale updates, resize/reconnect/restore handling, and preservation of dirty buffers during external events. Updated README, localization in all five locales, and RUST_PLAN_EXTENSION. Neutral review against issue #27, specs/tui.allium, and bDS2 found and corrected settings-backend, wrapped scrolling, report-refresh, validation-survival, image-rendering, MCP-agent, Git parity, and terminal-restoration gaps. Verification: allium check specs/tui.allium (no findings; two existing informational unused-field diagnostics), cargo fmt --all -- --check, cargo build --workspace, 19 isolated TUI tests, authenticated SSH PTY smoke coverage, and cargo test --workspace all pass.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Goal
Implement the terminal client in specs/tui.allium over the same application workflows used by desktop and the headless server.
Current state
Required behavior
Implementation notes
Acceptance criteria
Implemented in
23981ce. Added one Ratatui workspace for local bds-cli tui sessions and authenticated SSH PTYs, backed throughout by the shared project/post/template/script/media/tag/settings/AI/Git/report/task/domain-event engines. It includes numbered sidebars, search and project/command overlays, syntax-highlighted soft-wrapped Markdown/Liquid/Lua editing and preview, save/publish/unpublish/title/language shortcuts, confirmations and surfaced validation, colour image previews, typed desktop-parity settings including metadata/publishing/AI/MCP agent configuration, full tag and Git workflows, report apply/cancel and live refresh, active-endpoint AI gating, shared locale updates, resize/reconnect/restore handling, and preservation of dirty buffers during external events. Updated README, localization in all five locales, and RUST_PLAN_EXTENSION. Neutral review against issue #27, specs/tui.allium, and bDS2 found and corrected settings-backend, wrapped scrolling, report-refresh, validation-survival, image-rendering, MCP-agent, Git parity, and terminal-restoration gaps. Verification: allium check specs/tui.allium (no findings; two existing informational unused-field diagnostics), cargo fmt --all -- --check, cargo build --workspace, 19 isolated TUI tests, authenticated SSH PTY smoke coverage, and cargo test --workspace all pass.