diff --git a/docs/commands.md b/docs/commands.md new file mode 100644 index 0000000..1e8de35 --- /dev/null +++ b/docs/commands.md @@ -0,0 +1,361 @@ +# Bixbott Command Docs + +Tài liệu này phác thảo hệ thống lệnh dự kiến cho Bixbott CLI/Agent IDE. Mục tiêu là tạo một trang docs nền tảng trước, sau đó có thể tách từng nhóm lệnh thành các trang chi tiết riêng. + +> Trạng thái: bản thiết kế tài liệu ban đầu. Một số lệnh có thể thay đổi khi CLI chính thức được triển khai. + +## Cách đọc tài liệu + +Mỗi lệnh được mô tả theo cấu trúc: + +- **Mục đích**: lệnh dùng để làm gì. +- **Cú pháp**: cách gọi lệnh. +- **Tùy chọn quan trọng**: các flag thường dùng. +- **Ví dụ**: tình huống sử dụng thực tế. + +## Cài đặt + +```bash +npm install -g bixbott +``` + +Kiểm tra phiên bản: + +```bash +bixbott --version +``` + +Xem trợ giúp tổng quát: + +```bash +bixbott --help +``` + +## Tổng quan nhóm lệnh + +| Nhóm lệnh | Mục đích | +| --- | --- | +| `bixbott init` | Khởi tạo workspace hoặc cấu hình Bixbott cho dự án | +| `bixbott build` | Tạo ứng dụng/tính năng từ mô tả tự nhiên | +| `bixbott review` | Review code, diff hoặc pull request | +| `bixbott fix` | Đề xuất và áp dụng bản sửa lỗi | +| `bixbott scaffold` | Sinh cấu trúc dự án, module hoặc component | +| `bixbott deploy` | Chuẩn bị hoặc hỗ trợ deploy | +| `bixbott github` | Làm việc với GitHub repository, issue, PR và commit | +| `bixbott config` | Quản lý cấu hình cục bộ/toàn cục | +| `bixbott doctor` | Kiểm tra môi trường phát triển | +| `bixbott tasks` | Quản lý tác vụ, tag và phân công | +| `bixbott personnel` | Quản lý thành viên, agent và vai trò | +| `bixbott integrations` | Quản lý trang tích hợp dịch vụ ngoài | +| `bixbott skills` | Liệt kê, bật/tắt và cấu hình skill | +| `bixbott api-keys` | Tạo, xoay vòng và ủy quyền API key | + +## `bixbott init` + +Khởi tạo Bixbott trong một repository hiện có hoặc tạo workspace mới. + +```bash +bixbott init +``` + +### Tùy chọn + +| Flag | Mô tả | +| --- | --- | +| `--template ` | Chọn template khởi tạo | +| `--framework ` | Chỉ định framework chính, ví dụ `next`, `react`, `vue`, `node` | +| `--yes` | Chấp nhận giá trị mặc định | + +### Ví dụ + +```bash +bixbott init --framework next --yes +``` + +## `bixbott build` + +Yêu cầu AI Agent tạo ứng dụng hoặc tính năng từ mô tả bằng ngôn ngữ tự nhiên. + +```bash +bixbott build "Create a landing page for a SaaS product" +``` + +### Tùy chọn + +| Flag | Mô tả | +| --- | --- | +| `--target ` | Thư mục hoặc package cần thay đổi | +| `--framework ` | Framework ưu tiên | +| `--plan-only` | Chỉ tạo kế hoạch, chưa sửa file | +| `--apply` | Áp dụng thay đổi được đề xuất | + +### Ví dụ + +```bash +bixbott build "Add authentication pages" --target apps/web --plan-only +``` + +## `bixbott review` + +Review code hiện tại, diff local hoặc pull request. + +```bash +bixbott review +``` + +### Tùy chọn + +| Flag | Mô tả | +| --- | --- | +| `--staged` | Chỉ review các file đã stage | +| `--pr ` | Review một pull request trên GitHub | +| `--format ` | Định dạng output, ví dụ `markdown` hoặc `json` | + +### Ví dụ + +```bash +bixbott review --staged +``` + +```bash +bixbott review --pr 42 --format markdown +``` + +## `bixbott fix` + +Đề xuất hoặc áp dụng bản sửa cho lỗi, test fail hoặc vấn đề do review phát hiện. + +```bash +bixbott fix "Fix failing login tests" +``` + +### Tùy chọn + +| Flag | Mô tả | +| --- | --- | +| `--from-review` | Dùng kết quả review gần nhất làm đầu vào | +| `--test ` | Lệnh test cần chạy sau khi sửa | +| `--apply` | Áp dụng patch sau khi tạo | + +### Ví dụ + +```bash +bixbott fix "Resolve TypeScript errors" --test "npm run typecheck" --apply +``` + +## `bixbott scaffold` + +Sinh nhanh cấu trúc file/thư mục cho project, module, route, API hoặc component. + +```bash +bixbott scaffold component Button +``` + +### Loại scaffold phổ biến + +| Loại | Ví dụ | +| --- | --- | +| `app` | `bixbott scaffold app dashboard --framework next` | +| `component` | `bixbott scaffold component Button` | +| `api` | `bixbott scaffold api users` | +| `package` | `bixbott scaffold package ui` | +| `worker` | `bixbott scaffold worker webhook` | + +## `bixbott deploy` + +Hỗ trợ chuẩn bị deploy, kiểm tra cấu hình môi trường và tạo hướng dẫn triển khai. + +```bash +bixbott deploy +``` + +### Tùy chọn + +| Flag | Mô tả | +| --- | --- | +| `--provider ` | Nền tảng deploy, ví dụ `vercel`, `cloudflare`, `netlify` | +| `--check` | Chỉ kiểm tra khả năng deploy | +| `--preview` | Tạo bản preview nếu provider hỗ trợ | + +### Ví dụ + +```bash +bixbott deploy --provider cloudflare --check +``` + +## `bixbott github` + +Nhóm lệnh làm việc với GitHub. + +```bash +bixbott github +``` + +### Subcommands + +| Lệnh | Mục đích | +| --- | --- | +| `bixbott github issue list` | Liệt kê issue | +| `bixbott github issue plan ` | Lập kế hoạch xử lý issue | +| `bixbott github pr review ` | Review pull request | +| `bixbott github pr summarize ` | Tóm tắt pull request | +| `bixbott github commit suggest` | Gợi ý commit message | + +### Ví dụ + +```bash +bixbott github issue plan 12 +``` + +```bash +bixbott github pr review 18 +``` + +## `bixbott config` + +Quản lý cấu hình Bixbott. + +```bash +bixbott config +``` + +### Subcommands + +| Lệnh | Mục đích | +| --- | --- | +| `bixbott config get ` | Đọc một giá trị cấu hình | +| `bixbott config set ` | Ghi một giá trị cấu hình | +| `bixbott config list` | Liệt kê cấu hình hiện tại | +| `bixbott config reset` | Đặt lại cấu hình về mặc định | + +### Ví dụ + +```bash +bixbott config set defaultFramework next +``` + + +## `bixbott tasks` + +Quản lý tác vụ và nhiều tag cho từng tác vụ. + +```bash +bixbott tasks +``` + +### Subcommands + +| Lệnh | Mục đích | +| --- | --- | +| `bixbott tasks list --tag docs --tag area:api` | Lọc tác vụ theo nhiều tag | +| `bixbott tasks tag add ` | Thêm tag cho tác vụ | +| `bixbott tasks assign --to ` | Phân công tác vụ cho người hoặc agent | + +## `bixbott personnel` + +Quản lý tab nhân sự gồm thành viên, nhóm, agent và vai trò trong workspace. + +```bash +bixbott personnel +``` + +### Subcommands + +| Lệnh | Mục đích | +| --- | --- | +| `bixbott personnel list` | Liệt kê thành viên và agent | +| `bixbott personnel invite --role developer` | Mời thành viên mới | +| `bixbott personnel role set ` | Cập nhật vai trò | +| `bixbott personnel agent enable ` | Bật agent cho workspace | + +## `bixbott integrations` + +Quản lý các tích hợp như GitHub, deploy provider, observability và kênh thông báo. + +```bash +bixbott integrations +``` + +### Subcommands + +| Lệnh | Mục đích | +| --- | --- | +| `bixbott integrations list` | Liệt kê tích hợp và trạng thái | +| `bixbott integrations connect github` | Kết nối GitHub | +| `bixbott integrations disconnect ` | Ngắt kết nối tích hợp | +| `bixbott integrations doctor ` | Kiểm tra lỗi cấu hình tích hợp | + +## `bixbott skills` + +Liệt kê, bật/tắt và cấu hình skill cho agent hoặc workspace. + +```bash +bixbott skills +``` + +### Subcommands + +| Lệnh | Mục đích | +| --- | --- | +| `bixbott skills list` | Liệt kê skill có sẵn | +| `bixbott skills enable ` | Bật skill cho workspace | +| `bixbott skills disable ` | Tắt skill | +| `bixbott skills inspect ` | Xem metadata, quyền và tích hợp cần thiết | + +## `bixbott api-keys` + +Quản lý API key và ủy quyền khóa cho agent theo scope, skill và thời hạn. + +```bash +bixbott api-keys +``` + +### Subcommands + +| Lệnh | Mục đích | +| --- | --- | +| `bixbott api-keys create --scope ` | Tạo API key theo provider/scope | +| `bixbott api-keys rotate ` | Xoay vòng API key | +| `bixbott api-keys revoke ` | Thu hồi API key | +| `bixbott api-keys delegate --to --skill ` | Ủy quyền key cho agent/skill | + +## `bixbott doctor` + +Kiểm tra môi trường phát triển và phát hiện thiếu sót phổ biến. + +```bash +bixbott doctor +``` + +Các kiểm tra có thể bao gồm: + +- Phiên bản Node.js. +- Trình quản lý package. +- Git status. +- Cấu hình GitHub CLI/token. +- File môi trường cần thiết. +- Cấu hình framework/deploy provider. + +## Quy trình đề xuất cho người mới + +1. Chạy `bixbott doctor` để kiểm tra môi trường. +2. Chạy `bixbott init` để cấu hình dự án. +3. Dùng `bixbott build --plan-only` để xem kế hoạch trước khi sửa code. +4. Dùng `bixbott review --staged` trước khi commit. +5. Dùng `bixbott github pr summarize` để chuẩn bị mô tả pull request. + +## Gợi ý tách trang tiếp theo + +Sau trang tổng quan này, nên tách dần thành các trang: + +- `docs/commands/init.md` +- `docs/commands/build.md` +- `docs/commands/review.md` +- `docs/commands/fix.md` +- `docs/commands/scaffold.md` +- `docs/commands/deploy.md` +- `docs/commands/github.md` +- `docs/commands/config.md` +- `docs/commands/doctor.md` +- `docs/workspace-design.md` +- `docs/integrations-skills-api-keys.md` diff --git a/docs/integrations-skills-api-keys.md b/docs/integrations-skills-api-keys.md new file mode 100644 index 0000000..389cbe2 --- /dev/null +++ b/docs/integrations-skills-api-keys.md @@ -0,0 +1,112 @@ +# Tích hợp, Skill và ủy quyền API key + +Trang này bổ sung tài liệu cho ba mảng nền tảng của Bixbott: **trang tích hợp**, **skill** và **ủy quyền API key**. Mục tiêu là giúp workspace kết nối dịch vụ ngoài một cách an toàn, đồng thời cho phép agent dùng đúng năng lực trong đúng phạm vi. + +> Trạng thái: bản thiết kế tài liệu. Dùng làm cơ sở cho UI, CLI và API sau này. + +## Trang tích hợp + +Trang tích hợp là nơi cấu hình các kết nối giữa Bixbott và hệ sinh thái phát triển. + +### Nhóm tích hợp đề xuất + +| Nhóm | Ví dụ | Dữ liệu/quyền cần thiết | +| --- | --- | --- | +| Source control | GitHub, GitLab | Repository, issue, pull request, commit status | +| Deploy | Vercel, Netlify, Cloudflare | Project, environment, preview deployment | +| Observability | Sentry, Datadog, OpenTelemetry | Error, trace, release marker | +| Communication | Slack, Discord, Email | Notification, approval request | +| AI provider | OpenAI-compatible provider | Model, usage, API key scope | + +### Trạng thái tích hợp + +| Trạng thái | Ý nghĩa | +| --- | --- | +| `connected` | Kết nối hoạt động bình thường | +| `needs_action` | Cần cấp lại quyền, refresh token hoặc cấu hình thiếu | +| `disabled` | Tích hợp bị tắt thủ công | +| `error` | Kết nối lỗi và cần kiểm tra log | + +## Skill + +Skill là đơn vị năng lực có thể gán cho agent hoặc workspace để xử lý các nhóm tác vụ cụ thể. + +### Metadata skill + +```yaml +name: docs-writer +description: Tạo và cập nhật tài liệu kỹ thuật cho repository. +version: 0.1.0 +capabilities: + - docs.generate + - docs.review + - markdown.edit +required_integrations: + - github +allowed_tags: + - docs + - area:docs +``` + +### Vòng đời skill + +1. **Khám phá**: Workspace liệt kê skill có sẵn hoặc được cài từ registry nội bộ. +2. **Cài đặt**: Owner/Maintainer bật skill cho workspace. +3. **Cấu hình**: Chọn repo, tag, agent và giới hạn quyền. +4. **Sử dụng**: Agent chỉ dùng skill khi tác vụ phù hợp với tag/quyền. +5. **Kiểm toán**: Ghi log lần dùng skill, input chính và output quan trọng. + +## Ủy quyền API key + +API key không nên được chia sẻ trực tiếp cho mọi agent. Bixbott nên dùng cơ chế ủy quyền theo phạm vi để giảm rủi ro lộ khóa. + +### Nguyên tắc bảo mật + +- Chỉ cấp quyền tối thiểu cần thiết cho từng tác vụ hoặc skill. +- Không hiển thị lại secret sau khi tạo. +- Hỗ trợ xoay vòng, thu hồi và hết hạn tự động. +- Ghi audit log cho mọi lần agent truy cập secret hoặc gọi provider. +- Tách API key theo môi trường: `development`, `preview`, `production`. + +### Scope đề xuất + +| Scope | Mục đích | +| --- | --- | +| `repo:read` | Đọc repository và metadata | +| `repo:write` | Tạo branch, commit, pull request | +| `issue:write` | Tạo/cập nhật issue và comment | +| `deploy:preview` | Tạo preview deployment | +| `secret:read:delegated` | Cho agent đọc secret đã được ủy quyền | +| `model:invoke` | Gọi AI provider theo quota workspace | + +### Mẫu cấu hình ủy quyền + +```json +{ + "apiKeyId": "key_openai_workspace", + "delegatedTo": "agent_docs", + "scopes": ["model:invoke", "repo:read"], + "expiresAt": "2026-07-01T00:00:00Z", + "allowedSkills": ["docs-writer"], + "allowedTags": ["docs", "area:docs"] +} +``` + +## CLI dự kiến + +```bash +bixbott integrations list +bixbott integrations connect github +bixbott skills list +bixbott skills enable docs-writer --workspace current +bixbott api-keys create openai --scope model:invoke --env preview +bixbott api-keys delegate key_openai_workspace --to agent_docs --skill docs-writer --expires 14d +``` + +## Checklist triển khai + +- [ ] Trang tích hợp có bộ lọc theo nhóm và trạng thái. +- [ ] Màn hình chi tiết tích hợp hiển thị quyền đã cấp và log đồng bộ. +- [ ] Skill registry hiển thị metadata, version và quyền yêu cầu. +- [ ] API key vault hỗ trợ tạo, xoay vòng, thu hồi và hết hạn. +- [ ] Cơ chế delegation bắt buộc scope, thời hạn và audit log. diff --git a/docs/workspace-design.md b/docs/workspace-design.md new file mode 100644 index 0000000..d1bd644 --- /dev/null +++ b/docs/workspace-design.md @@ -0,0 +1,82 @@ +# Thiết kế Workspace: Tag tác vụ và tab nhân sự + +Tài liệu này mô tả thiết kế nền tảng cho trải nghiệm quản lý công việc trong Bixbott Workspace, tập trung vào **nhiều tag tác vụ** và **tab nhân sự** để điều phối agent, thành viên và quyền truy cập. + +> Trạng thái: bản thiết kế sản phẩm. Các tên trường và endpoint có thể được tinh chỉnh khi triển khai UI/API chính thức. + +## Mục tiêu + +- Cho phép một tác vụ có nhiều tag để lọc, ưu tiên và phân tuyến cho agent phù hợp. +- Tách tab nhân sự thành nơi quản lý thành viên, vai trò, agent được gán và quyền API key. +- Chuẩn hóa metadata để đồng bộ giữa CLI, web app, GitHub issue/PR và automation. + +## Tag tác vụ + +Mỗi tác vụ có thể gắn nhiều tag theo nhóm ngữ nghĩa khác nhau. + +| Nhóm tag | Ví dụ | Mục đích | +| --- | --- | --- | +| Loại việc | `feature`, `bug`, `docs`, `refactor`, `test` | Xác định bản chất công việc | +| Độ ưu tiên | `priority:high`, `priority:medium`, `priority:low` | Sắp xếp backlog và SLA | +| Khu vực | `area:web`, `area:api`, `area:agent`, `area:docs` | Lọc theo module hoặc package | +| Kỹ năng | `skill:frontend`, `skill:security`, `skill:devops` | Gợi ý agent/thành viên phù hợp | +| Trạng thái phụ | `blocked`, `needs-review`, `ready-to-ship` | Bổ sung trạng thái workflow | + +### Quy tắc đề xuất + +1. Một tác vụ nên có ít nhất một tag loại việc và một tag khu vực. +2. Tag ưu tiên chỉ nên có một giá trị tại một thời điểm. +3. Tag kỹ năng có thể có nhiều giá trị để hỗ trợ phân công cho nhiều agent. +4. Tag đồng bộ từ GitHub label nên giữ nguyên tên khi có thể để tránh mất ngữ cảnh. + +### Mô hình dữ liệu gợi ý + +```json +{ + "id": "task_123", + "title": "Add API key delegation page", + "tags": ["feature", "area:docs", "skill:security", "priority:high"], + "assignees": ["user_001", "agent_docs"], + "status": "in_progress" +} +``` + +## Tab nhân sự + +Tab nhân sự tập trung vào các đối tượng có thể tham gia xử lý công việc: người dùng, nhóm và agent. + +### Thành phần chính + +| Khu vực | Nội dung | +| --- | --- | +| Danh sách thành viên | Tên, email, vai trò, trạng thái hoạt động | +| Nhóm/chuyên môn | Frontend, Backend, Docs, Security, DevOps | +| Agent được bật | Agent coding, review, docs, deploy | +| Quyền truy cập | Repository, workspace, môi trường, API key | +| Lịch sử phân công | Tác vụ đã nhận, PR liên quan, lần hoạt động gần nhất | + +### Vai trò mặc định + +| Vai trò | Quyền đề xuất | +| --- | --- | +| Owner | Quản lý workspace, billing, API key, thành viên | +| Maintainer | Quản lý repo, merge PR, cấu hình agent | +| Developer | Nhận/giao tác vụ, tạo branch, mở PR | +| Reviewer | Review code, yêu cầu thay đổi, phê duyệt | +| Viewer | Chỉ xem dashboard, docs và trạng thái tác vụ | + +## Luồng phân công tác vụ + +1. Người dùng tạo tác vụ hoặc đồng bộ từ GitHub issue. +2. Bixbott phân tích nội dung và đề xuất tag. +3. Workspace gợi ý người hoặc agent dựa trên tag kỹ năng/khu vực. +4. Maintainer xác nhận assignee trong tab nhân sự hoặc từ màn hình tác vụ. +5. Agent cập nhật trạng thái, PR và kết quả review về tác vụ. + +## Checklist triển khai UI + +- [ ] Bộ lọc multi-select cho tag tác vụ. +- [ ] Trang quản trị tag cho phép tạo, đổi màu, gộp và vô hiệu hóa tag. +- [ ] Tab nhân sự có bảng thành viên và agent. +- [ ] Drawer chi tiết nhân sự hiển thị quyền, tác vụ và API key được ủy quyền. +- [ ] Đồng bộ GitHub label hai chiều với tag tác vụ. diff --git a/profile/README.md b/profile/README.md index 8c463a4..a674282 100644 --- a/profile/README.md +++ b/profile/README.md @@ -16,6 +16,9 @@ Nó kết hợp: - 🚀 Deployment Assistant - 📦 Project Scaffolding - 🔄 GitHub Integration +- 🏷️ Multi-tag Task Management +- 👥 Personnel & Agent Assignment +- 🔐 API Key Delegation Mục tiêu của Bixbott là trở thành một môi trường phát triển hiện đại tương tự Cursor, Windsurf và OpenCode nhưng tập trung vào khả năng Agent tự động xây dựng ứng dụng. @@ -54,6 +57,14 @@ Làm việc trực tiếp với: --- +## 📚 Tài liệu + +- [Bixbott Command Docs](../docs/commands.md) +- [Workspace Design: Tag tác vụ và tab nhân sự](../docs/workspace-design.md) +- [Tích hợp, Skill và ủy quyền API key](../docs/integrations-skills-api-keys.md) + +--- + ## 🛠️ Cài đặt ```bash