Cursor 中的非同步遠端代理
背景代理需要保留資料數天。
npm install
或 bazel build
。COPY
整個專案——我們會管理 workspace 並 checkout 正確的 commit。相依安裝仍放在 install script 中處理。
輸入開發環境所需的任何 secrets——它們會以靜態加密(使用 KMS)儲存在我們的資料庫中,並在 background agent 的環境中提供。
機器設定位於 .cursor/environment.json
,可以提交到你的 repo(建議)或私下儲存。設定流程會引導你建立 environment.json
。
environment.json
裡的 install
指令。這個指令就像開發者在切換分支時會執行的步驟——用來安裝任何新的相依套件。
對多數人而言,install
指令就是 npm install
或 bazel build
。
為了確保機器快速啟動,我們會在 install
指令執行後快取磁碟狀態。請將它設計為可重複執行。只有 install
指令產生的磁碟狀態會被保留——在這裡啟動的程序不會在 agent 啟動時存活。
install
之後,機器會啟動,然後我們會先執行 start
指令,再啟動任何 terminals
。這會啟動在 agent 執行時需要持續運作的程序。
start
指令通常可以省略。如果你的開發環境仰賴 docker,就把 sudo service docker start
放到 start
指令裡。
terminals
是給 app 程式碼用的。這些 terminals 會在一個你與 agent 都可使用的 tmux
工作階段中執行。舉例來說,許多網站 repos 會把 npm run watch
設成一個 terminal。
environment.json
規格environment.json
檔案可能看起來像這樣: