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.