daveebbelaar/bama has 1,676 GitHub stars and 205 forks. GitHot measured +29 stars in 24 hours. Last checked 2026-11-08 05:28 UTC. Last push 2026-11-01.
BAMA: Build Any Mac App. Agent skills to research, clone, design, build, optimize, and test native macOS apps with Swift and SwiftUI.
Measured star growth
- in 24h
- +29
- in 7 days
- Update delayed
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
Original
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.
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
| Stage | Skill | What it does |
|---|---|---|
| Start | bama | Router: finds where you are and calls the right skill |
| app-brief | Turns an idea into a one-page brief | |
| new-mac-app | A working app from a template: Swift package, SwiftData, build script, snapshot mode, git | |
| Plan | research | Parallel researcher agents: market, users, features, design, macOS APIs |
| clone | Screenshots every screen of any app with computer use or a browser, writes a screen index | |
| user-stories | A backlog with checkable acceptance criteria, in milestones | |
| Code | swift-swiftui | Swift 6 concurrency, state, SwiftData, AppKit bridges, compiler errors |
| os-integrations | Global hotkeys, menu bar, floating panels, window control, screen capture, Shortcuts, URL schemes, CLI, permissions | |
| performance | Measure, then fix: main thread, GPU compositing, images, Instruments from the command line | |
| improve-architecture | Finds hot spots as the app grows and refactors one step per commit, with behavior proven unchanged | |
| agent-cli | Optional: a command line and MCP server, so Claude Code, Codex, and scripts can drive your app | |
| Design | ux-design | Names, flow, where each feature opens (inline, popover, sheet, window), words, and accessibility, before code |
| mac-design | Liquid Glass, layout, toolbars, menus, keyboard, type, dark mode | |
| design-system | Native look with an accent color people pick in Settings, then one set of tokens and one rules page | |
| layout-grid | A 4 pt grid with checks that fail on misalignment: a code lint, a layout probe in snapshot mode, and a grid overlay | |
| design-kit | Your 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-app | Rebuilds the look of an app you like from its screenshots: measures sizes, type, and colors, then compares pixel by pixel until it matches | |
| app-icon | A Liquid Glass icon written as an Icon Composer file, checked in every look | |
| Ship | build-and-verify | Build, install, snapshot every page in light and dark, look at them |
| test-mac-app | Swift Testing, an in-app self-test, a debug bridge an agent can drive | |
| improve-loop | Works 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
To get new versions, run this in your shell, then start a new session:
claude plugin marketplace update bama
claude plugin update bama@bama
To update on its own: run /plugin, open Marketplaces, select bama, and select Enable auto-update.
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
- macOS 26 or later
- Xcode 26 or later, for the Swift 6.2 toolchain (you never open it)
- An agent that supports skills: Claude Code, Codex, Cursor, Gemini CLI
- For
cloneon native apps: computer use (Claude Pro or Max)
Credits
- The idea and the "any" promise come from REA: Reverse Engineer Anything by morluto. REA showed that an agent can reverse engineer any app. BAMA takes that idea to the Mac.
- Skill format and writing rules follow Matt Pocock's
skills and his
writing-for-agentsskill. - Works well with SwiftUI Pro by Paul Hudson and SwiftUI Expert by Antoine van der Lee.
License
Explore related projects
codecrafters-io/build-your-own-x
Master programming by recreating your favorite technologies from scratch.
561,075 starspublic-apis/public-apis
A collective list of free APIs
497,318 starsmorluto/rea
Reverse engineer anything with agents, from app behavior down to native binaries.
443,648 starsopenclaw/openclaw
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
394,215 stars