Thiết lập quy tắc con trỏ để AI ngừng phá vỡ phong cách cơ sở mã của bạn
Thiết lập .cursor/rules mà tôi sử dụng trên kho lưu trữ nhóm: một tệp chung, một tệp trên mỗi thư mục và ba quy tắc đã loại bỏ 90% các cam kết sửa lỗi kiểu của tôi.
Tháng đầu tiên của tôi với Cursor, mọi chỉnh sửa tác nhân đều hoạt động nhưng vẫn cảm thấy sai — các tab trong đó kho lưu trữ của tôi sử dụng dấu cách, xuất mặc định trong cơ sở mã gồm những cái được đặt tên, các bài kiểm tra được viết theo phong cách mà CI của chúng tôi từ chối. Việc sửa chữa không được nhắc nhở tốt hơn. Đó là tập tin quy tắc, được thiết lập đúng cách.
Con trỏ đọc các quy tắc từ .cursor/rules trong kho lưu trữ của bạn. Bắt đầu với một tệp quy tắc cấp dự án bao gồm những thứ không thể thương lượng: trình quản lý gói, thứ tự nhập, quy ước đặt tên và hai hoặc ba mẫu mà cơ sở mã của bạn sử dụng khác với các giá trị mặc định thông thường. Giữ nó dưới khoảng 50 dòng - một tệp quy tắc không ai duy trì sẽ trở thành tiếng ồn mà mô hình học cách bỏ qua.
Tính năng bị đánh giá thấp là quy tắc cho mỗi thư mục. Thư mục thành phần của chúng tôi có quy tắc: chỉ các thành phần chức năng, đạo cụ được nhập nội tuyến, không xuất mặc định. Thư mục máy chủ của chúng tôi có một thư mục khác: không nhập từ phía máy khách, mọi trình xử lý đều xác thực dữ liệu đầu vào. Sự phân chia này mang lại nhiều lợi ích hơn cho chất lượng đầu ra so với bất kỳ điều gì tôi đã viết trong tệp chung, vì mô hình chỉ nhìn thấy các quy tắc áp dụng cho các tệp mà nó chạm vào.
Ba quy tắc giành được vị trí của mình thông qua sự lặp lại thuần túy. Đầu tiên: 'Sau khi chỉnh sửa, hãy chạy lệnh lint hiện có và sửa tất cả các lỗi bạn đã đưa ra.' Thứ hai: 'Khớp kiểu nhập của tệp bạn đang chỉnh sửa, không phải kiểu bạn thích.' Thứ ba: 'Nếu một thay đổi yêu cầu một phần phụ thuộc mới, hãy dừng lại và hỏi thay vì cài đặt.' Cái cuối cùng đó xuất hiện sau khi tôi tìm thấy năm gói mới trong một gói khác cần một gói.
Điều tôi đã ngừng làm: lặp lại các hướng dẫn về phong cách trong mỗi tin nhắn trò chuyện. Với các quy tắc đã có sẵn, lời nhắc của tôi mô tả ý định - những gì cần xây dựng, những gì cần tránh - và tệp quy tắc xử lý kiểu ngôi nhà. Lời nhắc ngắn hơn và kết quả đầu ra nhất quán hơn, đó là toàn bộ trò chơi.
Một thói quen duy trì: khi nhân viên liên tục mắc cùng một lỗi, hãy thêm quy tắc thay vì la mắng trong cuộc trò chuyện. Chỉnh sửa trò chuyện sẽ chết cùng với cuộc trò chuyện; tập tin quy tắc phức hợp. Tệp quy tắc của tôi đã tăng thêm khoảng hai dòng mỗi tuần và mỗi dòng đều có một bản sửa lỗi đằng sau nó.
Các câu hỏi thường gặp:
Câu hỏi: Tệp quy tắc có làm chậm Con trỏ không?
Đáp: Không đáng chú ý. Chúng được đưa vào ngữ cảnh cùng với lời nhắc của bạn. Chi phí thực sự là một tệp quy tắc cồng kềnh làm giảm sự chú ý, đó là lý do tại sao tôi giới hạn các quy tắc của tôi và xóa mà cơ sở mã đã phát triển quá mức.
Câu hỏi: Các quy tắc có nên được cam kết với repo không?
Đáp: Có, nếu bạn muốn cả nhóm được hưởng lợi — hãy coi họ như một kẻ nói dối. Giữ các tùy chọn cá nhân trong quy tắc cấp người dùng thay vì tệp dự án.
Câu hỏi: Các quy tắc khác với việc chỉ viết một lời nhắc hệ thống tốt như thế nào?
Đáp: Các quy tắc tự động áp dụng cho mọi yêu cầu trong phạm vi của chúng, tồn tại qua các phiên và được phiên bản bằng mã. Một lời nhắc hệ thống trong đầu bạn không mang lại lợi ích gì cho ai ngoài bạn và biến mất mỗi khi bạn bắt đầu một cuộc trò chuyện mới.
