Maryk App Desktop Guide
Overview
Section titled “Overview”Maryk App is the desktop UI for Maryk stores. Use it to inspect models, scan records, edit values, and export/import data.
Prerequisites
Section titled “Prerequisites”- JDK 17+.
- Local store or remote HTTP endpoint.
- FoundationDB users: install
libfdb_c(see/store/foundationdb/).
Run locally
Section titled “Run locally”From repo root:
./gradlew :app:runFirst-time workflow
Section titled “First-time workflow”- Open Stores window.
- Add a store config (RocksDB / FoundationDB / Remote).
- Open store.
- Select model in catalog.
- Scan/filter/sort records.
- Open a record.
- Edit in Form or Raw YAML.
- Save and verify in History tab.
Store types
Section titled “Store types”- RocksDB:
- Local directory path.
- Single process lock applies.
- FoundationDB:
- Directory path.
- Optional cluster file.
- Remote:
- HTTP URL to CLI
serveendpoint. - Optional SSH tunnel.
- HTTP URL to CLI
Saved configs: ~/.maryk/app/stores.conf.
Remote setup (HTTP + optional SSH)
Section titled “Remote setup (HTTP + optional SSH)”Server side example:
maryk --exec "serve rocksdb --dir /path/to/store --port 8210"(--connect is not needed for serve in one-shot mode.)
Then in app:
- Add store type
Remote. - Set URL (
http://host:8210). - If needed, enable SSH tunnel and set host/user/port/identity.
Notes:
- Remote transport is HTTP; use SSH if transport encryption needed.
- If server binds to loopback (
127.0.0.1) on remote host, set URL to that loopback URL and use SSH tunnel.
UI map
Section titled “UI map”- Stores window:
- Saved store list.
- Add/edit/remove/open.
- Browser window:
- Left: model catalog.
- Center: data/model tabs.
- Right: record inspector.
- Top bar: connection info, actions, panel toggles.
Data browsing
Section titled “Data browsing”- Model search with fuzzy match.
- Scan paging.
- Sort by key or index.
- Filters via builder or raw YAML.
- Pin model fields to columns.
- Row actions: open, edit, copy key/data, export, delete.
Record inspector
Section titled “Record inspector”- Data tab:
- Structured tree view.
- Search.
- Reference navigation and preview.
- Raw tab:
- YAML.
- Search/copy/edit.
- History tab:
- Version timeline.
- Diff view.
Record editor
Section titled “Record editor”Two modes:
- Form mode:
- Typed inputs with inline validation.
- Supports scalar and complex definitions:
- List / Set / Map / IncrementingMap.
- Embedded object/values.
- MultiType (type select + value editing).
- Reference, bytes, date/time/datetime, enums, numbers, booleans, strings.
- Raw YAML mode:
- Direct YAML edits.
- Save guarded against stale state.
Import / export
Section titled “Import / export”- Schema export: JSON, YAML, Proto, Kotlin.
- Data export: row/model/all.
- Data import:
- Auto-detect format/scope.
- Expects Maryk export structures (metadata + versioned changes where applicable).
Shortcuts
Section titled “Shortcuts”- Cmd/Ctrl+R: reload scan.
- Cmd/Ctrl+B: toggle catalog.
- Cmd/Ctrl+I: toggle inspector.
- Esc: close drawer/dialog.
- Arrow/PageUp/PageDown: move selection.
- Enter/Space: open selected record.
- Cmd/Ctrl+click: multi-select.
- Shift+click: range select.
Troubleshooting
Section titled “Troubleshooting”- Cannot open RocksDB:
- Ensure no other process has the DB open.
- FoundationDB connect fails:
- Check
libfdb_c, cluster file.
- Check
- Remote connect fails:
- Verify CLI
serverunning. - Check URL/port/tunnel target.
- Verify CLI
- Empty scans:
- Confirm selected model and filter expression.
Local state paths
Section titled “Local state paths”- Store configs:
~/.maryk/app/stores.conf. - UI prefs (panel/pins): Java Preferences node
io.maryk.app.ui.