Files
hacktricks-cloud/AGENTS.md
T

78 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# AGENTS.md
面向在此仓库中工作的未来 agents 的指导。
## Repository Context
这是 HackTricks Cloud mdBook 仓库。相关的主书位于:
`/Users/carlospolop/git/hacktricks`
对共享 theme/search 行为的更改,通常需要在两个仓库中都应用。
## Search Index Loading Contract
自定义 search UI 位于:
`theme/ht_searcher.js`
也可能有一个生成的副本位于:
`book/theme/ht_searcher.js`
如果 production 正在部署已经构建好的 `book/` 目录,请更新这两个副本,或者在部署前重新构建 book。
search index 的加载顺序很重要,而且对成本敏感:
1. 先从 GitHub 仓库加载所有按语言区分的和 fallback 的 search index
`HackTricks-wiki/hacktricks-searchindex`
2. 只有当所有 GitHub 托管的候选项都失败后,才回退到同源的 mdBook 输出。
不要把本地的 `/searchindex.js` fallback 放在任何 GitHub 托管的 fallback 之前,例如
`searchindex-cloud-en.js.gz`。在 production 中从 `cloud.hacktricks.wiki` 提供 `searchindex.js` 代价很高。
对于这个仓库,预期的本地 fallback 是:
`/searchindex.js`
主书的 fallback 是:
`/searchindex-book.js`
该文件只是 fallback。主要来源必须仍然是远程
`searchindex-<lang>.js.gz``searchindex-cloud-<lang>.js.gz` 文件,位于
`HackTricks-wiki/hacktricks-searchindex`
## Search Index Publishing
发布加密压缩 search index 到 `HackTricks-wiki/hacktricks-searchindex` 的 workflows 是:
- `.github/workflows/build_master.yml`
- `.github/workflows/translate_all.yml`
生成的源文件是 `book/searchindex.js`。发布到远程的 artifact 名称是:
- `searchindex-cloud-en.js.gz`
- `searchindex-cloud-<lang>.js.gz`
浏览器 loader 期望远程 `.js.gz` 文件是使用 `theme/ht_searcher.js` 中定义的 key 的 XOR-encrypted gzip payloads。
## Build And Validation
常见的本地检查:
- `node --check theme/ht_searcher.js`
- `mdbook build`
如果 `mdbook build` 失败,检查:
- `hacktricks-preprocessor-error.log`
- `hacktricks-preprocessor.log`
## Editing Notes
- 搜索时优先使用 `rg`
- 除非明确要求,不要把生成的 `book/` 输出提交到 commits 中。Search loader 修复是一个例外,因为如果已经构建好的 pages 必须立即修正。
- 如果修改共享 theme 行为,请对比并更新 `/Users/carlospolop/git/hacktricks` 中的匹配文件。
- 不要回滚无关的本地更改。