{"id":51831563,"url":"https://github.com/floatpane/loom","last_synced_at":"2026-07-22T16:02:03.597Z","repository":{"id":370180445,"uuid":"1292530802","full_name":"floatpane/loom","owner":"floatpane","description":"Beatiful and powerful editor for Git","archived":false,"fork":false,"pushed_at":"2026-07-16T06:19:31.000Z","size":152,"stargazers_count":1,"open_issues_count":4,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-07-16T08:11:28.446Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/floatpane.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","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},"funding":{"github":"floatpane"}},"created_at":"2026-07-07T15:48:23.000Z","updated_at":"2026-07-09T21:19:27.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/floatpane/loom","commit_stats":null,"previous_names":["floatpane/loom"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/floatpane/loom","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/floatpane%2Floom","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/floatpane%2Floom/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/floatpane%2Floom/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/floatpane%2Floom/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/floatpane","download_url":"https://codeload.github.com/floatpane/loom/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/floatpane%2Floom/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35768236,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-07-22T02:00:06.236Z","response_time":124,"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":[],"created_at":"2026-07-22T16:02:02.782Z","updated_at":"2026-07-22T16:02:03.589Z","avatar_url":"https://github.com/floatpane.png","language":"Go","funding_links":["https://github.com/sponsors/floatpane"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"assets/logo.png\" alt=\"Logo\"\u003e\n\n# loom\n\nA beautiful Git commit and rebase editor for the terminal.\n\n[![Go Version](https://img.shields.io/github/go-mod/go-version/floatpane/loom)](https://golang.org)\n[![GitHub release](https://img.shields.io/github/v/release/floatpane/loom)](https://github.com/floatpane/loom/releases)\n[![License](https://img.shields.io/github/license/floatpane/loom)](LICENSE)\n\n\u003c/div\u003e\n\nloom is a lightweight TUI that replaces `GIT_EDITOR` for writing commit\nmessages and interactive rebasing. It provides syntax-highlighted commit\nmessages, conventional-commit autocomplete, co-author suggestions, a\nscrollable diff view, and a floating suggestion popup styled after VSCode\nand nvim-cmp.\n\n## Features\n\n- **Commit message editor** — syntax highlighting for conventional commits,\n  trailers (`Co-authored-by`, `Reviewed-by`, `Signed-off-by`, etc.), and\n  bullet points\n- **Interactive rebase editor** — change actions (pick, reword, edit, squash,\n  fixup, drop), reorder commits, and expand inline diffs\n- **Floating autocomplete** — VSCode/nvim-style suggestion popup at the\n  cursor position, powered by the [bubble-overlay](https://github.com/floatpane/bubble-overlay)\n  library\n- **Conventional commit types** — `feat`, `fix`, `docs`, `refactor`, and\n  more, with descriptions\n- **Trailer autocomplete** — suggests trailer names (`Co-authored-by:`,\n  `Reviewed-by:`, …) and person values from git history and a persistent\n  local store\n- **Persistent people** — co-authors and reviewers are saved to\n  `~/.loom/people.json` and recalled across sessions\n- **Diff view** — scrollable, syntax-highlighted diff with line numbers for\n  15+ languages\n\n## Installation\n\n### Homebrew\n\n```bash\nbrew tap floatpane/loom\nbrew install loom\n```\n\n### Snap\n\n```bash\nsudo snap install loom\n```\n\n### Build from source\n\n```bash\ngo install github.com/floatpane/loom@latest\n```\n\n### Download binary\n\nDownload the latest binary from the\n[releases page](https://github.com/floatpane/loom/releases).\n\n## Usage\n\nSet loom as your Git editor:\n\n```bash\ngit config --global core.editor \"loom\"\ngit config --global sequence.editor \"loom\"\n```\n\nOr use it ad-hoc:\n\n```bash\nGIT_EDITOR=loom git commit\nGIT_EDITOR=loom git rebase -i HEAD~5\n```\n\nloom automatically detects whether the file is a `git-rebase-todo` or a\ncommit message and launches the appropriate interface.\n\n### Rebase command\n\nloom also includes a convenience rebase command that fetches and rebases\nthe current branch onto its upstream default branch:\n\n```bash\nloom rebase\n```\n\nThis fetches the latest changes from the current branch's upstream remote\nand rebases onto `upstream/\u003cdefault-branch\u003e` (or the current remote's\ndefault branch if no upstream is configured).\n\nTo rebase a specific PR's branch without leaving your current branch:\n\n```bash\nloom rebase pr 123\n```\n\nThis checks out PR #123's branch, rebases it onto its upstream, then\nreturns you to the branch you were on.\n\n\n## Contributing\n\nPull requests are welcome. Please follow the\n[PR template](.github/pull_request_template.md) format.\n\n## License\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffloatpane%2Floom","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffloatpane%2Floom","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffloatpane%2Floom/lists"}