Skip to content

kurouna/elecxterm

Repository files navigation

electerm - Next-generation terminal manager

License: MIT Tauri X Created by Google Antigravity

elecxterm は、Google Antigravity によって作成された、Tauri v2 と Rust で構築された次世代ターミナルマネージャーです。
"elecxzy" エコシステムの一環として、直感的なタイリングレイアウト、高性能な PTY 管理、そして洗練されたユーザー体験を提供します。

electerm - Next-generation terminal manager dark theme  electerm - Next-generation terminal manager light theme

electerm - Next-generation terminal manager command palette

Warning

🚧 Project Status: Pre-release (Alpha) / 開発中(アルファ版)

This software is currently in an early alpha stage. Features are under active development, and some functions may be incomplete or unstable. Use with caution.

本ソフトウェアは現在、開発初期のプレリリース(アルファ)版です。すべての機能が完全に動作する状態ではなく、挙動が不安定な場合があります。あらかじめご了承ください。

🚀 主な機能

  • マルチタブ機能: 複数の作業環境をタブで管理。各タブごとに独自のタイリングレイアウトを保持。
  • 高度なタイリングエンジン: 直感的な画面分割(垂直・水平)と、ドラッグアンドドロップによる直感的なサイズ調整。
  • マルチシェル対応: cmd.exePowerShell を自在に使い分け、同一ウィンドウ内で一括管理。
  • 堅牢な PTY バックエンド:
    • パフォーマンス: ネイティブなバイナリ IPC 通信により、低遅延でスムーズな入出力を実現。
    • 安定性: 終了したペインのステータス監視と、レイアウト変更時でも状態を維持するスマートな再描画同期機能を搭載。
    • ネイティブ実装: portable-pty を採用したクロスプラットフォームな疑似端末実装。
  • 洗練された UI/UX:
    • Midnight デザイン: 深いネイビーを基調とした、目に優しくプレミアムな質感。
    • Glassmorphism / Glow エフェクト: 透明感のあるインターフェースと、アクティブペインの視覚的強調。
    • キーボードファースト: コマンドパレット (Ctrl+Shift+K) と豊富なショートカットによる高速な操作。
  • セッション永続化: レイアウト設定を自動保存し、次回起動時にシームレスに復元。

⚠️ 制限事項

  • 最大ペイン数: システムリソースの最適化とパフォーマンス維持のため、アプリケーション全体で同時に開けるペイン(ターミナル)の数は最大 15個 に制限されています。

⌨️ キーボードショートカット

キー アクション
Ctrl+Shift+K コマンドパレットを開く
Ctrl+Shift+T 新しいタブを作成
Ctrl+Shift+→ / F 次のタブへ移動
Ctrl+Shift+← / B 前のタブへ移動
Ctrl+Shift+D ペインを横に分割 (CMD)
Ctrl+Shift+E ペインを縦に分割 (CMD)
Ctrl+Alt+D ペインを横に分割 (PowerShell)
Ctrl+Alt+E ペインを縦に分割 (PowerShell)
Ctrl+Shift+W アクティブなペインを閉じる
Ctrl+Shift+N / ↓ 次のペインへ移動
Ctrl+Shift+P / ↑ 前のペインへ移動
Ctrl+Shift+< 先頭のペインへ移動
Ctrl+Shift+> 最後のペインへ移動
Ctrl+Shift+^ (US配列: Ctrl+Shift+=) フォントサイズを拡大
Ctrl+Shift+- フォントサイズを縮小
Ctrl+0 または Ctrl+Shift+¥ フォントサイズをリセット

🛠️ 開発とビルド

プリリクエスト

  • Rust: rustup を通じて最新の安定版をインストールしてください。
  • Node.js: LTS バージョンを推奨します。
  • Windows: Build Tools for Visual Studio 2022 が必要です。

初回セットアップ

リポジトリをクローンした後、初回のビルドを行う前に必ず以下のコマンドを実行して、OS 用のアイコン資産を生成してください。

npm install
npx tauri icon ./app-icon.svg

