hyp generate.md - maoxiaoyue/hypgo GitHub Wiki
hyp generate — 程式碼生成
生成遵循 HypGo 慣例的 boilerplate 程式碼。
用法
hyp generate [type] [name]
hyp generate [type] [name] -m <module-name>
支援的類型
| 類型 | 說明 | 產出位置 | 適用 |
|---|---|---|---|
controller |
Controller + Schema Router + Middleware | app/controllers/ + app/routers/ |
Web |
model |
Bun ORM Model + Req/Resp struct | app/models/ |
全部 |
service |
業務邏輯 + Error Catalog | app/services/ |
全部 |
command |
Cobra 子命令 | app/commands/ |
CLI |
view |
Fyne GUI 視圖 | app/views/ |
Desktop |
Flags
| Flag | 說明 | 預設值 |
|---|---|---|
-m, --module |
Go module 名稱 | 自動從 go.mod 偵測 |
Web 專案範例
controller
hyp generate controller user
一次產生 4 個檔案:
app/controllers/user_controller.go ← Handler(List/Create/Get/Update/Delete)
app/routers/user.go ← Schema 路由(含 Input/Output)
app/routers/router.go ← Setup() 總入口(首次才生成)
app/routers/middleware.go ← 中間件配置(首次才生成)
model
hyp generate model user
產生 5 個 struct:User(DB)、CreateUserReq、UpdateUserReq、UserResp、UserListResp
service
hyp generate service user
產生含 Error Catalog 的 service 骨架。
CLI 專案範例
v0.8.5+command(CLI)和view(Desktop)生成類型為 v0.8.5 新增功能。
hyp generate command process
hyp generate command export
產生 Cobra 子命令,自動在 init() 註冊到 rootCmd。
Desktop 專案範例
hyp generate view settings
hyp generate view dashboard
產生 Fyne GUI 視圖,含 fyne.Window 參數和基本佈局。
推薦順序
# Web
hyp generate model user # 1. 先定義資料結構
hyp generate controller user # 2. 生成 handler + router
hyp generate service user # 3. 生成業務邏輯
# CLI
hyp generate command process # 直接生成子命令
# Desktop
hyp generate view settings # 直接生成視圖
安全
- 名稱驗證:只允許
[a-zA-Z][a-zA-Z0-9_]* - 不覆蓋已存在的檔案
- Module 名稱自動偵測
相關命令
- hyp new — 建立專案
- hyp context — 生成的 Schema 路由會出現在 manifest 中