{"id":49553431,"url":"https://github.com/bigbeardedman/loom","last_synced_at":"2026-06-14T08:01:41.525Z","repository":{"id":355311793,"uuid":"1227462621","full_name":"BigBeardedMan/Loom","owner":"BigBeardedMan","description":"Native macOS workspace for terminals, editor, AI agents, and task state in one window. Local-first, single-user, no tiers.","archived":false,"fork":false,"pushed_at":"2026-06-03T21:36:31.000Z","size":16623,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-03T23:12:41.712Z","etag":null,"topics":["ai-agent","claude-code","developer-tools","kanban","macos","ollama","swift","swiftdata","swiftui","terminal"],"latest_commit_sha":null,"homepage":"https://bigbeardedman.github.io/Loom/","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BigBeardedMan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-02T18:06:35.000Z","updated_at":"2026-05-24T21:41:34.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/BigBeardedMan/Loom","commit_stats":null,"previous_names":["bigbeardedman/loom"],"tags_count":156,"template":false,"template_full_name":null,"purl":"pkg:github/BigBeardedMan/Loom","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BigBeardedMan%2FLoom","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BigBeardedMan%2FLoom/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BigBeardedMan%2FLoom/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BigBeardedMan%2FLoom/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BigBeardedMan","download_url":"https://codeload.github.com/BigBeardedMan/Loom/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BigBeardedMan%2FLoom/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34132030,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-09T02:00:06.510Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-agent","claude-code","developer-tools","kanban","macos","ollama","swift","swiftdata","swiftui","terminal"],"created_at":"2026-05-03T01:00:34.431Z","updated_at":"2026-06-10T01:01:02.416Z","avatar_url":"https://github.com/BigBeardedMan.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Loom\n\nNative workspace app for terminals, editor, AI agents, and task state in one window. The terminal is the differentiator.\n\nTwo builds live in this repo:\n\n- **macOS** (this README): SwiftUI + SwiftData, ships as a `.dmg` to `/Applications/Loom.app`. Source under `Loom/`.\n- **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).\n\nLoom 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.\n\n![Loom — terminal workspace with live Codex task tracking](docs/images/Loom1.jpg)\n\n![Loom — multi-terminal workspace with local model routing](docs/images/Loom2.jpg)\n\n![Loom — Codex usage dashboard with local token analytics](docs/images/Loom3.jpg)\n\n![Loom — Codex limits dashboard with local quota signals](docs/images/Loom4.jpg)\n\n## Install\n\nGrab the latest `.dmg` from [Releases](https://github.com/BigBeardedMan/Loom/releases/latest), open it, and drag **Loom** to Applications. macOS 14+.\n\nThe 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.\n\nLoom 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.\n\n## Build from source\n\n```bash\nbrew install xcodegen          # one-time\ncd path/to/Loom                # your local clone\nxcodegen generate              # regenerate Loom.xcodeproj after editing project.yml\nopen Loom.xcodeproj\n```\n\nThen build \u0026 run from Xcode (⌘R). macOS 14+.\n\n## Cutting a release\n\n```bash\n# 1. Bump MARKETING_VERSION (and CURRENT_PROJECT_VERSION) in project.yml\n# 2. Update docs/releasing/current-release-notes.md\n# 3. Commit + push\nbin/release.sh                 # run from the repo root\n```\n\n`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.\n\n## Docs\n\n- **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.\n- **Hosted MkDocs site:** [bigbeardedman.github.io/Loom](https://bigbeardedman.github.io/Loom/). Same chapters, navigable per-page.\n\n## Product Principles\n\n- Personal command center first. Optimize for one builder moving quickly, not tenant management.\n- Local-first by default. Tasks, settings, workspace metadata, and agent configuration live on this Mac unless explicitly synced.\n- Bring your own providers. API keys live in Keychain; model/provider integrations should stay replaceable.\n- No artificial tiers. If Loom can do something locally, it should be available.\n- Terminal work should be reviewable. Commands, output, exit status, and agent actions should become structured history over time.\n\n## Versioning\n\nSemver. Bump `MARKETING_VERSION` in `project.yml` on every meaningful build, then `xcodegen generate`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbigbeardedman%2Floom","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbigbeardedman%2Floom","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbigbeardedman%2Floom/lists"}