● 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 three main packages:
Core Structure:
- packages/tui/: terminal runtime (CLI entry + interactive TUI, built with Ink/React)
- packages/core/: Session management, config handling, shared types
- packages/tools/: Built-in MCP-like 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 ≥18, pnpm for package management
- Build with pnpm run build, test with pnpm test
- Config stored in ~/.memo/config.toml
- Runtime logs in ~/.memo/