[ Golang ] Go でアプリを自動生成する CLI ツールを作った

この記事は約4分で読めます。

Go でコマンド一つでアプリを自動作成するcliツールを作ったので、ご紹介します!

成果物 ( go-app-cli )

Github

https://github.com/ryomak/go-app-cli

 

動作

 

使い方

$ go get github.com/ryomak/go-app-cli/cmd/go-app-cli
$go-app-cli create  -app example -mod github.com/ryomak/example ryomak-app

目的

友人がGo入門するとのことだったので、

Go入門する時に、素早く実行できる環境を提供するために作りました。

一から作ると時間がかかるので、一本のAPIを提供し、そこに付け足していきます。時間の効率化と、実サービスで使うパッケージだと、実装の方法を共有しやすいと思いました。

メリット

  1. moduleとappを自由に設定できる
  2. Go入門する人に素早く実行環境を提供できる
  3. 素早くミニアプリを作れる

moduleとappを自由に設定できる

他の人のアプリケーションのアーキテクチャを使って開発をしようとすると、

Githubをforkして、自分用として使うことが多いと思いますが、

moduleは

github.com/(user名)/(プロジェクト名)

になってしまいます。

今回のcliは独自でapplication名とmodule名を独自に設定できます。

Go入門する人に素早く実行環境を提供できる

Go入門でAppを一から作ると時間がかかるので、一本のAPIを提供し、そこに付け足していくことができます。

時間の効率化、チーム開発においては実サービスで使うパッケージ構成に慣れやすいと思いました。

 

素早くミニアプリを作れる

個人開発において素早くミニアプリが作れるようになりました。

自動生成できるアプリケーション(ryomak-app)

ryomak-appは

『クリーンアーキテクチャライクなWebAPI』

です。

プロジェクト構成

 

.
├── Makefile
├── go.mod
├── go.sum
└── src
    ├── application
    │   └── usecase
    │       └── user_usecase.go
    ├── domain
    │   └── user
    │       ├── user.go
    │       ├── user_repository.go
    │       └── user_service.go
    ├── infrastructure
    │   └── repository
    │       └── user_repository.go
    ├── interface
    │   ├── handler
    │   │   ├── handler.go
    │   │   └── user_handler.go
    │   └── router
    │       └── router.go
    ├── internal
    │   ├── logger
    │   │   └── logger.go
    │   └── middleware
    │       └── middleware.go
    └── main.go

 

今は、直近で使う予定のあるアプリを一つしか導入してません。是非、プルリク投げて、増やしていって欲しいです。

 

追加方法

Page not found · GitHub Pages

上記サイトにて、書いてあるので、プルリク待ってます。

CLIでもゲームでもどんなプロジェクトも歓迎します。

 

まとめ

今回は自作CLIツールの紹介でした。

是非修正や追加のプルリクお待ちしています。

Go言語 入門する人も是非使ってみてください!

 

[ Golang ] CUI の通信ゲームを作ってみた – 技術選定 –

タイトルとURLをコピーしました