Open source

Things I build in the open

Small, sharp libraries pulled out of real production work and given back, including the AI-agent developer tooling I build under Arjia Labs.

The tools

  • clu

    Arjia Labs

    Go★ 5⑂ 0

    Local-first SQLite issue tracker for coordinating AI coding agents — atomic claims, dependency graphs, workflows, and an audit log. No daemon, no network.

    go install github.com/arjia-labs/clu/cmd/clu@latest
  • yori

    Arjia Labs

    Go★ 3⑂ 0

    A local, file-based library for your AI prompts, agents, commands, and skills — compose them with templating and render to ready-to-pipe text.

    go install github.com/arjia-labs/yori@latest
  • dumont

    Arjia Labs

    Go★ 2⑂ 0

    One filesystem over local disk, object stores, Google Drive, archives, and HTTP — the same handful of verbs everywhere, driven from the command line.

    go install github.com/arjia-labs/dumont/cmd/dumont@latest
  • beam

    Arjia Labs

    Go★ 0⑂ 0

    Tunnel public webhooks straight to localhost — on your own Cloudflare Workers + Durable Objects, driven by a single-binary Go CLI. Like ngrok/Smee, but it's your edge, your domain, your token.

    go install github.com/arjia-labs/beam/cli@latest
  • InlineAttachment

    JavaScript★ 621⑂ 72

    Easily paste and drag-drop upload files and images directly into a plain textarea or CodeMirror — like pasting an image into GitHub.

    npm install inline-attachment
  • Contropad

    Contropad

    C#★ 5⑂ 0

    Turn your smartphone into a gamepad — a phone-based controller (Node.js + Ionic) paired with a Windows server that feeds the input into games over vJoy.

    No package to install. The source is on GitHub.

The same repositories, drawn from their git history

Each project is a district, each directory a block, each file a building. The more lines a file has, the bigger its footprint. Every commit that touched a file is one floor.

Scroll and it builds, from the first commit in December 2012 to the last one. Only days with a commit take up room on the timeline, so the empty years are skipped. Click a building to read that file.

InlineAttachment

A small, dependency-free JavaScript library that adds upload to a plain textarea or CodeMirror instance — drag-drop a file in, or paste an image straight from the clipboard, and it uploads in the background and drops the link in at the cursor. Just like pasting an image into GitHub.

inlineAttachment.editors.textarea.attach(
  document.getElementById('editor'),
  { uploadUrl: '/upload' }
)
npm install inline-attachment

Contropad

Contropad

Use the phone already in your pocket as a game controller. Contropad pairs a web-based controller that runs in the phone's browser with a small Windows server that turns those touches into real joystick input via vJoy — so any game that reads a gamepad sees the phone as the real thing. No app store, no extra hardware.

No package to install. The source is on GitHub.

clu

Arjia Labs

A local-first issue tracker that lives in a single SQLite file, built for the new problem of coordinating several AI coding agents on one machine. Agents atomically claim work so two never grab the same task, follow a dependency graph to know what's unblocked, and leave a full audit trail — with no daemon, no server, and no network.

clu init                                  # init .clu/ (DB + config)
clu create -p 1 "fix the login redirect"  # → clu-a3f81b
clu create -d clu-a3f81b "add tests"      # wire the dependency

clu ready                                 # what's unblocked?
clu claim --context                       # take next + its context
go install github.com/arjia-labs/clu/cmd/clu@latest

dumont

Arjia Labs

One filesystem over everything. dumont puts local disk, S3-compatible object stores, Bunny, archives, and HTTP behind a single consistent interface, so the same handful of verbs work no matter where the bytes live — and data flows between unlike stores with one command.

dumont cp aws://bucket/report.csv mydrive://reports/   # copy across unlike stores
dumont sync ./site cdn://www --delete                  # one-way incremental mirror
dumont cat zip:///releases/v2.zip/CHANGELOG.md         # peek inside an archive
go install github.com/arjia-labs/dumont/cmd/dumont@latest

yori

Arjia Labs

The home for everything you tell your AI. yori is a local, file-based library of reusable prompts, agents, slash-commands, and skills that you can list, edit, compose, and render into ready-to-pipe text. It's a pure renderer — text in, text out — so you own the model call.

cat bug.log | yori run triage --tone=blunt | claude
go install github.com/arjia-labs/yori@latest

beam

Arjia Labs

A webhook tunnel you actually own. beam gives you a stable public URL on your own Cloudflare edge and pushes every delivery down a WebSocket to a local CLI, which replays it to whatever port you point at. Same job as ngrok or Smee.io — except there's no tunnel vendor in the middle, just one Worker, one Durable Object, and one Go binary.

beam webhook listen myhook --forward http://localhost:3000   # claim a name, forward locally
curl -X POST https://beam.example.com/webhook/myhook -d '{"hello":"world"}'
#   → your local server gets POST / with that body
go install github.com/arjia-labs/beam/cli@latest

Today

Every building opens the real file, fetched from GitHub when you ask for it. Drag to turn the city.

  • Go
  • TypeScript
  • JavaScript
  • C#
  • HTML
  • CSS
  • Docs
  • Config
Activity

Loading activity…

@Rovak ↗
LessMore