Kaku

tw93/Kaku — a fast, out-of-the-box terminal built for AI coding.

1 — 概要

Kaku は、WezTerm をベースにした macOS 向けターミナル。ゼロ設定で使える見た目とキーバインド、AI コーディング支援、zsh/fish のシェル環境、Lua 設定互換をひとまとめにしている。

名前の由来は日本語の「書く」。考えをコードとして形にする場所、という意味づけで、同じ作者の Waza / Kami と並ぶツール群の一部として位置づけられている。

macOS only WezTerm compatible Lua config AI assistant zsh / fish

Kaku は「設定を作り込む前から気持ちよく動く」ことを重視している。JetBrains Mono、macOS の明暗テーマ追従、低解像度ディスプレイ向けフォントサイズ、コピーやペイン操作の初期値が最初から整っている。

~40 MB実行ファイルサイズ
~80 MBリソース容量
~100 msShell bootstrap
LuaWezTerm 設定互換
2 — 設計ポジション

フォント、テーマ、選択色、タブ/ペイン操作、コピー挙動など、AI コーディング時に邪魔になりやすい細部を初期値で整える。

失敗コマンドの修復提案と、自然言語からコマンドを生成する入力補助を内蔵。危険なコマンドは自動実行せず、レビュー前提でプロンプトに戻す。

WezTerm の Lua config と API 互換を維持する。既存設定を活かしながら、Kaku 側のバンドル初期値に自分の上書きを重ねる設計。

z、zsh-completions、syntax highlighting、autosuggestions、Starship、Delta、Lazygit、Yazi などを Kaku セッション内で自然に使えるようにする。

明暗テーマの自動切り替え、macOS フォントレンダリング、ウィンドウ装飾、Option キー挙動、リモートファイル操作などを macOS 前提で磨く。

Rust ワークスペースの release profile は strip、LTO、panic abort などサイズと起動の軽さを重視。GPU 加速コアを削ぎ落としながら使う部分を残す。

3 — AI ワークフロー

設定

kaku ai で AI settings panel を開き、Kaku Assistant を有効化。OpenAI-compatible な base URL、model、API key を設定する。

失敗検知

コマンドが非ゼロ終了したとき、コマンド、終了コード、作業ディレクトリ、git ブランチを LLM に渡す。

修復提案

提案はインライン表示され、Cmd + Shift + E でプロンプトへ貼り付けられる。自動実行はしない。

自然言語

# <description> を入力すると、シェル実行前に捕捉され、コマンド候補へ変換される。

レビュー

危険な操作は「実行」ではなく「貼り付け」に留める。人間が読んでから Enter を押す設計になっている。

# Natural language to command examples
# list all files modified in the last 7 days
# find and kill the process on port 3000
# compress the src folder excluding node_modules
安全側の境界: Ctrl+C、help flags、裸の package manager 呼び出し、git pull conflicts、非シェル foreground process では Assistant を起動しない。LLM 補助が「全部に割り込む」のではなく、事故りやすい範囲を避けている。
4 — シェル連携
  • z: よく使うディレクトリを学習する smarter cd。
  • zsh-completions: common CLI tools の補完を拡張。
  • zsh-syntax-highlighting: 入力中にコマンドを色分け。
  • zsh-autosuggestions: fish 風の履歴ベース補完。
  • Starship: git と環境情報を含む高速プロンプト。
  • Delta: git diff / grep を読みやすくする pager。
  • Lazygit: Cmd + Shift + G で current pane に起動。
  • Yazi: Cmd + Shift + Y または y で起動し、終了時に cwd を同期。

SSH セッション中に Cmd + Shift + R を押すと、現在の SSH target を検出して sshfs でローカルに mount し、Yazi で開ける。AI エージェントが遠隔サーバー上のファイルを触る場面でも、ターミナルの流れを切らずにファイル操作へ移れる。

5 — 設定と CLI
コマンド役割代表的な使いどころ
kaku aiAI settings panel を開くAssistant と外部 AI coding tools の設定
kaku configLua 設定ファイルを開くテーマ、フォント、キーバインド、ウィンドウ挙動を上書き
kaku doctor環境診断shell integration、PATH、optional tools の確認
kaku update最新版確認と更新release を追従
kaku initzsh / fish integration を生成初回セットアップ、CLI tools の provision
kaku climultiplexer を外部から操作script や AI tools から pane / tab を開く
local wezterm = require 'wezterm'
local config = {}

-- Kaku loads bundled defaults first, then applies your overrides.
config.font_size = 16
config.window_background_opacity = 0.95
config.color_scheme = "Kaku Dark"
config.copy_on_select = false

return config
6 — 内部構成

Kaku は WezTerm 由来の crate 群を抱えた Rust workspace と、macOS アプリ本体、GUI、mux、terminal rendering 周辺のサブシステムで構成される。外側は「すぐ使えるターミナル」だが、中身は GUI・PTY・SSH・mux・surface・font・escape parser を分けた大きめのターミナル実装だ。

App layer

kaku / kaku-gui がアプリ起動、設定、macOS 統合、GUI の入口を担う。

Terminal core

term / termwiz / escape parser / font / surface が描画と端末プロトコルの土台。

Mux and remote

mux、SSH、UDS、remote crates がペイン、セッション、リモート操作の境界を担当。

性能項目UpstreamKaku方針
Executable Size約 67 MB約 40 MBsymbol stripping と feature pruning
Resources Volume約 100 MB約 80 MBasset optimization と lazy-loaded assets
Launch Latency標準Instantjust-in-time initialization
Shell Bootstrap約 200 ms約 100 msenvironment provisioning の最適化

このページは tw93/Kaku の README、Features、Configuration、CLI Reference、Cargo workspace から公開向けに要点を再構成した。