Files
nanobot-ts/memory-bank/projectBrief.md

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.ts files; those files also export the inferred TS types
  • picocolors for terminal color (not chalk)
  • oxfmt for formatting (single quotes), oxlint for linting
  • Vercel AI SDK (ai package) for LLM abstraction
  • Mattermost: raw WebSocket + fetch (no driver library)