feat: configure public HTTPS installer URL for universal access
- Update install.sh to use public HTTPS git URL without requiring SSH credentials - Update README.md with exact 1-line curl installer command for any developer - Fix argument parsing for flags like --force Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -104,30 +104,23 @@ agent-unit-testing/
|
||||
|
||||
## 3. Cài Đặt Trực Tiếp Vào Source Code (Không Cần Clone Repo)
|
||||
|
||||
Bất kỳ ai muốn sử dụng bộ công cụ này **KHÔNG CẦN phải clone source code công cụ về máy**.
|
||||
Bất kỳ ai muốn sử dụng bộ công cụ này (dù trong hay ngoài team, trên bất kỳ máy tính nào) **KHÔNG CẦN phải clone repository công cụ về máy**.
|
||||
|
||||
Chỉ cần mở Terminal, `cd` vào thư mục dự án Laravel của bạn và chạy **đúng 1 dòng lệnh**:
|
||||
Chỉ cần mở Terminal, `cd` vào thư mục dự án Laravel của bạn và chạy **đúng 1 dòng lệnh duy nhất**:
|
||||
|
||||
### 🌟 1 Dòng Lệnh Cài Đặt Từ Xa (Remote 1-Line Installer)
|
||||
```bash
|
||||
cd /duong-dan/toi/source-code-laravel-cua-ban
|
||||
|
||||
# Chạy lệnh cài đặt từ xa:
|
||||
curl -fsSL https://raw.githubusercontent.com/<OWNER>/agent-unit-testing/main/install.sh | bash
|
||||
# 🌟 Cài đặt trực tiếp qua HTTPS công khai (không cần tài khoản, không cần SSH key):
|
||||
curl -fsSL https://git.smartgift.io.vn/Smartgift-AI/agent-unit-testing/raw/branch/main/install.sh | bash
|
||||
```
|
||||
|
||||
*(Đối với thành viên trong nội bộ team Smartgift hoặc khi dùng Git SSH server):*
|
||||
```bash
|
||||
cd /duong-dan/toi/source-code-laravel-cua-ban
|
||||
|
||||
# Cài đặt trực tiếp qua Git mà không cần lưu repo công cụ:
|
||||
bash <(git archive --remote=ssh://git@ssh-git.smartgift.io.vn:2222/Smartgift-AI/agent-unit-testing.git main install.sh | tar -xO)
|
||||
```
|
||||
*(Nếu thư mục đang trống hoặc chưa có file `composer.json`, thêm cờ `--force` vào cuối: `... | bash -s -- --force`)*.
|
||||
|
||||
---
|
||||
|
||||
### 🎯 Quy Trình Tự Động Diễn Ra Ngầm:
|
||||
1. Script sẽ tải các tài nguyên cần thiết từ xa vào thư mục tạm `/tmp/`.
|
||||
1. Script sẽ tải các tài nguyên cần thiết từ xa qua HTTPS vào thư mục tạm `/tmp/`.
|
||||
2. Tự động cấy trực tiếp vào source code của bạn:
|
||||
- Thư mục `.claude/skills/` (với trọn bộ 4 Skills viết test tự động).
|
||||
- Thư mục `.claude/testing-docs/` (cẩm nang quy chuẩn 13 tầng Laravel).
|
||||
@@ -141,12 +134,16 @@ bash <(git archive --remote=ssh://git@ssh-git.smartgift.io.vn:2222/Smartgift-AI/
|
||||
|
||||
## 4. Tùy Chọn: Cài Đặt Toàn Cục Cho Toàn Máy Tính (Global Mode)
|
||||
|
||||
Nếu bạn là lập trình viên muốn cài 1 lần duy nhất cho toàn bộ máy tính (để mọi source code mở Claude Code lên đều tự có sẵn các lệnh):
|
||||
Nếu bạn muốn cài 1 lần duy nhất cho toàn bộ máy tính (để mọi source code mở Claude Code lên đều tự có sẵn các lệnh):
|
||||
|
||||
```bash
|
||||
curl -fsSL https://raw.githubusercontent.com/<OWNER>/agent-unit-testing/main/install.sh | bash -s -- --global
|
||||
curl -fsSL https://git.smartgift.io.vn/Smartgift-AI/agent-unit-testing/raw/branch/main/install.sh | bash -s -- --global
|
||||
```
|
||||
|
||||
🎯 **Lợi ích:**
|
||||
- Tự động cài đặt 4 Skills vào `~/.claude/skills/`.
|
||||
- Đăng ký lệnh `laravel-test-init` (hoặc `sg-test-init`) vào Terminal để gõ ở bất kỳ thư mục nào cũng tự tạo `test-runner.sh`.
|
||||
|
||||
🎯 **Lợi ích:**
|
||||
- Tự động cài đặt 4 Skills vào `~/.claude/skills/`.
|
||||
- Đăng ký lệnh `sg-test-init` (hoặc `laravel-test-init`) vào Terminal để gõ ở bất kỳ thư mục nào cũng tự tạo `test-runner.sh`.
|
||||
@@ -299,9 +296,9 @@ laravel-test-init --force
|
||||
|
||||
| Nhiệm Vụ | Lệnh Terminal / Claude Code | Ngữ Cảnh Sử Dụng |
|
||||
| :--- | :--- | :--- |
|
||||
| **Cài đặt từ xa (Không cần clone)** | `curl -fsSL <URL>/install.sh \| bash` | Đứng tại source code Laravel và chạy 1 dòng duy nhất |
|
||||
| **Cài đặt toàn cục (Global Mode)** | `curl -fsSL <URL>/install.sh \| bash -s -- --global` | Cài vào máy dùng cho mọi folder |
|
||||
| **Cài đặt vào thư mục trống** | `curl -fsSL <URL>/install.sh \| bash -s -- . --force` | Dùng khi thư mục chưa có `composer.json` |
|
||||
| **Cài đặt từ xa (Không cần clone)** | `curl -fsSL https://git.smartgift.io.vn/Smartgift-AI/agent-unit-testing/raw/branch/main/install.sh \| bash` | Đứng tại source code Laravel và chạy 1 dòng duy nhất |
|
||||
| **Cài đặt toàn cục (Global Mode)** | `curl -fsSL https://git.smartgift.io.vn/Smartgift-AI/agent-unit-testing/raw/branch/main/install.sh \| bash -s -- --global` | Cài vào máy dùng cho mọi folder |
|
||||
| **Cài đặt vào thư mục trống** | `curl -fsSL https://git.smartgift.io.vn/Smartgift-AI/agent-unit-testing/raw/branch/main/install.sh \| bash -s -- . --force` | Dùng khi thư mục chưa có `composer.json` |
|
||||
| **Khởi tạo test runner nhanh** | `laravel-test-init` (hoặc `sg-test-init`) | Gõ tại terminal của bất kỳ dự án nào |
|
||||
| **Cập nhật bộ công cụ (1-Click)** | `laravel-test-update` (hoặc `sg-test-update`) | Kéo bản mới nhất từ Git về máy mọi lúc |
|
||||
| **Quét & Setup môi trường test** | `/laravel-test-setup` | Chạy trong Claude Code để kiểm tra cấu hình |
|
||||
@@ -316,8 +313,6 @@ laravel-test-init --force
|
||||
| **Chạy test tự nhận diện** | `./test-runner.sh --filter=MyTest` | Tự bắt Docker / Sail / Local |
|
||||
| **Tra cứu sửa lỗi** | Đọc `docs/07-troubleshooting-and-debugging.md` | Sửa 10 lỗi thường gặp nhất |
|
||||
| **Tra cứu 7 ca khó** | Đọc `docs/09-advanced-edge-cases.md` | `DB::transaction()`, Trait, Upload file, Queue |
|
||||
| **Tra cứu sửa lỗi** | Đọc `docs/07-troubleshooting-and-debugging.md` | Sửa 10 lỗi thường gặp nhất |
|
||||
| **Tra cứu 7 ca khó** | Đọc `docs/09-advanced-edge-cases.md` | `DB::transaction()`, Trait, Upload file, Queue |
|
||||
|
||||
---
|
||||
|
||||
|
||||
+20
-5
@@ -23,11 +23,11 @@ CYAN='\033[0;36m'
|
||||
BOLD='\033[1m'
|
||||
NC='\033[0m'
|
||||
|
||||
# Remote Repository URL (Có thể override qua biến môi trường LARAVEL_TEST_REPO)
|
||||
DEFAULT_REPO="ssh://git@ssh-git.smartgift.io.vn:2222/Smartgift-AI/agent-unit-testing.git"
|
||||
# Remote Repository URL công khai qua HTTPS (ai cũng truy cập được không cần SSH key)
|
||||
DEFAULT_REPO="https://git.smartgift.io.vn/Smartgift-AI/agent-unit-testing.git"
|
||||
REPO_URL="${LARAVEL_TEST_REPO:-$DEFAULT_REPO}"
|
||||
|
||||
TARGET_DIR="${1:-.}"
|
||||
TARGET_DIR=""
|
||||
GLOBAL_MODE=false
|
||||
FORCE_MODE=false
|
||||
|
||||
@@ -54,14 +54,19 @@ for arg in "$@"; do
|
||||
echo -e " ${YELLOW}curl -fsSL <URL>/install.sh | bash -s -- . --force${NC}"
|
||||
exit 0
|
||||
;;
|
||||
-*)
|
||||
# Bỏ qua các flag khác
|
||||
;;
|
||||
*)
|
||||
if [ "$arg" != "." ] && [ ! -d "$arg" ] && [ "$GLOBAL_MODE" = false ]; then
|
||||
if [ -z "$TARGET_DIR" ]; then
|
||||
TARGET_DIR="$arg"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
TARGET_DIR="${TARGET_DIR:-.}"
|
||||
|
||||
echo -e "${BLUE}===================================================================${NC}"
|
||||
echo -e "${CYAN}${BOLD} 🚀 SMARTGIFT AI - LARAVEL UNIT TESTING TOOLKIT INSTALLER${NC}"
|
||||
echo -e "${BLUE}===================================================================${NC}"
|
||||
@@ -82,7 +87,17 @@ if [ -n "$SCRIPT_DIR" ] && [ -d "$SCRIPT_DIR/.claude/skills" ]; then
|
||||
else
|
||||
echo -e "${YELLOW}📥 Đang tải bộ công cụ từ remote repository...${NC}"
|
||||
TMP_DIR="$(mktemp -d 2>/dev/null || mktemp -d -t 'sg_unit_testing')"
|
||||
git clone --depth 1 "$REPO_URL" "$TMP_DIR" --quiet
|
||||
|
||||
# Thử clone qua git
|
||||
if ! git clone --depth 1 "$REPO_URL" "$TMP_DIR" --quiet 2>/dev/null; then
|
||||
echo -e "${RED}❌ Không thể clone từ repository: $REPO_URL${NC}"
|
||||
echo -e "${YELLOW}💡 Lưu ý dành cho người dùng bên ngoài:${NC}"
|
||||
echo -e " Nếu bạn không phải thành viên có SSH key nội bộ, hãy chạy với URL HTTPS công khai:"
|
||||
echo -e " ${CYAN}LARAVEL_TEST_REPO=https://github.com/<OWNER>/<REPO>.git curl -fsSL <URL>/install.sh | bash${NC}"
|
||||
rm -rf "$TMP_DIR"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
PACKAGE_ROOT="$TMP_DIR"
|
||||
CLEANUP_TEMP=true
|
||||
echo -e "${GREEN}✓ Tải thành công!${NC}"
|
||||
|
||||
Reference in New Issue
Block a user