shipfast-mcp 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. shipfast_mcp-0.1.0/LICENSE +21 -0
  2. shipfast_mcp-0.1.0/PKG-INFO +179 -0
  3. shipfast_mcp-0.1.0/README.md +162 -0
  4. shipfast_mcp-0.1.0/pyproject.toml +42 -0
  5. shipfast_mcp-0.1.0/pyproject.toml.orig +37 -0
  6. shipfast_mcp-0.1.0/src/shipfast_mcp/__init__.py +8 -0
  7. shipfast_mcp-0.1.0/src/shipfast_mcp/knowledge/guide/evolve.md +29 -0
  8. shipfast_mcp-0.1.0/src/shipfast_mcp/knowledge/guide/organization.md +52 -0
  9. shipfast_mcp-0.1.0/src/shipfast_mcp/knowledge/guide/purpose.md +27 -0
  10. shipfast_mcp-0.1.0/src/shipfast_mcp/knowledge/guide/start.md +50 -0
  11. shipfast_mcp-0.1.0/src/shipfast_mcp/knowledge/project/CLAUDE.md +119 -0
  12. shipfast_mcp-0.1.0/src/shipfast_mcp/knowledge/project/docs/00_analysis/README.md +20 -0
  13. shipfast_mcp-0.1.0/src/shipfast_mcp/knowledge/project/docs/01_design/README.md +6 -0
  14. shipfast_mcp-0.1.0/src/shipfast_mcp/knowledge/project/docs/02_build/CONTRACTS.md +41 -0
  15. shipfast_mcp-0.1.0/src/shipfast_mcp/knowledge/project/docs/03_release/OPERATIONS.md +13 -0
  16. shipfast_mcp-0.1.0/src/shipfast_mcp/knowledge/project/docs/03_release/README.md +33 -0
  17. shipfast_mcp-0.1.0/src/shipfast_mcp/knowledge/project/docs/03_release/RELEASE-NOTES.md +4 -0
  18. shipfast_mcp-0.1.0/src/shipfast_mcp/knowledge/project/docs/04_waves/BACKLOG.md +16 -0
  19. shipfast_mcp-0.1.0/src/shipfast_mcp/knowledge/project/docs/04_waves/README.md +137 -0
  20. shipfast_mcp-0.1.0/src/shipfast_mcp/knowledge/project/docs/04_waves/W01/1-discussion.md +98 -0
  21. shipfast_mcp-0.1.0/src/shipfast_mcp/knowledge/project/docs/04_waves/W01/README.md +29 -0
  22. shipfast_mcp-0.1.0/src/shipfast_mcp/knowledge/project/docs/04_waves/WAVES.md +13 -0
  23. shipfast_mcp-0.1.0/src/shipfast_mcp/knowledge/project/docs/04_waves/_template/1-discussion.md +29 -0
  24. shipfast_mcp-0.1.0/src/shipfast_mcp/knowledge/project/docs/04_waves/_template/2-scope.md +33 -0
  25. shipfast_mcp-0.1.0/src/shipfast_mcp/knowledge/project/docs/04_waves/_template/3-build.md +28 -0
  26. shipfast_mcp-0.1.0/src/shipfast_mcp/knowledge/project/docs/04_waves/_template/4-cleanup.md +73 -0
  27. shipfast_mcp-0.1.0/src/shipfast_mcp/knowledge/project/docs/04_waves/_template/5-acceptance.md +46 -0
  28. shipfast_mcp-0.1.0/src/shipfast_mcp/knowledge/project/docs/04_waves/_template/README.md +29 -0
  29. shipfast_mcp-0.1.0/src/shipfast_mcp/knowledge/project/docs/04_waves/_template/debate-r1.md +33 -0
  30. shipfast_mcp-0.1.0/src/shipfast_mcp/knowledge/project/docs/04_waves/_template/debate-r2.md +25 -0
  31. shipfast_mcp-0.1.0/src/shipfast_mcp/knowledge/project/docs/05_decisions/QT-001-adopt-shipfast.md +23 -0
  32. shipfast_mcp-0.1.0/src/shipfast_mcp/knowledge/project/docs/05_decisions/README.md +21 -0
  33. shipfast_mcp-0.1.0/src/shipfast_mcp/knowledge/project/docs/05_decisions/_template.md +29 -0
  34. shipfast_mcp-0.1.0/src/shipfast_mcp/knowledge/project/docs/GLOSSARY.md +6 -0
  35. shipfast_mcp-0.1.0/src/shipfast_mcp/knowledge/project/docs/ORGANIZATION.md +199 -0
  36. shipfast_mcp-0.1.0/src/shipfast_mcp/knowledge/project/docs/README.md +18 -0
  37. shipfast_mcp-0.1.0/src/shipfast_mcp/knowledge/project/docs/technical/README.md +8 -0
  38. shipfast_mcp-0.1.0/src/shipfast_mcp/knowledge/project/gitignore.append +3 -0
  39. shipfast_mcp-0.1.0/src/shipfast_mcp/knowledge/project/reports/README.md +13 -0
  40. shipfast_mcp-0.1.0/src/shipfast_mcp/knowledge/skills/shipfast-adopt/SKILL.md +27 -0
  41. shipfast_mcp-0.1.0/src/shipfast_mcp/knowledge/skills/shipfast-debate/SKILL.md +35 -0
  42. shipfast_mcp-0.1.0/src/shipfast_mcp/knowledge/skills/shipfast-init/SKILL.md +48 -0
  43. shipfast_mcp-0.1.0/src/shipfast_mcp/knowledge/skills/shipfast-process/SKILL.md +40 -0
  44. shipfast_mcp-0.1.0/src/shipfast_mcp/knowledge/skills/shipfast-upgrade/SKILL.md +27 -0
  45. shipfast_mcp-0.1.0/src/shipfast_mcp/knowledge/skills/shipfast-wave/SKILL.md +51 -0
  46. shipfast_mcp-0.1.0/src/shipfast_mcp/project.py +360 -0
  47. shipfast_mcp-0.1.0/src/shipfast_mcp/py.typed +0 -0
  48. shipfast_mcp-0.1.0/src/shipfast_mcp/scaffold.py +253 -0
  49. shipfast_mcp-0.1.0/src/shipfast_mcp/server.py +173 -0
  50. shipfast_mcp-0.1.0/src/shipfast_mcp/templates.py +122 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 QuocTang
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,179 @@
1
+ Metadata-Version: 2.4
2
+ Name: shipfast-mcp
3
+ Version: 0.1.0
4
+ Summary: MCP server phân phối quy trình làm việc theo đợt giữa PO và AI (Điều hành, agent con), dùng được cho mọi stack.
5
+ Keywords: mcp,model-context-protocol,ai-agent,workflow,claude-code,skills
6
+ Author: QuocTang
7
+ License-Expression: MIT
8
+ License-File: LICENSE
9
+ Classifier: Programming Language :: Python :: 3
10
+ Classifier: Operating System :: OS Independent
11
+ Classifier: Topic :: Software Development
12
+ Requires-Dist: fastmcp>=4.1,<5
13
+ Requires-Python: >=3.12
14
+ Project-URL: Repository, https://github.com/QuocTang/shipfast-mcp
15
+ Project-URL: Issues, https://github.com/QuocTang/shipfast-mcp/issues
16
+ Description-Content-Type: text/markdown
17
+
18
+ # 🚢 shipfast-mcp
19
+
20
+ <!-- mcp-name: io.github.QuocTang/shipfast-mcp -->
21
+
22
+ **Quy trình làm việc theo đợt giữa người và AI, cài bằng một dòng MCP.** AI làm Điều hành: đề xuất, phản biện, giữ hồ sơ, điều phối agent con. Người làm PO: chốt và nghiệm thu. Dùng được cho mọi stack.
23
+
24
+ [![CI](https://github.com/QuocTang/shipfast-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/QuocTang/shipfast-mcp/actions/workflows/ci.yml)
25
+ [![PyPI](https://img.shields.io/pypi/v/shipfast-mcp.svg)](https://pypi.org/project/shipfast-mcp/)
26
+ [![Python](https://img.shields.io/badge/python-3.12%2B-blue.svg)](https://www.python.org/)
27
+ [![MCP](https://img.shields.io/badge/MCP-2026--07--28-8A2BE2.svg)](https://modelcontextprotocol.io/specification/2026-07-28)
28
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
29
+
30
+ > A Model Context Protocol server that ships a wave-based PO ↔ AI working process (propose, critique, decide, build, verify) to any stack, with three-way-merge upgrades so projects never diff against a template repo by hand.
31
+
32
+ ## Table of Contents
33
+
34
+ - [🚀 Quick Start](#quick-start)
35
+ - [🛠️ Installation](#installation)
36
+ - [📦 Features](#features)
37
+ - [🤝 How to Contribute](#how-to-contribute)
38
+ - [💬 Community & Support](#community--support)
39
+ - [👥 Repo Contributors](#repo-contributors)
40
+ - [⚖️ License](#license)
41
+ - [🌟 Star History](#star-history)
42
+
43
+ ---
44
+
45
+ ## Quick Start
46
+
47
+ Cần [uv](https://docs.astral.sh/uv/). Trong Claude Code:
48
+
49
+ ```text
50
+ /plugin install shipfast --marketplace QuocTang/shipfast-mcp
51
+ ```
52
+
53
+ Mở repo cần làm, gọi điểm vào phù hợp:
54
+
55
+ | Tình huống | Gọi | Kết quả |
56
+ |---|---|---|
57
+ | Repo mới, chưa có code | `/mcp__shipfast__init` | Đợt W01: AI hỏi về sản phẩm, đề xuất và phản biện 2–3 phương án stack, PO chốt; dựng khung tài liệu, khung code chạy được, nghiệm thu |
58
+ | Dự án đang chạy | `/mcp__shipfast__adopt` | AI khảo sát cái đang có, lập bảng đối chiếu; khung được thêm mà không phá tài liệu, quyết định sẵn có |
59
+ | Đã dùng shipfast | Hỏi "đang tới đâu" | Skill trong dự án tự kích hoạt, AI gọi `status` và làm tiếp |
60
+
61
+ Sau đó làm việc như với một trưởng nhóm: nêu yêu cầu, trả lời theo mã ("W02-03: A"), nói **"chốt"** khi đồng ý phạm vi.
62
+
63
+ ## Installation
64
+
65
+ | Công cụ | Cách cài |
66
+ |---|---|
67
+ | Claude Code (plugin) | `/plugin install shipfast --marketplace QuocTang/shipfast-mcp` |
68
+ | Claude Code (MCP) | `claude mcp add shipfast -- uvx shipfast-mcp` |
69
+ | Cursor, VS Code, Codex và client MCP khác | Server stdio, lệnh `uvx`, tham số `shipfast-mcp` |
70
+
71
+ Cấu hình dạng JSON cho client đọc `mcpServers`:
72
+
73
+ ```json
74
+ {
75
+ "mcpServers": {
76
+ "shipfast": { "command": "uvx", "args": ["shipfast-mcp"] }
77
+ }
78
+ }
79
+ ```
80
+
81
+ Ghim phiên bản: `uvx shipfast-mcp@0.1.0`.
82
+
83
+ ## Features
84
+
85
+ ### Vấn đề và cách giải
86
+
87
+ | Khi làm việc với AI không có quy trình | shipfast |
88
+ |---|---|
89
+ | AI viết code khi chưa hiểu đúng yêu cầu | 🛑 Không code trước khi PO chốt phạm vi |
90
+ | AI chiều theo mọi yêu cầu | 🥊 Điều hành phản biện cả đề xuất của mình; 7 vai phản biện tranh luận độc lập rồi phản biện chéo |
91
+ | Quyết định rải rác trong chat và comment | 📒 Sổ quyết định một chỗ (`SP`, `KT`, `QT`), code chỉ trỏ mã |
92
+ | Phiên mới quên bối cảnh | 💾 Trạng thái nằm trong file; tool `status` cho biết đang tới đâu |
93
+ | Phạm vi phình dần | 📥 Việc mới vào backlog, đổi phạm vi qua CR |
94
+ | "Xong" nhưng chưa chạy thật | ✅ Cổng kiểm chứng phải chạy thật; QA độc lập nghiệm thu |
95
+ | Chép template rồi lệch dần, cập nhật phải so tay với repo gốc | 🔀 Nâng cấp gộp ba phía tự động, không cần repo gốc |
96
+
97
+ ### Vòng đời một đợt
98
+
99
+ ```text
100
+ 📥 Gom việc → 🗣️ Thảo luận → ✅ Chốt → 🔨 Thi công → 🧹 Dọn dẹp → 🧪 Nghiệm thu → 🚀 Phát hành, rút kinh nghiệm, đóng
101
+ ```
102
+
103
+ | Chế độ chốt | Khi nào |
104
+ |---|---|
105
+ | PO chốt | Mặc định |
106
+ | Chốt thẳng | Đợt nhỏ, yêu cầu đã rõ |
107
+ | Uỷ quyền | Đã có từ hai bộ phận; Chủ toạ phán quyết theo tiêu chí PO đặt |
108
+
109
+ ### Thành phần MCP
110
+
111
+ | Loại | Tên | Việc |
112
+ |---|---|---|
113
+ | 🔧 Tool | `scaffold_project` | Dựng `CLAUDE.md`, `docs/` (đợt, backlog, sổ quyết định, tổ chức) và skill `.claude/skills/shipfast-*`; chạy thử trước, không ghi đè |
114
+ | 🔧 Tool | `upgrade` | Nâng khung lên phiên bản mới bằng gộp ba phía |
115
+ | 🔧 Tool | `status`, `check` | Đợt nào đang chạy, chờ PO điều gì; hồ sơ có lệch không |
116
+ | 🔧 Tool | `open_wave`, `new_decision`, `next_code` | Mở đợt, ghi quyết định, cấp mã không trùng |
117
+ | 🔧 Tool | `read_guide` | Tài liệu hướng dẫn cho người |
118
+ | 💬 Prompt | `init`, `adopt`, `upgrade` | Điểm vào |
119
+ | 📚 Resource | `skill://shipfast-*/SKILL.md` | 6 skill: luật nền, khởi tạo, áp dụng, chạy đợt, tranh luận, nâng cấp |
120
+ | 📚 Resource | `shipfast://guide/*` | Bắt đầu, tổ chức, ý nghĩa, phát triển và nâng cấp |
121
+
122
+ ### Nâng cấp không cần repo gốc
123
+
124
+ Dự án giữ `.shipfast/manifest.json` và `.shipfast/base/` (bản khung lần trước). `upgrade` so ba bản: bản gốc, bản dự án, bản mới.
125
+
126
+ | Trường hợp | Kết quả |
127
+ |---|---|
128
+ | Dự án chưa sửa file | Thay bằng bản mới |
129
+ | Hai bên sửa khác chỗ | Gộp tự động |
130
+ | Hai bên sửa cùng chỗ | File thật giữ nguyên; bản gộp có dấu xung đột ở `.shipfast/pending/` để duyệt |
131
+ | Bảng đợt, backlog, sổ quyết định | Không bao giờ bị đụng |
132
+
133
+ ### Hướng dẫn
134
+
135
+ | Bài | File |
136
+ |---|---|
137
+ | Bắt đầu từ đâu | [`start.md`](src/shipfast_mcp/knowledge/guide/start.md) |
138
+ | Tổ chức ra sao | [`organization.md`](src/shipfast_mcp/knowledge/guide/organization.md) |
139
+ | Ý nghĩa và mục đích | [`purpose.md`](src/shipfast_mcp/knowledge/guide/purpose.md) |
140
+ | Phát triển tiếp và nâng cấp | [`evolve.md`](src/shipfast_mcp/knowledge/guide/evolve.md) |
141
+
142
+ ## How to Contribute
143
+
144
+ Đóng góp được hoan nghênh, nhất là cách làm đã chạy thật ở dự án của bạn và dùng được cho mọi stack.
145
+
146
+ 1. **Fork** repository.
147
+ 2. **Tạo nhánh mới** cho thay đổi.
148
+ 3. **Gửi Pull Request**: mô tả vấn đề gặp phải, cách làm, bằng chứng từ dự án thật.
149
+
150
+ Phát triển tại máy:
151
+
152
+ ```bash
153
+ uv sync
154
+ uv run pytest
155
+ uv run shipfast-mcp
156
+ ```
157
+
158
+ Kho tri thức nằm ở `src/shipfast_mcp/knowledge/`: `project/` (khung dựng vào dự án), `skills/`, `guide/`. Quyết định thiết kế: [`docs/decisions/README.md`](docs/decisions/README.md).
159
+
160
+ ## Community & Support
161
+
162
+ - Báo lỗi, đề xuất: [GitHub Issues](https://github.com/QuocTang/shipfast-mcp/issues).
163
+ - Nếu repository giúp bạn tiết kiệm thời gian, hãy để lại một ⭐.
164
+
165
+ ## Repo Contributors
166
+
167
+ <a href="https://github.com/QuocTang/shipfast-mcp/graphs/contributors">
168
+ <img src="https://contrib.rocks/image?repo=QuocTang/shipfast-mcp" alt="Repository contributors" />
169
+ </a>
170
+
171
+ Made with [contrib.rocks](https://contrib.rocks).
172
+
173
+ ## License
174
+
175
+ MIT License. See [LICENSE](LICENSE) for details.
176
+
177
+ ## Star History
178
+
179
+ [![Star History Chart](https://api.star-history.com/svg?repos=QuocTang/shipfast-mcp&type=Date)](https://star-history.com/#QuocTang/shipfast-mcp&Date)
@@ -0,0 +1,162 @@
1
+ # 🚢 shipfast-mcp
2
+
3
+ <!-- mcp-name: io.github.QuocTang/shipfast-mcp -->
4
+
5
+ **Quy trình làm việc theo đợt giữa người và AI, cài bằng một dòng MCP.** AI làm Điều hành: đề xuất, phản biện, giữ hồ sơ, điều phối agent con. Người làm PO: chốt và nghiệm thu. Dùng được cho mọi stack.
6
+
7
+ [![CI](https://github.com/QuocTang/shipfast-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/QuocTang/shipfast-mcp/actions/workflows/ci.yml)
8
+ [![PyPI](https://img.shields.io/pypi/v/shipfast-mcp.svg)](https://pypi.org/project/shipfast-mcp/)
9
+ [![Python](https://img.shields.io/badge/python-3.12%2B-blue.svg)](https://www.python.org/)
10
+ [![MCP](https://img.shields.io/badge/MCP-2026--07--28-8A2BE2.svg)](https://modelcontextprotocol.io/specification/2026-07-28)
11
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
12
+
13
+ > A Model Context Protocol server that ships a wave-based PO ↔ AI working process (propose, critique, decide, build, verify) to any stack, with three-way-merge upgrades so projects never diff against a template repo by hand.
14
+
15
+ ## Table of Contents
16
+
17
+ - [🚀 Quick Start](#quick-start)
18
+ - [🛠️ Installation](#installation)
19
+ - [📦 Features](#features)
20
+ - [🤝 How to Contribute](#how-to-contribute)
21
+ - [💬 Community & Support](#community--support)
22
+ - [👥 Repo Contributors](#repo-contributors)
23
+ - [⚖️ License](#license)
24
+ - [🌟 Star History](#star-history)
25
+
26
+ ---
27
+
28
+ ## Quick Start
29
+
30
+ Cần [uv](https://docs.astral.sh/uv/). Trong Claude Code:
31
+
32
+ ```text
33
+ /plugin install shipfast --marketplace QuocTang/shipfast-mcp
34
+ ```
35
+
36
+ Mở repo cần làm, gọi điểm vào phù hợp:
37
+
38
+ | Tình huống | Gọi | Kết quả |
39
+ |---|---|---|
40
+ | Repo mới, chưa có code | `/mcp__shipfast__init` | Đợt W01: AI hỏi về sản phẩm, đề xuất và phản biện 2–3 phương án stack, PO chốt; dựng khung tài liệu, khung code chạy được, nghiệm thu |
41
+ | Dự án đang chạy | `/mcp__shipfast__adopt` | AI khảo sát cái đang có, lập bảng đối chiếu; khung được thêm mà không phá tài liệu, quyết định sẵn có |
42
+ | Đã dùng shipfast | Hỏi "đang tới đâu" | Skill trong dự án tự kích hoạt, AI gọi `status` và làm tiếp |
43
+
44
+ Sau đó làm việc như với một trưởng nhóm: nêu yêu cầu, trả lời theo mã ("W02-03: A"), nói **"chốt"** khi đồng ý phạm vi.
45
+
46
+ ## Installation
47
+
48
+ | Công cụ | Cách cài |
49
+ |---|---|
50
+ | Claude Code (plugin) | `/plugin install shipfast --marketplace QuocTang/shipfast-mcp` |
51
+ | Claude Code (MCP) | `claude mcp add shipfast -- uvx shipfast-mcp` |
52
+ | Cursor, VS Code, Codex và client MCP khác | Server stdio, lệnh `uvx`, tham số `shipfast-mcp` |
53
+
54
+ Cấu hình dạng JSON cho client đọc `mcpServers`:
55
+
56
+ ```json
57
+ {
58
+ "mcpServers": {
59
+ "shipfast": { "command": "uvx", "args": ["shipfast-mcp"] }
60
+ }
61
+ }
62
+ ```
63
+
64
+ Ghim phiên bản: `uvx shipfast-mcp@0.1.0`.
65
+
66
+ ## Features
67
+
68
+ ### Vấn đề và cách giải
69
+
70
+ | Khi làm việc với AI không có quy trình | shipfast |
71
+ |---|---|
72
+ | AI viết code khi chưa hiểu đúng yêu cầu | 🛑 Không code trước khi PO chốt phạm vi |
73
+ | AI chiều theo mọi yêu cầu | 🥊 Điều hành phản biện cả đề xuất của mình; 7 vai phản biện tranh luận độc lập rồi phản biện chéo |
74
+ | Quyết định rải rác trong chat và comment | 📒 Sổ quyết định một chỗ (`SP`, `KT`, `QT`), code chỉ trỏ mã |
75
+ | Phiên mới quên bối cảnh | 💾 Trạng thái nằm trong file; tool `status` cho biết đang tới đâu |
76
+ | Phạm vi phình dần | 📥 Việc mới vào backlog, đổi phạm vi qua CR |
77
+ | "Xong" nhưng chưa chạy thật | ✅ Cổng kiểm chứng phải chạy thật; QA độc lập nghiệm thu |
78
+ | Chép template rồi lệch dần, cập nhật phải so tay với repo gốc | 🔀 Nâng cấp gộp ba phía tự động, không cần repo gốc |
79
+
80
+ ### Vòng đời một đợt
81
+
82
+ ```text
83
+ 📥 Gom việc → 🗣️ Thảo luận → ✅ Chốt → 🔨 Thi công → 🧹 Dọn dẹp → 🧪 Nghiệm thu → 🚀 Phát hành, rút kinh nghiệm, đóng
84
+ ```
85
+
86
+ | Chế độ chốt | Khi nào |
87
+ |---|---|
88
+ | PO chốt | Mặc định |
89
+ | Chốt thẳng | Đợt nhỏ, yêu cầu đã rõ |
90
+ | Uỷ quyền | Đã có từ hai bộ phận; Chủ toạ phán quyết theo tiêu chí PO đặt |
91
+
92
+ ### Thành phần MCP
93
+
94
+ | Loại | Tên | Việc |
95
+ |---|---|---|
96
+ | 🔧 Tool | `scaffold_project` | Dựng `CLAUDE.md`, `docs/` (đợt, backlog, sổ quyết định, tổ chức) và skill `.claude/skills/shipfast-*`; chạy thử trước, không ghi đè |
97
+ | 🔧 Tool | `upgrade` | Nâng khung lên phiên bản mới bằng gộp ba phía |
98
+ | 🔧 Tool | `status`, `check` | Đợt nào đang chạy, chờ PO điều gì; hồ sơ có lệch không |
99
+ | 🔧 Tool | `open_wave`, `new_decision`, `next_code` | Mở đợt, ghi quyết định, cấp mã không trùng |
100
+ | 🔧 Tool | `read_guide` | Tài liệu hướng dẫn cho người |
101
+ | 💬 Prompt | `init`, `adopt`, `upgrade` | Điểm vào |
102
+ | 📚 Resource | `skill://shipfast-*/SKILL.md` | 6 skill: luật nền, khởi tạo, áp dụng, chạy đợt, tranh luận, nâng cấp |
103
+ | 📚 Resource | `shipfast://guide/*` | Bắt đầu, tổ chức, ý nghĩa, phát triển và nâng cấp |
104
+
105
+ ### Nâng cấp không cần repo gốc
106
+
107
+ Dự án giữ `.shipfast/manifest.json` và `.shipfast/base/` (bản khung lần trước). `upgrade` so ba bản: bản gốc, bản dự án, bản mới.
108
+
109
+ | Trường hợp | Kết quả |
110
+ |---|---|
111
+ | Dự án chưa sửa file | Thay bằng bản mới |
112
+ | Hai bên sửa khác chỗ | Gộp tự động |
113
+ | Hai bên sửa cùng chỗ | File thật giữ nguyên; bản gộp có dấu xung đột ở `.shipfast/pending/` để duyệt |
114
+ | Bảng đợt, backlog, sổ quyết định | Không bao giờ bị đụng |
115
+
116
+ ### Hướng dẫn
117
+
118
+ | Bài | File |
119
+ |---|---|
120
+ | Bắt đầu từ đâu | [`start.md`](src/shipfast_mcp/knowledge/guide/start.md) |
121
+ | Tổ chức ra sao | [`organization.md`](src/shipfast_mcp/knowledge/guide/organization.md) |
122
+ | Ý nghĩa và mục đích | [`purpose.md`](src/shipfast_mcp/knowledge/guide/purpose.md) |
123
+ | Phát triển tiếp và nâng cấp | [`evolve.md`](src/shipfast_mcp/knowledge/guide/evolve.md) |
124
+
125
+ ## How to Contribute
126
+
127
+ Đóng góp được hoan nghênh, nhất là cách làm đã chạy thật ở dự án của bạn và dùng được cho mọi stack.
128
+
129
+ 1. **Fork** repository.
130
+ 2. **Tạo nhánh mới** cho thay đổi.
131
+ 3. **Gửi Pull Request**: mô tả vấn đề gặp phải, cách làm, bằng chứng từ dự án thật.
132
+
133
+ Phát triển tại máy:
134
+
135
+ ```bash
136
+ uv sync
137
+ uv run pytest
138
+ uv run shipfast-mcp
139
+ ```
140
+
141
+ Kho tri thức nằm ở `src/shipfast_mcp/knowledge/`: `project/` (khung dựng vào dự án), `skills/`, `guide/`. Quyết định thiết kế: [`docs/decisions/README.md`](docs/decisions/README.md).
142
+
143
+ ## Community & Support
144
+
145
+ - Báo lỗi, đề xuất: [GitHub Issues](https://github.com/QuocTang/shipfast-mcp/issues).
146
+ - Nếu repository giúp bạn tiết kiệm thời gian, hãy để lại một ⭐.
147
+
148
+ ## Repo Contributors
149
+
150
+ <a href="https://github.com/QuocTang/shipfast-mcp/graphs/contributors">
151
+ <img src="https://contrib.rocks/image?repo=QuocTang/shipfast-mcp" alt="Repository contributors" />
152
+ </a>
153
+
154
+ Made with [contrib.rocks](https://contrib.rocks).
155
+
156
+ ## License
157
+
158
+ MIT License. See [LICENSE](LICENSE) for details.
159
+
160
+ ## Star History
161
+
162
+ [![Star History Chart](https://api.star-history.com/svg?repos=QuocTang/shipfast-mcp&type=Date)](https://star-history.com/#QuocTang/shipfast-mcp&Date)
@@ -0,0 +1,42 @@
1
+ [project]
2
+ name = "shipfast-mcp"
3
+ version = "0.1.0"
4
+ description = "MCP server phân phối quy trình làm việc theo đợt giữa PO và AI (Điều hành, agent con), dùng được cho mọi stack."
5
+ readme = "README.md"
6
+ license = "MIT"
7
+ license-files = ["LICENSE"]
8
+ requires-python = ">=3.12"
9
+ keywords = [
10
+ "mcp",
11
+ "model-context-protocol",
12
+ "ai-agent",
13
+ "workflow",
14
+ "claude-code",
15
+ "skills",
16
+ ]
17
+ classifiers = [
18
+ "Programming Language :: Python :: 3",
19
+ "Operating System :: OS Independent",
20
+ "Topic :: Software Development",
21
+ ]
22
+ dependencies = ["fastmcp>=4.1,<5"]
23
+
24
+ [[project.authors]]
25
+ name = "QuocTang"
26
+
27
+ [project.urls]
28
+ Repository = "https://github.com/QuocTang/shipfast-mcp"
29
+ Issues = "https://github.com/QuocTang/shipfast-mcp/issues"
30
+
31
+ [project.scripts]
32
+ shipfast-mcp = "shipfast_mcp.server:main"
33
+
34
+ [build-system]
35
+ requires = ["uv_build>=0.11.21,<0.12.0"]
36
+ build-backend = "uv_build"
37
+
38
+ [dependency-groups]
39
+ dev = ["pytest>=9.1.1"]
40
+
41
+ [tool.pytest.ini_options]
42
+ testpaths = ["tests"]
@@ -0,0 +1,37 @@
1
+ [project]
2
+ name = "shipfast-mcp"
3
+ version = "0.1.0"
4
+ description = "MCP server phân phối quy trình làm việc theo đợt giữa PO và AI (Điều hành, agent con), dùng được cho mọi stack."
5
+ readme = "README.md"
6
+ license = "MIT"
7
+ license-files = ["LICENSE"]
8
+ authors = [{ name = "QuocTang" }]
9
+ requires-python = ">=3.12"
10
+ keywords = ["mcp", "model-context-protocol", "ai-agent", "workflow", "claude-code", "skills"]
11
+ classifiers = [
12
+ "Programming Language :: Python :: 3",
13
+ "Operating System :: OS Independent",
14
+ "Topic :: Software Development",
15
+ ]
16
+ dependencies = [
17
+ "fastmcp>=4.1,<5",
18
+ ]
19
+
20
+ [project.urls]
21
+ Repository = "https://github.com/QuocTang/shipfast-mcp"
22
+ Issues = "https://github.com/QuocTang/shipfast-mcp/issues"
23
+
24
+ [project.scripts]
25
+ shipfast-mcp = "shipfast_mcp.server:main"
26
+
27
+ [build-system]
28
+ requires = ["uv_build>=0.11.21,<0.12.0"]
29
+ build-backend = "uv_build"
30
+
31
+ [dependency-groups]
32
+ dev = [
33
+ "pytest>=9.1.1",
34
+ ]
35
+
36
+ [tool.pytest.ini_options]
37
+ testpaths = ["tests"]
@@ -0,0 +1,8 @@
1
+ """shipfast-mcp: quy trình làm việc PO, Điều hành, agent con, phân phối qua MCP."""
2
+
3
+ from importlib.metadata import PackageNotFoundError, version
4
+
5
+ try:
6
+ __version__ = version("shipfast-mcp")
7
+ except PackageNotFoundError:
8
+ __version__ = "0.0.0"
@@ -0,0 +1,29 @@
1
+ # Phát triển tiếp và nâng cấp
2
+
3
+ ## Trong một dự án
4
+
5
+ | Muốn | Làm |
6
+ |---|---|
7
+ | Đổi cách làm việc của dự án | Ghi `QT-nnn` (tool `new_decision`), sửa tài liệu tương ứng; PO chốt |
8
+ | Thêm quy chuẩn kỹ thuật | Thêm file vào `docs/technical/`, ghi vào mục lục của thư mục |
9
+ | Lập bộ phận | Theo `docs/ORGANIZATION.md` §6 khi một lĩnh vực có dòng việc riêng qua nhiều đợt |
10
+ | Chạy song song nhiều agent | Chia team theo vùng thư mục (`docs/ORGANIZATION.md` §4.1) trong `2-scope.md` |
11
+ | Giảm số lần phải chốt | Uỷ quyền (`docs/ORGANIZATION.md` §7) khi đã có từ hai bộ phận |
12
+ | Thêm vai phản biện riêng | Thêm dòng vào `docs/ORGANIZATION.md` §7.4 |
13
+
14
+ Sửa thoải mái các file khung trong dự án; khi nâng cấp, phần đã sửa được giữ và gộp với thay đổi mới.
15
+
16
+ ## Nâng cấp khung lên phiên bản shipfast mới
17
+
18
+ 1. `uvx` tự lấy bản mới nhất khi khởi động MCP (ghim phiên bản bằng `uvx shipfast-mcp@0.1.0` nếu cần).
19
+ 2. Tool `status` báo có bản mới. Gọi prompt `upgrade` hoặc nói "nâng cấp quy trình".
20
+ 3. Tool `upgrade` chạy thử trước, phân loại từng file:
21
+ - dự án chưa sửa → thay bằng bản mới;
22
+ - cả hai cùng sửa, không đụng nhau → gộp tự động;
23
+ - sửa cùng chỗ → bản gộp có đánh dấu xung đột ở `.shipfast/pending/`, file thật giữ nguyên, AI đề xuất cách hợp nhất để bạn duyệt;
24
+ - file dữ liệu của dự án (bảng đợt, backlog, sổ quyết định, thiết kế) không bao giờ bị đụng.
25
+ 4. Commit cả `.shipfast/` để người khác trong nhóm nâng cấp từ cùng một bản gốc.
26
+
27
+ ## Góp lại cho shipfast
28
+
29
+ Cách làm nào chạy tốt ở dự án của bạn và dùng được cho mọi stack thì mở issue hoặc pull request ở repo shipfast-mcp: mô tả vấn đề gặp phải, cách làm, bằng chứng từ dự án thật. Bản phát hành mới đến với mọi dự án qua `upgrade`.
@@ -0,0 +1,52 @@
1
+ # Tổ chức ra sao
2
+
3
+ ## Vai trò
4
+
5
+ | Vai | Ai | Làm gì | Không làm gì |
6
+ |---|---|---|---|
7
+ | PO | Người (bạn) | Quyết định, chốt phạm vi, duyệt, nghiệm thu | Không phải viết tài liệu quy trình |
8
+ | Điều hành | Phiên AI chính | Đề xuất, phản biện, giữ hồ sơ, điều phối agent, tích hợp, commit khi được phép | Không tự quyết thay PO ngoài phạm vi uỷ quyền |
9
+ | Agent con | AI do Điều hành giao việc | Thi công, khảo sát, dọn dẹp, QA trong vùng được giao | Không commit, không đụng trạng thái git chung |
10
+ | Bộ phận | Nhóm agent theo lĩnh vực, lập khi có việc | Giữ chuẩn và sổ sách của lĩnh vực, tranh luận khi uỷ quyền | Không lập trước khi có đợt do nó chủ trì |
11
+ | Team thi công | Nhóm agent theo vùng code trong một đợt | Thi công song song không chồng vùng | Giải tán khi đợt đóng |
12
+ | Vai phản biện | Góc nhìn AI đóng khi tranh luận | Người dùng, sản phẩm, kiến trúc, an toàn, vận hành, QA, phản biện tự do | Chỉ tham vấn, không quyết |
13
+
14
+ ## Đợt (wave)
15
+
16
+ Mọi việc có code đi qua một đợt 7 bước: 📥 gom việc → 🗣️ thảo luận → ✅ chốt → 🔨 thi công → 🧹 dọn dẹp → 🧪 nghiệm thu → 🚀 phát hành và đóng. Trừ hai ngoại lệ: hotfix (lỗi chặn người dùng) và việc PO giao trực tiếp (`PO-nn`, ghi lại trước khi làm).
17
+
18
+ Ba chế độ chốt: PO chốt từng vấn đề (mặc định), chốt thẳng cho đợt nhỏ đã rõ, uỷ quyền cho tranh luận giữa các bộ phận.
19
+
20
+ ## Thư mục
21
+
22
+ ```text
23
+ CLAUDE.md luật cho AI
24
+ docs/
25
+ ORGANIZATION.md vai trò, bộ phận, team, uỷ quyền, ranh giới an toàn
26
+ GLOSSARY.md từ vựng chuẩn
27
+ 00_analysis/ phân tích hệ cũ, dự án nguồn
28
+ 01_design/ thiết kế sản phẩm
29
+ 02_build/ thành phần, lệnh chuẩn, hợp đồng (CONTRACTS.md)
30
+ 03_release/ phát hành, vận hành
31
+ 04_waves/ quy trình đợt, bảng đợt, backlog, hồ sơ Wxx/
32
+ 05_decisions/ sổ quyết định SP/KT/QT
33
+ technical/ quy chuẩn kỹ thuật của stack
34
+ .claude/skills/ skill shipfast-* (quản lý bởi shipfast, nâng cấp được)
35
+ .shipfast/ phiên bản và bản gốc của khung (commit, không sửa tay)
36
+ reports/ trang HTML cho PO xem offline
37
+ tmp/ file tạm (gitignored)
38
+ ```
39
+
40
+ ## Hệ mã
41
+
42
+ | Mã | Là gì |
43
+ |---|---|
44
+ | `BL-012` | Việc trong backlog |
45
+ | `W03` | Đợt thứ 3 |
46
+ | `W03-04` | Vấn đề thứ 4 cần chốt trong đợt 3 |
47
+ | `W03-P02` | Hạng mục thi công thứ 2 của đợt 3 |
48
+ | `CR-W03-01` | Yêu cầu đổi phạm vi khi đang thi công |
49
+ | `SP-002` / `KT-005` / `QT-003` | Quyết định sản phẩm / kỹ thuật / quy trình |
50
+ | `PO-04`, `OPS-02`, `HOTFIX-01` | Việc ngoài đợt |
51
+
52
+ Mỗi thông tin chỉ sống ở một chỗ; nơi khác trỏ mã.
@@ -0,0 +1,27 @@
1
+ # Ý nghĩa và mục đích
2
+
3
+ ## Vấn đề shipfast giải quyết
4
+
5
+ | Khi làm việc với AI không có quy trình | shipfast làm gì |
6
+ |---|---|
7
+ | AI viết code ngay khi chưa hiểu đúng yêu cầu | Không code trước khi PO chốt phạm vi |
8
+ | AI chiều theo mọi yêu cầu, không ai chỉ ra rủi ro | Điều hành bắt buộc phản biện cả đề xuất của mình; vai phản biện cho nhiều góc nhìn |
9
+ | Quyết định nằm rải rác trong chat, comment, tin nhắn | Sổ quyết định một chỗ, code chỉ trỏ mã |
10
+ | Phiên mới quên hết bối cảnh | Trạng thái nằm trong file; `status` cho biết đang tới đâu |
11
+ | Phạm vi phình dần trong lúc làm | Việc mới vào backlog, đổi phạm vi qua CR |
12
+ | "Xong" nhưng chưa chạy thật | Cổng kiểm chứng phải chạy thật; QA độc lập nghiệm thu |
13
+ | Rác tích tụ sau mỗi đợt | Bước dọn dẹp có ranh giới an toàn |
14
+ | Mỗi dự án chép mẫu rồi lệch dần, cập nhật phải so tay với repo gốc | Khung phân phối qua MCP, nâng cấp gộp ba phía tự động |
15
+
16
+ ## Nguyên lý
17
+
18
+ 1. **Người quyết, AI đề xuất và phản biện.** AI được sáng tạo trong phương án, không được tự quyết điều thuộc về PO.
19
+ 2. **Trạng thái nằm trong file.** Không phụ thuộc trí nhớ của phiên hay của agent.
20
+ 3. **Mỗi thông tin một chỗ.** Chép lại là bắt đầu lệch.
21
+ 4. **Cổng phải chạy thật.** Tiêu chí đo được, bằng chứng ghi lại.
22
+ 5. **Lập tổ chức khi có việc.** Bộ phận, team, uỷ quyền chỉ dùng khi dự án thật sự cần.
23
+ 6. **Không giới hạn stack.** Quy trình không gắn công nghệ; stack là một quyết định của từng dự án.
24
+
25
+ ## Nguồn gốc
26
+
27
+ Quy trình rút từ các dự án thật làm việc với AI theo đợt. Những cách làm tốt (chốt thẳng cho đợt nhỏ, tách team khỏi bộ phận, rút kinh nghiệm bắt buộc, cấm agent đụng trạng thái git chung) được đưa vào khung chung sau khi đã chạy thật.
@@ -0,0 +1,50 @@
1
+ # Bắt đầu từ đâu
2
+
3
+ shipfast là một quy trình làm việc giữa người (PO) và AI, đóng gói thành một MCP server. Cài MCP vào công cụ AI đang dùng là có quy trình; không cần clone repo mẫu, không cần so sánh tay.
4
+
5
+ ## 1. Cài
6
+
7
+ Cần [uv](https://docs.astral.sh/uv/) (để có lệnh `uvx`).
8
+
9
+ | Công cụ | Cách cài |
10
+ |---|---|
11
+ | Claude Code (plugin) | `/plugin install shipfast --marketplace QuocTang/shipfast-mcp` |
12
+ | Claude Code (MCP) | `claude mcp add shipfast -- uvx shipfast-mcp` |
13
+ | Cursor, VS Code, Codex và client MCP khác | Khai server stdio: lệnh `uvx`, tham số `["shipfast-mcp"]` |
14
+
15
+ Ví dụ `.mcp.json` hoặc cấu hình tương đương:
16
+
17
+ ```json
18
+ {
19
+ "mcpServers": {
20
+ "shipfast": { "command": "uvx", "args": ["shipfast-mcp"] }
21
+ }
22
+ }
23
+ ```
24
+
25
+ ## 2. Chọn điểm vào
26
+
27
+ | Tình huống | Gọi | Kết quả |
28
+ |---|---|---|
29
+ | Repo mới, chưa có code | Prompt `init` | Đợt W01: AI hỏi về sản phẩm, đề xuất và phản biện stack, bạn chốt; dựng khung tài liệu, khung code, chạy được, nghiệm thu |
30
+ | Dự án đang chạy | Prompt `adopt` | AI khảo sát cái đang có, lập bảng đối chiếu, bạn duyệt; khung được thêm mà không phá tài liệu cũ |
31
+ | Dự án đã dùng shipfast | Không cần gọi gì | Skill trong `.claude/skills/` tự kích hoạt; hỏi "đang tới đâu" để AI gọi `status` |
32
+
33
+ Trong Claude Code, prompt MCP hiện dưới dạng lệnh `/mcp__shipfast__init`, `/mcp__shipfast__adopt`.
34
+
35
+ ## 3. Đọc gì trong ngày đầu
36
+
37
+ | Thứ tự | File | Vì sao |
38
+ |---|---|---|
39
+ | 1 | `CLAUDE.md` | Luật cho AI, cũng là tóm tắt cho người |
40
+ | 2 | `docs/04_waves/README.md` | Vòng đời đợt, hệ mã, luật khi thảo luận và thi công |
41
+ | 3 | `docs/04_waves/WAVES.md` | Đợt nào đang chạy |
42
+ | 4 | `docs/05_decisions/README.md` | Đã quyết những gì |
43
+ | 5 | `docs/ORGANIZATION.md` | Ai làm gì, khi nào lập bộ phận, team, vai phản biện |
44
+
45
+ ## 4. Làm việc hằng ngày
46
+
47
+ - Muốn làm gì thì nói với AI như với một trưởng nhóm: AI ghi thành vấn đề, đề xuất, phản biện, rồi hỏi bạn chốt.
48
+ - Trả lời theo mã cho nhanh: "W02-03: A", "đồng ý trừ W02-05".
49
+ - Nói **"chốt"** khi đồng ý phạm vi; từ đó AI thi công liên tục tới nghiệm thu.
50
+ - Hỏi "đang tới đâu" bất cứ lúc nào; phiên mới vẫn làm tiếp được vì mọi trạng thái nằm trong file.