開発用サーバーの起動 (Dev Build)

.\dev.ps1

または単体での起動:

npm run dev

リリースビルド

実行バイナリとインストーラー(.msi / .exe)を生成します。

npm run tauri build

アイコンの更新

app-icon.svg を変更した場合は、以下のコマンドを実行することで、すべてのプラットフォーム用のアイコン(.ico, .icns, .png等)を再生成できます。

npx tauri icon ./app-icon.svg

🆙 バージョン更新

バージョン番号を変更する際は、以下のファイルを修正し、ロックファイルを更新してください。

修正が必要なファイル

  • package.json
  • src-tauri/tauri.conf.json
  • src-tauri/Cargo.toml

ロックファイルの更新コマンド

npm install --package-lock-only
cargo update -p elecxterm --manifest-path src-tauri/Cargo.toml

コミットメッセージの例

chore: bump version to 0.0.x / バージョンを 0.0.x に更新

Updated version to 0.0.x in package.json, tauri.conf.json, and Cargo.toml. / package.json, tauri.conf.json, および Cargo.toml のバージョンを 0.0.x に更新しました。

📦 依存関係の更新

elecxterm は フロントエンド (npm)Rust バックエンド (Cargo) の 2 系統の依存関係を持ちます。npm 系コマンドでは Rust 側は更新されないため、両方 を更新する必要があります。

1. フロントエンド (npm)

# semver 範囲内 (^/~) で安全に更新(メジャーは上がらない)
npm update

# メジャーを含めて最新まで上げる場合(package.json を書き換えるので install が必須)
npx ncu -u
npm install

npm update はロックファイルのみ更新します。npx ncu -upackage.json を最新版に書き換えるだけなので、続けて npm install を実行して反映してください。

2. Rust バックエンド (Cargo)

# semver 範囲内で安全に更新(Cargo.lock のみ)
cargo update --manifest-path src-tauri/Cargo.toml

# メジャーを含めて最新まで上げる場合(cargo-edit が必要)
cargo install cargo-edit          # 初回のみ
cargo upgrade --manifest-path src-tauri/Cargo.toml

3. 更新後の検証(必須)

特にメジャー更新では Tauri v2 / React 19 周りで破壊的変更が入ることがあります。更新後は必ずビルドと実機起動を確認してください。

npm run build        # TypeScript 型チェック + Vite ビルド
npm run tauri dev    # 実アプリで起動確認

4. コミットメッセージの例

更新の種類に応じて、以下を参考にしてください。build(deps) タイプを使用します。

  • 依存関係を一括で最新化した場合(npm-check-updates -u / ncu -u)のコミットメッセージ例: (※ npm install -g npm-check-updates でインストールするか、npx ncu -u で都度実行します)
build(deps): update dependencies to latest via ncu / ncu による依存関係の一括最新化
  • semver 範囲内で安全に更新した場合(npm update)のコミットメッセージ例:
build(deps): update package-lock.json via npm update / npm update による package-lock.json の更新
  • Rust 依存を更新した場合(cargo update / cargo upgrade)のコミットメッセージ例:
build(deps): update Rust dependencies via cargo update / cargo update による Rust 依存関係の更新
  • npm と Rust をまとめて更新した場合のコミットメッセージ例:
build(deps): update npm and Rust dependencies to latest / npm および Rust の依存関係を一括で最新化

Updated frontend packages via ncu -u and npm install. / ncu -u と npm install でフロントエンドのパッケージを更新しました。
Updated src-tauri dependencies via cargo upgrade. / cargo upgrade で src-tauri の依存関係を更新しました。

📂 プロジェクト構造

  • src/: React フロントエンド (TypeScript, Tailwind CSS, Vite)
  • src-tauri/: Rust バックエンド (Tauri v2, portable-pty)
  • src-tauri/icons/: アプリアイコン資産

📄 ライセンス

このプロジェクトは MIT License の下で公開されています。詳細については LICENSE を参照してください。


© 2026 elecxzy project

About

elecxzy project

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages