Files
zclaw_openfang/Makefile
iven 74dbf42644 refactor(startup): simplify stack to Tauri-managed OpenFang + optional ChromeDriver
- Remove OpenFang CLI dependency from startup scripts
- OpenFang now bundled with Tauri and managed via gateway_start/gateway_status commands
- Add bootstrap screen in App.tsx to auto-start local gateway before UI loads
- Update Makefile: replace start-no-gateway with start-desktop-only
- Fix gateway config endpoints: use /api/config instead of /api/config/quick
- Add Playwright dependencies for future E2E testing
2026-03-17 14:08:03 +08:00

74 lines
2.0 KiB
Makefile

# ZCLAW Makefile
# Cross-platform task runner
.PHONY: help start start-dev start-no-browser desktop desktop-build setup test clean
help: ## Show this help message
@echo "ZCLAW - OpenFang Desktop Client"
@echo ""
@echo "Usage: make [target]"
@echo ""
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-18s\033[0m %s\n", $$1, $$2}'
# === Startup Commands ===
start: ## Start all services (Windows: PowerShell)
@powershell -ExecutionPolicy Bypass -File ./start-all.ps1
start-dev: ## Start all services in dev mode
@powershell -ExecutionPolicy Bypass -File ./start-all.ps1 -Dev
start-no-browser: ## Start without ChromeDriver
@powershell -ExecutionPolicy Bypass -File ./start-all.ps1 -NoBrowser
start-desktop-only: ## Start desktop only (no external services)
@powershell -ExecutionPolicy Bypass -File ./start-all.ps1 -DesktopOnly
start-unix: ## Start all services (Unix: macOS/Linux)
@chmod +x ./start.sh && ./start.sh
start-unix-dev: ## Start all services in dev mode (Unix)
@chmod +x ./start.sh && ./start.sh --dev
# === Desktop App ===
desktop: ## Start Tauri desktop app in dev mode
@cd desktop && pnpm tauri dev
desktop-build: ## Build Tauri desktop app
@cd desktop && pnpm build && pnpm tauri build
# === Development ===
setup: ## Run first-time setup
@tsx scripts/setup.ts
test: ## Run all tests
@pnpm test
test-desktop: ## Run desktop tests
@cd desktop && pnpm test
typecheck: ## Run TypeScript type check
@cd desktop && pnpm typecheck
# === Services ===
chromedriver: ## Start ChromeDriver on port 4444
@chromedriver --port=4444
# === Cleanup ===
clean: ## Clean build artifacts
@rm -rf dist/
@rm -rf desktop/dist/
@rm -rf desktop/src-tauri/target/
@rm -rf node_modules/
@rm -rf desktop/node_modules/
@echo "Cleaned build artifacts"
clean-deep: clean ## Deep clean (including pnpm cache)
@rm -rf desktop/pnpm-lock.yaml
@rm -rf pnpm-lock.yaml
@echo "Deep clean complete. Run 'pnpm install' to reinstall."