0
0
Lập trình
Sơn Tùng Lê
Sơn Tùng Lê103931498422911686980

Kiroscope: Bản đồ cho Kiến trúc Code của Bạn

Đăng vào 2 tuần trước

• 5 phút đọc

Vấn Đề Mà Tất Cả Chúng Ta Đều Gặp Phải

Giơ tay nếu bạn thấy điều này quen thuộc 👋

Bạn tham gia vào một dự án mới, đầy năng lượng, sẵn sàng đóng góp. Bạn thực hiện git clone, npm install, và sau đó... bạn chỉ biết nhìn. Bạn có một file README.md, có thể là một sơ đồ cũ từ ba sprint trước, và một mê cung các thư mục. Frontend kết nối với backend ở đâu? Dịch vụ xác thực giao tiếp với cơ sở dữ liệu như thế nào? Bạn cắm microservice mới vào đâu?

Bạn dành cả ngày - có thể ba ngày - chỉ để tìm hiểu. Đây không phải là công việc sâu sắc và có ý nghĩa. Đó là khảo cổ kiến trúc. Đây là kẻ giết chết năng suất thầm lặng mà mọi lập trình viên đều biết, và đó là vấn đề mà chúng tôi quyết tâm giải quyết.

Khoảnh Khắc "Aha!": Nếu Như...?

Sự thất vọng của chúng tôi đã trở thành động lực. Chúng tôi đặt ra một câu hỏi đơn giản: Nếu như việc hiểu một dự án phần mềm trở nên trực quan như việc sử dụng Google Maps?

Bạn không cần một cuốn hướng dẫn để sử dụng Maps. Bạn chỉ cần nhìn. Bạn thấy các tuyến đường, tình trạng giao thông, các địa điểm thú vị. Bạn tương tác với nó. Chúng tôi muốn điều đó cho mã nguồn. Chúng tôi muốn một bản đồ sống động, tương tác của kiến trúc phần mềm của bạn.

Và chúng tôi không muốn xây dựng nó một mình. Chúng tôi muốn có một đối tác AI. Đó là lý do Kiro xuất hiện.

Giới Thiệu Kiroscope: Bản Đồ Sống Của Dự Án Bạn

Chúng tôi đã xây dựng Kiroscope. Đây là một ứng dụng web biến tài liệu dự án của bạn thành một đồ thị tương tác, thời gian thực về các thành phần phần mềm của bạn.
- Hình Dung: Thấy frontend, backend, cơ sở dữ liệu và các mô hình AI như những nút liên kết.
- Khám Phá: Nhấp vào bất kỳ thành phần nào để nhận hướng dẫn tích hợp chi tiết, ví dụ mã và các thực tiễn tốt nhất.
- Tìm Kiếm: Ngay lập tức tìm thấy các thành phần và hiểu mối quan hệ của chúng.
- Lập Kế Hoạch: Sử dụng thông tin để bổ sung các tính năng mới một cách liền mạch hoặc đào tạo các thành viên mới trong nhóm.

Giống như có một kiến trúc sư cao cấp hướng dẫn mọi lập trình viên trong nhóm bạn, 24/7.

Cách Chúng Tôi Xây Dựng: Kiro Là Đồng Hành Của Chúng Tôi

Chúng tôi không chỉ sử dụng Kiro để viết mã. Chúng tôi đã sử dụng nó như một đối tác hợp tác. Dưới đây là cách chúng tôi thực hiện:

1. Phát Triển Dựa Trên Đặc Tả: Bản Thiết Kế
Chúng tôi bắt đầu không phải bằng cách lập trình, mà bằng cách viết. Chúng tôi đã tạo ra một file .kiro/spec.md. Đây không chỉ là danh sách việc cần làm; đó là bản thiết kế dự án của chúng tôi, viết bằng tiếng Anh đơn giản.

Copy
## Dự Án: Kiroscope - Công Cụ Hình Dung Kiến Trúc

