Gitingest:把整個專案變成 Prompt
這是這篇文章改版前的原始內文,套的是現在的排版。 另開分頁看舊版原本的樣子
文章目錄(7 節)
文章目錄(7 節)
先說結論
如果你平常已經使用 AI 輔助工具進行程式開發(Github Copilot,Cursor,Cline 等),推薦你這個工具,Gitingest 可以將你的整個專案轉換為 AI 友善的 Prompt Context,你可以用這個:
產生專案文件
讓 AI 直接從完整的程式碼內容生成 README、API 文件,甚至是技術規格書。
生成測試程式
AI 可以根據完整的程式碼結構幫你寫測試程式,聽了TDD(測試驅動開發)N年,終於在今年開始寫測試了(淚)。
生成開發計劃
讓 AI 根據上面步驟生成的專案文件和程式碼,再幫我寫開發計劃,終於可以用嘴寫程式了(淚again)。
測試文件驅動開發(TDDD?)
結合測試驅動開發(TDD)與文件驅動開發(DDD),讓 AI 先根據開發計劃寫測試,寫完測試寫程式,寫完程式再測試,舒服。
Gitingest能幹麻?
Gitingest 官網
Gitingest Github
左右滑動看完整內容


Gitingest 怎麼用?
官網的線上服務
Gitingest 官網提供了分析公開 Git Repository 的功能,但我們的專案通常是私有的,無法直接使用這個線上服務。
本地的 Command Line 工具
因此,我們需要安裝他的 Command Line 工具,就能在電腦本地執行 Gitingest 來分析專案內容,這樣就能安全地轉換專案 Context,也不用怕網路服務會不會偷你的程式碼。
你可以透過簡單的指令讓 gitingest 生成專案的 Context,細節你可以看 Gitingest Github 內說明:
gitingest . -o codebase.txt
這個指令會將當前專案的所有程式碼轉換成 codebase.txt,之後就能將這個 Context 提供給 AI 來提升開發體驗。
指令說明
| 參數 | 說明 |
|---|---|
. | 分析當前專案目錄 |
-i | 指定要包含的檔案或目錄 |
-e | 指定要排除的檔案或目錄 |
-o gitingest_output.txt | 分析結果輸出到 gitingest_output.txt |
範例指令
- 分析專案但排除
node_modulesgitingest . -e "**/node_modules/**" -o output.txt - 僅分析特定類型的檔案(如 Vue 檔案)
gitingest . -i "**/*.vue" -o vue_files.txt - 排除測試與構建產物,只保留業務程式碼
gitingest . -e "**/tests/**" -e "**/dist/**" -o clean_codebase.txt
Gitingest 的實際應用
有了完整的專案 Context 之後,我們可以來做很多事情:
生成 README 文件
讓 AI 根據完整的程式碼內容寫 README。
產生 API 文件
提供後端專案的 Context 給 AI,讓它寫 API 文件。
寫測試
不要再說沒空寫測試了,但我也沒寫過測試,反而是花了一些時間去了解測試程式結構、原理、目的。
測試驅動開發(TDD)
不知道請 Google。
文件驅動開發(DDD)
我找到這份簡報講 DDD ,我有一個大膽的想法:DDD + AI,好像很酷,經過我的實測,「酷到爆!」
懶人如我現在都用嘴巴寫程式,用DDD架構:先跟 AI 聊需求,然後整個專案程式碼 context 丟給他,用那些號稱聰明到爆的 O1、deepseek、sonnet 3.7 都行,叫他去好好想一想,規劃一下後寫個開發計劃,再叫另一個 AI 根據這個開發計劃實作功能
自動化 Gitingest 執行
程式碼會不斷更新,因此 Context 也需要同步更新。如果每次都手動執行 gitingest 來更新 Context,會非常麻煩。因此,我將這個流程寫成一個 Bash 指令,讓它自動執行:
#!/bin/bash
# 定義專案路徑
PROJECT_PATH="你的專案路徑"
# 切換到專案目錄
cd "$PROJECT_PATH"
echo "開始匯出專案程式碼..."
# 執行 gitingest 並輸出到 docs/codebase.txt
gitingest . \\\\
-i "**/pages/**/*.vue" \\\\
-i "**/components/**/*.vue" \\\\
-i "**/layouts/**/*.vue" \\\\
-i "**/store/**/*.js" \\\\
-i "**/composables/**/*.js" \\\\
-i "**/server/**/*.js" \\\\
-o docs/codebase.txt
echo "專案程式碼匯出完成,檔案已存至 docs/codebase.txt"
跟 git commit 綁在一起
這樣,每次git commit後,順便執行這個指令,就能同步專案 Context 是最新的。可以讓它跟git commit一起自動執行更棒
專案產生的內容太大怎辦?
正常專案如果完整匯出的話,內容會非常多,所以匯出指令需要針對你的專案做優化,一些無用的檔案就排除,或是指定特定檔案就好
即使我已經挑重要的檔案了,我剛剛跑的最新結果

