# ¿¡ÀÌÀüÆ® Çൿ Áöħ ¹× ¶ó¿ìÆÃ °¡À̵å (agent.md) ## 1. °³¹ß ȯ°æ ¹× ±â¼ú ½ºÅà ±âÁØ (Technical Stack Baseline) ¿¡ÀÌÀüÆ®´Â Äڵ带 ÀÛ¼º, ¼öÁ¤ ¶Ç´Â °ËÁõÇÒ ¶§ ȯ°æ ±âÁذú ȣȯµÇµµ·Ï ±¸Çö ### A. ¹é¿£µå ¹× ¿¬»ê ¿£Áø (Python) * **Runtime:** Python v3.12 or v3.13.7 * **Framework:** FastAPI / Pydantic * **Geometry/GIS Engine:** Trimesh, Whitebox, Geopandas, Shapely, Rasterio, Laspy ### B. µ¥ÀÌÅͺ£À̽º (PostgreSQL) * **DBMS:** PostgreSQL v17 * **Spatial Extension:** PostGIS v3.4 (°ø°£ Äõ¸® ¹× ¿¬»ê Ȱ¿ë) * **DB Driver:** ºñµ¿±â ¿¬µ¿À» À§ÇÑ `asyncpg` ±âÁØ ±¸µ¿ ### C. ÇÁ·ÐÆ®¿£µå ¹× ÀÎÅÍÆäÀ̽º (TypeScript & WebCAD) * **Language/Runtime:** TypeScript / Node.js * **ÀÎÅÍÆäÀ̽º:** HTML5 Canvas ¹× WebGL ±â¹ÝÀÇ WebCAD ½Ã½ºÅÛ ¿¬µ¿ Ç¥ÁØ Áؼö ### D. µ¥ÀÌÅÍ ¹× ÆÄÀÏ ÀÎÄÚµù Ç¥ÁØ * **ÀÎÄÚµù:** ÅØ½ºÆ® ÆÄÀÏÀº UTF-8 Ç¥ÁØÀ» °­Á¦ Àû¿ë --- ## 2. ÄÁÅØ½ºÆ® ¶ó¿ìÆÃ ±ÔÄ¢ (Context Routing) ¸í·É ¼ö½Å ½Ã ´äº¯ ÀÛ¼º ¹× ÄÚµå ¼öÁ¤ Àü ´ÙÀ½ ´Ü°è¿¡ µû¶ó Á¤ÀǼ­(MD) Çʼö ·Îµå. * **1´Ü°è (Çʼö):** `.agent/structure.md` Áï½Ã ·Îµå ¹× ÇöÀç µð·ºÅ丮 ±¸Á¶ ºÐ¼®. * **2´Ü°è (Á¶°Ç ºÐ±â):** ÇÁ·ÒÇÁÆ® ¼º°Ý¿¡ µû¶ó ÇÊ¿äÇÑ ÆÄÀÏ ¼±º° ·Îµå. * **Á¶°Ç A (UI, Á¦¾î, ÄÄÆ÷³ÍÆ®, WebCAD):** `.agent/frontend.md` Çʼö Ãß°¡ ·Îµå. * **Á¶°Ç B (¿¬»ê ¼ö½Ä, ¼³°è ±âÁØ, DB, PostGIS):** `.agent/backend.md` Çʼö Ãß°¡ ·Îµå. --- ## 3. ÄÚµå ÀÛ¼º Á¦¾à Á¶°Ç (Constraints) * **±¸Á¶ Áؼö:** `.agent/structure.md` Æ®¸® ±¸Á¶ °­Á¦ Áؼö. * **700ÁÙ Á¦ÇÑ:** ´ÜÀÏ ÆÄÀÏ ÄÚµå »ý¼º/¼öÁ¤ ÈÄ 700ÁÙ ÀÌ»ó ½Ã ¸®ÆÑÅ丵 Çʼö Á¦¾È. À¯Àú ½ÂÀÎ ÈÄ ºÐÇÒ ¹× `structure.md` µ¿½Ã ¾÷µ¥ÀÌÆ®. * **¿µ¿ª °Ý¸®:** ÁöÁ¤µÈ ÀÛ¾÷ ¿µ¿ª ¿Ü µð·ºÅ丮 ÆÄÀÏ Á¢±Ù¡¤¼öÁ¤ ½Ã À¯Àú »çÀü ½ÂÀÎ Çʼö. * **Á¤ÇÕ¼º °ËÁõ:** ÀÌÀü ¸Æ¶ô ´ÜÀýÀ» °í·ÁÇÏ¿© ÇöÀç ¼Ò½º ÄÚµå¿Í ºÐÇÒ Á¤ÀǼ­(`frontend.md`, `backend.md`) °£ Á¤ÇÕ¼º ÃÖ¿ì¼± °ËÅä. * **Á¤º¸ ¿ä±¸ Çʼö:** ¿¬°ü ÆÄÀÏÀÇ ½ÇÁ¦ ³»ºÎ Äڵ尡 ÇÁ·ÒÇÁÆ®¿¡ Á¦°øµÇÁö ¾ÊÀº °æ¿ì, ÀÓÀÇ ÃßÃø ÄÚµùÀ» Àý´ë ±ÝÁöÇϸç À¯Àú¿¡°Ô ÆÄÀÏ ³»¿ë Á¦½Ã¸¦ ¸ÕÀú ¿ä±¸ÇÒ °Í. * **½ºÅ¸ÀÏ ÅëÇÕ (ÀÚÀ² Æ÷¸ÅÆÃ):** ¿¡ÀÌÀüÆ®´Â ÄÚµå ÀÛ¼ºÀ» ¿Ï·áÇÑ ÈÄ, ¹Ýµå½Ã ÇÁ·ÎÁ§Æ® Å͹̳ο¡¼­ ´ÙÀ½ ¸í·É¾î¸¦ Á÷Á¢ ½ÇÇàÇÏ¿© ¼­½ÄÀ» Á¤·ÄÇÑ µÚ ÃÖÁ¾ ÀúÀåÇØ¾ß ÇÑ´Ù. (À¯Àú¿¡°Ô ¼­½Ä ±³Á¤ ÀÛ¾÷À» Àü°¡ÇÏÁö ¸» °Í) * *Python ÆÄÀÏ ¼öÁ¤ ½Ã:* `ruff format [ÆÄÀϸí]` ¹× `ruff check --fix [ÆÄÀϸí]` ½ÇÇà * *TypeScript/CSS ÆÄÀÏ ¼öÁ¤ ½Ã:* `npx prettier --write [ÆÄÀϸí]` ½ÇÇà * **ÀÇÁ¸¼º Áؼö:** ¿ÜºÎ ¶óÀ̺귯¸® Ȱ¿ë ½Ã ÇÁ·ÎÁ§Æ®¿¡ ¸í½ÃµÈ ȣȯ ¹öÀüÀ» ¹Ýµå½Ã ÁؼöÇϸç, Á¸ÀçÇÏÁö ¾Ê°Å³ª ´ÜÁ¾µÈ ÇÔ¼ö¸¦ À¯ÃßÇÏ¿© ÀÛ¼ºÇÏ´Â °ÍÀ» ±ÝÁöÇÔ.