Transform and organize thoughts¶
Proqi 0.14.0
Proqi can reshape prompt material without turning the board into a document editor. Every transformation is one durable operation with an explicit local undo path.
Split at the cursor¶
While editing with no text selection, use Primary+T or choose Split
thought at cursor in Commands. The content before and after the exact cursor
becomes two ordered thoughts.
The original thought keeps its identity, name, and exact left content. The untrimmed right content becomes a new thought immediately below, receives focus in Edit, and places its cursor at the start. Either half may be empty. Split does not reinterpret whitespace or Markdown.
Extract selected text¶
Select text in Edit, then use Primary+T or choose Extract selection as new
thought. The exact nonempty selection becomes a new thought immediately below
and is removed from the source as part of the same atomic operation. The new
thought receives focus in Edit with its cursor at the end. An empty or stale
selection is rejected without changing either thought.
Merge a contiguous range¶
Build a contiguous Board range, then press the configured transform key,
factory t, or choose Merge selected thoughts. Proqi joins thought bodies
with the configured merge_separator, which defaults to one blank line.
Separators are structural items and never become prompt payload. Merge requires at least two contiguous live thoughts in mixed Board order. An intervening separator makes the merge fail without changing the Board. The first thought keeps its identity and name, the others are recoverably deleted, the survivor receives Board focus, and selection clears.
Split, extract, and merge preserve an annotation whose complete semantic text survives. A boundary-crossing attachment, fold, invocation reference, or shortcut-emphasis range dissolves rather than describing only a fragment.
Duplicate, move, and collapse¶
- Duplicate thought or selection creates copies below the source range and selects the copies. Separators duplicate as structural items.
- Move item up and Move item down exchange each selected Board run with one adjacent unselected item. Selected runs at an edge stay put. With one focused item, keyboard reorder and dragging keep their existing behavior.
- Expand or collapse thought changes durable presentation without changing text. In a mixed selection, separators are ignored.
Single-item keyboard reorder wraps at board edges. Dragging is positional and does not wrap.
Clean existing spacing¶
Select thoughts and press f, or choose Clean up spacing. In Board, each
eligible selected thought is cleaned in one durable undo step; separators
remain untouched. With no selection, the focused thought is cleaned. In Edit,
Ctrl+Shift+F cleans the complete thought rather than only the text
selection. Protected code, tables, quotes, paths, URLs, controls, list
structure, and attachment annotations stay exact.
An unchanged result creates no history entry. See Paste and attachments for the full cleanup rules.
Add visual structure without payload¶
Choose Insert separator in Commands. A separator is a persistent Board item that can be focused, selected, moved, dragged, duplicated, deleted, undone, and redone. It has no body, cannot be named, and never enters copied or delivered text. It prevents merging thoughts across its position.
Thought and session names are also organizational metadata. They remain separate from prompt bodies. See Sessions and recovery.
Undo transformations safely¶
Split, extract, and merge affect Board structure and one or more editor resources as one atomic operation. Newer edits to an affected thought can make the Board operation temporarily unavailable until that thought's editor history moves first. Proqi reports the active owner instead of undoing hidden content.
See Undo and redo.
Apply the same operations from the CLI¶
Proqi 0.12.0
The following CLI operations have been available since Proqi 0.12.0.
The JSON CLI exposes these exact Board operations for scripts and coding
agents. Inspect the thought first, retain its content_sha256, then submit that
digest as the content precondition:
proqi --json thoughts split <session> <thought> <at-byte> --expected-sha256 <sha256>
proqi --json thoughts extract <session> <thought> <start-byte> <end-byte> --expected-sha256 <sha256>
proqi --json thoughts merge <session> <first> <second> --expected-sha256 <first-sha256> --expected-sha256 <second-sha256>
proqi --json thoughts reflow <session> <thought> --expected-sha256 <sha256>
Offsets are UTF-8 byte positions, not displayed columns or perceived-character
counts. A stale digest, invalid character boundary, empty extraction, or merge
across a separator fails without a partial result. Use a fresh
--operation-id when a mutation may be retried after an uncertain caller-side
failure.
The items family inserts, moves, duplicates, or recoverably deletes thoughts
and payload-free separators in shared Board order. See the canonical
command-line reference for every
argument and retry rule.