Chuyển tới nội dung chính

Bài 2 — Tạo Space đầu tiên

Trang này hướng dẫn tạo Space đầu tiên và mời team theo từng role, để dự án có nơi chạy task với ranh giới làm và duyệt rõ ràng.

Đối tượng: owner / người bắt đầu dự án mới. Điều kiện: đã là owner sau Bài 1. Bối cảnh ví dụ: tạo Space "Payment Service" gắn với repo /repos/payment-service. Thời gian: ~20 phút.

Hộp thoại Create Project: chọn nguồn Local Path hoặc GitHub URL, tên Space, đường dẫn repo, và khối TASK DEFAULTS (agent, priority, base branch, worktree) áp cho mọi task mới

Tạo Space — điền form​

Bấm New Project (hoặc trang Projects) và điền:

TrườngGhi gì
nameTên Space (ví dụ "Payment Service")
repoPathĐường dẫn tuyệt đối tới repo git, hoặc repoUrl để server tự clone vào cloneRoot
defaultAgentTypeAgent mặc định cho task trong Space
defaultBaseBranchThường main
defaultUseWorktreeBật (khuyến nghị mạnh)
requireHumanGateBật để cưỡng chế Human Gate
mergeStrategymerge-local (mặc định, cùng host) / create-pr (quy trình PR) / manual (tự merge tay)

Provisioning nguyên tử 2-phase (diễn ra sau Submit)​

  • Người tạo tự động thành owner trên Space mới.
  • Nếu Arkon lỗi giữa đường: xoá bù (compensate) — server xoá Department dở dang + links + Space vừa tạo, rồi trả lỗi — không để lại rác.
  • Nếu Arkon không cấu hình/down: Space vẫn tạo thành công (201 suy biến mềm), tab Wiki trống, server chỉ ghi console.warn (chưa có Activity ở cấp Space — suy biến mềm).

Mời team (3 phút)​

  1. Xác định role — cấp tối thiểu đủ dùng:
NgườiRoleVì sao
PO, StakeholderviewerXem tiến độ, không tạo/sửa
DevelopermemberTạo task, chạy agent, apply plan — nhưng không approve
Tech Lead, RevieweradminĐược approve & merge (Human Gate)
  1. Cấp quyền:
curl -X POST http://<host>/api/spaces/<spaceId>/members \
-H 'Content-Type: application/json' \
-d '{"email":"dev1@corp.com","role":"member"}'
  1. Người được cấp refresh trang → thấy Space.
Ranh giới "làm" vs "duyệt"

member không approve được — đây là điểm tách bạch có chủ ý. Nếu team không cần tách, cấp admin; nhưng khi đó bạn mất kiểm soát ai được merge. Không xoá được owner cuối cùng (409) — chống tự khoá.

Học trên DEV-LITE?

Kịch bản mời team không tái hiện được ở DEV-LITE (AGENTBOARD_DEV_IDENTITY=1 bypass mọi request thành owner). Muốn thử RBAC thật: DEV FULL-STACK (./scripts/dev.sh up rồi ./scripts/dev.sh member <spaceId> <email> viewer).

Xác minh​

  • Board mới hiện 2 tab Board và Wiki.
  • Bên Arkon :3119 → Departments thấy "Payment Service" với trang Home.
  • Đăng nhập bằng tài khoản viewer → nút Approve bị chặn, API trả 403.
  • Đăng nhập bằng member → tạo task được, approve 403.

Bài tiếp theo: Bài 3 — Chạy task đầu tiên. Chi tiết owner nâng cao: Tạo Space & quản thành viên.

Gặp lỗi? Xử lý sự cố — Space tạo xong không thấy Wiki, mời member không vào được.