Skip to main content

macpluginplaybook

Phased playbook to build or port a native SwiftUI macOS menu bar app. USE WHEN starting or porting a macOS menu bar plugin. NOT FOR one view's styling (use MacUX).

소스 정보

저장소
RohiRIK/skills
최근 소스 활동
2026년 9월 29일 13:24
감지된 SKILL.md 언어
영어
스타
1
포크
0

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
3 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
MacPluginPlaybook
description
Phased playbook to build or port a native SwiftUI macOS menu bar app. USE WHEN starting or porting a macOS menu bar plugin. NOT FOR one view's styling (use MacUX).
category
workflow
effort
high
domain
dev
# MacPluginPlaybook The process that took a Linux bar widget to a polished native macOS menu bar app in one day, as phases with gates. Each phase names a companion skill when installed and carries its own checklist when not. ## Workflow Routing | Workflow | Trigger | File | |----------|---------|------| | **NewPlugin** | "build a macOS plugin", "port this widget to macOS", "what's next for the plugin" | `Workflows/NewPlugin.md` | ## Quick Reference - Phases: 0 Workspace → 1 Research → 2 Scaffold → 3 Logic (test-first) → 4 UI loop → 5 App shell → 6 Audit → 7 Verify + PR → 8 Record. Never start with UI. - Companion skills (load if present): `PortOmarchyPlugin`, `MacAppArchitecture`, `MacAppBuild`, `MacUX` (+ `DesignPass`), `swiftui-expert-skill`, `swift-concurrency-pro`. - Everything that went wrong or right, with the fix: `Lessons.md`. Read it at the start of every plugin. - The user's screenshot is the ground truth for UI; previews and green builds are not. - Record each lesson in the same turn it is learned, in the skill that owns it. ## Gotchas - Glaze-style AI Mac-app builders are React in a WebView; for native Swift, copy their *process* (one gate, bounded inspection, per-app memory), not their stack. - Menu bar (`LSUIElement`) apps need Quit + Open at Login, a distinct menu bar icon, `NSApp.activate()` before any window, and Location "Always" for Wi-Fi names. - SwiftUI previews do not run in an executable target: views go in a library target with a library product. - A tabbed panel needs one fixed content height, or it jumps and clips its own top. - Check license before borrowing: MIT → adapt with notice; no license → read only. ## Examples **Example 1: Port a Linux bar widget** ``` User: "port <omarchy widget repo> to macOS" → NewPlugin: workspace check → clone + inventory → SwiftPM scaffold → port helpers + tests → panel UI via DesignPass with the user's screenshots → Settings + onboarding → audit → PR report ```
GitHub에서 보기