Toolchain for Personality OS

bob

Compile. Push. Test.
Promote Personality OS.

~/projects/flowise · zsh
$
→ compiling 12 prompts
→ pushing to dev · flowise.dev
→ updating 3 custom JS nodes
deployed in 1.4s
$ _
§ 01 · The daily loop

Edit. Compile. Push. Test. Promote.

Four primary commands — the loop you'll touch every day. The rest of Bob (pull, branch, predict, credentials, cleanup, …) lives on the commands page.

— 01

Compile

Obsidian-flavored markdown → XML prompts ready for Flowise.

— 02

Push

Deploy prompts and custom JS to dev, stage, or prod — one command per env.

— 03

Test

Behavioral contracts for LLM agents — YAML scenarios run against the same endpoint Bob pushes to.

— 04

Promote

Move a green flow up the chain — dev → stage → prod, with safe ID remapping.

▸ Want the full reference? See every Bob command.
§ How it works

How a prompt becomes a flow.

One prompt. Five shapes. Source in your editor, compiled to XML, injected into a live Flowise node, exercised by tests, promoted up the chain. Bob is the bridge — git is the truth.

01 Source
Intent Classifier.md
---
agent: my-agent
node: Intent Classifier
---

## Identity
You are a helpful
task assistant.

## Objective
Classify user intent.
$ bob compile
02 Compiled
Intent Classifier.xml
<identity>
  You are a helpful
  task assistant.
</identity>

<objective>
  Classify user intent.
</objective>
$ bob push my-agent
03 Live
Flowise · dev
Intent Classifier
LLM Node

modelgpt-4o
prompt✓ injected
tools3 attached
endpointflowise.dev
$ bob test --suite ...
04 Promoted
23 passed · 0 failed
city-paris-operating · 1.9s
country-uk-alias · 2.1s
region-europe · 5.1s
⋯ 20 more

dev stage prod
$ bob promote dev prod
⊘ Without Bob

Prompts live in Flowise textareas. Custom JS lives in node fields. No diff. No PR. No rollback. When something breaks at 2am you can't find what changed.

✓ With Bob

Source in git. Compile to XML. Push, test, promote — one command per stage. Git is the truth, Flowise is the runtime.

§ 02 · Shape of the repo

Where everything lives.

~/projects/flowise-prompts
project/
├── bob/                // the CLI
├── flowise/
│   ├── agents/         // prompts + custom JS
│   │   └── my-agent/
│   ├── tools/          // shared Flowise tools
│   └── tests/          // behavioral contracts
│       ├── scenarios/
│       └── suites/
└── docs/               // ← you are here

Prompts live in git as markdown. JS nodes live in git as files with JSDoc frontmatter. Flow structure pulls down from Flowise on demand.

Tests aren't a separate world — they hit the same prediction endpoint Bob pushes to. Whatever bob push targets, the tests target too.

Go deep on tests
§ 03 · One last thing

“Edit prompts in Obsidian. Compile to XML. Push to Flowise. Test against real envs. Then sleep well.”

— the bob philosophy