1.2 KiB
1.2 KiB
Project Brief
What
A full port of the Python nanobot personal AI agent framework to Bun/TypeScript.
Why
The owner doesn't know Python and doesn't want to maintain a Python codebase for a small personal project. The port should be idiomatic TypeScript, easier to read, and have fewer dependencies.
Scope
- In: All core features — agent loop, tools, memory/consolidation, skills, sessions, cron, heartbeat, Mattermost channel (WebSocket + REST), config, CLI.
- Out: All non-Mattermost channels (Telegram, Discord, Slack, etc.), MCP client support, extended thinking/reasoning tokens, onboard wizard.
Source of Truth
Original Python implementation lives at /home/sebby/repos/nanobot. All porting decisions should be verified against it.
Constraints
- Bun runtime only (no Node-specific APIs where Bun has equivalents)
- All runtime types written as Zod schemas in dedicated
types.tsfiles; those files also export the inferred TS types picocolorsfor terminal color (not chalk)oxfmtfor formatting (single quotes),oxlintfor linting- Vercel AI SDK (
aipackage) for LLM abstraction - Mattermost: raw
WebSocket+fetch(no driver library)