每个代理只选一种安装方式,两种方式同时用会把技能装两遍;clone 原生应用需要 computer use 能力(Claude Pro 或 Max);需 macOS 26 与 Xcode 26 以上,低版本无法使用。
bama
daveebbelaarMIT活跃维护一套给 AI 编码代理用的技能包,让 Claude Code、Codex 等代理能调研、克隆、设计、构建、优化并测试原生 macOS 应用,用 Swift 和 SwiftUI 直接出成品。
BAMA: Build Any Mac App. Agent skills to research, clone, design, build, optimize, and test native macOS apps with Swift and SwiftUI.
npx skills@latest add daveebbelaar/bama需要 macOS 26 或更高版本,以及 Xcode 26 或更高版本(提供 Swift 6.2 工具链,但无需打开 Xcode 图形界面)。README 未说明 CPU/GPU 或显存要求。
一套让 AI 代理用 Swift 和 SwiftUI 从零构建原生 Mac 应用的技能集
一套给 AI 编码代理用的技能包,让 Claude Code、Codex 等代理能调研、克隆、设计、构建、优化并测试原生 macOS 应用,用 Swift 和 SwiftUI 直接出成品。
核心能力
- 用 clone 技能截图目标应用并生成界面索引
- 把界面拆成带验收标准的用户故事与里程碑
- 每个提交只实现一个故事并跑测试与明暗模式快照
- 覆盖 Swift 6 并发、SwiftData、AppKit 桥接等编码技能
- 内置 Liquid Glass 设计规范与 4pt 网格对齐检查
容易踩的坑
- bama--v1.1.1BAMA 1.1.1最新正式版2026-11-05 · 2026-11-05 10:08 UTC
What's Changed
- Fix the app shell's grid guidance and check edges across areas by @daveebbelaar in https://github.com/daveebbelaar/bama/pull/16
- Release 1.1.1 by @daveebbelaar in https://github.com/daveebbelaar/bama/pull/17
Full Changelog: https://github.com/daveebbelaar/bama/compare/bama--v1.1.0...bama--v1.1.1
- bama--v1.1.0BAMA 1.1.02026-11-05 · 2026-11-05 09:56 UTC
查看更新说明
What's Changed
- Update the screenshots and launcher specs from Onyx by @daveebbelaar in https://github.com/daveebbelaar/bama/pull/3
- Keep new-app.sh going when the folder already has files by @daveebbelaar in https://github.com/daveebbelaar/bama/pull/5
- Find the app bundle when the agent CLI runs from PATH by @daveebbelaar in https://github.com/daveebbelaar/bama/pull/6
- Point Windows users to BAWA in the README by @daveebbelaar in https://github.com/daveebbelaar/bama/pull/9
- Add an app shell guide for sidebars and the top bar by @daveebbelaar in https://github.com/daveebbelaar/bama/pull/14
- Release 1.1.0 by @daveebbelaar in https://github.com/daveebbelaar/bama/pull/15
- Hide a menu bar icon with NSStatusItem, and send key events with the flags a real keyboard sends by @estrenuo in https://github.com/daveebbelaar/bama/pull/8
- fix(scaffold): detect both placeholders on BSD grep (#7) by @Bl0ck154 in https://github.com/daveebbelaar/bama/pull/11
- fix(build): do not install an old binary after Swift build fails by @Bl0ck154 in https://github.com/daveebbelaar/bama/pull/12
- fix(agent-cli): identify the app by App.swift, not directory order by @Bl0ck154 in https://github.com/daveebbelaar/bama/pull/13
New Contributors
- @daveebbelaar made their first contribution in https://github.com/daveebbelaar/bama/pull/3
- @estrenuo made their first contribution in https://github.com/daveebbelaar/bama/pull/8
- @Bl0ck154 made their first contribution in https://github.com/daveebbelaar/bama/pull/11
Full Changelog: https://github.com/daveebbelaar/bama/commits/bama--v1.1.0
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
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
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.
/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 plugin marketplace add daveebbelaar/bama
codex plugin add bama@bama
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
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.