Xóa trước khi thêm. Dùng cái có sẵn trước khi tạo cái mới. Đơn giản không phải là dễ — nó là lựa chọn có chủ đích.
Bạn có bao giờ nhìn vào dự án của mình và tự hỏi: "Mình đã viết nhiều code quá rồi. Có cách nào đơn giản hơn không?"
Trước đây, chúng ta thường nghĩ: "Code nhiều hơn = dự án mạnh hơn". Thêm dependency mới, thêm abstraction layer, thêm config cho "tương lai". Kết quả? Dự án to hơn, chậm hơn, khó bảo trì hơn — và không nhất thiết tốt hơn.
Giờ chúng ta có Ponytail — một bộ quy tắc đơn giản giúp luôn chọn giải pháp nhỏ nhất vẫn hoạt động.
Ponytail không phải là framework, không phải thư viện, không phải tool mới. Nó là một trí tuệ — một bộ quy tắc bạn áp dụng khi viết code.
Tên gọi "Ponytail" gợi hình: gọn gàng, đơn giản, không rối rắm. Giống như cách bạn buộc tóc gọn lại thay vì để xù xoà — code cũng vậy.
Triết lý Ponytail: "Giải pháp nhỏ nhất hoạt động." — Xóa trước khi thêm; dùng code có sẵn, standard library và native platform trước abstraction hoặc dependency mới.
Mỗi khi bạn muốn thêm code mới, Ponytail yêu cầu bạn đi qua 7 bậc thang này theo thứ tự. Chỉ khi không thể ở bậc nào thì mới lên bậc tiếp theo.
Nghe đơn giản? Nhưng nếu bạn thực sự tuân theo 7 bước này mỗi lần viết code, dự án của bạn sẽ nhỏ hơn, sạch hơn và dễ bảo trì hơn rất nhiều.
Ponytail không chỉ là triết lý — nó được triển khai thành 6 tools cụ thể giúp bạn áp dụng hàng ngày.
Mục đích: Ép coding task chọn giải pháp đơn giản, ngắn và ít dependency nhất vẫn đúng.
Khi nào dùng: Mọi task viết, thêm, sửa, refactor, review, thiết kế code hoặc khi nhắc YAGNI/bloat.
Cách dùng: /ponytail lite (chỉ nêu phương án tối giản), /ponytail full (mức đầy đủ), /ponytail ultra (YAGNI mạnh nhất).
Tắt bằng: /ponytail off hoặc "stop ponytail".
Mục đích: Quét toàn repo để xếp hạng phần có thể xóa, thu gọn hoặc thay bằng stdlib/native.
Khi nào dùng: Khi bạn muốn audit over-engineering, tìm bloat trong dự án.
Cách dùng: Gọi lệnh tại repository cần kiểm tra. Skill sẽ tìm dependency thừa, interface/factory một nhánh, wrapper, dead config và code tự viết lại stdlib.
Lưu ý: Chỉ báo cáo, không sửa file.
Mục đích: Thu thập comment ponytail: thành ledger để shortcut không bị quên.
Khi nào dùng: Khi bạn muốn xem những shortcut đã hoãn, debt đã tích lũy.
Cách dùng: Gọi lệnh; skill quét comment markers và nhóm theo file.
Lưu ý: Mặc định chỉ đọc; chỉ ghi ledger ra file khi được yêu cầu rõ.
Mục đích: Hiển thị benchmark về số dòng, chi phí và tốc độ.
Khi nào dùng: Khi bạn muốn biết mức tiết kiệm khi áp dụng Ponytail.
Con số trung bình: Giảm 80–94% dòng code, 47–77% chi phí, nhanh hơn 3–6×
Lưu ý: Đây là benchmark median, không phải savings của repo hiện tại.
Mục đích: Hiển thị quick-reference cho level, skill, command và cấu hình.
Khi nào dùng: Khi bạn quên cách dùng Ponytail.
Cách dùng: Gõ /ponytail-help để nhận bảng tham chiếu một lần.
Mục đích: Review diff chỉ để tìm complexity có thể xóa.
Khi nào dùng: Khi bạn muốn review over-engineering, đơn giản hóa diff.
Cách dùng: file:L42: tag: phần cần cắt. Thay thế.
Lưu ý: Không sửa code hoặc đánh giá correctness/security/performance.
Ponytail có 3 mức độ, tùy theo bạn muốn "đơn giản hóa" mạnh bao nhiêu:
| Mức | Mô tả | Phù hợp khi |
|---|---|---|
| Lite | Chỉ nêu phương án tối giản | Bạn muốn gợi ý, không ép buộc |
| Full | Áp dụng đầy đủ Ponytail ladder | Task bình thường, cần cân bằng |
| Ultra | YAGNI mạnh nhất — xóa tất cả cái không cần | Refactor, cleanup, giảm bloat |
Theo benchmark trung bình của Ponytail trên 5 task với 3 model khác nhau:
| Chỉ số | Giảm / Tăng |
|---|---|
| 📉 Số dòng code | Giảm 80–94% |
| 💰 Chi phí | Giảm 47–77% |
| ⚡ Tốc độ | Nhanh hơn 3–6× |
Những con số này không phải phép màu — chúng là kết quả của việc không viết code không cần thiết.
Ponytail không chỉ về code. Nó dạy một tư duy:
"Đơn giản không phải là dễ — nó là lựa chọn có chủ đích."
Mỗi lần bạn muốn thêm dependency mới, hãy tự hỏi: "Có cách nào không cần nó không?"
Mỗi lần bạn muốn tạo abstraction, hãy tự hỏi: "Có cần cho tương lai không, hay chỉ là phỏng đoán?"
Mỗi lần bạn muốn thêm config, hãy tự hỏi: "Có thể hardcode giá trị hợp lý và sửa sau khi cần không?"
Code ít hơn không có nghĩa là tệ hơn. Code ít hơn có nghĩa là ít thứ phải lo hơn.
Bạn không cần cài đặt gì. Ponytail là một bộ quy tắc — bạn áp dụng nó ngay lập tức.
ponytail: với upgrade trigger.Đơn giản vậy thôi.