CommandPaletteKit

0.1.0

A dependency-free, Combine-free SwiftUI command palette (⌘K) for macOS and iPad.
adamtheturtle/CommandPaletteKit

What's New

v0.1.0

2026-06-24T18:19:19Z

First tagged release of CommandPaletteKit.

A customisable, SwiftUI ⌘K-style command palette with fuzzy matching, full keyboard navigation, async candidate loading, and custom row rendering.

This release establishes a semantic version for distribution via Swift Package Manager and the Swift Package Index. As a pre-1.0 release, the public API may still evolve.

See the documentation: https://github.com/adamtheturtle/CommandPaletteKit

CommandPaletteKit

CI

A dependency-free, Combine-free SwiftUI command palette (⌘K) for macOS and iPad — the "jump to anything" overlay you get in VS Code, Raycast, or GitHub's cmd-k. It's an action palette: each result carries a @MainActor action it runs when activated.

Pure SwiftUI (plus a little AppKit for one macOS keyboard fix), with built-in fuzzy matching, hardware-keyboard navigation on macOS and iPad, and sensible defaults so the zero-config call site stays short.

Installation

Swift Package Manager:

.package(url: "https://github.com/adamtheturtle/CommandPaletteKit", from: "0.1.0")

Then add "CommandPaletteKit" to your target's dependencies.

Quick start

import CommandPaletteKit

.sheet(isPresented: $showingPalette) {
    CommandPaletteView {
        [
            PaletteResult(
                id: "command.new",
                title: "New Document",
                subtitle: "Create a document",
                category: "Command",
                systemImage: "plus.square",
                searchText: "New Document create"
            ) { createDocument() },

            PaletteResult(
                id: "nav.settings",
                title: "Settings",
                category: "Navigate",
                systemImage: "gearshape"
            ) { openSettings() }
        ]
    }
}

Trigger it with the conventional ⌘K:

.keyboardShortcut("k", modifiers: .command)

Documentation

Full documentation — getting started, customization (custom rows, async candidates, styling, scoring), and keyboard navigation — is published with DocC:

📖 adamtheturtle.github.io/CommandPaletteKit

To browse it locally:

swift package --disable-sandbox preview-documentation --target CommandPaletteKit

License

MIT. See LICENSE.

Description

  • Swift Tools 6.0.0
View More Packages from this Author

Dependencies

Last updated: Sun Jun 28 2026 10:00:44 GMT-0900 (Hawaii-Aleutian Daylight Time)