@ramarivera/fractalglow
v0.1.1
Published
Glamorous OMP-backed chat CLI. aichat-shaped, glow markdown, Julia wait.
Maintainers
Readme
fractalglow
Glamorous OMP-backed chat. aichat-shaped CLI, createAgentSession engine,
Julia-set wait animation, fractal coloring on the live line,
glow when the turn settles, chips
you can type or click.
Was briefly named chatoy. Also considered: afterglow, gumball.
Why not aichat / omp -p
aichat talks to OpenRouter. fractalglow reuses ~/.omp/agent auth (romp
luna/o by default). omp -p is a 192MB coding agent; stripped
createAgentSession one-shots are ~1s.
Charm's Go libraries are not imported. Glow is the markdown binary. Spring
physics is a tiny Harmonica equivalent in src/spring.ts. The fractal is a
rotating Julia set (src/fractal.ts) rendered with truecolor half-blocks.
Install
Runtime is Bun (>=1.3.14). Markdown uses the glow
binary.
npm i -g @ramarivera/fractalglow
# or
mise use -g bun
mise use -g npm:@ramarivera/fractalglowThat puts a fractalglow command on PATH. mise's npm backend shims the
package bin; first installs of a new package may need:
[tools]
"npm:@ramarivera/fractalglow" = { version = "0.1.1", allow_low_downloads = true }From this repo, without publishing:
npm i -g .
# or: bun linkTrusted publishing
Published on npm. Later versions go through GitHub Actions: bump
package.json, tag vX.Y.Z, push the tag.
On npm, add a GitHub Actions trusted publisher:
- Owner/repo:
ramarivera/fractalglow - Workflow filename:
publish.yml - No environment
Do not add NPM_TOKEN. .github/workflows/publish.yml uses OIDC
(id-token: write) and --provenance, and skips if that version
already exists.
Setup
mise install
bun install
mise run testmise run start -- "Reply with exactly the word pong"
bun run src/main.ts --demo-fractal
bun run src/main.ts -m omp-gateway/openai-codex/gpt-5.6-luna --thinking low "hello"luna/o needs OMP_AUTH_GATEWAY_TOKEN (see .env.example). Direct Codex
models use OMP AuthStorage only.
After a turn, chips accept 1 retry, 2 shorter, q quit, or a mouse
click on the same labels. -s demo writes ~/.local/share/fractalglow/sessions/demo.jsonl
and reloads it on the next call.
Bare TTY fractalglow is a REPL: .file, .undo, .copy, .set, tab
complete, ::: multiline, Ctrl+R history search.
-e generates a command, prints $ cmd, then y run / r revise /
n skip. --dry-run and -e -c print only. Non-TTY never spawns.
--style/--theme is a glow style name or JSON path. Default
fractalglow is styles/fractalglow.json. Roles live in
~/.config/fractalglow/roles/<name>.md.
License
MIT. See LICENSE.
