ข้ามไปที่เนื้อหา
cd /languages
  • ค่าเริ่มต้น Monorepo
  • การเขียนโปรแกรม
  • รองรับ AST และสัญลักษณ์

การรองรับ TypeScript ใน Maguyva: บริบทที่ดีขึ้นสำหรับ Monorepo

Maguyva รองรับ TypeScript ด้วยการแยกวิเคราะห์ AST และการดึงสัญลักษณ์ ช่วยให้เอเจนต์ AI ตามรอย interface, การอิมพลีเมนต์, package ที่ใช้ร่วมกัน และโค้ดแอปที่หนัก JSX ข้ามโมโนรีโพ

เหตุใดหน้า TypeScript จึงสำคัญ

TypeScript คือภาษาที่หลายทีมคาดหวังว่าการรีแฟกเตอร์ด้วยความช่วยเหลือของ AI จะรู้สึกปลอดภัยในที่สุด ระบบ type ช่วยได้ แต่มันไม่ได้ขจัดปัญหาจริง: package ที่ใช้ร่วมกัน, DTO, client ที่สร้างขึ้นโดยอัตโนมัติ, คอมโพเนนต์ของ React, test และโค้ดแอปทั้งหมดล้วนอ้างอิงชื่อเดียวกันข้ามรีโพขนาดใหญ่

สำหรับ TypeScript มาตรฐานสูงกว่าคำว่า “มันเข้าใจไวยากรณ์” เอเจนต์ต้องตามรอย contract จากคำนิยามไปยังการอิมพลีเมนต์ ไปยังรัศมีผลกระทบ ก่อนที่มันจะแก้ไข type ที่ใช้ร่วมกัน, hook หรือ client

สิ่งที่ Maguyva ดึงออกมาจริงใน TypeScript

Maguyva ดึงคลาส, เมธอด, interface และ type alias ข้าม .ts, .mts, .cts และรูปแบบไฟล์ TypeScript ทั่วไปรอบๆ test และ story คำนำหน้าสมาชิกถูกทำให้เป็นมาตรฐานเดียวกัน แต่ตัวระบุที่มีคลาสกำกับยังคงถูกเก็บไว้ ซึ่งช่วยเมื่อรีโพมีทั้งชื่อตัวช่วยเปล่าๆ และเมธอดที่ผูกกับคลาสซึ่งมีส่วนท้ายเหมือนกัน

JSX ถูกถือว่าเป็นสัญญาณเชิงโครงสร้างจริง ไม่ใช่มาร์กอัปที่หลงเหลือ ในไฟล์ TypeScript ที่ทำดัชนีแล้ว การทดสอบ, stories และการกำหนดค่ายังคงเข้าถึงได้ควบคู่กับโค้ดแอปพลิเคชัน ช่วยให้เอเจนต์ตรวจสอบตัวอย่างการใช้งานและการตั้งค่าก่อนแก้ไขคอมโพเนนต์หรือบริการที่ใช้ร่วมกัน

เวิร์กโฟลว์ MCP ที่มีประโยชน์สำหรับรีโพของ TypeScript

รูปแบบเริ่มต้นสามแบบมักเพียงพอ:

  • ใช้ find_symbol เมื่อคุณรู้ชื่อ interface, type alias, hook หรือ service อยู่แล้ว
  • ใช้ dependency_search ก่อนเปลี่ยน type ที่ใช้ร่วมกันหรือ client ที่อาจกระจายข้าม package
  • ใช้ structural_search เมื่อต้องการรูปทรงโค้ด ไม่ใช่การจับคู่คำสำคัญ เช่น รูปแบบคอมโพเนนต์หรือเมธอดที่เกิดซ้ำ

สำหรับคำถามเชิงแนวคิด เช่น “ตามรอยขั้นตอนการส่งคำสั่งซื้อที่หน้าชำระเงิน” get_task_context มักเป็นจุดเริ่มต้นที่ดีกว่าการค้นหาแบบดิบ

จุดที่หน้านี้เกี่ยวข้องมากที่สุด

หน้านี้เหมาะที่สุดสำหรับ web และแพลตฟอร์มโมโนรีโพที่ TypeScript เป็นชั้นประสานงานของหลาย package หากรีโพของคุณยังมี JS เก่าอยู่มาก ให้อ่าน คู่มือ JavaScript หากคำถามของคุณคือ “เอเจนต์เก็บโค้ดแอปและบริบทโครงสร้างพื้นฐานไว้ด้วยกันได้หรือไม่” ให้จับคู่หน้านี้กับ Terraform

