aniketpant / botfiles

botfiles

Agent configuration for pi and OpenCode V2.

privatebunpi packageOpenCode V2 adapters
Role
Agent configuration — loaded by every session
Runs in
pi and OpenCode V2
Built with
TypeScript and bun workspaces

01Background

The configuration my coding agents load: extensions, skills, prompts and themes. It is one native pi package, with tests and CI.

The same extensions run under OpenCode V2. Each feature is defined once, and a thin adapter connects it to the harness.

02Shape

packages/

Shared logic as bun workspaces, each with tests

extensions/

Tools, commands and hooks, defined once

adapters/

The harness edge: pi, OpenCode, lane

skills/

Agent Skills for every session

prompts/

Prompt templates, available as /name

themes/

TUI themes

03Design ideas

One definition per feature

An extension describes its behaviour without naming a harness. Adding a second harness takes one adapter, not a second copy of the feature.

The adapter holds the difference

pi runs one extension instance per session. OpenCode loads one plugin that serves many sessions. The adapter keeps a map from session to instance, so the extension code does not handle it.

Skills sit with what uses them

Skills used by every session are in skills/. A skill that only applies to one extension lives in that extension’s folder, so installing or removing the extension moves the skill too.

Small entries, cheap reloads

The pi entry of an extension is one line that mounts the factory. /reload after an edit stays fast.

The repository is private; this page is its public summary. The phone setup is droidfiles.