MyCastle–ESL学习平台规范
版本: 3.0.0 批准 | 最后更新时间: 2025-11-11
此存储库包含 完整的规格 MyCastle是一个基于 8-MCP域驱动架构 具有未来域MCP的可扩展性。它涵盖了时间表管理、CEFR驱动的课程规划、出勤跟踪、学生档案以及通过特定角色的MCP服务器进行的人工智能辅助工作流程。
______________________________________________________________________
✅ MVP准备真实来源
准备就绪层次结构(SSOT):
- MVP_SPEC_REVIEW.md=权限(准备就绪)
- STATUS.md=信号(导出)
- ROADMAP.md=意图(未来)
- project-review.md=学习(临时)
MVP政策决策:
- **/api/admin/* 路由仅限管理员*\*
- 管理员出勤不要求MVP遵守哈希链
______________________________________________________________________
📋 核心规范文件(Spine)
这三份文件构成 权威脊柱 项目的状态,并随着每次提交而更新:
1. 需求.md --需求规格说明
系统必须做什么以及为什么。
- 目标(MoSCoW)、利益相关者、用户故事
- 功能和非功能要求
- 数据要求、合规性、验收标准
- 成功指标和可追溯性
2. 设计.md --设计说明书
系统如何满足要求。
- 架构(MCP、Next.js、Supabase)
- 域模型、数据流、API
- 安全(RLS、JWT、加密)
- 性能策略、可观察性
3. TASKS.md --任务规范
如何执行工作以实现设计。
- Epic的工作分解结构(WBS)
- 具有验收标准的可操作任务
- 测试策略,CI/CD管道
- 可追溯性(REQ→ 设计→ TASK)
这些文件是活的,必须与实施保持一致。
______________________________________________________________________
🗂️ 仓库结构
更新: 2026-01-02-从27合并→ 12 核心文件
MyCastle/
├── README.md # This file - Navigation hub
│
├── Core Specification ("The Spine")
├── REQ.md # ✅ Requirements Specification (v3.0.0)
├── DESIGN.md # ✅ Design Specification (v3.0.0)
├── TASKS.md # ✅ Task Specification (v3.0.0)
│
├── Living Documents (Updated Weekly)
├── STATUS.md # ⭐ Current sprint tasks with 20-min subtasks
├── ROADMAP.md # Phases 1-4 (105 tasks)
│
├── Operational Guides
├── GETTING-STARTED.md # Quick start + detailed setup + overview
├── TESTING.md # All testing procedures (unit, E2E, RLS)
├── DEPLOYMENT.md # Production deployment guide
│
├── Reference Documents
├── docs/
│ ├── reference/
│ │ ├── 8-MCP-IMPLEMENTATION-PLAN.md
│ │ ├── BUSINESS_VALUE_PRIORITIES.md
│ │ └── FLEXIBLE_ENROLLMENTS.md
│ │
│ ├── archive/ # Historical documents
│ │ ├── sprints/ # Sprint retrospectives
│ │ ├── analyses/ # Gap analyses and reviews
│ │ ├── PROGRESS.md # Old progress tracking
│ │ └── NEXT_STEPS_GUIDE.md # Old setup guide
│ │
│ └── migration/
│ └── MIGRATION_GUIDE.md
│
├── Technical Specifications
├── spec/ # Detailed MCP architecture specs
│ ├── 01-overview.md # Project objectives, stakeholders
│ ├── 02-system-architecture.md # System architecture details
│ ├── 03-mcp.md # MCP protocol implementation
│ ├── 04-admin-mcp.md # Admin MCP specification
│ ├── 05-teacher-mcp.md # Teacher MCP specification
│ ├── 06-student-mcp.md # Student MCP specification
│ ├── 07-agents.md # Host orchestration patterns
│ ├── 08-database.md # Complete database schema
│ ├── 09-mcp-interaction-patterns.md
│ └── table-of-contents.md
│
└── Implementation
└── app/ # Next.js application code______________________________________________________________________
🚀 快速开始
产品/业务
对于新开发人员
工程类
用于实施
- 检查 状态.md 用于当前的sprint任务
- 每个任务都有20分钟的子任务,便于跟踪
- 链接到中的要求 需求.md
- 审查设计 设计.md
- 实施可追溯性意见
- 跑
npm run check在承诺之前 - 更新STATUS.md的进度
🎯 8-MCP架构(v3.0已批准)
核心MCP(全部≤10个工具):
- ✅ 身份和访问MCP (6个工具)-用户身份验证、角色、权限
- ✅ 学术运营MCP (10个工具)-程序、课程、日程安排
- ✅ 出勤与合规MCP (8个工具)-登记簿、签证跟踪
- ✅ 金融MCP (9个工具)-发票、付款、对账
- ✅ 学生服务MCP (9个工具)-住宿、信件、证书
- ✅ 运营与质量MCP (8个工具)-备份、QA、CPD
- ✅ MCP老师 (10个工具)-课程规划、评分、出勤
- ✅ 学生MCP (10个工具)-时间表、人工智能导师、进度跟踪
未来扩展性:
- ⏭️ 家长MCP -父门户(≤10个工具)
- ⏭️ 合作伙伴MCP -学校合作伙伴关系(≤10个工具)
- ⏭️ 分析MCP -BI和报告(≤10个工具)
- ⏭️ 营销MCP -CRM和活动(≤10个工具)
- ⏭️ 自定义域MCP -易于添加,无需修改现有MCP
迁移策略: 4阶段推出(见TASKS.md§4.3.1)
🏗️ 技术栈
核心框架和语言
| 技术 | 版本 | 目的 |
|---|---|---|
| TypeScript | ^5 | 整个堆栈的类型安全开发 |
| Next.js | 16.0.1 | 带有API路由的完整React框架 |
| Node.js | ^20 | MCP编排的服务器运行时 |
前端
| 技术 | 版本 | 目的 |
|---|---|---|
| 反应 | 19.2.0 | UI组件库 |
| React DOM | 19.2.0 | 用于web的React渲染 |
| Tailwind CSS | ^4 | 实用程序优先的CSS框架 |
后端和API
| 技术 | 版本 | 目的 |
|---|---|---|
| Next.js API路线 | 16.0.1 | RESTful端点和MCP编排 |
| MCP-SDK | ^1.21.1 | 模型上下文协议实现 |
| 黄道带 | ^4.1.12 | 运行时模式验证 |
数据库和ORM
| 技术 | 版本 | 目的 |
|---|---|---|
| Supabase | ^2.80.0 | 带RLS的主数据库平台 |
| PostgreSQL | - | 基础关系数据库 |
| 淋ORM | ^0.44.7 | 类型安全的SQL查询生成器 |
| 喷雾套件 | ^0.31.6 | 架构迁移和管理 |
| Postgres | ^3.4.7 | Node.js的PostgreSQL客户端 |
认证
| 技术 | 版本 | 目的 |
|---|---|---|
| Supabase认证 | ^2.80.0 | 基于JWT的身份验证 |
| Supabase SSR | ^0.7.0 | 服务器端渲染身份验证支持 |
AI&LLM
| 技术 | 版本 | 目的 |
|---|---|---|
| OpenAI API | ^6.8.1 | LLM集成(模型无关设计) |
测试
| 技术 | 版本 | 目的 |
|---|---|---|
| 玩笑 | ^30.2.0 | 单元和集成测试 |
| 测试库 | ^16.3.0 | React组件测试 |
| 玩笑 | ^6.9.1 | Custom Jest matchers for DOM |
代码质量和开发工具
| 技术 | 版本 | 目的 |
|---|---|---|
| ESLint | ^9 | 代码删除和质量检查 |
| 更漂亮 | ^3.6.2 | 代码格式 |
| 多伦多证券交易所 | ^4.20.6 | 脚本的TypeScript执行 |
| 执政官 | - | MCP开发检查员 |
运输和部署
| 图层 | 技术 | 注释 |
|---|---|---|
| MCP协议 | JSON-RPC 2.0通过标准输入/HTTPS | 标准输入(开发),HTTPS(产品) |
| 多租户技术 | 行级安全性(RLS) | 数据库强制租户隔离 |
📐 建筑原理
- 领域驱动设计:8个聚焦MCP(全部≤10个工具)与臃肿的3-MCP设计
- 主机中介通信:所有MCP服务器都通过主机通信(MCP与MCP之间没有直接通信)
- 基于范围的路由:细粒度授权(身份:*,财务:*、学术:\*等)
- 租户隔离:多租户就绪
tenant_idRLS政策 - 设计可扩展性:添加新域MCP而不修改现有域MCP
- 规范优先开发:实施前记录所有变更
- 设计安全:JWT验证、RLS、审计日志记录贯穿始终
- 演出:分布式负载、特定于域的缓存、每个MCP更简单的RLS
📚 关键文件
- 目录 -完整导航
- 系统架构 -详细的架构图和组件描述
- 管理员MCP -MVP MCP服务器的完整规范(资源、工具、提示)
- 数据库模式 -带有ERD、RLS策略和视图的完整Drizzle架构
- 智能体编排 -多MCP协调的主机模式
🔐 安全与合规
- GDPR对齐:数据最小化、目的限制、访问控制
- RLS(行级安全):在数据库级别强制执行租户隔离
- JWT身份验证:支持JWKS验证的身份验证
- 审计日志:所有重要操作都被永久记录
- 上下文隔离:MCP服务器不能直接访问彼此的数据
🎓 用例
对于管理员
- 管理用户(添加、修改、删除)
- 创建和管理类
- 跟踪出勤和预订情况
- 从模板生成Excel/CSV导出
- 查看付款摘要并创建发票
- 系统备份和审计日志
教师(未来)
- 制定课程计划和测验
- 自动评分作业
- 分析学生表现
- 记录出勤率和成绩
- 发送班级公告
面向学生(未来)
- 获得个性化辅导和家庭作业帮助
- 参加练习测验
- 跟踪学习进度
- 访问课程材料
- 接受学习指导
🛠️ 开发流程
该项目遵循 规格优先 方法:
- 规格 → 实施前记录设计
- 架构定义 → 使用Drizzle定义的数据库表
- MCP 服务器 → 工具、资源、提示已实施
- 主机集成 → 将MCP连接到主机服务
- 测试 → 拱门检查+单元/集成测试
- 部署 → 本地开发(stdio),生产(HTTPS)
📖 文档状态
| 章节 | 状态 | 描述 |
|---|---|---|
| 1-8 | ✅ 完成 | 概述、架构、MCP、管理员/教师/学生MCP、代理、数据库 |
| 9 | ⏳ 详细信息 | 测试策略 |
| 10 | ⏳ 整合 | 原始规范中的用户故事 |
| 11 | ⏳ 详细信息 | 部署过程 |
| 12 | ⏳ 创建 | 附录、术语表、API参考 |
🤝 贡献
这是一个活生生的规范。更改应遵循以下过程:
- 讨论拟议的变更
- 更新相关规范文件
- 如果结构发生变化,请更新目录
- 增量版本处于文档状态
- 以清晰的描述承诺
📊 可追溯性
每一项任务 TASKS.md 链接到:
- 用户故事 通过REQ-T在REQ.md(§5)中-*,REQ-A-*,REQ-S-\*ID
- 设计部分 通过§引用在DESIGN.md中
- 验收标准 (文-衡格式)
可追溯性链示例:
User Story (REQ-T-001): Generate CEFR-aligned lesson plan
↓
Design (DESIGN §6): Lesson Planning Flow (AI-Assisted)
↓
Tasks: T-031 (API), T-032 (Schema), T-033 (Cache)
↓
Implementation: Code with comments linking back to REQ-T-001
↓
Tests: E2E test named "REQ-T-001: Generate lesson plan"这确保了 双向追踪性:从需求到实现,从代码到需求。
______________________________________________________________________
📝 版本历史
v3.0.0 批准 (2025-11-11)-8-MCP领域驱动架构
状态: ✅ 架构决策最终确定并批准实施
核心变化:
- ✅ 将管理MCP拆分为6个域MCP(身份、学术、出勤、财务、学生服务、运营)
- ✅ 优化教师MCP(12→10个工具)
- ✅ 优化学生MCP(14→10个工具)
- ✅ 所有8个MCP现在≤10个工具(符合架构约束)
- ✅ 增加了34个迁移任务(T-110至T-143),并制定了4阶段部署计划
- ✅ 更新了基于范围的路由的C4架构图
- ✅ 细粒度授权范围(标识:*,财务:*、学术:\*等)
- ✅ 总计:76项任务(42项核心+34项迁移)
可扩展性:
- ✅ 添加未来域MCP(母公司、合作伙伴、分析、营销)的清晰模式
- ✅ 具有maxTools=10约束的标准MCP接口
- ✅ 独立部署模型(无级联更改)
- ✅ 记录扩展指南和技术要求
- ✅ 提供示例实现(父MCP,带10个工具)
优点:
- ✅ 更好的安全性:最小权限,每个MCP的攻击面更小
- ✅ 更好的性能:分布式负载、特定域缓存
- ✅ 更容易维护:明确的领域界限,集中的责任
- ✅ 面向未来:无需重构现有MCP即可无缝添加新域
v2.1.0(2025-11-07)——Spine集成规范
- ✅ 添加REQ.md、DESIGN.md、TASKS.md作为项目主干
- ✅ 使MCP架构与传统需求相协调
- ✅ 在所有规格之间建立可追溯性
- ✅ 用户故事映射到详细任务
- ✅ 在11部史诗中定义了42项任务
- ✅ 4个具有明确退出标准的里程碑
v2.0.0(2025-10-31)——MCP架构重构
- 完整的MCP架构规范(管理员、教师、学生MCP)
- 交互模式和编排细节
- 共享服务架构
v1.0.0(2025-10-30)——初始合并
- 合并了原始规范.md和esl-mcp规范内容
- 已完成第1-8节
- 确定MVP优先级(管理MCP+主机)
______________________________________________________________________
👤 作者
Eoin Malone (带克劳德密码)
📄 许可证
\[待定\]
______________________________________________________________________
规范状态: ✅ v3.0.0已批准-完成并对齐(要求↔ 设计↔ 任务) 建筑决策: ✅ 具有可扩展性的8-MCP域驱动架构于2025-11年获得批准 最后更新: 2025-11-11 版本: 3.0.0
