daveebbelaar/bama

BAMA: Build Any Mac App. Agent skills to research, clone, design, build, optimize, and test native macOS apps with Swift and SwiftUI.

BAMA (Build Any Mac App) is a collection of agent skills that help an AI coding agent turn an idea or an existing app into a native macOS app, written in Swift and SwiftUI. It's designed to work without opening Xcode's graphical interface — everything is done via code and command-line tools.

What it does:

  • You give your agent a prompt like "Clone my to-do app as a native Mac app" or "Build the app in window-snapper.md with BAMA."
  • The agent follows a three-step process: Clone (screenshots every screen of an app you like and writes a screen index), Plan (turns screens into user stories with acceptance criteria, grouped into milestones), and Build (implements one story per commit, taking light/dark snapshots and running tests before each commit).
  • A /bama command acts as a router: it inspects your project and picks the next appropriate skill.

Skills (21 total):

  • Start: bama (router), app-brief (turns an idea into a one-page brief), new-mac-app (creates a working app from a template with SwiftData, build script, snapshot mode, git).
  • Plan: research (parallel research on market, users, features, design, macOS APIs), clone (screenshots any app via computer use or browser), user-stories (backlog with checkable acceptance criteria).
  • Code: swift-swiftui (Swift 6 concurrency, state, SwiftData, AppKit bridges), os-integrations (hotkeys, menu bar, floating panels, screen capture, Shortcuts, URL schemes, CLI, permissions), performance (measure and fix main thread, GPU, images, Instruments), improve-architecture (refactor hot spots one step per commit), agent-cli (optional CLI and MCP server for external control).
  • Design: ux-design (names, flow, where features open, accessibility), mac-design (Liquid Glass, layout, toolbars, menus, dark mode), design-system (native look with accent color, tokens, rules), layout-grid (4pt grid with alignment checks), design-kit (custom parts, icon set, every state, parts gallery), design-from-app (rebuilds an app's look from screenshots, pixel-by-pixel comparison), app-icon (Liquid Glass icon as Icon Composer file).
  • Ship: build-and-verify (build, install, snapshot every page in light/dark), test-mac-app (Swift Testing, in-app self-test, debug bridge), improve-loop (work through backlog one story per commit until milestone done).

Specs:

  • The specs/ folder contains 12 build plans for small Mac apps (window snapper, window switcher, launcher, clipboard history, screenshots, screen recorder, etc.). You can copy one into an empty folder and ask your agent to build it.

Installation:

  • For Claude Code: /plugin marketplace add daveebbelaar/bama then /plugin install bama@bama.
  • For Codex: codex plugin marketplace add daveebbelaar/bama then codex plugin add bama@bama.
  • For any other agent (Cursor, Gemini CLI, Copilot): use npx skills@latest add daveebbelaar/bama -a <agent> (or --skill=clone for a single skill).
  • By hand: git clone https://github.com/daveebbelaar/bama.git then run bama/scripts/link-skills.sh to link skills into ~/.claude/skills and ~/.agents/skills.

Requirements:

  • macOS 26 or later
  • Xcode 26 or later (for Swift 6.2 toolchain, but you never open it)
  • An agent that supports skills (Claude Code, Codex, Cursor, Gemini CLI)
  • For the clone skill on native apps: computer use (Claude Pro or Max)

Credits:

License: MIT.

Related

  • Project
  • Project
  • Project
  • Project