AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
Bloom: Claude Code와 Codex를 각 git worktree에서 병렬 실행하는 무료 Mac 앱
Bloom is a free native Mac app that runs Claude Code and Codex in parallel, each in its own git worktree. Read the diffs, comment inline, open the pull request.
개발 도구Swift · ShellGitHub @spatie온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기A native macOS app for running parallel Claude Code and Codex agents in git worktrees
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Bloom is a native macOS app for working with coding agents in Git worktrees. Each workspace has its own branch and directory. The app puts conversations, terminals, a browser, changed files and pull requests in one window.
Bloom requires macOS 26 or later. Install the signed and notarised app with Homebrew:
brew install --cask spatie/bloom/spatie-bloom
Or download the disk image and drag Bloom to Applications. Sparkle checks for updates from inside the app.
Install at least one supported agent CLI on your Mac: Claude Code
(claude), Codex (codex), or Grok (grok). Bloom uses
the CLI you choose for each conversation. Git is required; GitHub CLI
(gh) enables pull request and checks features. Cursor and OpenCode can be detected in Settings but
cannot run conversations yet.
Bloom keeps its workspaces and conversation database on your Mac. It does not require a Bloom account. Agent CLIs use their own authentication and provider connections.
Workspaces live under ~/bloom/workspaces.noindex by default. The .noindex suffix keeps Spotlight
from indexing every worktree. Bloom also supports multiple chats in one workspace, reusable quick
prompts and subagents that work in the same branch. Conversation workspaces appear below projects
in the sidebar and need no project, Git repository or worktree.
Useful shortcuts include Cmd+N for a new workspace, Cmd+J for a project-free conversation and Cmd+P to search files in the current project workspace. See the menu reference for the full list.
The built-in inbox is enabled by default. Point your local app's SMTP host to
127.0.0.1 and port to 2255, with no encryption or authentication. Bloom Dev uses port 2256 so
it can run beside the regular app. The inbox runs while Bloom is open and keeps its messages in
Bloom's application data between launches. You can turn it off or change the SMTP port in Settings.
The sidebar footer opens the message list. Agents running in Bloom can use its mail_send bridge
tool to put plain text test messages in the same inbox, including from projects with no mail setup.
Browser access is in alpha and may change or be removed at any time. Bloom can show conversations in a browser while the Mac app is running. The browser can send prompts, create projects and workspaces, and inspect transcripts and file references. Some Mac features, including native diff review and terminal panes, are not available there yet.
On the same Mac, open Settings > Browser Access, enable Allow browser access, then choose
Open in Browser. Bloom opens a one-use link, so you do not need to type an access code. Bloom Dev
also accepts direct connections to http://127.0.0.1:53544 on the host Mac without a code.
To open Bloom from a phone or another computer through Tailscale:
tailscale serve --bg PORT, replacing PORT with the port from
Bloom. For example, Bloom Dev uses tailscale serve --bg 53544.https://your-mac.your-tailnet.ts.net. Open
it on the other device and enter Bloom's access code. Tailscale Serve
keeps this address within your tailnet.The hostname names your Mac in Tailscale, not a separate Bloom account. You can rename the Mac in
Tailscale if you want a shorter hostname. The
regular Bloom app chooses a new browser port and access code when it restarts. If the port changes,
run tailscale serve --bg PORT again with the new port and use the new access code. Bloom Dev keeps
port 53544, but its remote connections still require the code. To stop remote access, run
tailscale serve off on the Mac or turn off browser access in Bloom.
Configure a project in .bloom/settings.toml. Put machine specific values in
.bloom/settings.local.toml. Both can be edited from the project's settings screen. Supported
settings include setup and archive scripts, named run scripts, files to copy, branch naming, the
browser address and default models.
[scripts]
setup_file = ".bloom/setup.sh"
archive_file = ".bloom/archive.sh"
[browser]
url = "http://localhost:$BLOOM_PORT"
A script named by setup_file or archive_file runs in the worktree. Setup runs after creation;
archive must succeed before Bloom removes the worktree. Inline scripts.setup and scripts.archive
are also supported. Bloom supplies BLOOM_WORKSPACE_ID, BLOOM_WORKSPACE_PATH, BLOOM_ROOT_PATH,
BLOOM_DEFAULT_BRANCH, BLOOM_PORT and other workspace variables.
A browser pane normally opens http://localhost:$BLOOM_PORT. Set browser.url as above or write an
address to the file named by BLOOM_URL_FILE from your setup script. The file is ignored by Git and
read when a browser pane opens.
Workspace agents can call project_setup_guide for the supported settings format and this copy of
Bloom's current local SMTP port. Incoming mails is configured in Bloom Settings, not in the
repository's .bloom/settings.toml.
Workspace agents can ask Bloom to open panes, read the browser or terminal, show media, manage subagents and work with projects and workspaces through an MCP bridge. The bridge scopes a workspace agent to its own worktree. You can also register it in your own MCP client from Settings. See the bridge reference for tools and permissions.
Install Xcode 26 and an agent CLI, then clone the repository:
git clone https://github.com/spatie/bloom.git
cd bloom
make dev-fast
This installs ~/Applications/Bloom Dev.app. The dev app has its own database, preferences and URL
scheme, so it can run beside a released copy. make dev-fast builds current edits; make dev
builds committed HEAD. Use ./Tools/dev-build.sh --fast --no-install to compile without
installing or launching.
Package.swift is the Xcode entry point. There is no Xcode project. The architecture guide explains the BloomCore, Bloom and bridge targets.
AGENTS.md indexes the project skills and CLAUDE.md contains the
development rules shared by agents and contributors.
make build # Compile all targets with warnings treated as errors
make lint # Check project rules
make swiftlint # Check Swift style
The core tests run through ./Tools/test-core.sh <filter> or make test. They do not compile the
app target, so also run make build when changing code. Follow the local test guidance in
CLAUDE.md when working on the owner's machine.
Bloom is free, open source and postcardware. If you use it, send us a postcard from your hometown and tell us what you are building. We share them on our postcard wall. You can also support Spatie's open source work.
See CONTRIBUTING to contribute. Report security issues to [email protected]. Bloom is licensed under MIT.