開發人員文檔通常在每個文件中包含描述。這些描述可能會過時,導致混亂和不正確的信息。為了防止這種情況,您可以使用一些 ai 和 genaiscript 自動檢測文檔中過時的描述。
markdown 和 frontmatter
許多文檔系統使用 markdown 格式來編寫文檔,并使用“frontmatter”標頭來存儲元數據。這是帶有 frontmatter 的 markdown 文件的示例:
--- title: "my document" description: "this is a sample document." --- # my document lorem ipsum dolor sit amet, consectetur adipiscing elit.
登錄后復制
目標是創建一個腳本來檢測 frontmatter 中的描述字段何時過時。
劇本
genaiscript 旨在在文件上運行,并提供一個特殊變量 env.files,其中包含要分析的文件列表。您可以使用該變量通過 def 函數將文件包含在上下文中。我們將每個文件限制為 2000 個令牌,以避免大文件上的內容爆炸。
// define the file to be analyzed def("docs", env.files, { endswith: ".md", maxtokens: 2000 })
登錄后復制
下一步是給腳本分配任務。在這種情況下,檢查 frontmatter 中的內容和描述字段是否匹配。
// analyze the content to detect outdated descriptions $`check if the 'description' field in the front matter in docs is outdated.`
登錄后復制
最后,我們利用內置的診斷生成功能為每個過時的描述創建錯誤。
// enable diagnostics generation $`generate an error for each outdated description.`
登錄后復制
在 visual studio 代碼中運行
將此腳本保存到工作區后,您將可以通過上下文菜單在文件或文件夾上執行它
通過選擇運行 genaiscript….
自動化
您可以在文檔文件上自動運行此工具,以使用 cli 識別過時的描述。
npx --yes genaiscript run detect-outdated-descriptions **/*.md
登錄后復制
此腳本可以集成到您的 ci/cd 管道中以自動化檢測過程。