Giới thiệu công cụ mới nhất của tôi được thiết kế để tăng tốc quy trình làm việc lập trình viên: repo_updater (gọi tắt là ru). Bạn có thể tải về tại đây, như thường lệ miễn phí và mã nguồn mở 100% theo giấy phép MIT: Tôi thực sự tạo ra công cụ này vì cần thiết, vì tôi đã lãng phí quá nhiều thời gian và năng lượng để quản lý một số lượng ngày càng tăng các repo GitHub công khai và riêng tư trên 4 máy khác nhau (một máy Mac ở nhà, một máy trạm Linux ở nhà, và hai máy chủ bare-metal Linux từ xa trên đám mây) mà luôn bị tách biệt và gây ra sự căng thẳng tinh thần và lãng phí thời gian. Nó cũng gây ra lo âu nhẹ vì tôi lo lắng về việc các tác nhân làm những điều ngớ ngẩn và xóa đi công việc hữu ích. Đôi khi tôi vô tình làm việc trên máy sai (điều này xảy ra ít hơn nhiều bây giờ khi tôi đã có mỗi máy chủ tự động hiển thị trong một bảng màu khác nhau trong Ghostty và WezTerm, xem bài viết gần đây của tôi về điều đó hoặc kiểm tra repo misc_coding_agent_tips_and_scripts của tôi). Vì vậy, chỉ với quy trình đơn giản này là kéo các thay đổi từ xa và đẩy các thay đổi cục bộ và đảm bảo các repo đồng bộ theo cách thông minh, nhưng cho một danh sách lớn các repo công khai và riêng tư và thực hiện theo cách đa nền tảng (hệ thống này là kịch bản bash thuần túy hoạt động với tiện ích gh từ GitHub) được thực hiện song song giữa các repo, đã mở ra một cánh cửa lớn cho tôi về mặt tự động hóa. Nhưng tất nhiên, tôi thậm chí không phải là người sử dụng ru, mặc dù tôi chắc chắn có thể; các tác nhân của tôi là những người sử dụng nó thay mặt cho tôi. Vì vậy, tự nhiên tôi đã thiết kế ru sao cho "tác nhân là ưu tiên" theo mọi cách, đảm bảo rằng nó được thiết kế sao cho thoải mái và trực quan nhất có thể cho việc sử dụng bởi các tác nhân lập trình, cho điều đó tôi đã để họ thiết kế "công cụ mơ ước" của họ trong một quy trình lặp đi lặp lại sử dụng lời nhắc chế độ robot mà tôi đã chia sẻ trước đó (tức là, lời nhắc số 3 trong loạt "Những Lời Nhắc Yêu Thích Của Tôi", lol). Vậy tôi sử dụng nó như thế nào? Chà, bước đầu tiên là cài đặt nó, chỉ mất 2 giây bằng cách sử dụng lệnh curl | bash trong tệp readme của repo ru. Sau đó, giả sử bạn muốn tất cả các repo của bạn nằm trong thư mục /data/projects trên máy Mac hoặc Linux của bạn. Bước tiếp theo là lấy danh sách tất cả các repo công khai và riêng tư mà bạn muốn quản lý bằng ru. Để làm điều đó, bạn có thể tạo một tệp văn bản với một URL mỗi dòng hoặc sử dụng một số định dạng khác. Một cách đặc biệt dễ dàng/lười biếng là đơn giản yêu cầu Claude Code sử dụng công cụ gh để liệt kê tất cả các repo của bạn và sau đó chỉ định từ đó (ví dụ, "Lấy tất cả các repo không fork có hơn 3 tệp trong đó mà tôi đã chạm vào ít nhất một lần trong 3 tháng qua và thêm các repo công khai vào danh sách repo công khai của ru và các repo riêng tư vào danh sách repo riêng tư của ru.") Sau đó, chỉ cần khởi động Claude Code và sử dụng lời nhắc này: "Đầu tiên, tôi muốn bạn cd đến /data/projects và sau đó chạy lệnh `ru` như vậy; sau đó trong cùng thư mục tôi muốn bạn chạy lệnh `ru sync` và cẩn thận xem xét đầu ra kết quả. ...