bama README

The project's README from github.com/daveebbelaar/bama. As one markdown file: README.md.

BAMA: Build Any Mac App

See an app you like. Rebuild it as your own native Mac app.

Agent skills that take a native macOS app from idea to your Dock.
Swift and SwiftUI. Local data. No Xcode GUI.

macOS 26+ Swift 6.2 21 skills Claude Code plugin Codex plugin MIT license

Quick start · How it works · Skills · Specs · Install

On Windows? Use BAWA: Build Any Windows App instead.

Quick start

npx skills@latest add daveebbelaar/bama

Then ask your agent:

Clone my to-do app as a native Mac app.
Screenshot every screen, write the user stories, and build milestone 1.

Not sure where to start? Type /bama. It looks at your project and picks the next skill.

How it works

1. Clone

Your agent opens the app you like and screenshots every screen. It writes a screen index.

2. Plan

It turns the screens into user stories with checkable acceptance criteria, in milestones.

3. Build

It builds one story per commit. Before each commit it snapshots every page in light and dark mode and runs the tests.

Skills

StageSkillWhat it does
StartbamaRouter: finds where you are and calls the right skill
app-briefTurns an idea into a one-page brief
new-mac-appA working app from a template: Swift package, SwiftData, build script, snapshot mode, git
PlanresearchParallel researcher agents: market, users, features, design, macOS APIs
cloneScreenshots every screen of any app with computer use or a browser, writes a screen index
user-storiesA backlog with checkable acceptance criteria, in milestones
Codeswift-swiftuiSwift 6 concurrency, state, SwiftData, AppKit bridges, compiler errors
os-integrationsGlobal hotkeys, menu bar, floating panels, window control, screen capture, Shortcuts, URL schemes, CLI, permissions
performanceMeasure, then fix: main thread, GPU compositing, images, Instruments from the command line
improve-architectureFinds hot spots as the app grows and refactors one step per commit, with behavior proven unchanged
agent-cliOptional: a command line and MCP server, so Claude Code, Codex, and scripts can drive your app
Designux-designNames, flow, where each feature opens (inline, popover, sheet, window), words, and accessibility, before code
mac-designLiquid Glass, layout, toolbars, menus, keyboard, type, dark mode
design-systemNative look with an accent color people pick in Settings, then one set of tokens and one rules page
layout-gridA 4 pt grid with checks that fail on misalignment: a code lint, a layout probe in snapshot mode, and a grid overlay
design-kitYour own parts, not Apple's: three token layers, type, an icon set, every part in every state, custom window chrome, and a parts gallery
design-from-appRebuilds the look of an app you like from its screenshots: measures sizes, type, and colors, then compares pixel by pixel until it matches
app-iconA Liquid Glass icon written as an Icon Composer file, checked in every look
Shipbuild-and-verifyBuild, install, snapshot every page in light and dark, look at them
test-mac-appSwift Testing, an in-app self-test, a debug bridge an agent can drive
improve-loopWorks through the backlog one story per commit until a milestone is done

Specs

Not sure what to build? specs/ has 12 build plans for small Mac apps: a window snapper, a window switcher, a launcher, clipboard history, screenshots, a screen recorder, and more. I took them apart from Onyx, my own menu bar app. Copy one into an empty folder and tell your agent:

Build the app in window-snapper.md with BAMA.

Install

Pick one route per agent. Two routes install every skill twice.

Claude Code
/plugin marketplace add daveebbelaar/bama
/plugin install bama@bama
Codex
codex plugin marketplace add daveebbelaar/bama
codex plugin add bama@bama
Any other agent (Cursor, Gemini CLI, Copilot, and more)

Uses skills.sh. Install all skills, or one with --skill.

npx skills@latest add daveebbelaar/bama -a <agent>
npx skills@latest add daveebbelaar/bama --skill=clone
By hand
git clone https://github.com/daveebbelaar/bama.git
bama/scripts/link-skills.sh       # links every skill into ~/.claude/skills and ~/.agents/skills

Requirements

Credits

License

MIT

bama (daveebbelaar/bama)

native-app
Searching Database…

1.4K ·GitHub
What is this?BAMA (Build Any Mac App) is a set of agent skills that let a coding agent research, clone, design, build, optimize, and test a native macOS app written in Swift and SwiftUI, taking it from an idea to your Dock.
Is this an app I install, or a toolkit for my coding agent?It is a toolkit of agent skills (a Claude Code / Codex plugin), not an app itself; you install the skills into your coding agent and the agent then writes and builds the Mac app for you.
How do I install the skills?Claude Code and Codex each have their own install route; any other skill-capable agent (Cursor, Gemini CLI, Copilot) installs via the skills.sh script, which can install every skill or just one with --skill.
What do I need before using it?You need macOS 26 or later, Xcode 26+ for the Swift 6.2 toolchain (you never actually open Xcode's GUI), and an agent that supports skills such as Claude Code, Codex, Cursor, or Gemini CLI.
Any catch before I start cloning an app?Using the clone skill on a native app requires computer use, which needs a paid Claude Pro or Max plan; also, running the install for two different agents at once will install every skill twice.
Does this need the very latest macOS, or does it run on older Macs too?It requires macOS 26 or later with the Xcode 26 / Swift 6.2 toolchain installed; README does not mention Intel vs Apple Silicon specifically.
How does the clone skill actually copy an app's look?It screenshots every screen of the target app using computer use or a browser, writes a screen index, and later a design-from-app skill measures sizes, type, and colors and compares pixel by pixel until the rebuild matches.
What if I do not want to clone an existing app?The specs/ folder ships 12 ready build plans for small Mac utilities (a window snapper, a launcher, clipboard history, a screen recorder, etc.) - copy one into an empty folder and tell your agent to build it.
What design skills come with it?ux-design plans flows and accessibility, mac-design applies Liquid Glass and native layout, design-system and design-kit build a token-based native look, and app-icon generates a Liquid Glass icon as an Icon Composer file.
Where did the idea for BAMA come from?The project credits REA: Reverse Engineer Anything by morluto for the idea that an agent can reverse engineer any app, and brings that concept to native Mac app building.
Size
1.2 MB
Stars
1.4K
Updated
CommitNov 01
Age
10d
Commits · 90 Days