
New Mac App
Create a native macOS SwiftUI app from a working template (Swift package, SwiftData...
Install
npx skills add daveebbelaar/bama --skill new-mac-app -g -a claude-code -y- Repository
- daveebbelaar/bama1.3k
- Category
- Mobile
- Updated
- 3d ago
- License
- MIT
- Context cost
- Lightabout 1,194 tokens
- Runs scripts
- Yes, review before use
What it does
Create a native macOS SwiftUI app from a working template (Swift package, SwiftData, build script, icon script, snapshot mode, git), with no Xcode GUI. Use when the user wants to start a new Mac app or scaffold a macOS project.
New Mac app
The template builds and runs as is. The first build proves the toolchain works before you write feature code.
What the template is
A Swift package with one executable target, plus a script that wraps the
binary in a real .app bundle. An agent can read and edit every file.
<AppName>/
Package.swift macOS 26, Swift 6.2 tools, main-actor default isolation
Info.plist.in bundle id, name, icon, minimum macOS
Icon/AppIcon.icon the app icon: Icon Composer file, JSON plus SVG layers
build.sh swift build -> .app bundle -> codesign -> ~/Applications
CLAUDE.md build, check, and design rules for agents
Sources/<AppName>/
App.swift window, menus, Settings, database location
Models.swift SwiftData models, sidebar pages, AppModel
ContentView.swift NavigationSplitView: sidebar, list, detail
Snapshot.swift APP_SNAPSHOT mode: PNG and layout file per page and Settings tab, light and dark
UI/Theme.swift accent colors, saved choice, accent tokens
SettingsView.swift Settings window: one tab per topic, sized to content
UI/AppearanceSettings.swift Settings: accent picker (mode follows the Mac)
UI/WindowBehavior.swift no focus ring on open, fit to content
UI/Grid.swift the 4 pt spacing scale, layout probes, grid overlay
tools/
grid-lint.sh flags spacing numbers off the 4 pt grid
check-layout.swift checks the layout files from snapshot mode
make_icon.sh Icon/AppIcon.icon -> Resources/Assets.car + AppIcon.icns (actool)
icon_review.sh renders every icon look into one PNG (ictool)
icon_sheet.swift joins the renders for icon_review.sh
Steps
-
Check the toolchain:
swift --version # Swift 6.2 or later sw_vers -productVersion # 26.0 or later
