bstack — 把 Claude Code 與 Codex 的開發流程固定下來
bstack
00
流程圖 →
bstack AI agent plugin · 繁中 · mit

讓那個沒規沒矩的 AI
長點管理的腦子

AI 很會寫 code,但這從來不是問題。問題是流程與管理。

拒絕即興 · 追求穩定
打開流程圖
Claude Code · /plugin install bstack@bstack Codex · codex plugin add bstack@bstack
29skills
6agents
1hook
9phases
101nodes
Behaviour · 01 / 管理

跟 AI 耳提面命
不如提早訂好規矩

hook
不會直接改 main

人在 main / master / production 上時,它寫不進檔案 —— 不是提醒你,是動作直接失敗,並告訴你怎麼開 branch。密鑰檔一樣寫不進去,沒有例外通道。

guard.mjs · 兩段檢查 →
gate
動手前先問清楚

每個請求它會先讀相關檔案,判斷這是修 bug 還是做新功能、以及改動有多大,然後用一張選單跟你確認。要點選項才算數,回「好」不算。

brainstorm · 0a–0d →
design
改樣式先看現有的

改樣式前,它會先去讀這一區現在用的顏色與字級,照抄既有的值,不憑印象自己配一組新的。做新頁或改版時會先給三個方向讓你挑。

design-language · design-direction →
agent
寫的跟審的分開

自己寫的 code 自己看都合理,因為記得每一行的來由。所以 review、安全檢查、e2e 一律交給另外開的 agent —— 它們只看得到成品,看不到寫的過程。

6 個 agent →
trace
每次改動都留下紀錄

每輪回覆最後都標明現在走到哪一步、這次改動算多大。比較大的改動開完 PR 後,會另外寫一份「為什麼改、改了什麼」貼回 PR。

trace · pr-explain →
flow
整條路徑,一張圖上看完

101 個節點、143 條邊,每個檢查點與 agent 的位置都在上面。點節點就展開對應的文件,離線也讀得到。

Nine Phases · 02 / 階段

階段有點多
但都很實用

01brainstorm問清楚要做什麼、判 Track 與 Tier;T1 以上先切 branch 再落 spec全部
02write-plan → review-plan拆成一條條 task 落成 plan.md,再依改動面向派 1–3 個視角 review 這份計畫T3
03execute-plan + tdd-cycle每條 task 走同一組五步:寫測試 → 跑到紅 → 最小實作 → 跑到綠 → commitT1+
04verify-done跑 test / lint / build;T3 的 UI 改動另外派 Playwright e2e全部
05request-review → receive-review依副檔名與 tier 派 review;回饋不危險的自動修、危險的問你T1+
06security-auditOWASP 與 STRIDE 稽核;動到 DB 再加 db-reviewer 看 schema 與 migrationT2 條件 / T3
07finish-branchrebase、commit、push、開 PR;merge 由你授權,預設不自動全部
08pr-explain另一個 agent 重讀 diff,寫成解說文件落檔並貼回 PRT3
09retro回顧一段期間做了什麼,把歸納出的偏好寫回 memory手動
devwork 的開場 示意
$ /bstack:devwork 登入逾時後 session 沒清乾淨
[bstack devwork · plugin] 已載入守則。
0a 讀 memory、paraphrase 需求
0b Grep 影響檔 → auth/session.ts
0c Track ······ Bug
0d Tier ······· T2
? 這三項對嗎?(只能點選項)
  Bug / T2 / 不涉前端 (推薦)
  改判 T3 —— 會動到 session schema
  改判 Dev —— 這是新行為不是壞掉
[Trace] Phase=brainstorm | Tier=T2 | Track=Bug
$
依 rules.md 的 Trace 格式與 Phase 0 子步驟重建,內容為範例、不是實跑存檔。
Four Tiers · 03 / 量體

改一行 Typo 不必大費周章
動到 Schema 不能便宜行事

tier 量體 brainstorm plan tdd review security pr-explain
T0 1 行 / typo / 設定
T1 ≤2 檔 / 單模組小改 對話釐清 1-2 關鍵測試 self
T2 3-10 檔 / 單模組 feature 完整 施工清單寫在 spec 內,≤8 列 紅綠循環 內建 code-review medium + 對 spec 自檢 涉認證 / 授權 / 資料層 / API 邊界 / payment / 上傳 / PII 才 audit
T3 >10 檔 / 跨模組 / 架構 / DB schema 完整 plan.md + review-plan(1-3 視角) 紅綠、80% 目標 code-review high + 對齊 subagent audit + checklist + db-reviewer
Headless · 04 / 無人

