Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,17 @@ run-tests-automated.sh
output/
test-results/

# Generated coverage reports (produced in CI; never commit)
coverage/
coverage-full/

# Generated Jekyll search index
search-index.json

# Tilde-expansion accident guard: a literal "~/..." path created when a script
# or test fails to expand $HOME. Never commit a "~" directory at the repo root.
/~/

# UI test screenshots and logs
Scripts/ui-tests/results/

Expand Down
2 changes: 1 addition & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -217,7 +217,7 @@ an unpinned version.
**"df"** → Run `./Scripts/quick-deploy.sh`, respond **"Eye eye Cap, fast deploying!"**
**"ds"** → Development ship workflow for the current changes, end to end: branch off master → format/lint + commit → review gate → push + open PR → babysit CI → address feedback → merge → pull master → `./Scripts/release-candidate.sh` from master for signed/notarized manual testing. Follow [`docs/agent-pr-workflow.md`](docs/agent-pr-workflow.md) and its invariants; risk-tier the babysit (auto-merge mechanical PRs, full babysit for logic/hot-path). Public distribution is a separate explicit release: `./Scripts/release-doctor.sh --ship && ./Scripts/release.sh <version>`.

Test targets: `Tests/KeyPathTests/` (target: `KeyPathTests`). Files in `Tests/KeyPathAppKitTests/` are NOT compiled. Snapshot tests in `Tests/KeyPathSnapshotTests/`.
Test targets: `KeyPathTests` (`Tests/KeyPathTests/`), `KeyPathSmokeTests`, `KeyPathSnapshotTests`, and `KeyPathLayoutTracerTests` — all compiled and run by `swift test`.

## Poltergeist (Auto-Deploy)

Expand Down
20 changes: 10 additions & 10 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ For potential vulnerabilities, do **not** open a public issue.
- https://github.com/malpern/KeyPath/security/advisories/new
- Fallback: malpern@gmail.com

See `/Users/malpern/local-code/KeyPath/SECURITY.md` for full policy and response expectations.
See [`SECURITY.md`](SECURITY.md) for full policy and response expectations.

## Community Build Mode vs Release Build

Expand All @@ -58,27 +58,27 @@ Release/distribution validation requires signed/notarized artifacts and Apple cr
## I Want To...

### Add a keyboard shortcut
**Edit:** `Sources/KeyPath/UI/RecordingCoordinator.swift`
**Edit:** `Sources/KeyPathAppKit/UI/Pickers/RecordingCoordinator.swift`
**What:** This handles keyboard input recording for creating mappings.

### Change the main UI
**Edit:** `Sources/KeyPath/UI/ContentView.swift`
**What:** Main app window with status, mappings list, and controls.
**Edit:** `Sources/KeyPathAppKit/App.swift` (root scene) and the modular views under `Sources/KeyPathAppKit/UI/`
**What:** The UI is composed of many SwiftUI views — there is no single `ContentView`.

### Fix a bug in key mapping
**Edit:** `Sources/KeyPath/Services/KanataConfigGenerator.swift`
**What:** Converts key mappings to Kanata config format.
**Edit:** `Sources/KeyPathAppKit/Infrastructure/Config/` (config generation and parsing)
**What:** Converts key mappings to Kanata config format. The `(defcfg ...)` header is centralized in `KanataDefcfg.swift`.

### Add a new service check to the wizard
**Edit:** `Sources/KeyPath/InstallationWizard/Core/SystemStatusChecker.swift`
**What:** Detects system state and determines wizard flow.
**Edit:** `Sources/KeyPathInstallationWizard/Core/SystemInspector.swift` (and `InstallerEngine.swift`)
**What:** Inspects system state; `WizardStateMachine.swift` determines wizard flow.

### Add a notification
**Edit:** `Sources/KeyPath/Services/UserNotificationService.swift`
**Edit:** `Sources/KeyPathAppKit/Services/UserNotificationService.swift`
**What:** Handles macOS notifications with actions.

### Improve error handling
**Edit:** `Sources/KeyPath/Core/KeyPathError.swift`
**Edit:** `Sources/KeyPathCore/KeyPathError.swift`
**What:** Centralized error hierarchy for the entire app.

### Add a test
Expand Down
626 changes: 0 additions & 626 deletions coverage-full/coverage-report.txt

This file was deleted.

1 change: 0 additions & 1 deletion coverage-full/coverage-summary.txt

This file was deleted.

1 change: 0 additions & 1 deletion coverage-full/coverage.json

This file was deleted.

626 changes: 0 additions & 626 deletions coverage/coverage-report.txt

This file was deleted.

1 change: 0 additions & 1 deletion coverage/coverage-summary.txt

This file was deleted.

1 change: 0 additions & 1 deletion coverage/coverage.json

This file was deleted.

26 changes: 0 additions & 26 deletions search-index.json

This file was deleted.

6 changes: 0 additions & 6 deletions ~/Library/Application Support/KeyPath/keypath.kbd

This file was deleted.

Loading