The goal of this project is to gradually convert all projects from https://github.com/codecrafters-io/build-your-own-x into skills, enabling every developer to quickly learn various skills through AI...
Overview
本项目的目标是将 https://github.com/codecrafters-io/build-your-own-x 中的项目逐步转换为 skills,让每个开发者都能通过 AI 技术,快速学习各种工程实践技能。 仓库根目录现在本身就是一个 skill:build-your-own-x。根目录的 SKILL.md 是路由入口,帮开发者选主题、语言和教程,再交给 skills/ 下的子 skill。子 skill 分两类: - (每个分类一个导师 skill,6–7 个里程碑,每步都有可运行的检查点):上游全部 31 个分类均已完成,位于 skills/ /,例如 git、database、operating-system、ai-model。 - (skills/ - ):每个对应上游的一篇教程。 各分类状态与上游链接见 references/catalog.md。skill 以带教为主:概念 → 骨架 → 学习者写代码 → 测试,不直接给完整答案。 安装:npx skills add linkxzhou/build-your-own-x-skills,或克隆仓库后运行 ./init.sh。 评测:见 benchmarks/REPORT.md(quick_validate、链接核对、31 个主线 skill 的冒烟测试、路由触发测试)。 致谢:主题与链接来自 codecrafters-io/build-your-own-x(CC0 1.0),详见 ATTRIBUTION.md。 - 上游 build-your-own-x(2026-10-19 快照):31 个分类、359 个教程链接 - 主线 skill(按分类):31 - 单教程 skill:357(原 351 个 + 新增 4 个分类的 6 个) - 已生成 examples:351(新增 6 个单教程 skill 暂无 example) - 总入口:根目录 SKILL.md - 转换计划:plan/ - skill 清单:skills/x-skills-manifest.json - example 清单:examples/examples-manifest.json
README
背景
本项目的目标是将 https://github.com/codecrafters-io/build-your-own-x 中的项目逐步转换为 skills,让每个开发者都能通过 AI 技术,快速学习各种工程实践技能。
总入口 skill(新增)
仓库根目录现在本身就是一个 skill:build-your-own-x。根目录的 SKILL.md 是路由入口,帮开发者选主题、语言和教程,再交给 skills/ 下的子 skill。子 skill 分两类:
- 主线 skill(每个分类一个导师 skill,6–7 个里程碑,每步都有可运行的检查点):上游全部 31 个分类均已完成,位于
skills//,例如git、database、operating-system、ai-model。 - 单教程 skill(
skills/-):每个对应上游的一篇教程。
各分类状态与上游链接见 references/catalog.md。skill 以带教为主:概念 → 骨架 → 学习者写代码 → 测试,不直接给完整答案。
安装:npx skills add linkxzhou/build-your-own-x-skills,或克隆仓库后运行 ./init.sh。
评测:见 benchmarks/REPORT.md(quick_validate、链接核对、31 个主线 skill 的冒烟测试、路由触发测试)。
致谢:主题与链接来自 codecrafters-io/build-your-own-x(CC0 1.0),详见 ATTRIBUTION.md。
当前状态
- 上游 build-your-own-x(2026-10-19 快照):
31个分类、359个教程链接 - 主线 skill(按分类):
31 - 单教程 skill:
357(原 351 个 + 新增 4 个分类的 6 个) - 已生成 examples:
351(新增 6 个单教程 skill 暂无 example) - 总入口:根目录
SKILL.md - 转换计划:
plan/ - skill 清单:
skills/x-skills-manifest.json - example 清单:
examples/examples-manifest.json
说明:此前生成过带 8 位哈希后缀的临时 skill,因名称可读性差已删除;当前 README 中勾选的条目对应保留在
skills/中的可用 skill。
目录结构
build-your-own-x-skills/
├── .claude/skills/ # Claude Code skills 目录,软链到 skills/
├── .codebuddy/skills/ # CodeBuddy skills 目录,软链到 skills/
├── .trae/skills/ # TRAE skills 目录,软链到 skills/
├── .gemini/skills/ # Gemini CLI skills 目录,软链到 skills/
├── skills/ # skills 主目录,每个子目录是一个 skill
├── plan/ # build-your-own-x 到 skill 的转换计划
├── examples/ # 按大类型组织的 skill 使用示例
├── tests/ # 技能测试
├── README.md # 中文说明
├── README_EN.md # 英文说明
├── README_PROMPT.md # Prompt 模板与测试提示词
└── init.sh # 初始化软链脚本
安装
- 克隆项目到本地。
- 运行
./init.sh,将skills/软链到各 AI 编程工具的技能目录。 - 在支持 skills 的工具中使用
[使用Skills: skill-name]或自动触发。
使用示例
每个可用 skill 都有一个对应 example,按大类型组织:
| 分类 | 示例数 |
|---|---|
| 3D 渲染器 | 11 |
| 增强现实(AR) | 6 |
| BitTorrent 客户端 | 5 |
| 区块链 / 加密货币 | 22 |
| 机器人(Bot) | 15 |
| 命令行工具 | 9 |
| 数据库 | 13 |
| Docker | 6 |
| 模拟器 / 虚拟机 | 13 |
| 前端框架 / 库 | 14 |
| 游戏 | 34 |
| Git | 7 |
| 未分类 | 62 |
| 网络协议栈 | 4 |
| 神经网络 | 14 |
| 操作系统 | 19 |
| 物理引擎 | 7 |
| 编程语言 | 41 |
| 正则表达式引擎 | 9 |
| 搜索引擎 | 6 |
| Shell | 7 |
| 模板引擎 | 5 |
| 文本编辑器 | 6 |
| 视觉识别系统 | 2 |
| 体素引擎(Voxel Engine) | 1 |
| 网页浏览器 | 2 |
| Web 服务器 | 11 |
示例入口:
- 根索引:
examples/README.md - 数据库示例:
examples/database/database-redis/ - 编程语言示例:
examples/programming-language/
转换计划
- 总索引:
plan/README.md - 每个分类一个计划文件,例如
plan/database.md、plan/programming-language.md。 - 每个项目计划包含建议 skill 名称、触发场景、
SKILL.md规划、资源规划和验收标准。
完成进度
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ 100%
build-your-own-x 项目列表
构建你自己的 3D 渲染器
- [X] C++: 光线追踪导论:一种创建 3D 图像的简单方法
- [X] C++: OpenGL 如何工作:500 行代码实现软件渲染
- [X] C++: 《德军总部 3D》射线投射引擎
- [X] C++: 基于物理的渲染:从理论到实现
- [X] C++: 周末搞定光线追踪(Ray Tracing in One Weekend)
- [X] C++: 光栅化:一次实用实现
- [X] C# / TypeScript / JavaScript: 从零学习用 C#、TypeScript 或 JavaScript 编写 3D 软渲染引擎
- [X] Java / JavaScript: 构建你自己的 3D 渲染器
- [X] Java: 如何用纯 Java 创建一个简单的 3D 渲染引擎
- [X] JavaScript / Pseudocode: 从零开始的计算机图形学
- [X] Python: 一个 3D 建模器
构建你自己的 增强现实(AR)
- [X] C#: 入门教程:使用 Vuforia 与 Unity 3D 的增强现实应用 [video]
- [X] C#: Unity ARCore 教程 [video]
- [X] C#: Unity AR 传送门(Portal)教程 [video]
- [X] C#: 如何在 Unity ARCore 中创建一条 AR 龙 [video]
- [X] C#: AR 教程:ARKit 传送门通往“颠倒世界” [video]
- [X] Python: 用 Python 与 OpenCV 实现增强现实
构建你自己的 BitTorrent 客户端
- [X] C#: 用 C# 从零构建 BitTorrent 客户端
- [X] Go: 用 Go 从底层开始构建 BitTorrent 客户端
- [X] Nim: 编写一个 Bencode 解析器
- [X] Node.js: 自己写一个 BitTorrent 客户端
- [X] Python: Python 3.5 的 BitTorrent 客户端
构建你自己的 区块链 / 加密货币
- [X] ATS: 函数式区块链
- [X] C#: 用 C# 编程实现区块链
- [X] Crystal: 用 Crystal 实现你自己的区块链与 PoW 算法
- [X] Go: 用 Go 构建区块链
- [X] Go: 用不到 200 行 Go 写出你自己的区块链
- [X] Java: 用 Java 创建你的第一条区块链
- [X] JavaScript: 少于 1500 行代码的加密货币实现
- [X] JavaScript: 用 JavaScript 构建你自己的区块链
- [X] JavaScript: 学习并构建一个 JavaScript 区块链
- [X] JavaScript: 用 JavaScript 创建区块链
- [X] JavaScript: 如何发布一个可用于生产的加密货币
- [X] JavaScript: 在 Node.js 中编写区块链
- [X] Kotlin: 用 Kotlin 实现加密货币
- [X] Python: 通过构建来学习区块链
- [X] Python: 自己动手构建区块链:Python 教程
- [X] Python: Python 区块链实用入门
- [X] Python: 来构建最小的区块链
- [X] Ruby: 一步步编程实现区块链(手稿/书籍版)
- [X] Scala: 如何构建一个基于 actor 的简单区块链
- [X] TypeScript: Naivecoin:构建加密货币的教程
- [X] TypeScript: NaivecoinStake:基于 PoS 共识构建加密货币的教程
- [X] Rust: 用 Rust 与 Substrate 构建区块链(分步指南)
构建你自己的 机器人(Bot)
- [X] Haskell: 自己做一个 IRC 机器人
- [X] Node.js: 用 Node.js 与 API.ai 创建一个简单的 Facebook Messenger AI 机器人
- [X] Node.js: 如何制作一个响应式的 Telegram 机器人
- [X] Node.js: 创建一个 Discord 机器人
- [X] Node.js: gifbot:构建一个 GitHub App
- [X] Node.js: 用 Web Speech API 与 Node.js 构建一个简单的 AI 聊天机器人
- [X] Python: 如何用 Python 构建你的第一个 Slack 机器人
- [X] Python: 用 Python + Slack Events API + Django 在 20 分钟内构建 Slack 机器人
- [X] Python: 构建一个 Reddit 机器人
- [X] Python: 如何制作 Reddit 机器人 [video]
- [X] Python: 如何用 Python 创建 Telegram 机器人
- [X] Python: 使用 Tweepy 用 Python 创建 Twitter 机器人
- [X] Python: 用 Python 与 PRAW 创建 Reddit 机器人 [video]
- [X] R: 用 R 构建一个加密货币交易机器人
- [X] Rust: 用 Rust(或 C 等)为《星际争霸》写一个机器人
构建你自己的 命令行工具
- [X] Go: 用 Go 可视化本地 Git 贡献
- [X] Go: 用 Go 构建命令行应用:lolcat
- [X] Go: 用 Go 构建 CLI 命令:cowsay
- [X] Go: Go CLI 教程:fortune 克隆
- [X] Nim: 编写 stow 的替代方案来管理 dotfiles
- [X] Node.js: 用 JavaScript 创建一个 CLI 工具
- [X] Rust: Rust 中的命令行应用
- [X] Rust: 用 Rust 编写命令行工具
- [X] Zig: 从零用 Zig 构建你的 CLI 应用
构建你自己的 数据库
- [X] C: 来构建一个简单数据库
- [X] C++: 从零构建你自己的 Redis
- [X] C#: 构建你自己的数据库
- [X] Clojure: 考古学启发的数据库
- [X] Crystal: 为什么你应该构建自己的 NoSQL 数据库
- [X] Go: 从零构建数据库:从 B+Tree 到 SQL,3000 行实现
- [X] Go: 45 步写数据库:一系列以 TDD 为主的小型编码谜题
- [X] Go: 从零构建你自己的 Redis
- [X] JavaScript: Dagoba:内存图数据库
- [X] Python: DBDB:狗窝数据库
- [X] Python: 用 Python 写一个迷你 Redis
- [X] Ruby: 用 Ruby 构建快速、持久化的 KV 存储
- [X] Rust: 构建你自己的 Redis 客户端与服务端
构建你自己的 Docker
- [X] C: 500 行代码实现 Linux 容器
- [X] Go: 用不到 100 行 Go 构建自己的容器
- [X] Go: 用 Go 从零构建容器 [video]
- [X] Python: Linux 容器工作坊:从零重建 Docker
- [X] Python: 一个 Docker 的概念验证替代品(100% Python)
- [X] Shell: 用大约 100 行 bash 实现 Docker
构建你自己的 模拟器 / 虚拟机
- [X] C: 自制字节码解释器
- [X] C: 用 C 写虚拟机
- [X] C: 编写你自己的虚拟机
- [X] C: 用 Cinoop 编写 Game Boy 模拟器
- [X] C++: 如何写一个模拟器(CHIP-8 解释器)
- [X] C++: 模拟器教程(CHIP-8 解释器)
- [X] C++: 模拟器教程(GameBoy 模拟器)
- [X] C++: 模拟器教程(Master System 模拟器)
- [X] C++: 从零构建 NES 模拟器 [video]
- [X] Common Lisp: 用 Common Lisp 实现 CHIP-8
- [X] JavaScript: 用 JavaScript 做 GameBoy 模拟
- [X] Python: 模拟器基础:编写你自己的 Chip-8 模拟器/解释器
- [X] Rust: 0dmg:通过构建部分 Game Boy 模拟器学习 Rust
构建你自己的 前端框架 / 库
- [X] JavaScript: JSX 到底是什么(让我们构建一个 JSX 渲染器)
- [X] JavaScript: 从零构建你自己的 React(DIY 指南)
- [X] JavaScript: 从零构建 React [video]
- [X] JavaScript: Gooact:160 行 JavaScript 的 React
- [X] JavaScript: 通过构建轻量 React DOM 来理解 React Reconciler 如何工作
- [X] JavaScript: 自己写一个 Redux
- [X] JavaScript: 让我们写 Redux!
- [X] JavaScript: Redux:从零实现 Store [video]
- [X] JavaScript: 200 行 JavaScript 实现一个简化版 AngularJS
- [X] JavaScript: 自己做一个 AngularJS
- [X] JavaScript: 如何实现你自己的 Virtual DOM
- [X] JavaScript: 从零构建前端框架(组件、模板、状态、VDOM)
- [X] JavaScript: 构建你自己的 React
- [X] JavaScript: 构建一个自定义 React Renderer [video]
构建你自己的 游戏
- [X] C: Handmade Hero
- [X] C: 用 C 编写 NES 游戏
- [X] C: 用 C 写国际象棋引擎 [video]
- [X] C: Let’s Make: Dangerous Dave [video]
- [X] C: 用 C 学习游戏编程 [video]
- [X] C: 用 C 编写数独求解器 [video]
- [X] C: 用 C 编写 Rogue/Nethack RPG [video]
- [X] C: 关于俄罗斯方块与重实现
- [X] C++: Breakout
- [X] C++: 入门游戏编程 v2.0
- [X] C++: 面向初学者、平台无关、专注逻辑的 C++ 俄罗斯方块教程
- [X] C++: 用 C++ 重制 Cavestory [video]
- [X] C++: 重构 Cave Story [video]
- [X] C++: 从零做 Space Invaders
- [X] C#: 通过构建一个简单 RPG 学习 C#
- [X] C#: 用 C# 创建 Roguelike 游戏
- [X] C#: 构建一个 C#/WPF RPG
- [X] Go: 用 Go 做游戏 [video]
- [X] Java: 用 Java 写 2D 游戏引擎(完整入门课) [video]
- [X] Java: LWJGL 3 的 3D 游戏开发
- [X] JavaScript: 用 Phaser 制作 2D 打砖块
- [X] JavaScript: 用 Phaser 在 HTML5 中做 Flappy Bird
- [X] JavaScript: 用 React、Redux 与 SVG 开发游戏
- [X] JavaScript: 从零构建你自己的 8 号球台球游戏 [video]
- [X] JavaScript: 如何制作你的第一个 Roguelike
- [X] JavaScript: 像程序员一样思考:只用 JS/HTML/CSS 做贪吃蛇
- [X] Lua: BYTEPATH
- [X] Python: 用 PyGame 开发游戏
- [X] Python: 用 Python 与 Pygame 制作游戏 [pdf]
- [X] Python: Roguelike 教程(修订版)
- [X] Ruby: 用 Ruby 开发游戏
- [X] Ruby: Ruby 贪吃蛇
- [X] Rust: Rust 冒险:一个基础 2D 游戏
- [X] Rust: Rust + tcod 的 Roguelike 教程
构建你自己的 Git
- [X] Haskell: 用 Haskell 从底层重实现 “git clone”
- [X] JavaScript: Gitlet
- [X] JavaScript: Build GIT - Learn GIT
- [X] Python: 刚好够用的 Git 客户端:能创建仓库、提交并把自己推到 GitHub
- [X] Python: 给自己写一个 Git!
- [X] Python: ugit:通过自己构建 Git 来学习 Git 内部原理
- [X] Ruby: 用 Ruby 重建 Git
构建你自己的 网络协议栈
- [X] C: Beej 的网络编程指南
- [X] C: 让我们写一个 TCP/IP 协议栈
- [X] C / Python: 构建你自己的 VPN/虚拟交换机
- [X] Ruby: 如何用 Ruby 构建网络协议栈
构建你自己的 神经网络
- [X] C#: 神经网络 OCR
- [X] F#: 用 F# 构建神经网络
- [X] Go: 用 Go 构建多层感知机
- [X] Go: 如何用 Go 构建一个简单的人工神经网络
- [X] Go: 用 Go 从零构建神经网络
- [X] JavaScript / Java: 神经网络:《代码本色》 [video]
- [X] JavaScript: 面向 JavaScript 语言学家的神经网络从零开始(第 1 部分:感知机)
- [X] Python: 11 行 Python 的神经网络
- [X] Python: 从零实现神经网络
- [X] Python: 光学字符识别(OCR)
- [X] Python: 用卷积网络进行交通标志分类
- [X] Python: 用 Keras 的 LSTM 生成音乐
- [X] Python: 卷积神经网络(CNN)入门
- [X] Python: 神经网络:从零到英雄(Zero to Hero)
构建你自己的 操作系统
- [X] Assembly: 编写一个微型 x86 引导程序(Bootloader)
- [X] Assembly: Baking Pi:操作系统开发
- [X] C: 从零构建简单计算机的软件/硬件栈 [video]
- [X] C: 操作系统:从 0 到 1
- [X] C: 操作系统开发小书
- [X] C: 自己做一个玩具 UNIX 克隆操作系统
- [X] C: Kernel 101:让我们写一个内核
- [X] C: Kernel 201:写一个带键盘与屏幕支持的内核
- [X] C: 从零为 ARM 构建一个最小多任务内核
- [X] C: 如何从零创建一个 OS
- [X] C: malloc 教程
- [X] C: 黑进虚拟内存
- [X] C: 用 Linux 内核与树莓派学习 OS 开发
- [X] C: 给小白的操作系统开发
- [X] C++: 写你自己的操作系统 [video]
- [X] C++: 编写 Bootloader
- [X] Rust: 用 Rust 写操作系统
- [X] Rust: RISC-V 的 Rust 操作系统教程
- [X] (any): Linux From Scratch
构建你自己的 物理引擎
- [X] C: 视频游戏物理教程
- [X] C++: Allen Chou 的游戏物理系列
- [X] C++: 如何创建自定义物理引擎
- [X] C++: 3D 物理引擎教程 [video]
- [X] JavaScript: 物理引擎如何工作
- [X] JavaScript: 使用空间划分的广义阶段碰撞检测
- [X] JavaScript: 为 JavaScript 游戏构建一个简单 2D 物理引擎
构建你自己的 编程语言
- [X] (any): mal - Make a Lisp
- [X] Assembly: Jonesforth
- [X] C: 宝宝的第一个垃圾回收器
- [X] C: 构建你自己的 Lisp:用 1000 行代码学习 C 并写出语言
- [X] C: 用 C 编写一个简单垃圾回收器
- [X] C: 能解释自身的 C 解释器
- [X] C: Jack Crenshaw《Let’s Build a Compiler》的 C/x86 版本
- [X] C: 一段从零构建编译器的旅程
- [X] C++: 用 Flex 编写你自己的玩具编译器
- [X] C++: 如何创建一个编译器 [video]
- [X] C++: Kaleidoscope:用 LLVM 实现一门语言
- [X] F#: 理解解析器组合子
- [X] Elixir: 通过自己写一个编译器来破除迷思 [video]
- [X] Go: 超小编译器(The Super Tiny Compiler)
- [X] Go: Go 词法扫描 [video]
- [X] Haskell: 让我们构建一个编译器
- [X] Haskell: Write You a Haskell
- [X] Haskell: 48 小时写一个 Scheme
- [X] Haskell: Write You A Scheme
- [X] Java: 《Crafting Interpreters》:制作编程语言的手册
- [X] Java: 创建 JVM 语言
- [X] JavaScript: 超小编译器(The Super Tiny Compiler)
- [X] JavaScript: 超小解释器(The Super Tiny Interpreter)
- [X] JavaScript: 小型 Lisp 解释器
- [X] JavaScript: 如何用 JavaScript 实现一门编程语言
- [X] JavaScript: 让我们写一个 Lisp
- [X] OCaml: 编写一个 C 编译器
- [X] OCaml: 写 Lisp 系列
- [X] Pascal: 让我们构建一个编译器
- [X] Python: 用 Python 写的 Python 解释器
- [X] Python: lisp.py:做你自己的 Lisp 解释器
- [X] Python: 如何用 Python 写 Lisp 解释器
- [X] Python: 让我们构建一个简单解释器
- [X] Python: 制作你自己的简单解释型编程语言 [video]
- [X] Python: 从源代码到机器码:从零构建你自己的编译器
- [X] Racket: Beautiful Racket:如何用 Racket 制作自己的编程语言
- [X] Ruby: 从零构建编译器
- [X] Ruby: 用 Ruby 从零写 Markdown 编译器
- [X] Rust: 用 Rust 学习解析器组合子
- [X] Swift: 用 Swift 从零构建 Lisp
- [X] TypeScript: 构建你自己的 WebAssembly 编译器
构建你自己的 正则表达式引擎
- [X] C: 正则表达式匹配器
- [X] C: 正则匹配可以既简单又快速
- [X] Go: 如何从零构建正则引擎
- [X] JavaScript: 用不到 40 行代码构建正则引擎
- [X] JavaScript: 用函数式 JavaScript 通过导数法实现正则
- [X] JavaScript: 实现一个正则表达式引擎
- [X] Perl: 正则是如何工作的
- [X] Python: 构建你自己的正则引擎:回溯、NFA、DFA
- [X] Scala: 没有魔法:正则表达式
构建你自己的 搜索引擎
- [X] CSS: 用 CSS 做一个搜索引擎
- [X] Python: 用 Redis 与 redis-py 构建搜索引擎
- [X] Python: 用 Python 构建向量空间索引搜索引擎
- [X] Python: 构建基于 Python 的搜索引擎 [video]
- [X] Python: 让文本搜索从反馈中学习
- [X] Python: 使用 TF-IDF 从文本中找出重要词
构建你自己的 Shell
- [X] C: 教程:用 C 写一个 Shell
- [X] C: 让我们构建一个 Shell!
- [X] C: 编写 UNIX Shell
- [X] C: 构建你自己的 Shell
- [X] C: 用 C 写一个 Shell
- [X] Go: 用 Go 写一个简单 Shell
- [X] Rust: 使用 Rust 构建你自己的 Shell
构建你自己的 模板引擎
- [X] JavaScript: 20 行实现 JavaScript 模板引擎
- [X] JavaScript: 理解 JavaScript 微模板(Micro-Templating)
- [X] Python: 方法:用 Python 构建玩具模板引擎
- [X] Python: 一个模板引擎
- [X] Ruby: 如何在不到 30 行代码里写一个模板引擎
构建你自己的 文本编辑器
- [X] C: 构建你自己的文本编辑器
- [X] C++: 设计一个简单文本编辑器
- [X] Python: Python 教程:制作你自己的文本编辑器 [video]
- [X] Python: 创建一个简单的 Python 文本编辑器!
- [X] Ruby: 用 Rails 构建协作式文本编辑器
- [X] Rust: Hecto:用 Rust 构建你自己的文本编辑器
构建你自己的 视觉识别系统
构建你自己的 体素引擎(Voxel Engine)
- [X] C++: 让我们做一个体素引擎
构建你自己的 网页浏览器
构建你自己的 Web 服务器
- [X] C#: 从零编写 Web 服务器
- [X] Node.js: 用 JavaScript 从零构建你自己的 Web 服务器
- [X] Node.js: 用 NodeJS Streams 从零写 Web 服务器
- [X] Node.js: lets-build-express
- [X] PHP: 用纯 PHP 编写 Web 服务器
- [X] Python: 一个简单的 Web 服务器
- [X] Python: 让我们构建一个 Web 服务器
- [X] Python: 从零构建 Web 应用
- [X] Python: 用 Python 从零构建基础 HTTP Server
- [X] Python: 用 Python + Flask 实现 RESTful Web API
- [X] Ruby: 用 Ruby 从零构建简单 websockets 服务器
未分类
- [X] (any): 从 NAND 到俄罗斯方块:从第一性原理构建现代计算机
- [X] (any): build-your-own-x-vibe-coding:面向“vibe coding”改编的 BYOX 风格教程
- [X] Alloy: 同源策略
- [X] C: 如何用不到 1000 行代码写一个视频播放器
- [X] C: 学习如何用 C 写哈希表
- [X] C: 终端模拟器的基础知识
- [X] C: 编写一个系统调用
- [X] C: Sol:从零实现 MQTT Broker
- [X] C++: 用 200 美元构建你自己的 VR 头显
- [X] C++: X Window Manager 如何工作,以及如何编写一个
- [X] C++: 编写 Linux 调试器
- [X] C++: 一个 64k intro 是如何制作的
- [X] C++: 自己做一个游戏引擎
- [X] C#: C# 网络编程:TCP 聊天服务端、TCP 游戏、UDP Pong 等
- [X] C#: 在 C# 与 GLSL 中从零加载并渲染 3D 骨骼动画
- [X] Clojure: 构建一个拼写检查器
- [X] Go: 100 行 Go 构建简单终端模拟器
- [X] Go: 让我们创建一个简单负载均衡器
- [X] Go: 从零进行视频编码
- [X] Java: 如何构建一个 Android Reddit 应用 [video]
- [X] JavaScript: 构建你自己的模块打包器:Minipack
- [X] JavaScript: 通过自己实现 Promise 来理解 JavaScript Promise
- [X] JavaScript: 从零实现 Promise(TDD 风格)
- [X] JavaScript: 自己实现 JavaScript 的 call() / apply() / bind()
- [X] JavaScript: JavaScript 算法与数据结构
- [X] JavaScript: 用 React Native 构建网约车应用
- [X] JavaScript: (真的)10 分钟写出你自己的 AdBlocker
- [X] Kotlin: 构建你自己的缓存
- [X] Lua: 从零构建 CDN 来学习 CDN
- [X] Nim: 编写 Redis 协议解析器
- [X] Nim: 编写构建系统
- [X] Nim: 编写 MiniTest 测试框架
- [X] Nim: 编写 DMIDecode 解析器
- [X] Nim: 编写 INI 解析器
- [X] Nim: 编写链接检查器
- [X] Nim: 编写 URL 短链接服务
- [X] Node.js: 用 Node.js 用 40 行写静态站点生成器
- [X] Node.js: 用 Node.js 从零构建一个简单 SSO 服务与方案
- [X] Node.js: 如何用 Node 创建一个真实世界的 Node CLI 应用
- [X] Node.js: 用 Node.js 构建 DNS 服务器
- [X] PHP: 用 PHP 从零编写 MVC
- [X] PHP: 自己做一个博客
- [X] PHP: 没有框架的现代 PHP
- [X] PHP: 用 PHP 编写 Web 搜索引擎
- [X] Python: 构建深度学习库 [video]
- [X] Python: 5 分钟构建一个超棒的移动文档扫描器
- [X] Python: 持续集成系统
- [X] Python: Python 推荐系统:入门教程
- [X] Python: 用 Scikit-learn 写短信垃圾检测器
- [X] Python: 一个简单的基于内容的推荐引擎
- [X] Python: 用 LSTM 预测股市
- [X] Python: 用 Tensorflow 构建一个简单 GAN
- [X] Python: 通过编码学习机器学习算法:决策树
- [X] Python: JSON 解码算法
- [X] Python: 用 Python 构建你自己的 Git 插件
- [X] Ruby: 现实世界里的计步器
- [X] Ruby: 用 Ruby 创建 Linux 桌面应用
- [X] Rust: 用 Rust 构建 DNS 服务器
- [X] Rust: 从零编写可扩展聊天服务
- [X] Rust: WebGL + Rust:基础水面教程
- [X] TypeScript: Tiny Package Manager:学习 npm / Yarn 的工作方式
- [X] 生成 manim 视频
- skills:./skills/manim-composer
Recommended Tools
Try a different keyword or remove a filter.
Install
npx skillfish add linkxzhou/build-your-own-x-skills