Edit installed documents
Document commands read and edit the document through the app’s Rust core, which persists it in SQLite. apply and batch accept JSON operations; get returns a read-only JSON snapshot. There is no editable data.json file.
Create a writable copy before editing. Registered templates are immutable masters.
The CLI workflows guide shows how to create that copy from the terminal, move data between documents, transfer attachments, and export PNG/PDF. It also covers direct native commands when you do not have Bun installed.
bunx hitslop schema My.slopbunx hitslop get My.slopbunx hitslop apply My.slop --op '{"type":"set","path":["title"],"value":"Weekend"}'bunx hitslop batch My.slop --ops '[{"type":"set","path":["title"],"value":"Ready"}]'Read the descriptor and current state before choosing operations. The CLI prints JSON and reports failures on stderr. Successful mutations acknowledge persistence. If transport fails, run get before another edit; do not blindly retry.
The Rust engine sends edits to the open document’s socket, or edits a closed document directly without loading its interface. The CLI uses its own bundled engine on macOS and Linux. It never bypasses a busy writer, and an edit to an open document never interrupts typing in its window. The slop CLI runs with Bun; document edits do not require the Mac app.
Theme colors use separate commands, or the theme panel in the window, and are saved with the document’s edits, in the same database:
bunx hitslop theme get My.slopbunx hitslop theme set My.slop --values '{"accent":"#7050ad"}'bunx hitslop theme reset My.slopbunx hitslop theme export My.slop --output Mine.jsonOnly declared colors may be changed. They affect the editor and captures, not application data, fonts or layout. Do not edit SQLite or initial values underneath a live document. See data and schemas and styling.