Loading...
Loading...
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.
npx skill4agent add daveebbelaar/bama new-mac-app.app<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.shswift --version # Swift 6.2 or later
sw_vers -productVersion # 26.0 or later.macOS(.v15)Package.swiftLSMinimumSystemVersionInfo.plist.indocs/BRIEF.mdgit init"${CLAUDE_SKILL_DIR}/scripts/new-app.sh" Tasks com.yourname.tasks ~/Developercd ~/Developer/Tasks && ./build.sh --openbuild-and-verifyswift test --scratch-path ~/Library/Developer/Tasks/test-build # Kit unit tests
tools/selftest.sh # PASS per check, exit 0
tools/snap.sh # sample data, light and dark PNGsdocs/BRIEF.mdItemimprove-loopproject.yml.xcodeprojxcodebuildproject.yml.xcodeproj-derivedDataPathbuild.shagent-clicannot find 'X' in scopeswift package clean --scratch-path ~/Library/Developer/<AppName>/buildbinary is older than ...swift-swiftui~/Applications