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 @@
# tradecatlabs/vibe-coding-cn 研究域 Agent 指南
本目录维护 `tradecatlabs/vibe-coding-cn` 的独立研究域。
## 目录职责
```text
tradecatlabs-vibe-coding-cn/
├── README.md # 研究域入口和判断层
├── AGENTS.md # 本目录维护规则
├── domain.yml # 事实摘要层:仓库元数据、研究角色、来源证据
├── analysis.md # L1 结构化研究结论、可借鉴点、风险和下一轮任务
├── deep-dive.md # L2 源码/结构深度研究、关键机制和可迁移模式
└── raw/ # 原始事实层:拉取到本地的一手材料快照
```
## 维护规则
- 本目录只研究 `tradecatlabs/vibe-coding-cn`,不要混入其他仓库的横向比较正文。
- 动态事实必须写入 `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 @@
# tradecatlabs/vibe-coding-cn 研究域
## 字多不看
- 本目录研究 `tradecatlabs/vibe-coding-cn` 这个外部仓库。
- 当前优先级:P1;研究角色:中文主线工程化工作流。
- 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。
## 正文
### 研究定位
`tradecatlabs/vibe-coding-cn` 的当前研究定位是:中文主线工程化工作流。
### 当前判断
本仓库自身是中文工作流基准,用来定义 Prompt、Skill、Context、Quality Gate 和 Git 闭环。
### 观察字段
- GitHub URLhttps://github.com/tradecatlabs/vibe-coding-cn
- 当前研究方向:`workflow-methodology`
- 当前优先级:P1
- 当前归档状态:`false`
- 主要语言:`Python`
### 后续观察
- 是否有稳定文档结构、命令入口和可复用工作流。
- 是否能反哺本仓库的 concepts、references、workflow 或 skills。
- 是否存在许可证、归档状态、维护活跃度或生态迁移风险。
@@ -0,0 +1,44 @@
# tradecatlabs/vibe-coding-cn 研究分析
## 本轮结论
- 这是本仓自身的外部视角研究域,用来把自身作为基准对象审视。
- 它的核心资产是 docs、prompts、skills、assets、tools、metadata、AGENTS 和质量门禁,而不是单个应用。
- 作为研究对象时,重点不是自夸,而是持续发现自身结构债、索引漂移和可沉淀方法。
## 本地证据
- 研究对象:`tradecatlabs/vibe-coding-cn`
- 当前研究角色:中文主线工程化工作流
- 本轮成熟度:L1 初步理解
- 原始仓库:`raw/repository/`
- 原始来源清单:`raw/sources.yml`
- 事实摘要:`domain.yml`
## 结构观察
- 根目录包含 `docs/``prompts/``skills/``assets/``tools/``metadata/``scripts/``Makefile``AGENTS.md`
- README 包含核心命题、字多不看、AI 推荐摘要、入口关系、资源入口和项目结构。
- 项目已经有本地质量门禁、AI citation、external resources、research domains 等治理层。
## 可借鉴点
- 自研究域可以作为架构复盘入口,防止项目只向外研究、不审视自身。
- docs/prompts/skills/assets/tools/metadata 的分层适合作为中文 Vibe Coding 知识库基线。
- 质量门禁和目录契约是 AI 协作可靠性的基础。
## 风险和边界
- 自我研究容易自我确认,重要结论必须和其他仓库交叉对照。
- 文档增长过快会带来索引负担。
- 资源、研究、概念、参考之间的边界需要持续治理。
## 下一轮研究任务
- 把本仓与 Codex、Cline、Aider、Claude Code Best Practice 做横向差距分析。
- 定期从自身 Git diff 和门禁失败中提炼治理 lesson。
## 沉淀判断
- 本轮只完成 L1 理解,不直接迁入 concepts、references、workflow 或 skills。
- 只有经过 L2 源码阅读、实验验证或交叉对照后的结论,才进入稳定层。
@@ -0,0 +1,99 @@
# tradecatlabs/vibe-coding-cn 深度研究
## 研究级别
- 当前级别:L2 源码/结构深度研究。
- 研究对象:`tradecatlabs/vibe-coding-cn`
- 证据来源:本目录 `raw/` 下的 GitHub 元数据、README 快照、本地仓库工作树和当前工作区对照。
- 观察日期:2026-07-03。
## L2 结论
`tradecatlabs/vibe-coding-cn` 的研究价值不只在内容本身,而在它正在从“中文 Vibe Coding 文档仓库”
演化为“文档、提示词、技能、研究域、外部资源、机器索引和质量门禁共同组成的 AI 工程知识系统”。
本轮对照发现:raw 快照代表上游公开仓库状态,当前工作区已经继续增加研究域、raw 原始事实层、
外部资源本地化、脚本门禁和更多索引入口。也就是说,本仓正在形成自我研究和自我治理能力。
## 源码证据
raw 快照中已经存在的主结构:
- `raw/repository/README.md`:项目主入口。
- `raw/repository/AGENTS.md`AI Agent 操作规则。
- `raw/repository/docs/`:知识库。
- `raw/repository/prompts/`:提示词入口。
- `raw/repository/skills/`:技能库。
- `raw/repository/assets/`:资源和 AI 引用资产。
- `raw/repository/tools/`:工具与外部依赖。
- `raw/repository/metadata/`:机器可读索引。
- `raw/repository/scripts/`:自动化脚本。
- `raw/repository/Makefile`:质量门禁入口。
- `raw/repository/llms.txt`AI 短上下文入口。
当前工作区新增或强化的结构:
- `docs/research/`:从短篇研究扩展为“一对象一研究域”。
- `docs/research/*/raw/`:外部研究对象的一手事实层。
- `scripts/fetch-research-raw.py`:研究域 raw 拉取脚本。
- `scripts/check-research-raw.py`:研究域 raw 完整性检查脚本。
- `assets/external-resources/`:外部资源本地化管理入口。
- `scripts/check-external-resources.py`:外部资源校验脚本。
- `metadata/taxonomy.yml`:跨目录机器索引。
- `assets/ai-citation/llms-full.txt`AI 完整上下文入口。
## 关键机制
### 仓库正在从内容库变成控制面
早期价值是把 Vibe Coding 经验整理成中文文档;当前价值开始转向结构治理:目录职责、索引、
raw 事实、质量门禁、AI 引用入口和脚本控制面共同约束内容演化。
### 研究域让外部资料可审计
一仓库一研究域、raw 原始事实层、domain.yml 和 analysis/deep-dive 分层,解决了外部链接容易漂移、
二手总结不可复查、研究结论难以下沉的问题。
### 机器入口让仓库能被 AI 稳定读取
`llms.txt``llms-full.txt``metadata/taxonomy.yml` 让仓库不只面向人类浏览,也面向 AI 检索、
引用和上下文注入。这是 Vibe Coding 仓库区别于普通教程仓库的关键方向。
### 质量门禁让文档进入工程状态
`Makefile`、Markdown lint、链接检查、目录结构检查、metadata 检查和 research raw 检查说明:
文档不是随手写的文本,而是有结构约束的工程资产。
## 可迁移模式
- 把文档仓库当作工程系统治理,而不是内容集合治理。
- 对外部资料建立 raw 事实层,避免只保存二手判断。
- 对所有长期入口建立机器索引,服务 AI 读取和自动审计。
- 将研究、资源、提示词、技能和脚本统一纳入质量门禁。
- 把本仓自身作为研究对象,定期用外部优秀仓库反向校准结构。
## 对本仓的影响
本仓应继续沿着“文档知识库 + Agent 控制面 + 研究事实层 + 资源治理层”的方向推进,但要防止膨胀。
正确的下一步不是无限新增目录,而是把已有对象的契约补齐:
- 研究域需要 L2/L3 成熟度推进和下沉机制。
- 外部资源需要结构化主表和生命周期字段。
- scripts 需要 manifest、风险等级和审计说明。
- skills 需要触发条件、输入输出、验证和归档策略。
- metadata 需要持续校验路径、标题、角色和引用入口。
## 风险和待验证项
- 自我研究容易产生自我确认,重要结论必须与外部仓库交叉审计。
- 当前工作区有大量未提交变更,研究结论应在提交前通过完整门禁。
- raw 快照与当前工作区存在时间差,不能把 raw 快照误认为当前全部状态。
- 本仓不应因为研究外部平台化项目而过早变成复杂应用仓库。
## 下一步 L3 验证任务
- 建立研究域成熟度看板:L0 raw、L1 analysis、L2 deep-dive、L3 下沉、L4 archive。
- 将 P1 研究对象的稳定结论迁入 `docs/references/``docs/workflow/`
-`scripts/` 增加 manifest 和风险等级治理。
-`assets/external-resources/` 增加资源 schema、检查时间和生命周期状态。
- 对本仓自我结论执行一次跨模型或新会话审计,避免同一上下文自我确认。
@@ -0,0 +1,50 @@
version: 1
repo:
name: tradecatlabs/vibe-coding-cn
source_name: tradecatlabs/vibe-coding-cn
url: https://github.com/tradecatlabs/vibe-coding-cn
research:
domain_id: tradecatlabs-vibe-coding-cn
domain_name: tradecatlabs/vibe-coding-cn 研究域
primary_direction: workflow-methodology
role: 中文主线工程化工作流
priority: 1
why_study: 本仓库自身是中文工作流基准,用来定义 Prompt、Skill、Context、Quality Gate 和 Git 闭环。
github_observed:
observed_at: '2026-07-03'
source: gh repo view
stars: 15077
forks: 1509
archived: false
language: Python
license: mit
default_branch: develop
pushed_at: '2026-06-29T20:26:02Z'
updated_at: '2026-07-02T17:16:51Z'
latest_release: null
homepage: https://x.com/123olp
topics:
- ai
- ai-agents
- claude-code
- codex
- prompts
- prompt-engineering
- skills
- workflow
- vibe-coding
- glue-coding
- ai-agent
- ai-coding
- ai-programming
- chinese
- cursor
- developer-tools
- gemini-cli
- tutorial
source_evidence:
file: ChatGPT-中文Vibe Coding仓库 (2).md
line: 34
maintenance:
fact_policy: GitHub 动态字段只代表 observed_at 当日快照,更新结论前必须重新核验。
split_policy: 本目录已经是一等研究域;更深分析放入本目录新增文档。
@@ -0,0 +1,12 @@
# raw/ Agent 指南
本目录是 `tradecatlabs/vibe-coding-cn` 的原始事实层。
## 维护规则
- 只保存从研究对象拉取的一手材料,不写分析判断。
- `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 事实层
本目录保存 `tradecatlabs/vibe-coding-cn` 的本地原始材料快照。
这里不写分析结论,只保存可复查的一手资料:
- `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,6 @@
{
"Python": 175642,
"Shell": 164675,
"Makefile": 2941,
"Batchfile": 477
}
@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2025 Nicolas Zullo, tukuaiai, 123olp
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,85 @@
{
"createdAt": "2025-11-23T01:52:29Z",
"defaultBranchRef": {
"name": "develop"
},
"description": "Vibe Coding 从入门到精通教程|AI 结对编程工作流|Prompt、Skill、Workflow、上下文管理、codex实战指南",
"forkCount": 1509,
"homepageUrl": "https://x.com/123olp",
"isArchived": false,
"isFork": true,
"isMirror": false,
"latestRelease": null,
"licenseInfo": {
"key": "mit",
"name": "MIT License",
"nickname": ""
},
"nameWithOwner": "tradecatlabs/vibe-coding-cn",
"primaryLanguage": {
"name": "Python"
},
"pushedAt": "2026-06-29T20:26:02Z",
"repositoryTopics": [
{
"name": "ai"
},
{
"name": "ai-agents"
},
{
"name": "claude-code"
},
{
"name": "codex"
},
{
"name": "prompts"
},
{
"name": "prompt-engineering"
},
{
"name": "skills"
},
{
"name": "workflow"
},
{
"name": "vibe-coding"
},
{
"name": "glue-coding"
},
{
"name": "ai-agent"
},
{
"name": "ai-coding"
},
{
"name": "ai-programming"
},
{
"name": "chinese"
},
{
"name": "cursor"
},
{
"name": "developer-tools"
},
{
"name": "gemini-cli"
},
{
"name": "tutorial"
}
],
"stargazerCount": 15077,
"updatedAt": "2026-07-02T17:16:51Z",
"url": "https://github.com/tradecatlabs/vibe-coding-cn",
"watchers": {
"totalCount": 76
}
}
@@ -0,0 +1,322 @@
[
{
"name": ".gitattributes",
"path": ".gitattributes",
"sha": "b513964e54f1c0f88af530ae7ddf4353a26404ab",
"size": 275,
"url": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/contents/.gitattributes?ref=develop",
"html_url": "https://github.com/tradecatlabs/vibe-coding-cn/blob/develop/.gitattributes",
"git_url": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/git/blobs/b513964e54f1c0f88af530ae7ddf4353a26404ab",
"download_url": "https://raw.githubusercontent.com/tradecatlabs/vibe-coding-cn/develop/.gitattributes",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/contents/.gitattributes?ref=develop",
"git": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/git/blobs/b513964e54f1c0f88af530ae7ddf4353a26404ab",
"html": "https://github.com/tradecatlabs/vibe-coding-cn/blob/develop/.gitattributes"
}
},
{
"name": ".github",
"path": ".github",
"sha": "a07ab00bd6d7dadbc90a835ac161a802c4435aa2",
"size": 0,
"url": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/contents/.github?ref=develop",
"html_url": "https://github.com/tradecatlabs/vibe-coding-cn/tree/develop/.github",
"git_url": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/git/trees/a07ab00bd6d7dadbc90a835ac161a802c4435aa2",
"download_url": null,
"type": "dir",
"_links": {
"self": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/contents/.github?ref=develop",
"git": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/git/trees/a07ab00bd6d7dadbc90a835ac161a802c4435aa2",
"html": "https://github.com/tradecatlabs/vibe-coding-cn/tree/develop/.github"
}
},
{
"name": ".gitignore",
"path": ".gitignore",
"sha": "b262535bb9f19925d6e85235510634fa972171b0",
"size": 1199,
"url": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/contents/.gitignore?ref=develop",
"html_url": "https://github.com/tradecatlabs/vibe-coding-cn/blob/develop/.gitignore",
"git_url": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/git/blobs/b262535bb9f19925d6e85235510634fa972171b0",
"download_url": "https://raw.githubusercontent.com/tradecatlabs/vibe-coding-cn/develop/.gitignore",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/contents/.gitignore?ref=develop",
"git": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/git/blobs/b262535bb9f19925d6e85235510634fa972171b0",
"html": "https://github.com/tradecatlabs/vibe-coding-cn/blob/develop/.gitignore"
}
},
{
"name": ".gitmodules",
"path": ".gitmodules",
"sha": "f925dbfea65560a8a7ee5e432864c1c3d1ffe2c0",
"size": 519,
"url": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/contents/.gitmodules?ref=develop",
"html_url": "https://github.com/tradecatlabs/vibe-coding-cn/blob/develop/.gitmodules",
"git_url": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/git/blobs/f925dbfea65560a8a7ee5e432864c1c3d1ffe2c0",
"download_url": "https://raw.githubusercontent.com/tradecatlabs/vibe-coding-cn/develop/.gitmodules",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/contents/.gitmodules?ref=develop",
"git": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/git/blobs/f925dbfea65560a8a7ee5e432864c1c3d1ffe2c0",
"html": "https://github.com/tradecatlabs/vibe-coding-cn/blob/develop/.gitmodules"
}
},
{
"name": ".lychee.toml",
"path": ".lychee.toml",
"sha": "37e929bc6fa0a4412f55b7d4d66d113abbabff11",
"size": 1494,
"url": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/contents/.lychee.toml?ref=develop",
"html_url": "https://github.com/tradecatlabs/vibe-coding-cn/blob/develop/.lychee.toml",
"git_url": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/git/blobs/37e929bc6fa0a4412f55b7d4d66d113abbabff11",
"download_url": "https://raw.githubusercontent.com/tradecatlabs/vibe-coding-cn/develop/.lychee.toml",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/contents/.lychee.toml?ref=develop",
"git": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/git/blobs/37e929bc6fa0a4412f55b7d4d66d113abbabff11",
"html": "https://github.com/tradecatlabs/vibe-coding-cn/blob/develop/.lychee.toml"
}
},
{
"name": "AGENTS.md",
"path": "AGENTS.md",
"sha": "aa0dadb8bc6fd56250da9c7bb49cbee5edadd6a5",
"size": 18420,
"url": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/contents/AGENTS.md?ref=develop",
"html_url": "https://github.com/tradecatlabs/vibe-coding-cn/blob/develop/AGENTS.md",
"git_url": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/git/blobs/aa0dadb8bc6fd56250da9c7bb49cbee5edadd6a5",
"download_url": "https://raw.githubusercontent.com/tradecatlabs/vibe-coding-cn/develop/AGENTS.md",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/contents/AGENTS.md?ref=develop",
"git": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/git/blobs/aa0dadb8bc6fd56250da9c7bb49cbee5edadd6a5",
"html": "https://github.com/tradecatlabs/vibe-coding-cn/blob/develop/AGENTS.md"
}
},
{
"name": "CHANGELOG.md",
"path": "CHANGELOG.md",
"sha": "9ee8d508e44722024144fc75c527154208e63fd1",
"size": 3213,
"url": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/contents/CHANGELOG.md?ref=develop",
"html_url": "https://github.com/tradecatlabs/vibe-coding-cn/blob/develop/CHANGELOG.md",
"git_url": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/git/blobs/9ee8d508e44722024144fc75c527154208e63fd1",
"download_url": "https://raw.githubusercontent.com/tradecatlabs/vibe-coding-cn/develop/CHANGELOG.md",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/contents/CHANGELOG.md?ref=develop",
"git": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/git/blobs/9ee8d508e44722024144fc75c527154208e63fd1",
"html": "https://github.com/tradecatlabs/vibe-coding-cn/blob/develop/CHANGELOG.md"
}
},
{
"name": "CODE_OF_CONDUCT.md",
"path": "CODE_OF_CONDUCT.md",
"sha": "04b1c98d1b9d64ea381f0f7970ec17a05dd8817b",
"size": 5011,
"url": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/contents/CODE_OF_CONDUCT.md?ref=develop",
"html_url": "https://github.com/tradecatlabs/vibe-coding-cn/blob/develop/CODE_OF_CONDUCT.md",
"git_url": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/git/blobs/04b1c98d1b9d64ea381f0f7970ec17a05dd8817b",
"download_url": "https://raw.githubusercontent.com/tradecatlabs/vibe-coding-cn/develop/CODE_OF_CONDUCT.md",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/contents/CODE_OF_CONDUCT.md?ref=develop",
"git": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/git/blobs/04b1c98d1b9d64ea381f0f7970ec17a05dd8817b",
"html": "https://github.com/tradecatlabs/vibe-coding-cn/blob/develop/CODE_OF_CONDUCT.md"
}
},
{
"name": "CONTRIBUTING.md",
"path": "CONTRIBUTING.md",
"sha": "d9f0d81649b5a2e1e233a8ae7150bd9405b571bb",
"size": 905,
"url": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/contents/CONTRIBUTING.md?ref=develop",
"html_url": "https://github.com/tradecatlabs/vibe-coding-cn/blob/develop/CONTRIBUTING.md",
"git_url": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/git/blobs/d9f0d81649b5a2e1e233a8ae7150bd9405b571bb",
"download_url": "https://raw.githubusercontent.com/tradecatlabs/vibe-coding-cn/develop/CONTRIBUTING.md",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/contents/CONTRIBUTING.md?ref=develop",
"git": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/git/blobs/d9f0d81649b5a2e1e233a8ae7150bd9405b571bb",
"html": "https://github.com/tradecatlabs/vibe-coding-cn/blob/develop/CONTRIBUTING.md"
}
},
{
"name": "LICENSE",
"path": "LICENSE",
"sha": "99ca2848b641206a78e86148f2fb5ff0941c2c8d",
"size": 1088,
"url": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/contents/LICENSE?ref=develop",
"html_url": "https://github.com/tradecatlabs/vibe-coding-cn/blob/develop/LICENSE",
"git_url": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/git/blobs/99ca2848b641206a78e86148f2fb5ff0941c2c8d",
"download_url": "https://raw.githubusercontent.com/tradecatlabs/vibe-coding-cn/develop/LICENSE",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/contents/LICENSE?ref=develop",
"git": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/git/blobs/99ca2848b641206a78e86148f2fb5ff0941c2c8d",
"html": "https://github.com/tradecatlabs/vibe-coding-cn/blob/develop/LICENSE"
}
},
{
"name": "Makefile",
"path": "Makefile",
"sha": "6778ede957f429e9fe8d5f4f7d39998d4b1f7f52",
"size": 2941,
"url": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/contents/Makefile?ref=develop",
"html_url": "https://github.com/tradecatlabs/vibe-coding-cn/blob/develop/Makefile",
"git_url": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/git/blobs/6778ede957f429e9fe8d5f4f7d39998d4b1f7f52",
"download_url": "https://raw.githubusercontent.com/tradecatlabs/vibe-coding-cn/develop/Makefile",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/contents/Makefile?ref=develop",
"git": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/git/blobs/6778ede957f429e9fe8d5f4f7d39998d4b1f7f52",
"html": "https://github.com/tradecatlabs/vibe-coding-cn/blob/develop/Makefile"
}
},
{
"name": "README.md",
"path": "README.md",
"sha": "4bdff3e760b445e0f1119d5e4a8f4391a2c1f1be",
"size": 61412,
"url": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/contents/README.md?ref=develop",
"html_url": "https://github.com/tradecatlabs/vibe-coding-cn/blob/develop/README.md",
"git_url": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/git/blobs/4bdff3e760b445e0f1119d5e4a8f4391a2c1f1be",
"download_url": "https://raw.githubusercontent.com/tradecatlabs/vibe-coding-cn/develop/README.md",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/contents/README.md?ref=develop",
"git": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/git/blobs/4bdff3e760b445e0f1119d5e4a8f4391a2c1f1be",
"html": "https://github.com/tradecatlabs/vibe-coding-cn/blob/develop/README.md"
}
},
{
"name": "assets",
"path": "assets",
"sha": "d772e560e5c11894b0610cdc4b0a5d6da4fc6ac0",
"size": 0,
"url": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/contents/assets?ref=develop",
"html_url": "https://github.com/tradecatlabs/vibe-coding-cn/tree/develop/assets",
"git_url": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/git/trees/d772e560e5c11894b0610cdc4b0a5d6da4fc6ac0",
"download_url": null,
"type": "dir",
"_links": {
"self": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/contents/assets?ref=develop",
"git": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/git/trees/d772e560e5c11894b0610cdc4b0a5d6da4fc6ac0",
"html": "https://github.com/tradecatlabs/vibe-coding-cn/tree/develop/assets"
}
},
{
"name": "docs",
"path": "docs",
"sha": "1290d35025c8c1f780f76d2f060e5287af045465",
"size": 0,
"url": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/contents/docs?ref=develop",
"html_url": "https://github.com/tradecatlabs/vibe-coding-cn/tree/develop/docs",
"git_url": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/git/trees/1290d35025c8c1f780f76d2f060e5287af045465",
"download_url": null,
"type": "dir",
"_links": {
"self": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/contents/docs?ref=develop",
"git": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/git/trees/1290d35025c8c1f780f76d2f060e5287af045465",
"html": "https://github.com/tradecatlabs/vibe-coding-cn/tree/develop/docs"
}
},
{
"name": "llms.txt",
"path": "llms.txt",
"sha": "b0c46a94caf649ea773ceb564731d36b64ad01f2",
"size": 3010,
"url": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/contents/llms.txt?ref=develop",
"html_url": "https://github.com/tradecatlabs/vibe-coding-cn/blob/develop/llms.txt",
"git_url": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/git/blobs/b0c46a94caf649ea773ceb564731d36b64ad01f2",
"download_url": "https://raw.githubusercontent.com/tradecatlabs/vibe-coding-cn/develop/llms.txt",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/contents/llms.txt?ref=develop",
"git": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/git/blobs/b0c46a94caf649ea773ceb564731d36b64ad01f2",
"html": "https://github.com/tradecatlabs/vibe-coding-cn/blob/develop/llms.txt"
}
},
{
"name": "metadata",
"path": "metadata",
"sha": "1c6a970dcb65efa8baab9104912735cec883c741",
"size": 0,
"url": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/contents/metadata?ref=develop",
"html_url": "https://github.com/tradecatlabs/vibe-coding-cn/tree/develop/metadata",
"git_url": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/git/trees/1c6a970dcb65efa8baab9104912735cec883c741",
"download_url": null,
"type": "dir",
"_links": {
"self": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/contents/metadata?ref=develop",
"git": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/git/trees/1c6a970dcb65efa8baab9104912735cec883c741",
"html": "https://github.com/tradecatlabs/vibe-coding-cn/tree/develop/metadata"
}
},
{
"name": "prompts",
"path": "prompts",
"sha": "bf2a2d3a7b3dabdb85f8da7b67af6dbe74dc5619",
"size": 0,
"url": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/contents/prompts?ref=develop",
"html_url": "https://github.com/tradecatlabs/vibe-coding-cn/tree/develop/prompts",
"git_url": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/git/trees/bf2a2d3a7b3dabdb85f8da7b67af6dbe74dc5619",
"download_url": null,
"type": "dir",
"_links": {
"self": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/contents/prompts?ref=develop",
"git": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/git/trees/bf2a2d3a7b3dabdb85f8da7b67af6dbe74dc5619",
"html": "https://github.com/tradecatlabs/vibe-coding-cn/tree/develop/prompts"
}
},
{
"name": "scripts",
"path": "scripts",
"sha": "7e23acc321f21b581e2bfb0b0514a2e563243439",
"size": 0,
"url": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/contents/scripts?ref=develop",
"html_url": "https://github.com/tradecatlabs/vibe-coding-cn/tree/develop/scripts",
"git_url": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/git/trees/7e23acc321f21b581e2bfb0b0514a2e563243439",
"download_url": null,
"type": "dir",
"_links": {
"self": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/contents/scripts?ref=develop",
"git": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/git/trees/7e23acc321f21b581e2bfb0b0514a2e563243439",
"html": "https://github.com/tradecatlabs/vibe-coding-cn/tree/develop/scripts"
}
},
{
"name": "skills",
"path": "skills",
"sha": "c763c55141b8108c3188ff23dbcf2d4e61bc42b3",
"size": 0,
"url": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/contents/skills?ref=develop",
"html_url": "https://github.com/tradecatlabs/vibe-coding-cn/tree/develop/skills",
"git_url": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/git/trees/c763c55141b8108c3188ff23dbcf2d4e61bc42b3",
"download_url": null,
"type": "dir",
"_links": {
"self": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/contents/skills?ref=develop",
"git": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/git/trees/c763c55141b8108c3188ff23dbcf2d4e61bc42b3",
"html": "https://github.com/tradecatlabs/vibe-coding-cn/tree/develop/skills"
}
},
{
"name": "tools",
"path": "tools",
"sha": "798e3c1c0abe67bc2714324d1d9c06ac060e4996",
"size": 0,
"url": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/contents/tools?ref=develop",
"html_url": "https://github.com/tradecatlabs/vibe-coding-cn/tree/develop/tools",
"git_url": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/git/trees/798e3c1c0abe67bc2714324d1d9c06ac060e4996",
"download_url": null,
"type": "dir",
"_links": {
"self": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/contents/tools?ref=develop",
"git": "https://api.github.com/repos/tradecatlabs/vibe-coding-cn/git/trees/798e3c1c0abe67bc2714324d1d9c06ac060e4996",
"html": "https://github.com/tradecatlabs/vibe-coding-cn/tree/develop/tools"
}
}
]
@@ -0,0 +1,38 @@
version: 1
domain_id: tradecatlabs-vibe-coding-cn
object:
type: github_repository
name: tradecatlabs/vibe-coding-cn
url: https://github.com/tradecatlabs/vibe-coding-cn
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/tradecatlabs/vibe-coding-cn.git docs/research/tradecatlabs-vibe-coding-cn/raw/repository'
- path: github-repo.raw.json
kind: repository-metadata
status: ok
source: 'gh repo view tradecatlabs/vibe-coding-cn --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/tradecatlabs/vibe-coding-cn/readme -H Accept: application/vnd.github.raw'
- path: github-license.raw.txt
kind: license
status: ok
source: 'gh api repos/tradecatlabs/vibe-coding-cn/license -H Accept: application/vnd.github.raw'
- path: github-root-contents.raw.json
kind: root-contents
status: ok
source: 'gh api repos/tradecatlabs/vibe-coding-cn/contents'
- path: github-languages.raw.json
kind: languages
status: ok
source: 'gh api repos/tradecatlabs/vibe-coding-cn/languages'
- path: github-latest-release.raw.json
kind: latest-release
status: missing_or_error
source: 'gh api repos/tradecatlabs/vibe-coding-cn/releases/latest'
message: 'gh: Not Found (HTTP 404)'