1) install from npm
npm i @beatly/core
If you are testing before publish in your own workspace, use a local path temporarily:
npm i ../beatly.
preview phase
This homepage is intentionally minimal for now: a quick intro, a demo placeholder, and practical setup instructions so you can wire Beatly into your local workflows today.
🎧 Interactive real-time demo coming soon.
Planned controls: start/stop, mood presets, intensity slider, and agent event triggers.
Prefer npm install. Then run a tiny local bridge script that translates your agent events into Beatly signals.
npm i @beatly/core
If you are testing before publish in your own workspace, use a local path temporarily:
npm i ../beatly.
This bridge receives simple JSON events and forwards them to Beatly.
import { BeatlyEngine } from "@beatly/core";
import { ConsoleAdapter } from "@beatly/core/adapters";
import { createBeatlySkill } from "@beatly/core/skill";
const engine = new BeatlyEngine({ adapters: [new ConsoleAdapter()] });
const skill = createBeatlySkill(engine);
await skill.start({ agentId: "local-agent" });
await skill.handleEvent({ type: "task.started" });
await skill.handleEvent({ type: "task.completed" });
await skill.stop("done");
Use a small shell wrapper or hook script around your local Claude Code runs.
Emit events like task.started, task.blocked, and task.completed
to your Beatly bridge process.
Same pattern: wrap Codex CLI/tool execution, send lightweight lifecycle events, and let Beatly derive mood/intensity from those signals.
Start with a sidecar event bridge today. Later, move to a native Pi integration skill/extension once your Beatly package API is fully stabilized.
task.started
task.blocked
task.completed
agent.idle These map to Beatly signals internally and drive real-time mood/intensity updates.