ข้ามไปที่เนื้อหา
cd /languages
ค่าเริ่มต้น Monorepoการเขียนโปรแกรมรองรับกราฟแบบเต็มรูปแบบ

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

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

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

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

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

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

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

JSX ถูกถือว่าเป็นสัญญาณเชิงโครงสร้างจริง ไม่ใช่มาร์กอัปที่หลงเหลือ และการคาดหวัง symbol จะข้าม path ของ test, story และ config จำนวนมากไปอย่างชัดเจน สิ่งนี้สำคัญใน monorepo เพราะไม่เช่นนั้น เอเจนต์จะใช้เวลาไปกับการค้นพบโครงสร้างตั้งต้นซ้ำมากเกินไป แทนที่จะเป็นพื้นที่การอิมพลีเมนต์จริง

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

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

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

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

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

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

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

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

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

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

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

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

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

  • find_symbol

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

  • dependency_search

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

  • structural_search

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

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

พื้นผิวรีโปที่ใกล้เคียงกัน

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

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

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

รองรับกราฟแบบเต็มรูปแบบการแยกวิเคราะห์ ASTการสกัดสัญลักษณ์

นามสกุลไฟล์

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

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

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

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

รองรับกราฟแบบเต็มรูปแบบการแยกวิเคราะห์ ASTการสกัดสัญลักษณ์

นามสกุลไฟล์

.tf, .tfvars

เปิดคู่มือ