https://github.com/bigbeardedman/loom
Native macOS workspace for terminals, editor, AI agents, and task state in one window. Local-first, single-user, no tiers.
https://github.com/bigbeardedman/loom
ai-agent claude-code developer-tools kanban macos ollama swift swiftdata swiftui terminal
Last synced: 10 days ago
JSON representation
Native macOS workspace for terminals, editor, AI agents, and task state in one window. Local-first, single-user, no tiers.
- Host: GitHub
- URL: https://github.com/bigbeardedman/loom
- Owner: BigBeardedMan
- License: gpl-3.0
- Created: 2026-05-02T18:06:35.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2026-06-03T21:36:31.000Z (20 days ago)
- Last Synced: 2026-06-03T23:12:41.712Z (20 days ago)
- Topics: ai-agent, claude-code, developer-tools, kanban, macos, ollama, swift, swiftdata, swiftui, terminal
- Language: Swift
- Homepage: https://bigbeardedman.github.io/Loom/
- Size: 15.9 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Loom
Native workspace app for terminals, editor, AI agents, and task state in one window. The terminal is the differentiator.
Two builds live in this repo:
- **macOS** (this README): SwiftUI + SwiftData, ships as a `.dmg` to `/Applications/Loom.app`. Source under `Loom/`.
- **Windows** (`windows-tauri/`): Tauri 2 + Rust + React, ships as MSI/NSIS for both `aarch64-pc-windows-msvc` and `x86_64-pc-windows-msvc`. See [`windows-tauri/README.md`](./windows-tauri/README.md) and [`windows-tauri/TESTING.md`](./windows-tauri/TESTING.md).
Loom is a personal, single-user tool. No subscription model, hosted control plane, team billing, or feature gating. Local-first storage is the default; cloud services should be optional provider integrations only when they directly help the operator ship.




## Install
Grab the latest `.dmg` from [Releases](https://github.com/BigBeardedMan/Loom/releases/latest), open it, and drag **Loom** to Applications. macOS 14+.
The build is ad-hoc signed (no Apple Developer ID), so on first launch right-click **Loom → Open** to bypass Gatekeeper's one-time prompt. Subsequent launches behave normally.
Loom auto-checks GitHub Releases every 60 seconds. When a newer build is available, the **Update** pill in the top bar lights up. Click it to swap in the new version.
## Build from source
```bash
brew install xcodegen # one-time
cd path/to/Loom # your local clone
xcodegen generate # regenerate Loom.xcodeproj after editing project.yml
open Loom.xcodeproj
```
Then build & run from Xcode (⌘R). macOS 14+.
## Cutting a release
```bash
# 1. Bump MARKETING_VERSION (and CURRENT_PROJECT_VERSION) in project.yml
# 2. Update docs/releasing/current-release-notes.md
# 3. Commit + push
bin/release.sh # run from the repo root
```
`release.sh` regenerates the project, builds Release, packages a `.dmg`, tags `vX.Y.Z`, pushes the tag, and creates a GitHub release with the current release notes and `.dmg` attached. Running Loom installs everywhere pick the new build up automatically.
## Docs
- **Single-page reference:** [GUIDE.md](./GUIDE.md). Every feature, every setting, every file path, every keyboard shortcut. Has a table of contents at the top.
- **Hosted MkDocs site:** [bigbeardedman.github.io/Loom](https://bigbeardedman.github.io/Loom/). Same chapters, navigable per-page.
## Product Principles
- Personal command center first. Optimize for one builder moving quickly, not tenant management.
- Local-first by default. Tasks, settings, workspace metadata, and agent configuration live on this Mac unless explicitly synced.
- Bring your own providers. API keys live in Keychain; model/provider integrations should stay replaceable.
- No artificial tiers. If Loom can do something locally, it should be available.
- Terminal work should be reviewable. Commands, output, exit status, and agent actions should become structured history over time.
## Versioning
Semver. Bump `MARKETING_VERSION` in `project.yml` on every meaningful build, then `xcodegen generate`.