docs: add research domains and resource registry

- add local external resources registry
- add research domain contract and per-repository research domains
- add raw fact snapshot governance and validation scripts

Validation:
- make test
- git diff --check HEAD~1..HEAD

Note:
- welcome workflow failed because its action input names are stale; core content CI passed.
This commit is contained in:
tradecatlabs
2026-07-03 08:20:22 +08:00
committed by GitHub
parent 2253a46935
commit a8099f52fe
254 changed files with 28589 additions and 165 deletions
@@ -0,0 +1,26 @@
# luzhenqian/ai-coding-lab 研究域 Agent 指南
本目录维护 `luzhenqian/ai-coding-lab` 的独立研究域。
## 目录职责
```text
luzhenqian-ai-coding-lab/
├── README.md # 研究域入口和判断层
├── AGENTS.md # 本目录维护规则
├── domain.yml # 事实摘要层:仓库元数据、研究角色、来源证据
├── analysis.md # L1 结构化研究结论、可借鉴点、风险和下一轮任务
├── deep-dive.md # L2 源码/结构深度研究、关键机制和可迁移模式
└── raw/ # 原始事实层:拉取到本地的一手材料快照
```
## 维护规则
- 本目录只研究 `luzhenqian/ai-coding-lab`,不要混入其他仓库的横向比较正文。
- 动态事实必须写入 `domain.yml.github_observed`,并更新 `observed_at`
- `raw/` 保存原始事实层,必须通过 `python3 scripts/fetch-research-raw.py` 刷新。
- 不手工改写 `raw/*.raw.*` 文件;稳定事实摘要再同步到 `domain.yml`
- README 只写判断、定位、使用方式和后续观察点,不堆外部 README 全文。
- `analysis.md` 写 L1 结构化理解;`deep-dive.md` 写 L2 源码证据、关键机制和可迁移模式。
- 如果需要横向比较,在 `docs/research/README.md` 或新的对比文档中处理,不把本目录重新变成聚合域。
- 修改后运行 `make sync-doc-toc``make test`
@@ -0,0 +1,58 @@
# luzhenqian/ai-coding-lab 研究域
## 字多不看
- 本目录研究 `luzhenqian/ai-coding-lab` 这个外部仓库。
- 当前优先级:P2;研究角色:AI Coding 项目实验室。
- GitHub 动态事实放在 `domain.yml`,观测日期为 2026-07-03。
## 快速导航
| 文档 | 定位 |
|:---|:---|
| [domain.yml](domain.yml) | 仓库事实快照、研究方向、优先级和来源证据。 |
| [analysis.md](analysis.md) | 本研究域的结构化研究结果、可借鉴点、风险和下一轮任务。 |
| [deep-dive.md](deep-dive.md) | L2 源码/结构深度研究、关键机制和可迁移模式。 |
| [AGENTS.md](AGENTS.md) | 本研究域维护规则。 |
<details>
<summary><strong>完整细粒度目录(点击展开/收起)</strong></summary>
### 细粒度目录
- [domain.yml](domain.yml) - 仓库事实快照、研究方向、优先级和来源证据。
- [analysis.md](analysis.md) - 本研究域的结构化研究结果、可借鉴点、风险和下一轮任务。
- [deep-dive.md](deep-dive.md) - L2 源码/结构深度研究、关键机制和可迁移模式。
- [AGENTS.md](AGENTS.md) - 本研究域维护规则。
</details>
## 使用方式
- 先读本 README 的判断,再读 `analysis.md``deep-dive.md` 的研究结论,最后读 `domain.yml`
- 需要引用 stars、forks、release、归档状态时,先重新核验 GitHub。
- 如果形成稳定方法论,再迁入 concepts、references、workflow 或 skills。
## 正文
### 研究定位
`luzhenqian/ai-coding-lab` 的当前研究定位是:AI Coding 项目实验室。
### 当前判断
适合研究从小项目到 RAG、Agent 的实践路径。
### 观察字段
- GitHub URLhttps://github.com/luzhenqian/ai-coding-lab
- 当前研究方向:`project-practice`
- 当前优先级:P2
- 当前归档状态:`false`
- 主要语言:`TypeScript`
### 后续观察
- 是否有稳定文档结构、命令入口和可复用工作流。
- 是否能反哺本仓库的 concepts、references、workflow 或 skills。
- 是否存在许可证、归档状态、维护活跃度或生态迁移风险。
@@ -0,0 +1,44 @@
# luzhenqian/ai-coding-lab 研究分析
## 本轮结论
- 这是项目实验室型仓库,用多个小项目覆盖 AI 编程、agent、chatbot、RAG、creative、skills 等方向。
- 它的价值在“项目矩阵”而不是单一工具深挖,适合研究如何用案例组织 AI Coding 学习。
- 本仓可借鉴它的 lab 分类,把教程从概念进一步落到项目样例。
## 本地证据
- 研究对象:`luzhenqian/ai-coding-lab`
- 当前研究角色:AI Coding 项目实验室
- 本轮成熟度:L1 初步理解
- 原始仓库:`raw/repository/`
- 原始来源清单:`raw/sources.yml`
- 事实摘要:`domain.yml`
## 结构观察
- 根目录包含 `agent/``chatbot/``creative/``rag/``skills/``vibe-coding/`
- README 以项目列表、适合谁、如何使用、推荐工具组织。
- 目录名直接对应实验方向,便于读者按兴趣进入。
## 可借鉴点
- 项目实验室可以作为 concepts/references 的验证层。
- 按 agent、RAG、chatbot、skills、vibe-coding 分组,适合做学习路径分支。
- 小项目比长文更容易形成可运行反馈。
## 风险和边界
- 项目粒度可能不均,不能只看目录名判断质量。
- 实验室型仓库通常缺少统一质量门禁。
- 需要逐项目验证是否能运行。
## 下一轮研究任务
- 挑选 `agent/``skills/``vibe-coding/` 三个方向做二轮源码阅读。
- 评估哪些项目可转化为本仓实战示例。
## 沉淀判断
- 本轮只完成 L1 理解,不直接迁入 concepts、references、workflow 或 skills。
- 只有经过 L2 源码阅读、实验验证或交叉对照后的结论,才进入稳定层。
@@ -0,0 +1,88 @@
# luzhenqian/ai-coding-lab 深度研究
## 研究级别
- 当前级别:L2 源码/结构深度研究。
- 研究对象:`luzhenqian/ai-coding-lab`
- 证据来源:本目录 `raw/` 下的 GitHub 元数据、README 快照和本地仓库工作树。
- 观察日期:2026-07-03。
## L2 结论
`luzhenqian/ai-coding-lab` 是项目实验室型仓库。它用多个独立项目覆盖 Vibe Coding、Skills、RAG、
Chatbot、Agent、creative 等方向,核心价值是把 AI Coding 学习从“读概念”转成“选项目、跑项目、
改项目”的实践矩阵。
对本仓最有价值的是项目分组和难度梯度;最明显的问题是各项目质量和完成度可能不均,必须逐项目
验证,不能因为目录完整就默认可用。
## 源码证据
- `raw/repository/README.md`:项目矩阵入口,按方向、难度和产出组织。
- `raw/repository/vibe-coding/bio-link-page/README.md`:零基础个人主页项目。
- `raw/repository/vibe-coding/nextjs-blog/`Next.js 博客项目。
- `raw/repository/vibe-coding/nextjs-blog-comment/`:博客评论项目。
- `raw/repository/vibe-coding/flow-board/`:看板项目。
- `raw/repository/skills/README.md`Claude Skills 实战。
- `raw/repository/skills/packages/`:打包后的 skills。
- `raw/repository/skills/prompts/`skills 评测提示词。
- `raw/repository/rag/ask-book/`RAG 问答项目。
- `raw/repository/chatbot/mnemo/`:记忆聊天助手项目。
- `raw/repository/agent/repo-analyzer/README.md`:仓库分析 Agent 教学项目。
- `raw/repository/agent/mastra-orchestration/`Agent 编排项目。
- `raw/repository/creative/cover-generator/README.md`:封面生成器项目。
## 关键机制
### 项目矩阵优先于线性课程
这个仓库允许读者按兴趣选择项目,不强制从第一章读到最后一章。它适合已经知道方向、想直接动手的
读者,也适合作为教程仓库的实践层。
### 难度和产出写在入口
README 中每个项目都有难度和“你将做出什么”。这比只列目录更有效,因为读者能立即判断投入成本和
产出价值。
### Skills 被做成独立实践对象
`skills/` 不只是解释概念,还包含 Skill 源文件、打包 zip、评测提示词和 API 调用 demo。
这对本仓很重要:skill 应该有可验证产物,而不是只写一段方法论。
### Agent 项目强调模式教学
`agent/repo-analyzer/README.md` 明确标出 Tool Calling、Workflow 和 Human-in-the-Loop
说明好项目不是只展示成品,还要把背后的 agent 模式讲清。
## 可迁移模式
- 本仓可以建立“实践项目矩阵”,按 Vibe Coding、Skills、RAG、Agent、Workflow、Ops 分类。
- 每个实践项目必须写清难度、产出、前置条件、运行命令和验收方式。
- Skills 目录应补齐测试提示词、打包产物说明和调用示例。
- Agent 示例应显式标注 Tool Calling、Workflow、HITL、Memory、RAG 等模式。
- 项目型资料进入本仓前必须跑最小验证,不能只凭 README 判断。
## 对本仓的影响
本仓当前更强的是知识、研究和治理;AI Coding Lab 更强的是项目样例。合理结合方式是:
- concepts 解释概念。
- workflow 给流程。
- references 给模板。
- research 保留研究。
- 新增或强化 practice/examples 层承载可运行项目。
如果暂不新增目录,也可以先在 `docs/workflow/``docs/getting-started/` 中增加实践索引。
## 风险和待验证项
- 本轮没有逐个运行项目。
- 部分目录可能保留 create-next-app 默认 README,说明项目文档完成度不均。
- 多技术栈项目会引入较高维护成本,本仓不应直接复制代码。
## 下一步 L3 验证任务
- 优先验证 `skills/``agent/repo-analyzer/` 两个项目,因为它们最贴近本仓方向。
- 建立本仓实践项目准入清单:能运行、能解释、能验收、能维护。
-`skills/` 抽取 Skill 打包和评测模式,回补本仓 `skills/` 治理。
- 将项目矩阵结构沉淀为 `docs/references/` 中的实践项目模板。
@@ -0,0 +1,32 @@
version: 1
repo:
name: luzhenqian/ai-coding-lab
source_name: luzhenqian/ai-coding-lab
url: https://github.com/luzhenqian/ai-coding-lab
research:
domain_id: luzhenqian-ai-coding-lab
domain_name: luzhenqian/ai-coding-lab 研究域
primary_direction: project-practice
role: AI Coding 项目实验室
priority: 2
why_study: 适合研究从小项目到 RAG、Agent 的实践路径。
github_observed:
observed_at: '2026-07-03'
source: gh repo view
stars: 144
forks: 20
archived: false
language: TypeScript
license: null
default_branch: main
pushed_at: '2026-05-18T13:56:01Z'
updated_at: '2026-07-02T12:41:02Z'
latest_release: null
homepage: ''
topics: []
source_evidence:
file: ChatGPT-中文Vibe Coding仓库 (2).md
line: 42
maintenance:
fact_policy: GitHub 动态字段只代表 observed_at 当日快照,更新结论前必须重新核验。
split_policy: 本目录已经是一等研究域;更深分析放入本目录新增文档。
@@ -0,0 +1,12 @@
# raw/ Agent 指南
本目录是 `luzhenqian/ai-coding-lab` 的原始事实层。
## 维护规则
- 只保存从研究对象拉取的一手材料,不写分析判断。
- `repository/` 是本地 Git 工作树,刷新时由脚本 clone 或 fast-forward pull。
- 不手工改写 `*.raw.*` 文件内容;需要刷新时运行 `python3 scripts/fetch-research-raw.py`
- `sources.yml` 必须记录拉取时间、来源命令和每个文件的状态。
- 外部 README 原文必须保存为 `.txt`,避免本仓库 Markdown 链接检查误判。
- 分析、判断、采用建议和沉淀路径写回上一级 `README.md``analysis.md``decisions.md`
@@ -0,0 +1,16 @@
# raw 事实层
本目录保存 `luzhenqian/ai-coding-lab` 的本地原始材料快照。
这里不写分析结论,只保存可复查的一手资料:
- `sources.yml`:来源清单、拉取时间、命令和文件状态。
- `repository/`Git 仓库工作树;本目录由 `.gitignore` 忽略,只作为本地研究材料。
- `github-repo.raw.json`GitHub 仓库元数据。
- `github-readme.raw.md.txt`GitHub README 原文快照。
- `github-license.raw.txt`GitHub license 原文快照;仓库无 license 时可能不存在。
- `github-root-contents.raw.json`:默认分支根目录内容快照。
- `github-languages.raw.json`GitHub language 统计快照。
- `github-latest-release.raw.json`:最新 release 快照;无 release 时可能不存在。
`repository/` 是外部源码快照,不参与本仓库 Markdown、链接、README/AGENTS 覆盖检查。原始 README 使用 `.txt` 后缀保存,避免其中的外部相对链接被本仓库 Markdown 链接检查误判。
@@ -0,0 +1,8 @@
{
"TypeScript": 1167193,
"Shell": 213974,
"CSS": 61997,
"Python": 4597,
"JavaScript": 3718,
"HTML": 3436
}
@@ -0,0 +1,94 @@
# AI Coding Lab
从零开始,用 AI 学编程、做 AI 应用。每个项目都是一次完整的实战。
> [English Version](./README.en.md)
## 这是什么
AI Coding Lab 是一个 AI 实战教程合集,涵盖 **AI 编程** 和 **AI 应用开发** 两大方向。每个项目从「零基础」到「可上线」,全程用 AI 辅助完成。不教语法,不讲理论——只做项目,在实战中学会跟 AI 协作。
## 项目列表
### AI 编程
用 AI 辅助编写代码,学习软件开发。
#### Vibe Coding(氛围编程)
用自然语言描述需求,让 AI 直接生成代码。适合零基础入门。
| # | 项目 | 难度 | 你将做出什么 |
|---|------|------|-------------|
| 1 | [个人链接页](./vibe-coding/bio-link-page/) | ⭐ 入门 | 一个类似 Linktree 的个人主页,10 分钟完成 |
| 2 | [个人博客](./vibe-coding/nextjs-blog/) | ⭐⭐ 初级 | 一个全栈博客系统,支持文章管理、分类标签、评论 |
| 3 | [个人博客(评论系统)](./vibe-coding/nextjs-blog-comment/) | ⭐⭐ 初级 | 在博客基础上增加嵌套评论回复功能 |
| 4 | [FlowBoard 看板](./vibe-coding/flow-board/) | ⭐⭐⭐ 进阶 | 个人 Kanban 看板,支持拖拽排序、多看板、标签、Checklist、搜索过滤、归档、快捷键 |
#### Skills(技能定制)
给 AI 写 SOP,让它按你的标准做事。写一次规范,无限复用。
| # | 项目 | 难度 | 你将做出什么 |
|---|------|------|-------------|
| 1 | [Claude Skills 实战](./skills/) | ⭐⭐ 初级 | 3 个实用 Skill(博客生成器、Commit 规范、发票生成器)+ API 调用 Demo |
### AI 应用
动手构建 RAG、Chatbot、Agent 等 AI 应用,掌握主流 AI 开发模式。
#### RAG
检索增强生成(RAG)实战项目。
| # | 项目 | 难度 | 你将做出什么 |
|---|------|------|-------------|
| 1 | [员工手册问答机器人](./rag/ask-book/) | ⭐⭐⭐ 进阶 | 一个 RAG 聊天机器人,上传 PDF 即可问答 |
#### Chatbot
AI 聊天机器人实战项目。
| # | 项目 | 难度 | 你将做出什么 |
|---|------|------|-------------|
| 1 | [Mnemo 记忆聊天助手](./chatbot/mnemo/) | ⭐⭐⭐⭐ 高级 | 一个带长期记忆的 AI 聊天助手,支持文档上传、语义检索、双轨记忆提取 |
#### Agent
AI Agent 实战项目。
| # | 项目 | 难度 | 你将做出什么 |
|---|------|------|-------------|
| 1 | [仓库分析器](./agent/repo-analyzer/) | ⭐⭐⭐ 进阶 | 一个分析代码仓库的 AI Agent |
| 2 | [JobSpy 求职分析助手](./agent/job-spy/) | ⭐⭐⭐ 进阶 | AI 解析 JD + 匹配简历,链式分析 vs 单次分析对比,输出求职策略 |
| 3 | [ResearchHub 多源调研助手](./agent/research-hub/) | ⭐⭐⭐ 进阶 | AI 四路并行调研,输入公司名即出分析报告(并行化模式实战) |
| 4 | [Agent 编排模式实战](./agent/mastra-orchestration/) | ⭐⭐⭐⭐ 高级 | 用 Mastra 实现 4 种 Agent 编排模式(Supervisor / Workflow / Handoff / Council+ 混合编排,配套 React Flow 可视化 |
## 适合谁
- **完全零基础**:不懂代码也能跟着做,从 Vibe Coding 开始
- **有一定基础**:想学习如何用 AI 提升开发效率
- **对 AI 编程好奇**:想知道「AI 写代码」到底靠不靠谱
- **想做 AI 应用**:想动手构建 RAG、Chatbot、Agent 等 AI 产品
## 如何使用
1. 选一个感兴趣的项目
2. 打开项目文件夹里的 README
3. 跟着步骤做
每个项目都是独立的,不需要按顺序来。
## 推荐工具
| 工具 | 说明 | 适合场景 |
|------|------|---------|
| [Claude Code](https://claude.ai/claude-code) | AI 命令行编程助手 | 全场景适用,高效协作 |
## 许可证
MIT
---
*如果觉得有帮助,欢迎 Star 和分享!有问题请在 [Issues](https://github.com/luzhenqian/ai-coding-lab/issues) 中提出。*
@@ -0,0 +1,26 @@
{
"createdAt": "2026-03-06T07:56:42Z",
"defaultBranchRef": {
"name": "main"
},
"description": "适合所有人的 AI 编程、AI 应用开发的实战教程——从 Vibe Coding 到 Agent、RAG,循序渐进,边学边做。",
"forkCount": 20,
"homepageUrl": "",
"isArchived": false,
"isFork": false,
"isMirror": false,
"latestRelease": null,
"licenseInfo": null,
"nameWithOwner": "luzhenqian/ai-coding-lab",
"primaryLanguage": {
"name": "TypeScript"
},
"pushedAt": "2026-05-18T13:56:01Z",
"repositoryTopics": null,
"stargazerCount": 144,
"updatedAt": "2026-07-02T12:41:02Z",
"url": "https://github.com/luzhenqian/ai-coding-lab",
"watchers": {
"totalCount": 0
}
}
@@ -0,0 +1,162 @@
[
{
"name": ".claude",
"path": ".claude",
"sha": "c32db14935832b24c40c29eb17c8ea9845a1911f",
"size": 0,
"url": "https://api.github.com/repos/luzhenqian/ai-coding-lab/contents/.claude?ref=main",
"html_url": "https://github.com/luzhenqian/ai-coding-lab/tree/main/.claude",
"git_url": "https://api.github.com/repos/luzhenqian/ai-coding-lab/git/trees/c32db14935832b24c40c29eb17c8ea9845a1911f",
"download_url": null,
"type": "dir",
"_links": {
"self": "https://api.github.com/repos/luzhenqian/ai-coding-lab/contents/.claude?ref=main",
"git": "https://api.github.com/repos/luzhenqian/ai-coding-lab/git/trees/c32db14935832b24c40c29eb17c8ea9845a1911f",
"html": "https://github.com/luzhenqian/ai-coding-lab/tree/main/.claude"
}
},
{
"name": ".gitignore",
"path": ".gitignore",
"sha": "bb5210c115be41db14bae67cc5859d4ba0516beb",
"size": 272,
"url": "https://api.github.com/repos/luzhenqian/ai-coding-lab/contents/.gitignore?ref=main",
"html_url": "https://github.com/luzhenqian/ai-coding-lab/blob/main/.gitignore",
"git_url": "https://api.github.com/repos/luzhenqian/ai-coding-lab/git/blobs/bb5210c115be41db14bae67cc5859d4ba0516beb",
"download_url": "https://raw.githubusercontent.com/luzhenqian/ai-coding-lab/main/.gitignore",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/luzhenqian/ai-coding-lab/contents/.gitignore?ref=main",
"git": "https://api.github.com/repos/luzhenqian/ai-coding-lab/git/blobs/bb5210c115be41db14bae67cc5859d4ba0516beb",
"html": "https://github.com/luzhenqian/ai-coding-lab/blob/main/.gitignore"
}
},
{
"name": "README.en.md",
"path": "README.en.md",
"sha": "ffbf742ba6aa9e8c9727a601dec1a77d7f3ae47e",
"size": 4257,
"url": "https://api.github.com/repos/luzhenqian/ai-coding-lab/contents/README.en.md?ref=main",
"html_url": "https://github.com/luzhenqian/ai-coding-lab/blob/main/README.en.md",
"git_url": "https://api.github.com/repos/luzhenqian/ai-coding-lab/git/blobs/ffbf742ba6aa9e8c9727a601dec1a77d7f3ae47e",
"download_url": "https://raw.githubusercontent.com/luzhenqian/ai-coding-lab/main/README.en.md",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/luzhenqian/ai-coding-lab/contents/README.en.md?ref=main",
"git": "https://api.github.com/repos/luzhenqian/ai-coding-lab/git/blobs/ffbf742ba6aa9e8c9727a601dec1a77d7f3ae47e",
"html": "https://github.com/luzhenqian/ai-coding-lab/blob/main/README.en.md"
}
},
{
"name": "README.md",
"path": "README.md",
"sha": "fe96eae5aafad7a00fdeda749c2899218c5cdff8",
"size": 3927,
"url": "https://api.github.com/repos/luzhenqian/ai-coding-lab/contents/README.md?ref=main",
"html_url": "https://github.com/luzhenqian/ai-coding-lab/blob/main/README.md",
"git_url": "https://api.github.com/repos/luzhenqian/ai-coding-lab/git/blobs/fe96eae5aafad7a00fdeda749c2899218c5cdff8",
"download_url": "https://raw.githubusercontent.com/luzhenqian/ai-coding-lab/main/README.md",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/luzhenqian/ai-coding-lab/contents/README.md?ref=main",
"git": "https://api.github.com/repos/luzhenqian/ai-coding-lab/git/blobs/fe96eae5aafad7a00fdeda749c2899218c5cdff8",
"html": "https://github.com/luzhenqian/ai-coding-lab/blob/main/README.md"
}
},
{
"name": "agent",
"path": "agent",
"sha": "ba5adfb408714bc936d676dfcfdb3279c11d61c5",
"size": 0,
"url": "https://api.github.com/repos/luzhenqian/ai-coding-lab/contents/agent?ref=main",
"html_url": "https://github.com/luzhenqian/ai-coding-lab/tree/main/agent",
"git_url": "https://api.github.com/repos/luzhenqian/ai-coding-lab/git/trees/ba5adfb408714bc936d676dfcfdb3279c11d61c5",
"download_url": null,
"type": "dir",
"_links": {
"self": "https://api.github.com/repos/luzhenqian/ai-coding-lab/contents/agent?ref=main",
"git": "https://api.github.com/repos/luzhenqian/ai-coding-lab/git/trees/ba5adfb408714bc936d676dfcfdb3279c11d61c5",
"html": "https://github.com/luzhenqian/ai-coding-lab/tree/main/agent"
}
},
{
"name": "chatbot",
"path": "chatbot",
"sha": "29550ebff8a56c0e74f401536a3667251b9f031a",
"size": 0,
"url": "https://api.github.com/repos/luzhenqian/ai-coding-lab/contents/chatbot?ref=main",
"html_url": "https://github.com/luzhenqian/ai-coding-lab/tree/main/chatbot",
"git_url": "https://api.github.com/repos/luzhenqian/ai-coding-lab/git/trees/29550ebff8a56c0e74f401536a3667251b9f031a",
"download_url": null,
"type": "dir",
"_links": {
"self": "https://api.github.com/repos/luzhenqian/ai-coding-lab/contents/chatbot?ref=main",
"git": "https://api.github.com/repos/luzhenqian/ai-coding-lab/git/trees/29550ebff8a56c0e74f401536a3667251b9f031a",
"html": "https://github.com/luzhenqian/ai-coding-lab/tree/main/chatbot"
}
},
{
"name": "creative",
"path": "creative",
"sha": "b3998a3203d675aa8bd04efc7bb98107e9d5bda6",
"size": 0,
"url": "https://api.github.com/repos/luzhenqian/ai-coding-lab/contents/creative?ref=main",
"html_url": "https://github.com/luzhenqian/ai-coding-lab/tree/main/creative",
"git_url": "https://api.github.com/repos/luzhenqian/ai-coding-lab/git/trees/b3998a3203d675aa8bd04efc7bb98107e9d5bda6",
"download_url": null,
"type": "dir",
"_links": {
"self": "https://api.github.com/repos/luzhenqian/ai-coding-lab/contents/creative?ref=main",
"git": "https://api.github.com/repos/luzhenqian/ai-coding-lab/git/trees/b3998a3203d675aa8bd04efc7bb98107e9d5bda6",
"html": "https://github.com/luzhenqian/ai-coding-lab/tree/main/creative"
}
},
{
"name": "rag",
"path": "rag",
"sha": "79b7993c1521dc397e87a1234cd70e73c49763da",
"size": 0,
"url": "https://api.github.com/repos/luzhenqian/ai-coding-lab/contents/rag?ref=main",
"html_url": "https://github.com/luzhenqian/ai-coding-lab/tree/main/rag",
"git_url": "https://api.github.com/repos/luzhenqian/ai-coding-lab/git/trees/79b7993c1521dc397e87a1234cd70e73c49763da",
"download_url": null,
"type": "dir",
"_links": {
"self": "https://api.github.com/repos/luzhenqian/ai-coding-lab/contents/rag?ref=main",
"git": "https://api.github.com/repos/luzhenqian/ai-coding-lab/git/trees/79b7993c1521dc397e87a1234cd70e73c49763da",
"html": "https://github.com/luzhenqian/ai-coding-lab/tree/main/rag"
}
},
{
"name": "skills",
"path": "skills",
"sha": "377d48ecd35f66f01d100e9ad64e2e8db6b65bac",
"size": 0,
"url": "https://api.github.com/repos/luzhenqian/ai-coding-lab/contents/skills?ref=main",
"html_url": "https://github.com/luzhenqian/ai-coding-lab/tree/main/skills",
"git_url": "https://api.github.com/repos/luzhenqian/ai-coding-lab/git/trees/377d48ecd35f66f01d100e9ad64e2e8db6b65bac",
"download_url": null,
"type": "dir",
"_links": {
"self": "https://api.github.com/repos/luzhenqian/ai-coding-lab/contents/skills?ref=main",
"git": "https://api.github.com/repos/luzhenqian/ai-coding-lab/git/trees/377d48ecd35f66f01d100e9ad64e2e8db6b65bac",
"html": "https://github.com/luzhenqian/ai-coding-lab/tree/main/skills"
}
},
{
"name": "vibe-coding",
"path": "vibe-coding",
"sha": "1bcf4ea1f6f6a57cfcf0ae1fcb97331c5ee37033",
"size": 0,
"url": "https://api.github.com/repos/luzhenqian/ai-coding-lab/contents/vibe-coding?ref=main",
"html_url": "https://github.com/luzhenqian/ai-coding-lab/tree/main/vibe-coding",
"git_url": "https://api.github.com/repos/luzhenqian/ai-coding-lab/git/trees/1bcf4ea1f6f6a57cfcf0ae1fcb97331c5ee37033",
"download_url": null,
"type": "dir",
"_links": {
"self": "https://api.github.com/repos/luzhenqian/ai-coding-lab/contents/vibe-coding?ref=main",
"git": "https://api.github.com/repos/luzhenqian/ai-coding-lab/git/trees/1bcf4ea1f6f6a57cfcf0ae1fcb97331c5ee37033",
"html": "https://github.com/luzhenqian/ai-coding-lab/tree/main/vibe-coding"
}
}
]
@@ -0,0 +1,39 @@
version: 1
domain_id: luzhenqian-ai-coding-lab
object:
type: github_repository
name: luzhenqian/ai-coding-lab
url: https://github.com/luzhenqian/ai-coding-lab
pulled_at: '2026-07-02T22:47:14+00:00'
puller: scripts/fetch-research-raw.py
files:
- path: repository/
kind: git-working-tree
status: ok
source: 'git clone --depth=1 --single-branch --no-tags https://github.com/luzhenqian/ai-coding-lab.git docs/research/luzhenqian-ai-coding-lab/raw/repository'
- path: github-repo.raw.json
kind: repository-metadata
status: ok
source: 'gh repo view luzhenqian/ai-coding-lab --json nameWithOwner,url,description,homepageUrl,isArchived,isFork,isMirror,defaultBranchRef,licenseInfo,primaryLanguage,repositoryTopics,stargazerCount,forkCount,watchers,createdAt,updatedAt,pushedAt,latestRelease --jq .'
- path: github-readme.raw.md.txt
kind: readme
status: ok
source: 'gh api repos/luzhenqian/ai-coding-lab/readme -H Accept: application/vnd.github.raw'
- path: github-license.raw.txt
kind: license
status: missing_or_error
source: 'gh api repos/luzhenqian/ai-coding-lab/license -H Accept: application/vnd.github.raw'
message: 'gh: Not Found (HTTP 404)'
- path: github-root-contents.raw.json
kind: root-contents
status: ok
source: 'gh api repos/luzhenqian/ai-coding-lab/contents'
- path: github-languages.raw.json
kind: languages
status: ok
source: 'gh api repos/luzhenqian/ai-coding-lab/languages'
- path: github-latest-release.raw.json
kind: latest-release
status: missing_or_error
source: 'gh api repos/luzhenqian/ai-coding-lab/releases/latest'
message: 'gh: Not Found (HTTP 404)'