No description
- Swift 99%
- Shell 1%
| .cursor/rules | ||
| .github | ||
| docs | ||
| KeyType | ||
| KeyType.xcodeproj | ||
| KeyType.xcworkspace | ||
| KeyTypeTests | ||
| KeyTypeUITests | ||
| Packages | ||
| Scripts | ||
| tmp/pdfs | ||
| .gitignore | ||
| AGENTS.md | ||
| LICENSE | ||
| README.md | ||
KeyType
An open-source, on-device, system-wide tab-autocomplete utility for macOS.
KeyType is an open-source, on-device, system-wide tab-autocomplete utility for macOS.
It watches the focused text field across any app, predicts a short continuation at the cursor using a local LLM, and offers it as ghost text that you accept with Tab.
It is a MIT-licensed alternative to the closed-source app Cotypist.
Getting started
Installation
- Download the latest release from the releases page
- Double-click the downloaded
KeyType.dmgfile - Drag the
KeyTypeapp intoApplications - Open
KeyTypeand complete the onboarding
Development
Requirements: macOS 14+ and a recent version of Xcode.
git clone https://github.com/johnbean393/KeyType.git
cd KeyType
open KeyType.xcworkspace
Build/run the KeyType scheme.
Per-package builds:
swift build --package-path Packages/AutocompleteCore
swift test --package-path Packages/Prompting
Repo layout
KeyType/
├── KeyType.xcworkspace/ ← open this in Xcode
├── KeyType.xcodeproj/
├── KeyType/ ← app target (menu-bar shell)
├── KeyTypeTests/ KeyTypeUITests/
├── docs/ ← the project brief & playbooks (00–08)
└── Packages/ ← local SwiftPM packages (the real logic)
├── AutocompleteCore/ shared domain types & protocols
├── MacContextCapture/ AX focus + caret + text-field snapshot
├── Prompting/ sectioned, budgeted prompt builder
├── ModelRuntime/ llama.cpp wrapper
├── ConstrainedGeneration/ logit masking, trie admissibility, search
├── TokenProfiles/ ACPF profile reader + offline builder
├── CompletionUI/ overlay rendering (inline ghost text)
├── TextInsertion/ pasteboard / keystroke insertion strategies
└── AppCompatibility/ per-app / per-domain override policy
License
MIT — see LICENSE.