現在一般模型的 context window 好像都是 128K,這明顯超過了,我用 cursor、cline 或 Github Copilot 引用整個檔案,是沒問題的,看起來他們應該有再做壓縮或是 RAG 處理,所以就看狀況,我的心得是:
用加法
寫功能、問問題:把檔案直接加入引用參考
用減法
寫文件、跨功能、跨模組、或是要引用很多檔案:直接輸出專案 context
更新:VS Code 外掛,免安裝不要下指令
今天發現一個vscode外掛叫做 Repomix 星星數比 Gitingest 還多 XD
跟 Gitingest 一樣功能,但他整合到 vscode 內,不用使用指令,也挺方便的,懶得安裝的可以看看,點連結看他操作影片,真香
Repomix Github
如果你有什麼想法歡迎與我交流
先說結論
如果你平常已經使用 AI 輔助工具進行程式開發(Github Copilot,Cursor,Cline 等),推薦你這個工具,Gitingest 可以將你的整個專案轉換為 AI 友善的 Prompt Context,你可以用這個:
- 產生專案文件:讓 AI 直接從完整的程式碼內容生成 README、API 文件,甚至是技術規格書。
- 生成測試程式:AI 可以根據完整的程式碼結構幫你寫測試程式,聽了TDD(測試驅動開發)N年,終於在今年開始寫測試了(淚)。
- 生成開發計劃:讓 AI 根據上面步驟生成的專案文件和程式碼,再幫我寫開發計劃,終於可以用嘴寫程式了(淚again)。
- 測試文件驅動開發(TDDD?):結合測試驅動開發(TDD)與文件驅動開發(DDD),讓 AI 先根據開發計劃寫測試,寫完測試寫程式,寫完程式再測試,舒服。
Gitingest能幹麻?
Gitingest 官網:https://gitingest.com/
Gitingest Github:https://github.com/cyclotruc/gitingest


Gitingest 怎麼用?
Gitingest 官網提供了分析公開 Git Repository 的功能,但我們的專案通常是私有的,無法直接使用這個線上服務。
因此,我們需要安裝他的 Command Line 工具,就能在電腦本地執行 Gitingest 來分析專案內容,這樣就能安全地轉換專案 Context,也不用怕網路服務會不會偷你的程式碼。
你可以透過簡單的指令讓 gitingest 生成專案的 Context,細節你可以看 Gitingest Github 內說明:
gitingest . -o codebase.txt這個指令會將當前專案的所有程式碼轉換成 codebase.txt,之後就能將這個 Context 提供給 AI 來提升開發體驗。
指令說明
| 參數 | 說明 |
|---|---|
. | 分析當前專案目錄 |
-i | 指定要包含的檔案或目錄 |
-e | 指定要排除的檔案或目錄 |
-o gitingest_output.txt | 分析結果輸出到 gitingest_output.txt |
範例指令
分析專案但排除
node_modulesgitingest . -e "**/node_modules/**" -o output.txt僅分析特定類型的檔案(如 Vue 檔案)
gitingest . -i "**/*.vue" -o vue_files.txt排除測試與構建產物,只保留業務程式碼
gitingest . -e "**/tests/**" -e "**/dist/**" -o clean_codebase.txt
Gitingest 的實際應用
有了完整的專案 Context 之後,我們可以來做很多事情:
- 生成 README 文件
- 讓 AI 根據完整的程式碼內容寫 README。
- 產生 API 文件
- 提供後端專案的 Context 給 AI,讓它寫 API 文件。
- 寫測試
- 不要再說沒空寫測試了,但我也沒寫過測試,反而是花了一些時間去了解測試程式結構、原理、目的。
- 測試驅動開發(TDD)
- 不知道請 Google。
- 文件驅動開發(DDD)
- 我找到這份簡報講 DDD ,我有一個大膽的想法:DDD + AI,好像很酷,經過我的實測,「酷到爆!」
- 懶人如我現在都用嘴巴寫程式,用DDD架構:先跟 AI 聊需求,然後整個專案程式碼 context 丟給他,用那些號稱聰明到爆的 O1、deepseek、sonnet 3.7 都行,叫他去好好想一想,規劃一下後寫個開發計劃,再叫另一個 AI 根據這個開發計劃實作功能
自動化 Gitingest 執行
程式碼會不斷更新,因此 Context 也需要同步更新。如果每次都手動執行 gitingest 來更新 Context,會非常麻煩。因此,我將這個流程寫成一個 Bash 指令,讓它自動執行:
#!/bin/bash
# 定義專案路徑
PROJECT_PATH="你的專案路徑"
# 切換到專案目錄
cd "$PROJECT_PATH"
echo "開始匯出專案程式碼..."
# 執行 gitingest 並輸出到 docs/codebase.txt
gitingest . \\\\
-i "**/pages/**/*.vue" \\\\
-i "**/components/**/*.vue" \\\\
-i "**/layouts/**/*.vue" \\\\
-i "**/store/**/*.js" \\\\
-i "**/composables/**/*.js" \\\\
-i "**/server/**/*.js" \\\\
-o docs/codebase.txt
echo "專案程式碼匯出完成,檔案已存至 docs/codebase.txt"
這樣,每次git commit後,順便執行這個指令,就能同步專案 Context 是最新的。可以讓它跟git commit一起自動執行更棒
專案產生的內容太大怎辦?
正常專案如果完整匯出的話,內容會非常多,所以匯出指令需要針對你的專案做優化,一些無用的檔案就排除,或是指定特定檔案就好
即使我已經挑重要的檔案了,我剛剛跑的最新結果

現在一般模型的 context window 好像都是 128K,這明顯超過了,我用 cursor、cline 或 Github Copilot 引用整個檔案,是沒問題的,看起來他們應該有再做壓縮或是 RAG 處理,所以就看狀況,我的心得是:
- 寫功能、問問題用加法:把檔案直接加入引用參考
- 寫文件、跨功能、跨模組、或是要引用很多檔案用減法:直接輸出專案 context
更新:VS Code 外掛,免安裝不要下指令
今天發現一個vscode外掛叫做 Repomix 星星數比 Gitingest 還多 XD
https://github.com/yamadashy/repomix
跟 Gitingest 一樣功能,但他整合到 vscode 內,不用使用指令,也挺方便的,懶得安裝的可以看看,點連結看他操作影片,真香
https://marketplace.visualstudio.com/items?itemName=DorianMassoulier.repomix-runner
如果你有什麼想法歡迎與我交流
留言