gkillの開発・ビルドに必要なソフトウェアは以下の通りです。
| ソフトウェア | バージョン | 用途 |
|---|---|---|
| Go | 1.26.0以上 | バックエンドビルド |
| Node.js | 20.19以上(24.x推奨) | フロントエンドビルド、ビルドスクリプト実行 |
| npm | Node.js付属 | パッケージ管理、ビルドスクリプト実行 |
| Git | — | ソースコード管理、バージョン情報取得 |
Note: SQLite3 ドライバは
modernc.org/sqlite(pure Go)を使用しているため、CGO およびCコンパイラは不要です。
| ソフトウェア | 用途 |
|---|---|
| Android SDK | Android APKビルド |
| Java JDK | Gradleビルド(Android/Wear OS) |
| 7-Zip (7za) | リリースZIP作成 |
| rsrc | Windowsリソース埋め込み(go install github.com/akavel/rsrc@latest) |
# 1. リポジトリのクローン
git clone https://github.com/mt3hr/gkill.git
cd gkill
# 2. npm依存パッケージのインストール
npm install
# 3. Goモジュールの初期化(初回のみ、またはgo.modを再生成する場合)
npm run go_mod
# 4. ビルド&インストール(サーバーモード)
npm run install_server
# 5. または、デスクトップアプリモード(Windows限定)
npm run install_app# インストール成功の確認
gkill_server version| コマンド | 説明 |
|---|---|
npm run dev |
Vite開発サーバー起動(フロントエンドのみ、HMR対応) |
npm run build |
フロントエンドビルド(vue-tsc型チェック + vite build を並列実行) |
npm run lint |
ESLintによるコード検査・自動修正(.vue/.ts/.js対象) |
npm run preview |
ビルド済みフロントエンドのプレビュー |
npm run type-check |
TypeScript型チェックのみ実行 |
| コマンド | 説明 |
|---|---|
npm run install_server |
フルビルド → go install(ヘッドレスHTTPサーバー) |
npm run install_app |
フルビルド → go install(デスクトップアプリ、-H windowsgui付き) |
npm run go_install |
Goのみインストール(フロントエンド再ビルドなし) |
npm run go_mod |
go.modとgo.sumを再生成 |
| コマンド | 説明 |
|---|---|
npm run clean_app_embed |
embed用ディレクトリをクリーン |
npm run put_version_info_embed |
version.json(コミットハッシュ+ビルド日時+バージョン)を生成 |
npm run copy_dist_to_app_embed |
dist/をembedディレクトリにコピー |
npm run copy_i18n_to_app_embed |
src/locales/をembedディレクトリにコピー |
npm run prepare_install |
上記4つを順次実行(clean → version → build → copy) |
| コマンド | ターゲット |
|---|---|
npm run build_windows_amd64 |
Windows x86_64(gkill_server.exe、CGO_ENABLED=0) |
npm run build_windows_amd64_app |
Windows x86_64(gkill.exe、デスクトップアプリ、CGO_ENABLED=0) |
npm run build_linux_amd64 |
Linux x86_64(CGO_ENABLED=0) |
npm run build_linux_arm64 |
Linux ARM64(CGO_ENABLED=0、クロスコンパイラ不要) |
npm run build_linux_arm |
Linux ARM(CGO_ENABLED=0、クロスコンパイラ不要) |
npm run build_android_arm |
Android ARM(NDK環境変数必須) |
npm run build_android_arm64 |
Android ARM64(NDK環境変数必須) |
npm run build_android_apk |
Android APKビルド(Gradle) |
npm run build_wear_os |
Wear OSビルド(companion + watch) |
npm run release |
全プラットフォームのリリースビルド一括実行 |
| コマンド | 説明 |
|---|---|
npm run setup_wear_os_gradle |
android/からgradlewをwear_os/にコピー |
npm run build_wear_os_companion |
コンパニオンアプリAPKビルド |
npm run build_wear_os_watch |
ウォッチアプリAPKビルド |
npm run install_wear_os_companion |
adb経由でコンパニオンアプリをインストール |
npm run install_wear_os_watch |
adb経由でウォッチアプリをインストール |
| コマンド | 説明 |
|---|---|
npm run setup_gkill_develop_env |
Ubuntu/WSL用の開発環境一括セットアップ |
npm run mcp:gkill-read |
Read MCPサーバー起動(stdioモード、ローカル用) |
npm run mcp:gkill-read-http |
Read MCPサーバー起動(HTTPモード、OAuth 2.1認証付き) |
npm run mcp:gkill-write |
Write MCPサーバー起動(stdioモード、ローカル用) |
npm run mcp:gkill-write-http |
Write MCPサーバー起動(HTTPモード、OAuth 2.1認証付き) |
npm run mcp:gkill-readwrite |
Read/Write統合MCPサーバー起動(stdioモード、ローカル用) |
npm run mcp:gkill-readwrite-http |
Read/Write統合MCPサーバー起動(HTTPモード、OAuth 2.1認証付き) |
export GKILL_BASE_URL=http://127.0.0.1:9999
export GKILL_USER=admin
export GKILL_PASSWORD_SHA256="<sha256 hex>" # or GKILL_PASSWORD
export MCP_TRANSPORT=http
export MCP_PORT=8808 # Read: 8808, Write: 8809, ReadWrite: 8810
export MCP_OAUTH_ISSUER=http://localhost:8808 # リモート時は公開URL
# export MCP_LOG=info # MCPアクセスログレベル(デフォルト: info)
# export GKILL_INSECURE=true # 自己署名証明書使用時npm run install_server は以下の7ステップを順次実行します。
graph TD
A["1. clean_app_embed<br/>embed用ディレクトリ削除"] --> B["2. put_version_info_embed<br/>version.json生成"]
B --> C["3. type-check<br/>vue-tscによる型チェック"]
B --> D["3. build-only<br/>vite buildによるビルド"]
C --> E["4. copy_dist_to_app_embed<br/>dist/をembed/html/にコピー"]
D --> E
E --> F["5. copy_i18n_to_app_embed<br/>locales/をembed/i18n/にコピー"]
F --> G["6. go install<br/>Goバイナリをビルド・インストール"]
style A fill:#fdd,stroke:#333
style B fill:#ffd,stroke:#333
style C fill:#ddf,stroke:#333
style D fill:#ddf,stroke:#333
style E fill:#dfd,stroke:#333
style F fill:#dfd,stroke:#333
style G fill:#fdf,stroke:#333
注記:
- ステップ3の
type-checkとbuild-onlyはnpm-run-all2により並列実行されます go installでフロントエンドの成果物が//go:embedによりバイナリに埋め込まれます
{
"commit_hash": "0c9fe181...",
"build_time": "2026-03-19T10:30:00+09:00",
"version": "1.0.0"
}SQLite3 ドライバは pure Go 実装(modernc.org/sqlite)のため、CGO およびクロスコンパイラ(CC)は不要です。
| ターゲット | GOOS | GOARCH |
|---|---|---|
| Windows x86_64 | windows | amd64 |
| Linux x86_64 | linux | amd64 |
| Linux ARM64 | linux | arm64 |
| Linux ARM | linux | arm |
| Android ARM | android | arm |
| Android ARM64 | android | arm64 |
Note:
GOOS=androidの場合、CGO が有効(CGO_ENABLED=1)で NDK の clang をクロスコンパイラ(CC)として使用します。環境変数NDKに Android NDK のパスを設定してください。
rsrcツールでアイコン(public/favicon.ico)をリソースとして埋め込み- デスクトップアプリ(gkill.exe)は
-ldflags "-s -w -H windowsgui"でコンソールウィンドウを非表示に - ビルド後に
stripコマンドでバイナリサイズを削減(失敗しても続行)
npm run devViteの開発サーバーが起動し、HMR(Hot Module Replacement)が有効になります。フロントエンドのみの開発時に使用します。
cd src/server/gkill/main/gkill_server
go run .デフォルトでポート9999で起動します。起動オプションは以下の通りです。
| フラグ | デフォルト | 説明 |
|---|---|---|
--gkill_home_dir |
$HOME/gkill |
ホームディレクトリ |
--disable_tls |
false |
TLSを無効化 |
--cache_in_memory |
true |
インメモリキャッシュ有効化 |
--cache_reps_local |
false |
ローカルキャッシュ有効化 |
--goroutine_pool |
runtime.NumCPU() |
ゴルーチンプール数 |
--log |
(なし) | ログレベル: none/error/warn/info/access/debug/trace/trace_sql |
フロントエンド開発サーバー(npm run dev)とバックエンド(go run)を同時に起動して開発できます。フロントエンドからバックエンドAPIへのプロキシ設定はvite.config.tsを確認してください。
Android向けビルドには以下の環境変数が必要です。
| 環境変数 | 説明 |
|---|---|
NDK |
Android NDKのルートパス |
ANDROID_HOME または ANDROID_SDK_ROOT |
Android SDKのパス(APKビルド時) |
# 例(Linux)
export NDK=/path/to/android-ndk-r26b
export ANDROID_HOME=/path/to/android-sdkWear OSプロジェクト(src/wear_os/)はGradleラッパーを含んでいません。ビルド前にsrc/android/からコピーする必要があります。
# 自動コピー
npm run setup_wear_os_gradle
# 手動の場合
cp src/android/gradlew src/wear_os/
cp src/android/gradlew.bat src/wear_os/
mkdir -p src/wear_os/gradle/wrapper
cp src/android/gradle/wrapper/gradle-wrapper.jar src/wear_os/gradle/wrapper/# コンパニオンアプリ + ウォッチアプリ一括ビルド
npm run build_wear_os
# 個別ビルド
npm run build_wear_os_companion
npm run build_wear_os_watch
# adb経由でインストール
npm run install_wear_os_companion
npm run install_wear_os_watchUbuntu/WSL環境では以下のコマンドで必要なパッケージを一括インストールできます。
npm run setup_gkill_develop_envこのスクリプトは以下を実行します。
- aptパッケージのインストール:
p7zip-full,default-jdk - Goツールのインストール:
rsrc(Windowsリソース埋め込み用) - 環境変数チェック:
ANDROID_HOME/ANDROID_SDK_ROOTの設定確認
| 症状 | 原因 | 解決方法 |
|---|---|---|
vue-tscでメモリ不足 |
Node.jsのヒープメモリ制限 | npm run type-checkは--max-old-space-size=4096付きで実行されます |
go.modのエラー |
モジュール定義の不整合 | npm run go_modで再生成 |
Wear OSビルドでgradlew not found |
Gradleラッパー未コピー | npm run setup_wear_os_gradleを実行 |
- folder-structure.md — プロジェクトのディレクトリ構成
- operations-guide.md — デプロイ・運用手順
- program-spec.md — プログラム仕様(アーキテクチャ詳細)