A lightweight macOS app that switches between alphanumeric and kana input when tapping left/right Command keys.
Built with Swift for modern macOS.
- Simple & Fast: Minimal resource usage, instant response
- Swift-Only Stack: Native macOS code (no Tauri/Electron)
- M4 Mac Optimized: Native arm64 build for Apple Silicon
- macOS 14+ Support: Built for modern macOS versions
- Customizable: Remap any key combination via preferences
brew install --cask cmd-ime- Download the latest release from Releases
- Move
⌘IME.appto Applications folder - Right-click and select "Open" (first time only)
- Grant accessibility permissions when prompted
- Left Command (⌘): Switch to Alphanumeric
- Right Command (⌘): Switch to Hiragana/Kana
Customize key mappings in Preferences (⌘ icon in menu bar → Preferences).
- Toggle "ログイン時に開く" from the menu bar or preferences to add/remove a LaunchAgent (
~/Library/LaunchAgents/com.kazuki.cmdime.launcher.plist) so the app starts at login.
- Toggle "起動時にアップデートを確認" to query GitHub Releases on launch, or press "確認する" in Preferences → 設定 to manually check and open the latest release page.
- macOS 14.0 (Sonoma) or later
- Apple Silicon (M1/M2/M3/M4) or Intel Mac
- Swift 5.10+ (Xcode 15 or newer)
- Xcode Command Line Tools
git clone https://github.com/agiletec-inc/cmd-ime.git
cd cmd-ime
# Build the Swift menu bar app (bundle via Xcode or swift build)
cd apps/cmd-ime-swift
swift build -c release
open CmdIMESwift.xcodeproj # if you prefer GUI buildSee CLAUDE.md for detailed development documentation.
Run the automated test suites before shipping any change:
# Swift menu bar app + CmdIME runtime tests
cd apps/cmd-ime-swift
swift test
# Xcode scheme (UI tests & unit tests)
xcodebuild -scheme CmdIMESwift -destination 'platform=macOS,arch=arm64' -skipPackagePluginValidation test- Quit the app (menu bar → ⌘ icon → Quit)
- Delete
⌘IME.appfrom Applications - Remove preferences:
rm ~/Library/Preferences/com.kazuki.cmd-ime.plist
⌘IME is part of the AIRIS Suite - a collection of self-hosted, privacy-first tools for developers.
| Component | Purpose |
|---|---|
| airis-mcp-gateway | 🚪 Unified MCP hub with 90% token reduction |
| mindbase | 💾 Local cross-session memory with semantic search |
| airis-agent | 🧠 Intelligence layer for AI coding |
| airis-workspace | 🏗️ Docker-first monorepo manager |
| neural | 🌐 Local LLM translation tool (DeepL alternative) |
| airiscode | 🖥️ Terminal-first autonomous coding agent |
If you find ⌘IME helpful, consider supporting its development:
Your support helps maintain and improve all AIRIS projects!
We welcome contributions! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
MIT License - See LICENSE file for details.
Based on the original cmd-eikana project.
Built with ❤️ by the Agiletec team