Cách Bakit hoạt động
Bakit vận hành theo lifecycle có gate: intake → options → backbone → module artifacts → compile → package. Tất cả output nằm trong plans/{slug}-{date}/.
Cách Bakit hoạt động
Bakit vận hành theo một lifecycle có gate — mỗi bước chỉ chạy khi bước trước đã sẵn sàng. Cơ chế này giống như dây chuyền sản xuất: trạm sau không chạy khi trạm trước chưa xong. Nhờ vậy, tài liệu sinh ra luôn nhất quán và truy ngược được về nguồn.
Lifecycle tổng quan
Input thô (file yêu cầu, PDF, ghi chú)
|
v
1. INTAKE — Chuẩn hóa input, phát hiện gap
|
v
2. OPTIONS (nếu cần) — So sánh các hướng giải pháp
|
v
3. BACKBONE — Khóa source of truth cấp dự án
|
v
4. MODULE ARTIFACTS — Sinh tài liệu theo module, từng bước rời rạc
(FRD → stories → srs spec → use-case → userflow → wireframe)
|
v
5. RENDER & TEST — render-html, test-checklist, test-cases,
bpmn, prototype, preview (tùy nhu cầu)
|
v
6. COMPILE — Tổng hợp SRS từ source set
|
v
7. PACKAGE — Đóng gói HTML để bàn giao
Từ v2.1.0, srs không còn là một lệnh monolithic — nó chỉ sinh spec, và mỗi phần còn lại (use case, userflow, wireframe, HTML, test, BPMN, prototype) là một bước riêng chạy lần lượt. Mỗi bước kết thúc bằng hướng dẫn bước tiếp theo cụ thể.
Ngoài ra còn có reverse lane cho dự án đã có code/hệ thống: reverse → baseline lock → backbone → SRS.
Cấu trúc thư mục output
Mọi output của Bakit nằm trong plans/{slug}-{date}/:
plans/warehouse-rfp-260529-1030/
├── PROJECT-HOME.md # Dashboard cho BA: đang ở đâu, làm gì tiếp
├── 00_source/ # Input đã extract (nếu input lớn)
│ ├── summary.md
│ ├── manifest.json
│ └── chunk-index.md
├── 01_intake/ # Intake + plan
│ ├── intake.md
│ ├── plan.md
│ └── options/ # Các phương án giải pháp (nếu có)
├── 02_backbone/ # Source of truth cấp dự án
│ ├── backbone.md
│ ├── backbone-index.md
│ ├── common-rules.md # Rule dùng chung (CR-*)
│ ├── message-list.md # Message dùng chung (MSG-*)
│ ├── shared-shell-contract.md # Shared shell/portal/menu contract
│ ├── project-memory.md # Bộ nhớ dự án (compact, 1 file)
│ └── project-memory/ # Bộ nhớ dự án (shard, nhiều module)
│ ├── index.md
│ ├── hot/ # Global hot shards
│ ├── warm/modules/ # Per-module warm shards
│ └── cold/ # Archived cold shards
├── 03_modules/ # Mỗi module một thư mục
│ └── auth-flow/
│ ├── frd.md
│ ├── userstories/ # User story canon (từng file)
│ ├── usecases/ # Use case canon (bước use-case)
│ ├── ascii-wireframe/ # Per-flow ASCII wireframe canon (bước wireframe)
│ ├── srs/ # SRS slices + userflow.md (canon source set)
│ ├── srs.md # SRS đã compile
│ ├── srs-compile-receipt.json # Compile receipt
│ ├── screen-field-contract.yaml
│ ├── test/ # Checklist + test cases (bước test-*)
│ ├── bpmn/ # BPMN IR/src/XML (bước bpmn)
│ ├── prototype.html # Clickable prototype (bước prototype)
│ ├── preview.html # Whole-module viewer (bước preview)
│ ├── qc-review/ # QC review reports
│ └── tool-lanes/ # Tool lane artifacts
│ └── figma-make/
│ ├── make-guidelines.md
│ └── make-prompt-pack.md
├── 04_compiled/ # Bàn giao
│ ├── compiled-frd.html
│ └── compiled-srs.html
├── 05_tool-lanes/
│ ├── figma-make/ # Shared Figma Make prompt assets
│ └── stitch/ # Stitch map và sync reports
└── delegation/ # Narrow sub-agent packets khi cần
└── packets/
Ngoài ra, designs/{slug}/DESIGN.md nằm ngoài plans/, ở thư mục gốc của repo — đây là nơi lưu quyết định thiết kế của dự án.
9 nguyên tắc vận hành
1. Backbone-first
Sau intake, backbone.md là source of truth chính. Mọi artifact sau phải bám theo backbone. Giống như xây nhà — backbone là móng, mọi thứ khác xây trên đó.
2. Gated emission
Không phải dự án nào cũng cần mọi artifact. Bakit chỉ sinh FRD, stories, SRS khi điều kiện phù hợp. Dùng hybrid làm mode mặc định — vừa đủ, không thừa.
3. Index-first navigation
Với artifact lớn, Bakit không đọc toàn bộ. Nó đọc index trước, giống như bạn xem mục lục sách trước khi đọc:
chunk-index.md→ chọn chunk cần đọcbackbone-index.md→ chọn section cần đọc- Source set index → chọn item cần xử lý
4. Project memory không thay backbone
project-memory.md ghi nhớ vocabulary, decision, assumption đã chốt — giống như sổ tay ghi chép. Nhưng backbone.md vẫn là source of truth. Memory giúp chống drift, không thay thế backbone.
5. Impact-first cho thay đổi
Khi stakeholder đổi requirement, đừng sửa thẳng SRS. Chạy impact trước để biết chính xác file nào bị ảnh hưởng — nó sinh change plan với closure set đầy đủ. Duyệt xong thì chạy impact-cook để thực thi nhất quán. Giống như bạn kéo một sợi dây — cần biết nó dính vào những đâu trước khi kéo.
6. Source set → Compile
Sửa behavior trong source set (userstories/, usecases/, ascii-wireframe/, srs/), sau đó compile lại srs.md. Không sửa thẳng srs.md khi source set đã tồn tại. Giống như sửa bản thảo, không sửa bản in.
7. Shared rules trước, module reference sau
CR-* và MSG-* phải được khai báo ở 02_backbone/ trước. Module chỉ được reference, không tự định nghĩa. Một nhà một nóc.
8. Figma Make prompt lane một chiều
ba-figma-sync đọc SRS canon và sinh prompt text dưới tool-lanes/figma-make/. Nó không gọi Figma MCP và không sửa SRS source set. Nếu prototype khác canon, sửa canon trước rồi sinh lại prompt.
9. Runtime-aware
Claude Code nhận full bundle; Codex và Antigravity nhận skills. Các runtime dùng syntax và mức tích hợp khác nhau nhưng cùng hướng tới artifact model và quality rules của Bakit.
Memory model
Bakit có 2 chế độ memory:
| Chế độ | Dùng cho | Cấu trúc |
|---|---|---|
| Compact | Dự án đơn giản, 1 module | 1 file project-memory.md |
| Shard | Dự án nhiều module | project-memory/index.md + hot/ (global) + warm/modules/ (per-module) + cold/ (archive) |
cold/ không được đọc mặc định — chỉ đọc khi cần tra cứu lịch sử.
Tiếp theo
- Danh sách skill — 9 skill và cách dùng
- Hướng dẫn từng bước — flow thực tế
- Chọn runtime — phạm vi tích hợp của từng runtime