● I'll examine the project structure to help you understand it better.
● Used update_plan
● Used list_directory (.)
● Used read_text_file (package.json)
● Used search_files (**/*AGENTS*)
● Used update_plan
● Used read_text_file (README.md)
● Used read_text_file (tsconfig.json)
● Used list_directory (packages)
● Used read_text_file (packages/tui/src/cli.tsx)
● Used read_text_file (packages/core/src/index.ts)
● Used update_plan
Memo Code is a TypeScript monorepo CLI tool with two main packages:
Core Structure:
- packages/tui/: terminal runtime (CLI entry + interactive TUI, built with Ink/React)
- packages/core/: Session state machine, LLM layer, config handling
- packages/core/src/tools/: Built-in tools (exec_command, read_text_file, etc.)
Key Features:
- Terminal-based coding agent with interactive TUI
- Supports DeepSeek (default) and OpenAI-compatible APIs
- Uses MCP (Model Context Protocol) for tool integration
- Monorepo with pnpm workspace, TypeScript ESM
Development:
- Node.js ≥22, pnpm for package management
- Build with pnpm run build, test with pnpm test
- Config stored in ~/.memo/config.toml
- Runtime logs in ~/.memo/