使用示例
以下示例全部基于 NeoCode 当前已实现的 TUI、工具和 Gateway 能力,可以直接复制粘贴到会话中执行。
场景 1:读懂陌生项目
目标:刚 clone 一个仓库,想快速了解目录结构和模块职责。
输入:
text
请先阅读当前项目目录结构,并按模块给出职责摘要。如果看到 internal/ 目录,请特别说明各子包的边界。预期行为:
- NeoCode 会调用文件读取工具扫描目录
- 给出结构化的模块职责摘要
- 如果目录很深,可能会问你是否继续展开
关键决策点:
- 如果它请求读取大量文件,选 Allow(只读操作无风险)
- 如果它建议执行
find或tree,选 Allow(read_only 分类)
场景 2:定位并修复一个 bug
目标:运行测试时失败,想定位根因并给出修复方案。
输入(第一步:给上下文):
text
运行测试时看到以下错误,请定位根因并给出修复方案:然后把测试失败日志粘贴进去。
输入(第二步:让它动手改):
text
请直接修改对应文件修复这个问题,并说明验证步骤。只改一个文件。预期行为:
- 先阅读相关源码和测试文件
- 定位到具体函数或逻辑错误
- 给出修复后的代码 diff
- 提示你如何运行测试验证
关键决策点:
- 当它请求修改文件时,选 Ask 或 Allow(local_mutation,可控)
- 当它请求运行测试命令时,选 Allow(验证修复的必要步骤)
场景 3:给函数补测试
目标:为某个缺少测试的函数生成单元测试。
输入:
text
请为 internal/tools/file.go 中的 ReadFile 函数生成单元测试,覆盖正常路径、文件不存在和权限拒绝三种情况。测试写在 internal/tools/file_test.go 中。预期行为:
- 读取目标函数源码,理解入参和返回值
- 生成对应的测试用例
- 写入测试文件后询问是否运行验证
输入(验证步骤):
text
请运行这个包的测试,如果有失败请分析并修复。关键决策点:
- 文件写入属于 local_mutation,建议选 Ask(确认路径和内容正确)
- 运行测试命令属于 read_only / local_mutation,选 Allow
场景 4:添加新功能/接口
目标:在现有代码中添加一个新接口或功能点。
输入(设计阶段):
text
我想在 internal/gateway 中添加一个 health check 端点,返回当前 runtime 状态。请给出实现方案,包括需要修改哪些文件。输入(实现阶段):
text
请按方案实现,保持与现有代码风格一致。实现完成后运行 go build ./... 验证编译通过。预期行为:
- 分析现有 gateway 路由注册方式
- 新增 handler 和路由注册
- 运行构建验证
关键决策点:
- 多文件修改时,每次写入都建议 Ask 确认
- 运行
go build属于 read_only(只验证,不改状态),可 Allow
