bama
BAMA: Build Any Mac App. Agent skills to research, clone, design, build, optimize, and test native macOS apps with Swift and SwiftUI.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
A local web application for research into the novel. Runs AI-powered salon conversations between historical esotericists, scientists, other thinkers in a room outside of time, for the purposes of uncovering new work/frictions/intersections/questions and general drama, to make online research as sparkly as it is in the meatspace.
(An MVP of a proposal from my DH grad program: what if the archives were "playable"?)
A document is read aloud. The lodge responds.
The founding eight — cast per session like everyone else, not permanently seated (see below):查看完整 README ↗A local web application for research into the novel. Runs AI-powered salon conversations between historical esotericists, scientists, other thinkers in a room outside of time, for the purposes of uncovering new work/frictions/intersections/questions and general drama, to make online research as sparkly as it is in the meatspace.
(An MVP of a proposal from my DH grad program: what if the archives were "playable"?)
A document is read aloud. The lodge responds.
The founding eight — cast per session like everyone else, not permanently seated (see below):
| Member | Register |
|---|---|
| Aleister Crowley | Associatively scrambled, solipsistic, seductive through confusion |
| Arthur Edward Waite | Pedantic, architecturally elaborate, spiritually tragic |
| Pamela Colman Smith | Quick, imagistic, visual talker |
| W.B. Yeats | Bardic, aestheticizes everything, has thoughts about some of his Golden Dawn alums |
| Helena Petrovna Blavatsky | Imperious, genuinely funny, synthesis holds even when sources don't |
| Éliphas Lévi | Epigrammatic, Frenchified, always building toward the one clarifying sentence |
| Teresa of Ávila | Went in directly without a system; depth for centuries |
| Ibn Arabi | Radical clarity, few words, holds receipts and deploys once at the right moment |
Every member is cast per session, and the roster has grown from this initial eight. See docs/MANIFEST.md for the current full list.
The room exists outside linear time.
server.js — Express server, and the only application file at the repo root. Proxies all Anthropic API calls server-side. A session is a continuous stream of passages separated by lulls — no preordained round count — each passage building on the last (genuine cross-talk, not parallel independent responses).src/ — Everything server.js requires: the salon engine (pipeline.js), roster/library/citation/graph logic, auth, and session persistence.src/routes/ — One module per route group (convene, session, library, member, export, graph, upload). Each exports a single register<X>Routes(app, deps) and takes its dependencies as an explicit parameter rather than reaching for module-level singletons.src/dayone.js — MCP client that spawns /usr/local/bin/dayone mcp via stdio. Handles journal fetch and transcript export.prompts/lodge-context.md — The shared system prompt foundation: the conceit of the room, the terms of being there, the voice parameters.prompts/members/ — One file per lodge member. Each character is built on top of the lodge context.public/ — Frontend served statically. index.html and lodge.html sit at the top, scripts live in public/js/ (each an IIFE assigning one window.X, loaded as plain <script> tags), styles in public/css/, and portraits/archival images in their own folders.sessions/ — Session JSON persisted locally. Not committed.This app is the main individual project of many collision room efforts - a full breakdown is available at dossier-placard (including the meta-cabinet / Journal Cabin'ét). They share no files, no state, and no characters at this time - duplicate personas (such as Crowley) notwithstanding.
git clone https://github.com/msdixon/secret-cabinet
cd secret-cabinet
npm install
cp .env.example .env # add your Anthropic API key
npm run dev
Open http://localhost:3132.
Requirements:
/usr/local/bin/dayone (for journal integration)Connected to the PreSeedings of the Secret Cabinet journal only.
secret-cabinets, meeting-notes, generated./secret-lodge skillFrom any Claude Code session:
/secret-lodge
Fetches the latest DayOne entry in a specialized journal, and runs the full lodge conversation inline, passage by passage until the room reaches a lull. /secret-lodge 2 uses the second most recent entry. The server must be running.
npm run devhttp://localhost:3132.txtANTHROPIC_API_KEY=your-key-here
PORT=3132
The .env file is never committed. On a fresh clone, create it manually or copy from a secure location.
Running multiple worktrees at once: every worktree shares the same root .env, so they all default to PORT=3132. Either run PORT=3200 npm run dev in a given worktree to pick your own port, or just start it with no override — if 3132 is taken, the server scans upward (3133, 3134, ...) and logs whichever port it actually bound.
The fire is lit. The document waits.