沒有人在也能跑
該問的留言問,其餘自己決定

01偵測工具清單沒有 AskUserQuestion、又設了 BSTACK_HEADLESS=1(或 AUTOPILOT_LABEL)、指得到來源 issue,才載 headless-mode;被派出去的 subagent 永遠不算每輪
02A 類:自己決定AI 已有推薦答案的決策點(Track / Tier / branch 名 / spec gate / 跑法)直接採用,每一筆記進 auto_decisions,PR body 一併列給你看自動
03B 類:留言問你真正要人決定的(需求歧義、危險修改、fail 處置、conflict、security critical、表上沒列的)寫成編號選項留言到 issue,然後結束這一輪留言
04下一輪接續你回一則留言、第一行只寫編號;下一輪醒來只認第一行、接著做。沒回就靜靜等,一天後提醒一次,不洗版接續
05終點是 PR開好 PR 就停。issue 留言不算 merge 授權,merge 永遠由人在 GitHub 按永不 merge
人只做三件事開 issue(title + body 就是需求)並讓排程指到它 → 看到「bstack 需要你決定」就回編號 → PR 開好後 review、按 merge三步
哪裡跑任何定時跑 claude -p 或 codex exec 的容器(例如 claude-autopilot)。workspace 要跨輪持久,進度存在 docs/snapshots/issue-<n>.md,不入版控排程
誰在守契約 P19:每個有決策點的 skill 都要有分流、引用的 decision_id 都要在分流表、派工 prompt 都要帶「你不是主流程」;回覆解析是純函式,18 個 fixture 守著契約
Inside · 05 / 內涵

你說內涵喔
這樣應該夠用了

skills流程的十三個階段步驟、十條按需載入的跨流程 skill、兩條設計 lane、四條 meta29
agentsDB review、安全稽核、e2e、假設驗證、PR 解說、語言專家,各跑獨立 context6
hookguard.mjs 一支 PreToolUse:branch-safety 與 file-type 兩段檢查,跑在 node1
rules.md強制守則:Task 追蹤、決策點只能點選項、branch 與檔案類型硬規則、PII 底線、DB 唯讀1
Index · 06 / 功能索引

36 個功能
查,都可以查

{{ resultLabel }}
沒有符合的 skill 或 agent。
Install · 07 / 三步

三個步驟,想裝自己裝
不會裝就叫 AI 幫你裝

前置兩件:node 要在啟動 Claude Code 或 Codex 的 PATH 內(hook 需要),以及 git。Claude Code 與 Codex 裝的是同一份 plugin,指令不同而已。

01
啟用 plugin
Claude Code

推薦專案層級:把 templates/project-settings.json 複製成你專案的 .claude/settings.json;沒自動裝就手動跑這兩行。

/plugin marketplace add fujiei22/bstack
/plugin install bstack@bstack
Codex

裝完開新 session 跑 /hooks 信任 hook,否則 branch 保護不生效;一站式改跑 scripts/install-codex.ps1

codex plugin marketplace add fujiei22/bstack
codex plugin add bstack@bstack
02
補設定
Claude Code(個人偏好,可跳過)

statusLine、唯讀權限白名單、Agent Teams 開關,三項各選裝到使用者層級、目前專案或跳過;playwright MCP 隨 plugin 自帶,mysql MCP 含帳密只印範本讓你填。不選就什麼都不寫。

pwsh -File scripts/extras.ps1
Codex(建議,不跑會降級)

Codex plugin 帶不了 agents,也不會幫你開 tools.update_plan:這支把六個 agent 的 TOML 複製到 ~/.codex/agents/、在 config.toml 開任務追蹤,順便做完 01 的兩行。不跑也能用:subagent 退成內建 explorer、任務追蹤退成勾 checkbox。做過什麼有記錄,-Uninstall 只拆自己加的。

pwsh -File scripts/install-codex.ps1
03
開新 session,下指令

既有 session 不會載入新 plugin。載入成功的第一行是「已載入守則」。

Claude Code

/devwork 目前也可以,沒反應再改用帶前綴的寫法。

/bstack:devwork 要做的事
Codex

一律帶 $bstack: 前綴。

$bstack:devwork 要做的事
Index · 直接跳
{{ openName }} {{ openPath }} 流程圖 →
{{ docEl }}