Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
b6925f6
refactor: migrate LLM layer to AI SDK and restructure core
minorcell Jul 31, 2026
2118069
docs(core): restore README and update directory layout for domain mod…
minorcell Jul 31, 2026
39fa595
refactor(core): rename session to agent kernel, dissolve helpers bag
minorcell Aug 1, 2026
bf17dbc
refactor(core): classify slash/file-suggestions/history-read as features
minorcell Aug 1, 2026
c3ed5d8
refactor(core): organize features as modules with index exports
minorcell Aug 1, 2026
2b24245
refactor(core): merge history write-side into features/history module
minorcell Aug 1, 2026
1fb12f1
refactor(core): merge tools package back into core
minorcell Aug 1, 2026
6831ddf
refactor(agent): delegate tool execution to AI SDK execute mechanism
minorcell Aug 1, 2026
a160f1b
refactor(mcp): replace self-built MCP client with @ai-sdk/mcp
minorcell Aug 1, 2026
26e339b
docs(core): document agent execution wrapper and merged tools module
minorcell Aug 1, 2026
b2a6cbf
refactor(types): drop ToolDefinition and ToolUseBlock custom types
minorcell Aug 1, 2026
88ef1a8
refactor(types): align remaining custom types with AI SDK
minorcell Aug 1, 2026
714ef6e
refactor(types): remove dead API DTOs from api_types.ts
minorcell Aug 1, 2026
538963e
refactor(tokenizer): replace tiktoken with byte-based estimation
minorcell Aug 1, 2026
7459f79
feat(core): support runtime thinking override
minorcell Aug 1, 2026
108261d
fix(tui): render streaming text, drop dead Ctrl+C handling
minorcell Aug 1, 2026
3f9bf6b
refactor(prompt): drop SOUL.md personality context injection
minorcell Aug 1, 2026
949eea3
ci: make coverage below threshold a warning, not a PR failure
minorcell Aug 1, 2026
d93844f
refactor(core): tighten module boundaries and agent interfaces
minorcell Aug 1, 2026
661899e
refactor(agent): drop dead code and redundant guards
minorcell Aug 1, 2026
4185304
refactor(core): migrate MCP OAuth to @ai-sdk/mcp
minorcell Aug 1, 2026
ddb8ee8
refactor(core): replace memo tool layer with standard AI SDK tools
minorcell Aug 1, 2026
3fd973e
fix(core): export stableStringify from its real module in approval ba…
minorcell Aug 1, 2026
c530265
feat(agent): stream reasoning chunks into the TUI timeline
minorcell Aug 1, 2026
8794208
refactor(tui): drop /review GitHub PR review feature
minorcell Aug 1, 2026
87b90c6
feat(tui): wrap tool params and thinking previews to terminal width
minorcell Aug 1, 2026
99694d0
chore(site): drop references to removed docs/tool directory
minorcell Aug 1, 2026
8616596
feat(core): redesign skills system with dedup and lazy loading
minorcell Aug 1, 2026
60931d7
feat(tui): add memo init command to generate AGENTS.md
minorcell Aug 1, 2026
262158e
refactor(core): enforce session boundaries and tool results
minorcell Aug 1, 2026
4c0ce06
refactor(tui): model runtime state and refine tool output
minorcell Aug 1, 2026
8a74d6f
fix(tui): reword double-Esc cancel hint to avoid UI confusion
minorcell Aug 1, 2026
593c073
feat(tui): show active plan progress
minorcell Aug 1, 2026
94c8c6c
feat(tui): amber composer color while thinking is enabled
minorcell Aug 1, 2026
ad32489
feat(core): add builtin skill-creator with idempotent auto-install
minorcell Aug 1, 2026
4b976da
fix(tui): render markdown while streaming
minorcell Aug 1, 2026
b182260
feat(tui): add controllable live output queue
minorcell Aug 1, 2026
2865353
feat(core): support session model overrides
minorcell Aug 1, 2026
c74e967
refactor(core): harden compaction with budget, retry, and restore
minorcell Aug 1, 2026
45fa44e
feat(tui): restore session UI state on resume
minorcell Aug 1, 2026
0505cd7
ci: split format/lint, test, and build into parallel jobs
minorcell Aug 1, 2026
e28a008
ci: align node version with engines (>=22)
minorcell Aug 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .codecov.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,7 @@ coverage:
default:
target: 70%
threshold: 1%
informational: true
patch:
default:
informational: true
2 changes: 1 addition & 1 deletion .github/workflows/deploy-site-pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
node-version: '22'
cache: 'pnpm'
cache-dependency-path: site/pnpm-lock.yaml

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ jobs:
version: 9
- uses: actions/setup-node@v4
with:
node-version: '20'
node-version: '22'
cache: 'pnpm'
registry-url: 'https://registry.npmjs.org/'

Expand Down
54 changes: 47 additions & 7 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,32 @@ on:
workflow_dispatch:

jobs:
# 在 Linux 上运行所有检查
# 快速检查:格式化 + lint,与测试/构建并行
format-lint:
name: Format & Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
with:
version: 9
- uses: actions/setup-node@v4
with:
node-version: '22'
cache: 'pnpm'

- name: Install dependencies
run: pnpm install

- name: Format check
run: pnpm run format:check

- name: Lint
run: pnpm run lint

# 测试 + 覆盖率上报(需要 ripgrep:部分工具/测试依赖 rg)
test:
name: Test & Lint
name: Test & Coverage
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand All @@ -19,7 +42,7 @@ jobs:
version: 9
- uses: actions/setup-node@v4
with:
node-version: '20'
node-version: '22'
cache: 'pnpm'

- name: Install ripgrep
Expand All @@ -28,11 +51,11 @@ jobs:
- name: Install dependencies
run: pnpm install

- name: Format check
run: pnpm run format:check
- name: Test all packages
run: pnpm run test

- name: Test all packages with coverage
run: pnpm run test:coverage
- name: Coverage report (warning only, non-blocking)
run: pnpm run test:coverage || echo "::warning::Test coverage is below the thresholds in vitest.config.ts. PR is not blocked by coverage."

- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v5
Expand All @@ -41,5 +64,22 @@ jobs:
files: ./coverage/lcov.info
fail_ci_if_error: false

# 打包验证:与测试并行
build:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
with:
version: 9
- uses: actions/setup-node@v4
with:
node-version: '22'
cache: 'pnpm'

- name: Install dependencies
run: pnpm install

- name: Test build
run: pnpm run build
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Thanks for your interest in **Memo Code**. Please read these guidelines before o

## Getting Started

- Install [Node.js](https://nodejs.org/) (>=18) and [pnpm](https://pnpm.io/). Some tools/tests depend on [ripgrep](https://github.com/BurntSushi/ripgrep) (`rg`).
- Install [Node.js](https://nodejs.org/) (>=22) and [pnpm](https://pnpm.io/). Some tools/tests depend on [ripgrep](https://github.com/BurntSushi/ripgrep) (`rg`).
- Install dependencies: `pnpm install`
- Run CLI: `pnpm start "your prompt" --once` or interactive mode with `pnpm start`
- Build output: `pnpm run build`
Expand Down
33 changes: 0 additions & 33 deletions docs/cli-update.md

This file was deleted.

244 changes: 0 additions & 244 deletions docs/core.md

This file was deleted.

Loading
Loading