# opencode-loop-engine **Repository Path**: chenjim/opencode-loop-engine ## Basic Information - **Project Name**: opencode-loop-engine - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-27 - **Last Updated**: 2026-06-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # OpenCode Loop Engine Demo 一个基于 OpenCode + opencode-loop 插件的本地自动化编码循环 Demo。 ## 功能 - Next.js Todo Web App - API 路由:GET / POST / PATCH / DELETE - 前端页面:添加 / 完成 / 删除 Todo - 测试覆盖:API 测试 + 组件测试 ## 快速开始 ```bash npm install npm run dev ``` 浏览器打开 http://localhost:3000。 ## 手动验证 ```bash npm test # Vitest 单元/组件测试 npm run lint # ESLint npx tsc --noEmit # TypeScript 类型检查 ``` ## 使用 Loop 引擎自动化开发 确保已安装 opencode-loop 插件: ```bash npx -y @bybrawe/opencode-loop@latest ``` 在项目目录启动 OpenCode,然后执行: ```bash /loop-goal \ --check "npm test" \ --check "npm run lint" \ --check "npx tsc --noEmit" \ --complete-when-checks-pass \ --max-failures 3 \ --max-runtime 2h \ --checkpoint-only \ --safe \ --progress-file progress.md \ --prompt-file loop-prompt.md \ "完成 Next.js Todo Web Demo 的所有 TODO。每次修改后调用 @reviewer 审查,按反馈修复,直到所有检查通过。" ``` Agent 会自动: 1. 读取 `progress.md` 中的 TODO 2. 逐项实现功能 3. 每次改动后调用 `@reviewer` 审查 4. 运行测试、lint、类型检查 5. 失败则修复,通过则继续 6. 所有检查通过后停止 7. 改动快照保存到 `.opencode/opencode-loop/checkpoints/`,**不自动 git commit** ## 项目结构 ```text . ├── .opencode/agents/ # OpenCode Agent 配置 │ ├── editor.md │ └── reviewer.md ├── src/ │ ├── app/ │ │ ├── page.tsx │ │ ├── layout.tsx │ │ └── api/todos/ │ │ ├── route.ts │ │ └── [id]/route.ts │ └── lib/ │ ├── types.ts │ └── todo-store.ts ├── tests/ │ ├── api.test.ts │ ├── page.test.tsx │ └── setup.ts ├── opencode.json # OpenCode 配置 ├── loop-prompt.md # Loop 提示词 ├── progress.md # TODO 状态 └── vitest.config.ts ``` ## 安全说明 - 使用 `--checkpoint-only` 避免 Agent 自动提交错误代码到 git。 - 最终 commit 由你人工 review 后执行。 - `opencode.json` 中 bash 权限默认 `ask`,测试/检查命令已放行。