Tạm biệt nỗi ám ảnh Changelog: Tự động hóa bằng AI với changeish!
Lê Lân
0
changeish: Tự Động Hóa Việc Viết Release Notes Bằng AI Nội Bộ
Mở Đầu
Bạn có cảm thấy mệt mỏi khi phải tự tay viết các ghi chú phát hành sau hàng chục commit? Khi số lượng commit gia tăng nhanh chóng, việc cập nhật changelog có thể trở thành một công việc tẻ nhạt và dễ bị bỏ sót.
Trong thế giới phát triển phần mềm hiện đại, việc duy trì changelog chi tiết và chính xác là vô cùng quan trọng. Tuy nhiên, nó cũng đồng thời gây tốn thời gian và công sức, đặc biệt với những dự án có lịch sử commit dày đặc. Để giải quyết vấn đề này, changeish ra đời – một công cụ nhỏ gọn viết bằng Bash, tận dụng sức mạnh của mô hình ngôn ngữ lớn (LLM) chạy cục bộ thông qua Ollama. Bài viết này sẽ giúp bạn hiểu rõ lý do cần tự động hóa changelog, cách hoạt động của changeish, hướng dẫn cài đặt và ứng dụng trực tiếp vào công việc hàng ngày.
Vì Sao Nên Tự Động Hóa Việc Viết Changelog?
Tiết Kiệm Thời Gian
Việc viết ghi chú cho từng tính năng mới hoặc sửa lỗi thủ công có thể mất nhiều giờ. Với AI, bạn có thể dành thời gian cho những công việc phát triển quan trọng hơn.
Tính Nhất Quán
AI có thể tạo ra các ghi chú có phong cách đồng nhất, thường là ở thể mệnh lệnh hoặc quá khứ giúp changelog dễ đọc và chuyên nghiệp hơn.
Đầy Đủ và Không Bỏ Sót
Script tự động phân tích lịch sử commit, đảm bảo mọi thay đổi được ghi lại. Điều này rất hữu ích trong những dự án lớn, nhiều đóng góp viên.
Quyền Riêng Tư và Chạy Cục Bộ
Sử dụng Ollama chạy trên máy cá nhân giúp bạn giữ dữ liệu an toàn, không phải gửi lên cloud, bảo vệ mã nguồn và thông tin nhạy cảm.
Tóm lại, changeish mang sức mạnh của AI đến gần bạn hơn để giúp cập nhật changelog trở nên nhanh chóng và thuận tiện, đồng thời bạn vẫn giữ trọn quyền kiểm soát dự án.
changeish Hoạt Động Như Thế Nào?
changeish bao gồm hai thành phần chính:
Bash script (changes.sh): Công cụ thu thập lịch sử commit, gọi LLM và cập nhật changelog.
Prompt template (changelog_prompt.md): Mẫu hướng dẫn AI để tạo ra nội dung changelog chuẩn.
Bước 1: Thu Thập Lịch Sử Commit
Script dùng Git để lấy danh sách commit kể từ lần cập nhật cuối cùng, giúp tổng hợp các thay đổi quan trọng.
Bước 2: Tạo Prompt Cho AI
Sử dụng template, script điền phần lịch sử đó vào trong đoạn prompt kèm theo chỉ dẫn định dạng, ví dụ:
“Here are recent commit logs: [...] - Summarize these into a concise changelog entry.”
Bước 3: Tương Tác Với LLM
changeish gọi Ollama CLI (hoặc trong tương lai có thể tích hợp OpenAI API) để nhận kết quả văn bản dạng changelog.
Bước 4: Cập Nhật CHANGELOG.md
Nội dung do AI tạo ra sẽ được thêm vào đầu file changelog, theo chuẩn thông thường (phiên bản mới nhất hiển thị trên cùng).
Tình Huống Fallback
Nếu Ollama hoặc mô hình cục bộ không khả dụng, script vẫn sẽ xuất ra prompt đầy đủ trong file changelog_prompt.md. Bạn có thể dùng nó để copy sang bất kỳ AI nào hoặc dịch vụ cloud rồi nhập tay changelog. Điều này giúp công cụ linh hoạt cho mọi trường hợp sử dụng.
changeish là một chuỗi công cụ đơn giản nhưng mạnh mẽ, giúp bạn tự động hóa quy trình chuyển đổi lịch sử commit thành changelog chất lượng.
Hướng Dẫn Cài Đặt
Yêu Cầu Trước
Có cài đặt Git
Cài đặt Ollama và một mô hình cục bộ (ví dụ: Llama 2 hoặc mô hình chuyên biệt cho code)
Tải Script và Template
Chạy đoạn lệnh sau trong Terminal:
curl -fsSL https://raw.githubusercontent.com/itlackey/changeish/main/install.sh | sh
Lệnh này sẽ:
Tải về file changes.sh (script chính)
Tải về changelog_prompt.md (mẫu prompt AI)
Đặt script vào $PATH để tiện gọi
Sau khi cài đặt, bạn đã sẵn sàng để dùng changeish trong dự án của mình.
Cách Sử Dụng changeish Cho Dự Án Của Bạn
Bước 1: Vào Thư Mục Repo
Mở Terminal và chuyển đến thư mục chứa Git repository mà bạn muốn tạo changelog.
Bước 2: Chạy Script
Gõ lệnh:
changeish
Script sẽ tự động:
Thu thập commit mới
Gửi prompt qua Ollama (hoặc tạo file prompt)
Thêm phần changelog lên trên CHANGELOG.md
Bước 3: Quan Sát Kết Quả
Khi Ollama chạy, bạn sẽ thấy màn hình hiển thị nội dung changelog do AI tạo ra, ví dụ:
## [Unreleased] - 2025-06-15
- ✨ Added a new feature to automate X
- 🐛 Fixed bug where Y would crash on start
- 🛠 Refactored Z module for performance improvements
Bước 4: Kiểm Tra và Sửa Đổi
Bạn nên mở CHANGELOG.md để đọc lại, chỉnh sửa nếu cần thiết trước khi commit thay đổi.
Bước 5: Commit Thay Đổi
Cuối cùng, commit file changelog để lưu các bản cập nhật vào lịch sử dự án.
Nếu bạn không có Ollama hoặc mô hình cục bộ, changeish sẽ tạo ra changelog_prompt.md để bạn có thể dùng công cụ AI khác. Điều này giúp đảm bảo bạn luôn có thể tạo changelog bất kể môi trường làm việc.
Bối Cảnh Sử Dụng Và Ví Dụ Thực Tế
Môi trường phát triển nhanh, nhiều merge requests
Sau hàng loạt pull request được gộp lại, changeish giúp bạn nhanh chóng tổng hợp các thay đổi thành đoạn ghi chú súc tích, không phải viết tay mất thời gian.
Chuẩn bị phát hành phần mềm
Trước khi tạo bản release chính thức, bạn có thể chạy changeish để lấy bản nháp changelog hoàn chỉnh cho phiên bản “Unreleased” và chỉnh sửa thêm nếu muốn.
Tích hợp với quy trình CI/CD
Bạn có thể thêm changeish vào pipeline để tự động tạo những bản cập nhật changelog hằng ngày hoặc mỗi bản build, giữ tài liệu luôn chính xác và cập nhật liên tục.
Ngoài ra, vì changeish chỉ là một script Bash nhẹ, bạn dễ dàng tuỳ biến hoặc điều chỉnh prompt template để đáp ứng phong cách riêng của dự án.
Kết Luận
Việc duy trì changelog không nên là nỗi ám ảnh hay gánh nặng của nhà phát triển.
changeish là một công cụ hiệu quả giúp bạn tự động hóa quá trình tạo ghi chú phát hành, tận dụng trí tuệ nhân tạo chạy cục bộ để bảo mật dữ liệu và nâng cao năng suất. Đặc biệt với các dự án có lịch sử commit dày đặc, changeish có thể giúp chuyển đổi công việc thủ công mất thời gian thành bước chạy lệnh nhanh gọn, chính xác. Hãy thử áp dụng changeish ngay hôm nay để trải nghiệm tiện ích của việc tạo changelog “auto-magically” dành cho dự án của bạn!
✨ Để biết thêm chi tiết, bạn có thể truy cập và đóng góp cho dự án tại changeish trên GitHub. Đừng quên star repo và để lại phản hồi nhé!
Chúc bạn lập trình vui vẻ và thành công với changelog tự động!