Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

hyp cli.md

maoxiaoyue edited this page May 14, 2026 · 2 revisions

HypGo CLI (cmd/hyp)

HypGo CLI (hyp) 是 HypGo 框架專用的命令列工具,可以用於快速建立、管理和運行你的 HypGo 應用程式。

安裝

你可以透過 go install 安裝 CLI 工具:

go install github.com/maoxiaoyue/hypgo/cmd/hyp@latest

確保你的 $GOPATH/bin 已加入到系統的 PATH 環境變數中。

可用指令

hyp new [type] [project-name]

建立新的 HypGo 專案。支援多種專案類型:

  • hyp new <name> — 全棧 Web 專案(預設,含前端模板)
  • hyp new web <name> — 同上(明確指定 Web 類型)
  • hyp new cli <name> — CLI 工具專案(Cobra 命令列架構)
  • hyp new desktop <name> — 桌面應用專案(Fyne 原生 GUI)

Web 專案(預設)

hyp new myapp
#
hyp new web myapp

生成 MVC 結構:app/controllers/app/routers/app/models/app/services/static/templates/

CLI 專案

hyp new cli mytool

生成 CLI 結構:

mytool/
├── app/
│ ├── commands/ ← Cobra 子命令
│ │ └── root.go
│ ├── models/ ← 共用資料結構
│ ├── services/ ← 共用業務邏輯
│ └── config/
│ └── config.yaml
├── main.go
└── go.mod

後續新增子命令:hyp generate command process

Desktop 專案

hyp new desktop myapp

生成 Desktop 結構:

myapp/
├── app/
│ ├── views/ ← Fyne GUI 視圖
│ │ └── main_view.go
│ ├── models/ ← 共用資料結構
│ ├── services/ ← 共用業務邏輯
│ └── config/
│ └── config.yaml
├── main.go ← Fyne app + window
└── go.mod

後續新增視圖:hyp generate view settings

注意:Fyne 需要 C 編譯器(gcc)。Windows 可安裝 MSYS2 或 TDM-GCC。

hyp api [project-name]

建立一個僅有 API 結構的專案,不包含處理靜態檔案與樣板的設定。

  • 範例: hyp api myapi

hyp run

啟動 HypGo 應用程式。在開發模式下這可能會提供 Hot Reload 的功能(視設定與環境而定)。

  • 範例: hyp run

hyp restart

執行應用程式的熱重啟(Hot Restart),以達成零停機部署。此指令在 Unix 系統上使用 SIGUSR2 訊號實作,目前 不支援 Windows 系統

  • 範例: hyp restart

hyp docker

根據 config.yaml 內的設定檔,為當前 HypGo 專案建立 Docker Image。

  • 範例: hyp docker

hyp generate [type] [name]

自動生成遵循 HypGo 慣例的程式碼。支援的 [type]:

類型 說明 產出檔案
controller Handler + Schema 路由 + Middleware app/controllers/ + app/routers/
model Bun ORM Model + Req/Resp struct app/models/
service 業務邏輯 + Error Catalog app/services/
command CLI 子命令(Cobra) app/commands/
view Desktop GUI 視圖(Fyne) app/views/
  • Web 專案範例:
    • hyp generate controller user — 生成 controller + router(含 Schema Input/Output)
    • hyp generate model order — 生成 Model + CreateOrderReq + OrderResp + OrderListResp
    • hyp generate service payment — 生成 Service + Error Catalog
  • CLI 專案範例:
    • hyp generate command process — 生成 Cobra 子命令
    • hyp generate command export — 生成另一個子命令
  • Desktop 專案範例:
    • hyp generate view settings — 生成 Fyne GUI 設定畫面
    • hyp generate view dashboard — 生成 Fyne GUI 儀表板

hyp context

生成專案 manifest(YAML/JSON),描述路由、設定、schema metadata,供 AI 協作使用。

  • 範例:
    • hyp context — YAML 到 stdout
    • hyp context -f json — JSON 格式
    • hyp context -o .hyp/manifest.yaml — 儲存到檔案

hyp migrate

資料庫 migration 工具,掃描 Go Model struct 比對快照,自動產生 SQL migration。

  • 子命令:
    • hyp migrate diff — 比對 models 與快照,產生 up/down SQL
    • hyp migrate diff --dialect mysql — 使用 MySQL 方言
    • hyp migrate snapshot — 儲存當前 schema 快照

hyp chkcomment [file.go]

Annotation Protocol 檢查器。掃描 Go 檔案中所有 exported 區塊是否有標準註解,並提供建議。

  • 範例:
    • hyp chkcomment controllers/user.go — 檢查並報告
    • hyp chkcomment --fix controllers/user.go — 自動加入建議註解(含 .bak 備份)

hyp impact [file.go]

Change Impact Analysis。分析修改某個 Go 檔案會影響哪些套件、路由和測試。

  • 範例: hyp impact pkg/errors/catalog.go
  • 輸出包含:直接依賴者、受影響測試、風險等級(LOW/MEDIUM/HIGH)

hyp ai-rules

自動生成跨 AI 工具的配置檔(AGENTS.md、GEMINI.md、Copilot、Cursor、Windsurf),讓所有 AI 編碼工具都能理解 HypGo 慣例。

  • 範例:
    • hyp ai-rules — 生成所有配置檔
    • hyp ai-rules --only agents,gemini — 只生成特定工具
    • hyp ai-rules --dry-run — 預覽不寫入
    • hyp ai-rules --dir ./myproject — 指定專案根目錄
  • 已存在且無自動生成標記的檔案不會被覆蓋
  • 詳細文檔:wiki/airules.md

hyp health

檢查當前運行中的 HypGo 應用程式之健康狀態。

  • 範例: hyp health

hyp list

列出所有可用的 HypGo 擴充套件或插件(Plugins),例如 elasticsearch, kafka, cassandra, rabbitmq

  • 範例: hyp list

確認安裝

輸入以下指令以確認您安裝的 CLI 版本:

hyp --version

輸出將顯示 HypGo CLI [版本號]

HypGo

繁體中文 | English


中文文件

設計文件

套件

AI 協作工具鏈

CLI 命令


English Docs

Design Docs

Packages

AI Collaboration Toolchain

CLI Commands

Clone this wiki locally

AltStyle によって変換されたページ (->オリジナル) /