spark 1.5 . by forgewright-ai . github.com/forgewright-ai/spark
SPARK CHEATSHEET lp CHEATSHEET.txt
THE AI
spark chat [words] one more turn, or a chat (/help for verbs)
spark chat --thread N [words] go on with an older thread (spark history)
/resume [N] /clear /new in the chat: an older thread, wipe, fresh
spark <words> a streamed answer spark last the last
spark do <words> a task, one confirmed command at a time
?? words follow up on the last answer (same thread)
?? how do I change the theme spark knows itself: it names its own verbs
spark @FILE words ask about a file (first 4 kB, last 12 kB)
spark edit [?] words < FILE rewrite / complete (--at N) / ask (?) stdin
spark soul [edit|reset] who it is: default soul, replace with edit
spark remember WORDS a fact it keeps spark forget N drops it
spark memory [on|off|clear] the facts it recalls on every answer
spark ember [NAME|auto|none] a second model for conversations (opt-in)
spark history [clear] the threads kept here; clear removes them
spark status: brain, widget, server, soul, last
AT THE PROMPT
? words or words? Enter the command lands in your line, hint above
Enter again runs it (! = read it first; it deletes)
Esc s ask about the line you are on, no ?
cmd 2>&1 | explain what went wrong, and the fix
spark off | spark on silence / restore every pane at once
spark <TAB> completes the verbs; second word too
(theme and model names included, offline)
THE SERVER
spark model [NAME|list] the table (license, tested); choose one
spark model budget [N] percent of RAM+GPU auto may use (10-95)
spark model add URL add your own (--sha256, --license required)
spark model verify sha256 every downloaded file now, exit 1 bad
spark serve | spark stop one LAN address, token required; stop
spark stop --force [--noreload] also the unit's server; and keep it down
spark brain what answers now: a FORGE or a llama-server
spark stats [--week] tok/s, latency, cache hits, GPU, baseline
spark bench [--tune] llama-bench; --tune finds the best settings
spark tune show | apply the winner; apply writes spark.env, restarts
spark forge [on|off] the FORGE: the agent's API + page, on the LAN
spark forge --print-client what a peer needs: URL + a user minted here
spark forge --print-url the login URL; the admin token on a tty
spark forge token --new rotate the admin token; a user rotates
their own: spark user token --new
spark user [list] the named users, each a sealed store
spark user add NAME mint an account; the token shows once
spark user login [NAME] | logout act as NAME here; forget the login
spark user token --new rotate your token; old logins die
THE PAGE (spark forge --print-url) keys work when no input has focus
1..5 the tabs r refresh ? help
/ focus the input (Esc blurs it)
Enter | Shift+Enter send | a new line
n a new thread j / k next / prev thread
Esc stop the answer; else blur; else close
share -> add to home screen an app on iOS; a browser shortcut on Android
THE MACHINE
spark setup first run: name, user, model, theme, light it
spark check drift report; exit 0 = every promise kept
spark check --watch 5 redraw every 5 s --selftest prove rows
long output (help, check, lists) pages via $PAGER (less); piped stays plain
spark shell [on|off] spark's own shell: tmux, starship, micro ...
on links the rc files (yours -> .bak)
spark headless [on|off] the FORGE up from boot, never asleep (brain)
spark client [URL|off] answer from another machine's FORGE; none here
spark quiet the three states: start, login, boot
spark quiet start on|off no banner, one-line serve/forge + bare spark
spark quiet login|boot on|off Linux: motd + kernel line; GRUB's menu
spark font FACE SIZE | list console font (Linux) / Terminal.app's font
spark ver logo, version, credits (the login greeting)
spark update [--dry-run] the newest tag; main pulls on a dev clone
./bootstrap.sh --dry-run what a rebuild would change (never sudo)
./bootstrap.sh apply; converged = Nothing to do
curl -fsSL .../spark/main/get | sh update: pull, then spark setup again
~/.config/spark/site.env name, user, model, ember, budget, shell, peer, theme
~/.config/spark/spark.env ports, URLs, engine, history, memory, forge
THE SHELL (spark shell on)
spark bar [on|off] tmux's status line: bare shows, on|off sets
spark theme NAME | list | show one palette: console, tmux, micro; none=off
tmux (prefix C-b) c new window n/p next/prev | split right - below
h j k l panes d detach r reload [ scroll/copy (vi)
z DIR (zoxide) C-r history (fzf) C-t files (fzf) rg PATTERN
fd NAME eza -la bat FILE btop micro FILE (C-s save, C-q quit)
micro: Alt-s (Mac: Option-s) Enter=complete words=rewrite ?=ask/review
setlocal spark.about "a poem" tell it, when it should not guess
LINUX
systemctl --user status spark-serve spark-forge spark-check.timer
journalctl --user -u spark-serve -n 50 (spark-forge likewise)
~/.local/state/spark/forge.log the FORGE's own log (both OSes)
fd/bat are fdfind/batcat on Debian; the shell layer's rc aliases them
MACOS
launchctl print gui/$UID/spark.serve is the agent loaded? (.forge too)
launchctl kickstart -k gui/$UID/spark.serve restart it
spark headless on: both live in system/; restart and stop need sudo launchctl
Alt is Option (spark's Terminal profile makes it Meta): Option-s, not Cmd-s