Get Started
From zero to a reactive component. Requires Bun (or Node) and a clone of the Poi repo.
git clone <poi-repo>
cd poi
bun install
npm run dev
# โ http://localhost:5455
# Vite + poi() plugin compiles .poi on the fly
bun compiler/cli.ts src/reference/cheatsheet.poi -o /tmp/cheat.js
poi src/foo.poi without -o is rejected in dogfood policy โ always write an explicit output path.
export const counter = store({
count: 0,
get doubled() { return this.count * 2 },
inc() { this.count = this.count + 1 },
})
function Counter() {
return <button onClick={counter.inc}>{counter.count}</button>
}
npm test
# 1375+ tests; constraint system bites end-to-end
Next: Syntax tour ยท Playground.