尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
免费AI课程架构揭秘:course-structure.json 单一数据源设计全解析
免费AI课程架构揭秘course-structure.json 单一数据源设计全解析【免费下载链接】free-ai-coursesInteractive course teaching Product Managers how to use Claude Code effectively项目地址: https://gitcode.com/GitHub_Trending/cl/free-ai-coursesFree AI Courses是一个交互式开源课程项目教你产品经理等非开发者如何高效使用 Claude Code。它最精巧的工程设计在于整个课程体系由一个 JSON 文件驱动——course-structure.json 作为单一数据源Single Source of Truth同时控制课程顺序、slash 命令路由、网站导航和下一课跳转改一处即可全局生效。本文带你完整解析这套课程架构设计。什么是单一数据源为什么要这样设计 想象你要维护一个 20 节课的课程每节课涉及教学脚本、启动命令、官网导航、上下课跳转。如果这些信息散落在各处新增一节课时可能要同时改十几个文件而且极易漏改。Free AI Courses 的解法把所有课程元信息集中到一个配置文件里。项目根目录的 CLAUDE.md 明确写道This course uses a config-driven architecture—— 课程结构、slash 命令路由、网站导航、脚本跳转全部由course-structure.json控制。这套中心配置 → 多消费方的辐射式架构正是整个课程系统的骨架。拆解 course-structure.json三大字段看懂课程地图 ️打开 course-materials/course-structure.json顶层只有 3 个字段非常干净字段示例值含义version2.0.0课程版本号lastUpdated2026-01-14最后更新日期levels数组4 个学习层级Level每个level层级包含id、name、description和一个modules数组。每个module模块定义了 7 个字段字段示例模块 1.1作用id1.1课程编号用于导航展示titleWelcome课程标题slugwelcome网站 URL 页面标识pathlesson-modules/.../1.1-welcome/CLAUDE.md教学脚本的物理路径commandstart-1-1对应的 slash 命令名descriptionIntroduction to Claude Code一句话简介estimatedMinutes10预估学习时长分钟4 个 Level 的内容版图Level 1 · Foundation7 课Claude Code 核心机制从 1.1 欢迎 到 1.7 导航技巧Level 2 · PM Workflows3 课真实 PM 任务——写 PRD、分析数据、产品战略Level 3 · Nano Banana7 课用 Gemini 3 Pro 做 AI 图像生成的分步教程Level 4 · Vibe Coding5 课从零搭建并部署一个真实 Web 应用注意 Level 3 采用3.1.1、3.2.1这种三级编号说明配置天然支持层级嵌套的章节划分而前两级课程只用X.Y编号——同一个 schema 灵活适配不同颗粒度。配置如何工作三大消费方各自只读 10 行代码 ⚙️配置的价值在于消费方。这个项目有 3 类消费者每一个都是薄薄的一层。1. 网站导航构建时自动生成以 website/pages/fundamentals/_meta.ts 为例核心逻辑只有 4 行import courseStructure from ../../../course-materials/course-structure.json const level1 courseStructure.levels.find(l l.id 1)! level1.modules.forEach(module { meta[module.slug] ${module.id}: ${module.title} })即导入 JSON → 按 level id 取模块 → 用 slug 做页面 key、id: title做导航文案。Level 2、Level 3 的导航文件 advanced/_meta.ts 和 nano-banana/_meta.ts 是同样的模式。网站导航页如fundamentals/下的 7 个 mdx 页面与配置完全同步无需手写目录。2. Slash 命令23 个命令文件内容完全相同course-materials/.claude/commands/ 目录下有start-1-1.md到start-4-5.md共 23 个命令文件。以 start-1-2.md 为例内容只有三步读取自己 id 对应的教学脚本lesson-modules/1-fundamentals/1.2-visualizing-files/CLAUDE.md读取 .claude/SCRIPT_INSTRUCTIONS.md 教学规则按脚本要求执行教学Say逐字念、Check处停等、Action照做命令自己解析文件名start-1-2→ 模块1.2再查course-structure.json找到path。这就是为什么所有命令文件内容一样——智能全部在配置里命令只是路由入口。3. 教学脚本动态计算下一课每个模块的CLAUDE.md教学脚本在结尾会反向读取配置动态判断下一个模块是什么然后告诉学生正确的 slash 命令。这意味着脚本里没有任何硬编码的下一课是 XX——即使你在中间插入新课脚本也会自动给出正确的下一站。实战新增 / 重排课程模块只需改一个文件 ✍️这是单一数据源设计最爽的环节。官方文档 CLAUDE.md 给出的完整流程编辑 course-structure.json——添加或移动 module 定义新建模块文件夹和教学脚本文件如新增课程才需要完成其余全部自动级联更新一个精妙细节逻辑 ID 与物理路径解耦。比如想在 1.3 和 1.4 之间插入新模块旧的1.4-agents文件夹可以保持原名不改——配置负责把逻辑编号1.5映射到物理路径1.4-agents文件夹名只是历史痕迹。相比传统做法这套设计不需要❌ 重命名任何文件夹❌ 逐个修改 slash 命令文件❌ 编辑现有教学脚本❌ 手工维护网站_meta.ts导航设计总结这套架构好在哪 设计点带来的收益单一数据源课程结构只有一份事实杜绝导航和脚本不一致逻辑 ID ↔ 物理路径映射重排课程不碰文件系统零重命名成本命令即路由内容相同新增课程不用写新命令文件脚本动态读配置下一课永不写错课程顺序随配置自动流转构建时生成网站导航官网与课程材料天然同步对于想给自己的课程/文档站做工程化设计的人来说这个模式非常值得借鉴把会变的东西课程增删、排序、时长全部收进一份声明式配置让代码只负责消费它——这正是 config-driven 架构的核心思想。想动手研究的话建议从 course-structure.json 读起再对照 CLAUDE.md 的 Course Architecture 章节你会发现整个课程的运转逻辑一目了然。【免费下载链接】free-ai-coursesInteractive course teaching Product Managers how to use Claude Code effectively项目地址: https://gitcode.com/GitHub_Trending/cl/free-ai-courses创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

