aniketpant / botfiles
botfiles
Agent configuration for pi and OpenCode V2.
- 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.