部落格
Agent-native 後端

發布於 更新於

Arag 和 Anshu

使用 Claude Code 與 Cohesivity 建置全端應用程式:完整操作說明

以 Markdown 閱讀

Claude Code 可以透過 Cohesivity 建立暫時租戶、佈建 Postgres 與 Railway 託管、加入只在伺服器端執行的註冊端點、測試重複寫入,再上傳建置完成的應用程式,完成全端候補名單的建置與部署。認領專案或跨越付費邊界前,仍須由人類核准。

這份操作說明使用候補名單作為範例,因為它小到能完整檢查,同時涵蓋資料驗證、唯一性、伺服器憑證、重試及部署。

佈建前先定義行為

應用程式需要:

  • 有電子郵件欄位,並能清楚顯示等待、成功和錯誤狀態的表單;
  • 驗證並正規化地址的伺服器端點;
  • 一張以電子郵件為唯一值的 Postgres 資料表;
  • 不會因重複呼叫而新增多筆資料的插入行為;
  • 只供伺服器使用的後端憑證;
  • 可部署的應用程式與公開健康狀態檢查。

它不需要社群登入、即時通訊、向量儲存或模型 API。佈建這些資源只會增加設定,對目前工作沒有幫助。

後端佈建指南說明下文使用的控制平面與資料平面分工。

先要求 Claude 提出計畫

在專案中啟動 Claude Code,請它找出框架、套件管理器、既有測試設定、僅限伺服器的環境變數慣例、建置輸出及部署指令。官方 Claude Code CLI支援以計畫為導向的權限模式與工具限制,因此這段檢查期間應停用外部呼叫。

計畫必須列出要變更的確切檔案及所需資源。如果它提議把 Cohesivity 金鑰放進 NEXT_PUBLIC_、VITE_ 或瀏覽器可讀取的變數,就退回這份計畫。

建立隔離租戶

如果已有有效的 .cohesivity 檔案,Claude 應直接重用;否則可以先預覽再執行初始設定:

npx @cohesivity/init --dry-run
npx @cohesivity/init

建立的租戶會保留 72 小時。這個指令也會提供 Claude 所需的專案上下文。不要把產生的金鑰貼進對話、日誌或原始碼。

讀取並佈建 Postgres

Claude 必須先取得目前的 Postgres offering 頁面,才能發出呼叫:

curl -sS -A "ClaudeCode-Waitlist/1.0" \
  https://cohesivity.ai/offerings/postgres

你核准後,Claude 使用穩定的冪等鍵,透過文件記載的管理端點佈建 postgres。接著再從伺服器端程式碼建立結構描述:

CREATE TABLE IF NOT EXISTS waitlist_signups (
  id BIGSERIAL PRIMARY KEY,
  email TEXT NOT NULL UNIQUE,
  created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);

唯一性限制是避免兩個請求插入相同正規化地址的最後一道防線。應用程式碼仍應處理衝突,並回傳既有註冊狀態,而不是籠統的 500 錯誤。

加入伺服器端點

處理函式應:

  1. 解析 JSON,並拒絕缺漏或格式不正確的地址。
  2. 依一項有明確文件的規則去除空白並正規化電子郵件。
  3. 使用參數化 PostgreSQL 與 $1 預留位置。
  4. 為同一個邏輯註冊操作傳送相同的冪等鍵。
  5. 將唯一性衝突對應為成功的既有註冊回應。
  6. 回傳精簡的公開資料結構,不包含內部錯誤或憑證。

瀏覽器呼叫你的應用程式端點,只有伺服器會呼叫 Cohesivity。如此一來,管理金鑰與應用程式金鑰就不會進入用戶端套件。

測試失敗路徑

至少執行以下四種情況:

情況 預期結果
新的有效電子郵件 一筆資料列與成功回應
無效電子郵件 驗證回應,且不呼叫資料庫
同一個正規化電子郵件送出兩次 一筆資料列與穩定的既有資料回應
回應遺失後重試 一個邏輯結果,且沒有重複資料列

也要在建置後的用戶端資產中搜尋 coh_man_ 與 coh_app_。單元測試通過,並不能證明打包工具確實把密鑰留在伺服器端。

應用程式從公開候補名單成長之後,可用第二位使用者後端審查加入跨使用者與跨租戶測試。

透過 Railway 託管完成佈建與部署

Claude 取得 https://cohesivity.ai/offerings/railway-hosting、佈建該 offering,再透過 Cohesivity 的 Railway 部署 API 上傳應用程式。它應使用回傳的 Cohesivity deployment_url 與 logs_url,而不是安裝 Railway CLI、連接 GitHub 儲存庫或要求 Railway 憑證。

等待部署與公開路由都就緒,再對公開伺服器執行健康狀態檢查與一次真實註冊。只有供應商部署狀態,無法證明路由可正常使用。

清楚地交回結果

Claude 應回報:

  • 公開部署 URL;
  • 執行過的測試及結果;
  • 建立的資源;
  • 租戶到期時間;
  • 認領專案所需的動作;
  • 包含伺服器環境設定的檔案;
  • 使用者不保留專案時的清理路徑。

下方提示詞涵蓋整項工作,同時保留必要的核准點。