Chuyển tới nội dung
cd /languages
Mặc định cho monorepoLập trìnhHỗ trợ graph đầy đủ

Hỗ trợ TypeScript trong Maguyva: Ngữ cảnh tốt hơn cho monorepo

Maguyva hỗ trợ TypeScript với phân tích cú pháp AST và trích xuất symbol, giúp AI agent theo dõi interface, cách triển khai, package dùng chung, và mã ứng dụng nặng JSX trong các monorepo.

Vì sao các trang TypeScript quan trọng

TypeScript là ngôn ngữ mà nhiều đội kỳ vọng việc refactor có AI hỗ trợ cuối cùng sẽ cảm thấy an toàn. Hệ thống kiểu giúp ích, nhưng nó không loại bỏ vấn đề thực sự: package dùng chung, DTO, client được sinh tự động, component React, test, và mã ứng dụng đều kéo về cùng những cái tên trong một repo lớn.

Với TypeScript, tiêu chuẩn cao hơn là chỉ “hiểu cú pháp”. Agent cần theo dõi hợp đồng từ định nghĩa đến triển khai rồi đến phạm vi ảnh hưởng trước khi nó chỉnh sửa một type, hook, hoặc client dùng chung.

Maguyva thực sự trích xuất những gì trong TypeScript

Maguyva trích xuất class, method, interface, và type alias qua .ts, .mts, .cts, và các biến thể file TypeScript phổ biến quanh test và story. Các tiền tố member được chuẩn hóa, nhưng các định danh gán theo class được giữ nguyên, điều này hữu ích khi một repo có cả tên helper trần và một method thuộc phạm vi class có cùng đoạn cuối.

JSX được xem như một tín hiệu cấu trúc thực sự chứ không phải markup lạc lõng, và các kỳ vọng symbol chủ động bỏ qua rất nhiều đường dẫn test, story, và config. Điều đó quan trọng trong monorepo vì nếu không, agent sẽ tốn quá nhiều thời gian khám phá lại phần khung dựng sẵn thay vì bề mặt triển khai thực sự.

Các quy trình MCP hữu ích cho repo TypeScript

Ba mẫu khởi đầu thường là đủ:

  • Dùng find_symbol khi bạn đã biết tên interface, type alias, hook, hoặc service.
  • Dùng dependency_search trước khi thay đổi type hoặc client dùng chung có thể lan rộng qua nhiều package.
  • Dùng structural_search khi bạn cần một hình dạng mã, không phải một khớp từ khóa, ví dụ các mẫu component hoặc method lặp lại.

Với các câu hỏi mang tính khái niệm như “theo dõi đường gửi đơn thanh toán,” get_task_context thường là bước đầu tốt hơn một tìm kiếm thô.

Trang này liên quan nhất ở đâu

Trang này phù hợp nhất với các monorepo web và nền tảng, nơi TypeScript là tầng điều phối cho nhiều package. Nếu repo của bạn vẫn còn nhiều JS cũ, hãy đọc hướng dẫn JavaScript. Nếu câu hỏi của bạn thực sự là “agent có thể giữ cả ngữ cảnh mã ứng dụng và hạ tầng cùng lúc không?” hãy kết hợp trang này với Terraform.

Phù hợp nhất

  • >Các đội sản phẩm và nền tảng vận hành Next.js, service Node, package dùng chung, và công cụ trong cùng một repo TypeScript.
  • >Các repo nơi interface, DTO, schema, và component React di chuyển cùng nhau nhưng nằm ở các thư mục khác nhau.
  • >Các đội cố gắng cung cấp cho AI agent ngữ cảnh an toàn trước khi chúng động đến các kiểu dùng chung hoặc ranh giới package.

Workflow agent

  • >Theo dõi một type, interface, hoặc component từ định nghĩa của nó đến các đường mã thực sự sử dụng nó.
  • >So sánh các cách triển khai qua các package trước khi thay đổi một helper dùng chung hoặc hợp đồng API.
  • >Lập bản đồ phạm vi ảnh hưởng có khả năng xảy ra khi chỉnh sửa một type, tiện ích, hoặc module service dùng chung.

Chi tiết engine

  • >TypeScript trích xuất class, method, interface, và type alias thay vì làm phẳng mọi thứ thành các symbol chung chung.
  • >Tiền tố thành viên bị loại bỏ, nhưng định danh có gắn class vẫn được giữ lại, giúp phân biệt `CheckoutService.create` với một `create` trần trụi.
  • >Các phần tử JSX được tính là khởi tạo, và các đường dẫn test/story/config được bỏ qua rõ ràng trong kỳ vọng symbol để giảm nhiễu.

Điểm khởi đầu MCP hữu ích

  • find_symbol

    Bắt đầu ở đây khi bạn biết interface, type alias, hook, hay service dùng chung mà bạn muốn xem xét.

  • dependency_search

    Dùng nó trước khi thay đổi một DTO hay client dùng chung để có được phạm vi ảnh hưởng thực tế trên các package.

  • structural_search

    Dùng tìm kiếm cấp AST khi bạn cần một mẫu hình, không phải khớp chuỗi, ví dụ như các hình dạng component hay method lặp lại.