惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

GbyAI
GbyAI
Microsoft Azure Blog
Microsoft Azure Blog
Jina AI
Jina AI
Hugging Face - Blog
Hugging Face - Blog
A
About on SuperTechFans
Y
Y Combinator Blog
D
DataBreaches.Net
I
InfoQ
Recent Announcements
Recent Announcements
Last Week in AI
Last Week in AI
G
Google Developers Blog
博客园_首页
博客园 - 司徒正美
V
V2EX
Stack Overflow Blog
Stack Overflow Blog
博客园 - 叶小钗
Engineering at Meta
Engineering at Meta
Apple Machine Learning Research
Apple Machine Learning Research
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
B
Blog
MongoDB | Blog
MongoDB | Blog
博客园 - 【当耐特】
D
Docker
量子位

Hacker News

HN Work GitHub - Northwood-Systems/foreman: Self-hosted LLM gateway. Cost effective, deterministic, and fast. Secure and private by default. A Visualization Language for the AI Era NoCrap — Neuroscience-Based Recovery Pods GitHub - weirdGuy/kastor: Declarative language and toolchain for AI agents: define agents, tools and prompts in HCL, then compile to frameworks or manage them on hosted platforms with plan/apply semantics. Abralo - Run multiple Claude Code agents in one window GitHub - exmergo/dex: Dex is the agent-native analytics engineering toolkit. Point it at your warehouse and your dbt project. It learns the landscape, authors your transformations, and tells you exactly what to fix when the schema drifts. Built for analytics engineers and data engineers who want more out of their coding agent. Pug — Open Source Product Analytics GitHub - instavm/tarit: A hypervisor and sandbox cloud for self-hosted AI agents and RL Chiptune Radio — Aleph Void, LLC Free Mermaid Live Editor & Diagram Maker GitHub - Salnika/dejavu: Stop showing coding agents the same command output twice. GitHub - hirasso/html-obfuscator: Obfuscate emails, phone numbers, and other sensitive data in PHP. Invisible to humans, hidden from bots until they interact. Davit — a native macOS UI for Apple containers Fenzo AI - The perfect course, every time. HTML Drive — Edit and Publish HTML from Google Drive GitHub - rowboatlabs/rowboat: Open-source AI coworker, with memory ZeroGate | Automated Cluster Scaling A tiny scale-free kernel language — Joa Ebert GitHub - arman-jalili/guardian-framework: Architecture Enforcement Framework for AI-Assisted Development PostgreSQL on AWS: Size & Benchmark EC2 Instances GitHub - zqiren/Orbital: the agent that never starts from zero GitHub - Rodiun/frugon: Free, local, open-source LLM cost analyzer — see where your LLM bill leaks, on your machine. Artificiety — A Fantasy World for AI Agents Ex Situ FlexInference: Drop your AI costs today WhimFiles - Find Any File in Seconds GitHub - josephsenior/Grinta-Coding-Agent: Local-first autonomous coding agent that plans, executes, validates, and finishes software tasks end-to-end. Nectar — The Web Without JavaScript Agent Draw: An agent draws while you talk, built on TLDraw
GitHub - mehranzand/repofleet: RepoFleet is an issue-cent...
mehranzand · 2026-07-08 · via Hacker News

repofleet

Latest Release Build Status License Homebrew Scoop

RepoFleet is an issue-centered CLI tool for managing Git workflows across multiple repositories.

When a feature spans multiple services, RepoFleet lets you create one issue context, branch all repos together, sync and track status across them — without switching directories.


RepoFleet demo


Commands

rf
├── workspace
│   ├── switch [name]              Switch to a workspace, or create one if it doesn't exist
│   │                              Name must be letters, numbers, hyphens, or underscores
│   ├── remove <name>              Remove a workspace
│   └── config                     View or update workspace configuration
│                                  --branch-pattern  set branch naming pattern
├── repo
│   ├── add <path>                 Add a repository to the current workspace
│   │                              Forge is auto-detected from remote URL (--forge to override)
│   ├── remove <name>              Remove a repository from the current workspace
│   └── list                       List repositories in the current workspace
└── issue
    ├── create <id>                Create an issue context (ID must be an integer)
    │                              --name         short internal name (max 8 chars, no spaces)
    │                              --description  short description
    │                              --kind         bug | feature | task | story
    │                              --type         feat | fix | chore | docs | refactor | test
    │                              --repo         limit to specific repos, comma-separated (default: all in workspace)
    │                              --skip-branch  save context without creating a git branch
    ├── switch [id|name]           Switch to an issue interactively, by ID, or by name
    │                              --archived     include archived issues in the list
    ├── repo
    │   ├── add <repo-name>        Add a repo to the current issue (creates or switches branch)
    │   └── remove <repo-name>     Remove a repo from the current issue
    │                              Deletes branch if clean; auto-switches to main/master if checked out
    │                              Protected branches (main, master) are never deleted
    ├── sync                       Fetch all remotes for every repo in the current issue
    ├── status                     Show status dashboard for the current issue
    │                              Columns: Repo, Checkout, Commit, Age, HEAD±
    │                              --go-to  interactive selector; cds into repo and switches to issue branch if needed
    ├── remove <id>                Remove an issue context (does not delete git branches)
    └── archive <id>               Archive a completed issue context

Installation

Homebrew (macOS/Linux)

brew install mehranzand/tap/repofleet

Scoop (Windows)

scoop bucket add mehranzand https://github.com/mehranzand/scoop-bucket
scoop install repofleet

From source

Requires Go 1.22+.

git clone https://github.com/mehranzand/repofleet
cd repofleet
go build -ldflags="-X main.version=dev" -o rf ./cmd/repofleet

Getting Started

1. Set up a workspace

A workspace groups your repos together. A default workspace is created automatically on first run. Switch to it or create a new one:

rf workspace switch default        # use the default workspace
rf workspace switch backend        # create and switch to a new workspace

2. Add repositories

Add each repo that belongs to this workspace. The forge (GitHub/GitLab) is auto-detected from the remote URL:

rf repo add ~/code/service-a
rf repo add ~/code/service-b
rf repo list                       # verify what's in the workspace

3. (Optional) Set a branch naming pattern

Define how branches are named when you create an issue. Available tokens: {workspace} {issue} {name} {description} {kind} {type}

rf workspace config --branch-pattern "{type}/{issue}-{name}"
rf workspace config                # view current settings

4. Create an issue context

The issue ID must be an integer. Name is optional (max 8 chars, no spaces):

rf issue create 123 --name auth-fix --description "fix token refresh" --kind bug --type fix

This creates a branch in all workspace repos using the configured pattern. To track existing branches without creating new ones:

rf issue create 456 --name dashboard --skip-branch

With --skip-branch, each repo's current checked-out branch is captured as the issue branch.

To limit to specific repos:

rf issue create 789 --name api-work --repo service-a,service-b

5. Manage repos in an issue

Add or remove repos from the active issue after creation:

rf issue repo add service-c        # creates branch if new, switches if exists
rf issue repo remove service-c     # removes repo; auto-switches to main/master then deletes branch if clean

6. Work across repos

Check status of all repos for the current issue:

To interactively select a repo and cd into it:

Shell integration is set up automatically on first run. When prompted, run source ~/.zshrc (or your shell's rc file) once to activate it. After that, rf issue status --go-to changes your working directory on selection. If the selected repo is not on the issue branch, it is automatically switched to it — repos that need a switch show a → branch indicator in the list.

7. Switch between issues

Pick interactively from the list (current issue shown first):

Or switch directly by ID or name:

rf issue switch 123
rf issue switch auth-fix

To include archived issues in the list:

rf issue switch --archived

8. Sync and wrap up

Fetch all remotes to keep remote refs up to date:

When an issue is done, archive it (keeps the context for reference):

To remove it entirely:


See CONTRIBUTING.md for architecture details and how to contribute.