上一篇介绍了Context Window优化。今天进入实战环节——用ECC从零搭建一个真实项目,体验完整的工作流。
我们要用ECC搭建一个完整的待办清单后端API,包含以下功能:
# 在终端执行
ecc init todo-api
cd todo-api
# ECC自动生成的项目结构:
todo-api/
├── .ecc/
│ ├── config.json # ECC配置
│ ├── instincts/ # Instinct规则
│ └── memory/ # 项目Memory
├── src/
│ ├── index.ts # 入口文件
│ ├── auth/ # 认证模块
│ ├── todos/ # 待办模块
│ └── db/ # 数据库
├── package.json
├── tsconfig.json
└── SKILL.md # 项目技能说明
在编码开始前,先告诉ECC项目的"本能":
# .ecc/instincts/project.md
## 技术栈
- 运行时:Node.js + TypeScript
- 框架:Express.js
- 数据库:SQLite (better-sqlite3)
- 认证:JWT (jsonwebtoken)
- 密码:bcrypt
## 编码规范
- 所有API返回JSON格式:{ code: number, data: any, message: string }
- 错误码:200成功,400参数错误,401未认证,404不存在
- 所有路由必须有auth中间件(除register和login)
- SQL查询使用参数化(防注入)
- 密码存储必须bcrypt加密,禁止明文
这些规则在每次对话中都会被ECC自动加载,不需要每次重复说明。
# 对ECC说:
"帮我搭建完整的用户注册登录系统,包括注册、登录、获取当前用户信息的API"
ECC会根据Instinct规则,自动:
生成的代码结构:
src/
├── index.ts # Express应用入口
├── db/
│ └── init.ts # SQLite初始化+表创建
├── auth/
│ ├── router.ts # /api/auth/register, /api/auth/login
│ ├── middleware.ts # JWT验证中间件
│ └── types.ts # TypeScript类型定义
└── utils/
└── response.ts # 统一响应格式 { code, data, message }
# 对ECC说:
"添加待办事项模块,支持增删改查,每个待办有标题、内容、优先级(high/medium/low)和截止日期"
ECC会自动:
当ECC工作一段时间后,它会在Memory中自动记录:
# .ecc/memory/project.md(ECC自动生成)
## 数据模型
- users表:id, username, email, password_hash, created_at
- todos表:id, user_id, title, content, priority, due_date, completed, created_at, updated_at
## API路由
- POST /api/auth/register
- POST /api/auth/login
- GET /api/auth/me
- GET /api/todos
- POST /api/todos
- PUT /api/todos/:id
- DELETE /api/todos/:id
## 已做决策
- 优先级用枚举字符串而非数字
- 截止日期为可选字段
- completed默认false
这样即使对话很长或重新开始,ECC也能快速恢复上下文,保持项目一致性。
| 指标 | 纯手工编码 | 使用ECC |
|---|---|---|
| 项目初始化 | 30分钟 | 5分钟 |
| 认证模块 | 2小时 | 15分钟 |
| CRUD模块 | 3小时 | 20分钟 |
| 代码规范一致性 | 依赖开发者记忆 | Instinct自动保证 |
| 跨会话上下文 | 需手动整理笔记 | Memory自动维护 |
下一篇是ECC实战指南最后一篇,我们将总结完整系列,并分享ECC的高级技巧和最佳实践。
评论区