เหมาะที่สุดสำหรับ

  • > ทีมผลิตภัณฑ์และแพลตฟอร์มที่รัน Next.js, Node service, package ที่ใช้ร่วมกัน และเครื่องมือในรีโพ TypeScript เดียว
  • > รีโพที่ interface, DTO, schema และคอมโพเนนต์ของ React เคลื่อนไปด้วยกัน แต่อยู่ในไดเรกทอรีต่างกัน
  • > ทีมที่พยายามให้เอเจนต์ AI มีบริบทที่ปลอดภัย ก่อนที่มันจะแตะ type ที่ใช้ร่วมกันหรือขอบเขต package

เวิร์กโฟลว์ของเอเจนต์

  • > ตามรอย type, interface หรือคอมโพเนนต์จากคำนิยามไปยังเส้นทางโค้ดที่ใช้มันจริง
  • > เปรียบเทียบการอิมพลีเมนต์ข้าม package ก่อนเปลี่ยนตัวช่วยที่ใช้ร่วมกันหรือ API contract
  • > แมปรัศมีผลกระทบที่น่าจะเกิดขึ้นจากการแก้ไข type ที่ใช้ร่วมกัน, ยูทิลิตี้ หรือ service module

รายละเอียดเอนจิน

  • > TypeScript สกัดคลาส เมธอด อินเทอร์เฟซ และ type alias แทนที่จะรวมทุกอย่างให้แบนเป็นสัญลักษณ์ทั่วไป
  • > คำนำหน้าของสมาชิกจะถูกตัดออก แต่ตัวระบุที่มีคลาสกำกับยังคงอยู่ ซึ่งช่วยแยกความแตกต่างระหว่าง `CheckoutService.create` กับ `create` เดี่ยวๆ
  • > องค์ประกอบ JSX นับเป็นการสร้างอินสแตนซ์ ในไฟล์ TypeScript ที่ทำดัชนีแล้ว การทดสอบ stories และการกำหนดค่ายังคงใช้เป็นบริบทควบคู่กับโค้ดแอปพลิเคชันได้

จุดเริ่มต้น MCP ที่มีประโยชน์

  • find_symbol

    เริ่มที่นี่เมื่อคุณรู้อินเทอร์เฟซ type alias, hook หรือเซอร์วิสที่ใช้ร่วมกันที่ต้องการตรวจสอบ

  • dependency_search

    ใช้ก่อนเปลี่ยน DTO หรือไคลเอนต์ที่ใช้ร่วมกัน เพื่อดูรัศมีผลกระทบที่สมจริงข้ามแพ็กเกจ

  • structural_search

    ใช้การค้นหาระดับ AST เมื่อคุณต้องการแพตเทิร์น ไม่ใช่การจับคู่สตริง เช่น รูปแบบคอมโพเนนต์หรือเมธอดที่ซ้ำกัน

คู่มือที่เกี่ยวข้อง

ส่วนอื่นของรีโพที่เกี่ยวข้อง

ดูคู่มือทั้งหมด
รันไทม์ผสมกัน การเขียนโปรแกรม

การรองรับ JavaScript ใน Maguyva: การค้นหาด้วย AI สำหรับรีโพที่ผสมรันไทม์

มีประโยชน์เมื่อรีโพผสม CommonJS, ESM, สคริปต์งาน, test และโค้ดแอปเก่าเข้าด้วยกัน

รองรับ AST และสัญลักษณ์ การแยกวิเคราะห์ AST การสกัดสัญลักษณ์ ความสัมพันธ์ในกราฟ

นามสกุลไฟล์

.cjs, .js, .mjs, .spec.js, +อีก 2

เปิดคู่มือ
โครงสร้างพื้นฐานคือโค้ด โครงสร้างพื้นฐาน

การรองรับ Terraform ใน Maguyva: บริบทโครงสร้างพื้นฐานสำหรับเอเจนต์ AI

มีประโยชน์เมื่อโค้ดโครงสร้างพื้นฐานเป็นส่วนหนึ่งของบริบทรีโพและไม่ใช่สิ่งที่เอเจนต์ควรมองข้ามไป

รองรับ AST และสัญลักษณ์ การแยกวิเคราะห์ AST การสกัดสัญลักษณ์ ไม่มีความสัมพันธ์ในกราฟ

นามสกุลไฟล์

.tf, .tfvars

เปิดคู่มือ