## Các Thành Phần
- **`react-frontend`**: Ứng dụng React.js hiển thị đồ thị tương tác.
- **`node-backend`**: API Express.js phân tích các đặc tả dự án.
- **`postgres-db`**: Cơ sở dữ liệu PostgreSQL để lưu trữ.
- **`ai-model`**: Dịch vụ Python cho các gợi ý thông minh.

## Dòng Dữ Liệu
1. Frontend lấy dữ liệu đồ thị từ backend.
2. Backend phân tích file `.spec.md` để tạo ra đồ thị.
3. Frontend hình dung các nút và kết nối.

File đặc tả này trở thành nguồn thông tin chính xác duy nhất của chúng tôi. Chúng tôi đã cung cấp nó cho Kiro, và nó đã giúp chúng tôi tạo ra cấu trúc mã nguồn cơ bản. Cách tiếp cận này buộc chúng tôi phải suy nghĩ qua kiến trúc trước, dẫn đến một mã nguồn sạch hơn và hợp lý hơn.

2. Phép Màu Của Agent Hooks: Tự Động Hóa
Phép màu thực sự xảy ra khi chúng tôi tự động hóa quy trình làm việc của mình với Kiro Agent Hooks.

Chúng tôi đã tạo một hook theo dõi file .kiro/spec.md. Ngay khi chúng tôi lưu thay đổi, hook tự động:

  • Kích hoạt bộ phân tích backend để xây dựng lại dữ liệu đồ thị.
  • Đẩy dữ liệu mới lên frontend thông qua WebSocket.
  • Đồ thị cập nhật thời gian thực trên màn hình.

Điều này tạo ra một vòng phản hồi tuyệt vời. Chúng tôi có thể điều chỉnh đặc tả, nhấn lưu và ngay lập tức thấy sự thay đổi kiến trúc được phản ánh trực quan. Nó đã biến một quy trình tẻ nhạt thành một quy trình kỳ diệu, tức thì.

Thách Thức & Thành Công

Không phải mọi thứ đều suôn sẻ. Việc làm cho các bố cục đồ thị động hoạt động là một bài toán toán học khó khăn. Quản lý ngữ cảnh với Kiro trong một dự án lớn như vậy có một đường cong học tập, chúng tôi đã học cách chia nhỏ các vấn đề lớn thành các gợi ý nhỏ, dễ hiểu.

Nhưng thành công là rất lớn. Chúng tôi đã xây dựng một công cụ giải quyết một vấn đề thực sự, đau đớn. Chúng tôi đã sử dụng Kiro không như một công cụ hoàn thành mã fancy, mà như một đối tác kiến trúc thực sự. Và chúng tôi đã tạo ra một thứ mà chúng tôi thực sự muốn sử dụng.

Điều Gì Tiếp Theo Cho Kiroscope?

Đây chỉ là khởi đầu. Chúng tôi đang mơ ước về:
- Tích Hợp GitHub Trực Tiếp: Tự động tạo đặc tả và đồ thị từ các mã nguồn thực tế.
- Chỉnh Sửa Hợp Tác: Chế độ nhiều người cho việc thiết kế kiến trúc.
- Đánh Giá Kiến Trúc AI: Để Kiro phân tích đồ thị của bạn và đề xuất cải tiến.
- Xuất Diagrams: Xuất sang PDF hoặc PNG chỉ với một cú nhấp chuột cho tài liệu.

Thử Nghiệm và Tìm Hiểu Thêm

Kiroscope được xây dựng cho các lập trình viên, bởi các lập trình viên. Đó là một minh chứng cho cách AI như Kiro có thể làm tăng cường sự sáng tạo và khả năng giải quyết vấn đề của chúng ta, không thay thế chúng.

🌟 Hãy đánh giá chúng tôi trên GitHub: https://github.com/harshitSingh1/KiroScope

🤖 Xây dựng với Kiro ngay hôm nay: kiro.dev

Chúng tôi đã xây dựng Kiroscope vì chúng tôi tin rằng việc hiểu kiến trúc của bạn không nên là một rào cản. Nó nên là siêu năng lực của bạn.

Điểm đau nào bạn sẽ giải quyết với một đồng hành AI như Kiro? Cho tôi biết trong phần bình luận!

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào