Tổng hợp lệnh
🚀 Development
| Lệnh | Mô tả |
|---|---|
pnpm install | Cài đặt toàn bộ dependencies (workspace) |
pnpm dev | Chạy tất cả MFEs cùng lúc (Turborepo, 20 concurrent) |
pnpm dev --filter @vppos/<module> | Chạy 1 module cụ thể |
pnpm dev --filter @vppos/container --filter @vppos/auth | Chạy nhiều module chỉ định |
🔨 Build & Lint
| Lệnh | Mô tả |
|---|---|
pnpm build | Build production toàn bộ (cached bởi Turbo) |
pnpm build --filter @vppos/<module> | Build 1 module cụ thể |
pnpm lint | Kiểm tra linting toàn bộ |
pnpm format | Format code với Prettier (ts, tsx, json, css, md) |
pnpm format:check | Kiểm tra format (không sửa) |
pnpm clean | Xóa tất cả dist/ + node_modules/ |
📖 Tài liệu (Docusaurus)
| Lệnh | Mô tả |
|---|---|
pnpm --filter @vppos/docs docs:dev | Docs dev server → http://localhost:3030 |
pnpm --filter @vppos/docs docs:build | Build static docs (auto sync module READMEs) |
pnpm --filter @vppos/docs serve | Serve bản build tĩnh |
pnpm --filter @vppos/docs sync-docs | Chỉ sync module docs (không build) |
Module docs
Mỗi module có README.md riêng tại apps/<module>/README.md. Khi chạy docs:dev hoặc docs:build, script sẽ tự động copy các README vào Docusaurus.
→ Để cập nhật docs module: sửa apps/<module>/README.md rồi restart docs.
🎨 Storybook
| Lệnh | Mô tả |
|---|---|
pnpm --filter @vppos/core storybook | Storybook dev → http://localhost:6006 |
pnpm --filter @vppos/core build-storybook | Build Storybook tĩnh |
🐳 Docker & Deploy
| Lệnh | Mô tả |
|---|---|
docker compose up -d | Chạy production containers |
docker compose -f docker-compose.uat.yml up -d | Chạy UAT containers |
bash scripts/build-image.sh | Build Docker images |
🔧 Turborepo
| Lệnh | Mô tả |
|---|---|
turbo run <task> | Chạy task bất kỳ qua Turbo |
turbo run dev --filter=@vppos/<module>... | Chạy module + tất cả dependencies |
turbo run build --dry-run | Xem plan build (không thực thi) |
turbo daemon stop | Dừng Turbo daemon |
📋 Git & Quality
| Lệnh | Mô tả |
|---|---|
git commit | Auto lint-staged + commitlint (Conventional Commits) |
pnpm prepare | Cài Husky git hooks |
Khi nào dùng lệnh nào?
| Tình huống | Lệnh |
|---|---|
| Mới clone repo | pnpm install → cp .env.example .env → pnpm dev |
| Dev hàng ngày | pnpm dev hoặc pnpm dev --filter @vppos/<module> |
| Kiểm tra trước commit | pnpm lint + pnpm format:check |
| Xem/viết docs | pnpm --filter @vppos/docs docs:dev |
| Xem/viết stories | pnpm --filter @vppos/core storybook |
| Chuẩn bị deploy | pnpm build |
| Dọn dẹp cache | pnpm clean → pnpm install |