feat: claude one-shot port from nanobot python codebase (v0.1.4.post4)
This commit is contained in:
22
memory-bank/projectBrief.md
Normal file
22
memory-bank/projectBrief.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# 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)
|
||||
Reference in New Issue
Block a user