Earthworm 游戏化连词成句:开源英语练习场,十分钟本地跑起来

Earthworm 游戏化连词成句:开源英语练习场,十分钟本地跑起来

Earthworm 游戏化连词成句:开源英语练习场,十分钟本地跑起来 【免费下载链接】earthworm Learning English through the method of constructing sentences with conjunctions 项目地址: https://gitcode.com/GitHub_Trending/ea/earthworm Earth…

📅 2026/9/20 11:24:45
InvenTree 开源库存管理系统:本地快速部署与实用指南

InvenTree 开源库存管理系统:本地快速部署与实用指南

InvenTree 开源库存管理系统:本地快速部署与实用指南 【免费下载链接】InvenTree Open Source Inventory Management System 项目地址: https://gitcode.com/GitHub_Trending/in/InvenTree InvenTree 是一款开源库存管理系统,面向管理电子元件、机…

📅 2026/9/20 11:24:45
Atlas 300V 24G部署YOLOv8实战:从环境搭建到推理优化

Atlas 300V 24G部署YOLOv8实战:从环境搭建到推理优化

最近帮一个视频分析项目组把YOLOv8检测服务从GPU迁移到Atlas 300V上,整个过程折腾了快两周,踩了不少坑。现在项目已经稳定跑了一个多月了,趁热把这块推理卡的真实表现、环境搭建流程和部署YOLO的完整方案写出来。如果你正准备用Atlas 300V 24…

📅 2026/9/20 11:19:45
MORE NEWS

更多资讯

📰

llvm-project核心解析:掌握IR与Pass,构建自定义编译器生态

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

IsaacLab 安装总卡在 rsl-rl?3 种做法一步修好

IsaacLab 安装总卡在 rsl-rl?3 种做法一步修好 【免费下载链接】IsaacLab Unified framework for robot learning with multi-physics/renderer support 项目地址: https://gitcode.com/GitHub_Trending/is/IsaacLab 装机器人强化学习框架 IsaacLab 时&#…

📰

Obsidian 多端同步方案对比:从 WebDAV 到 Syncthing 的选型指南

用 Obsidian 做笔记,最让人头大的从来不是双链怎么建、插件怎么配,而是怎么让手机、平板、公司电脑和家里的电脑上的笔记库保持一致。我一开始天真地以为把 Vault 扔进某个云盘就行,结果真正多端同步起来才发现,这里面全是门道。为…

📰

Artificial Analysis 价目表:GLM 5.3 Flash 用 TaoToken 同一把 Key 核对

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

ADMM算法解析:分布式凸优化问题的核心解法

1. 问题背景与核心价值在分布式优化领域,可分离结构的线性约束凸优化问题是一类具有重要工程意义的数学模型。这类问题广泛存在于电力系统调度、多智能体协同控制、资源分配等场景中。其标准形式可以表述为:minimize f₁(x₁) f₂(x₂) ... f_N(x_N)s…

📰

LLaVA 在 Windows 上的安装与 16 位推理实战指南

LLaVA 在 Windows 上的安装与 16 位推理实战指南 【免费下载链接】LLaVA [NeurIPS23 Oral] Visual Instruction Tuning (LLaVA) built towards GPT-4V level capabilities and beyond. 项目地址: https://gitcode.com/gh_mirrors/ll/LLaVA LLaVA(Large Langu…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