Thanks for your interest in Memo Code CLI. Please read these guidelines before opening a PR.
- Install Node.js (>=18) and pnpm. Some tools/tests depend on ripgrep (
rg). - Install dependencies:
pnpm install - Run CLI:
pnpm start "your prompt" --onceor interactive mode withpnpm start - Build output:
pnpm run build
- Use TypeScript + ESM. Keep current directory/module boundaries (Core/Tools/UI).
- Run formatting before commit:
pnpm run format; CI usespnpm run format:check. - Update docs (
README.md,docs/) when changing public interfaces or behavior.
- Full tests:
pnpm test - Focused test:
pnpm test packages/tools/src/tools/bash.test.ts - Add or update relevant tests for new features and ensure local pass before submitting.
- Use GitHub issue templates and include reproduction steps, logs, and environment details.
- For feature changes, open an issue first or summarize design decisions in the PR.
- Recommended branch names:
feature/<topic>,fix/<topic>,docs/<topic>. - In PRs, state change scope, risk points, and validation methods; keep commits clean and focused.
- New issues are triaged automatically with
needs-triageand area/type labels. - Potential duplicates are flagged as
duplicate-candidate; maintainers should confirm manually. - Confirmed duplicates should be closed with state reason
duplicateand linked to the canonical issue. - Keep one canonical tracking issue per topic; use checklists/sub-issues there instead of parallel duplicates.
- Prioritize Core/Tools contracts and reusability; keep UI as a thin wrapper (see
docs/dev-direction.md). - For security/filesystem tools, enforce path allowlists and consistent error handling.
- If anything is unclear, open an issue or ask directly in the PR.