ð Figma MCP à Cursorã§å éããUIå®è£ ãšãã®å ã®å·¥å€«
ã¯ããã«
è¿å¹Žããããã¯ãéçºã®çŸå Žã§ã¯ãDesign to CodeããšããæŠå¿µã倧ããªæ³šç®ãéããŠããŸãã
ããã¯ããã¶ã€ã³ããŒã«ã§äœæãããUIãã¶ã€ã³ãçŽæ¥ã³ãŒãã«å€æããæè¡ã®ããšã§ãéçºå¹çã®å€§å¹
ãªåäžãæåŸ
ãããŠããŸãã
ãã®æµãã®äžã§ãFigma瀟ã¯ãDev ModeïŒéçºè åãã®è¡šç€ºã¢ãŒãïŒãCode ConnectïŒã³ãŒããšãã¶ã€ã³ã®åææ©èœïŒãšãã£ãæ©èœããªãªãŒã¹ããŠããŸããã
ãã®ãããªèæ¯ã®äžãã€ãæè¿ã§ã¯ãFigma MCPãã話é¡ãšãªããŸããã
ç§ãã¡ã®ããŒã ã§ã¯ããã®Figma MCPãšAIæèŒã³ãŒããšãã£ã¿ãCursorããçµã¿åãããããšã§ãå®éã®ãããã¯ãéçºã«ææŠããŠã¿ãŸããïŒ
æ¬èšäºã§ã¯ããã®å°å
¥éçšã§åŸãããç¥èŠããããŠå®éã®éçšã«ããã工倫ã«ã€ããŠçŽ¹ä»ããŸãã
ð€ Figma MCPãšã¯
Figma MCPã«ã€ããŠã¯ããã¡ãã®èšäºãéåžžã«ãããããããŸãšããããŠããããã説æãå²æããŸãã
ð¯ ããŒã ã§ã®å°å ¥èæ¯
ä»åFigma MCPã®é£æºã«åãçµãã èæ¯ã«ã¯ãAIã®åãåããããšã§ã
- ð UIã³ã³ããŒãã³ãå®è£ ã®å·¥æ°åæž
- ð§ å°äººæ°ã®ããŒã ã§ãUIã®éçºé床ãåäž
ãæåŸ ã§ããã®ã§ã¯ãªãããšèããŸããã
ð§ å®è£ ã¹ããããšéçšäžã®å·¥å€«
Figma MCPãšCursorãé£æºãããéãæåã«çŽé¢ããã®ã¯ããŒã å ã§ã®èšå®å ±æã®åé¡ã§ãã
APIããŒã®å ±æåé¡
Figma MCPã䜿çšããããã«ã¯ãåéçºè
ãFigmaã®APIããŒãååŸãã.cursor/mcp.json
ãã¡ã€ã«ã«èšå®ããå¿
èŠããããŸãã
ãããããã®APIããŒã¯å人åäœã§çºè¡ãããããããªããžããªã«ãã®ãŸãŸå«ããããšã¯ã§ããŸããã
ãŸããmcp.json
ãã¡ã€ã«ã¯ç°å¢å€æ°ã®èªã¿èŸŒã¿ã«å¯Ÿå¿ããŠããªããšããå¶çŽããããŸããã
ãããã®èª²é¡ã«å¯Ÿå¿ããããã以äžã®ããã«å¯Ÿå¿ããŠããŸãã
-
mcp.sample.json
ãäœæãããªããžããªã«å«ãã -
.gitignore
ã«.cursor/mcp.json
ãè¿œå - ããŒã ã¡ã³ããŒã«ã¯åèªã®ç°å¢ã§
mcp.sample.json
ãã³ããŒããŠmcp.json
ãäœæããèªåã®APIããŒãèšå®ããããäŸé Œ
// mcp.sample.json
{
"mcpServers": {
"figma-developer-mcp": {
"command": "npx",
"args": ["-y", "figma-developer-mcp", "--stdio"],
"env": {
"FIGMA_API_KEY": "{å人ã®APIããŒãèšèŒ}"
}
}
}
}
ãã®æ¹æ³ã¯ç°¡æçã§ãããå°äººæ°ããŒã ã§ããã°ç¹ã«åé¡ã¯ãªãã®ã§ãçŸç¶ãã®æ¹æ³ãæ¡çšããŠããŸãã
ãã ãå人åäœã®APIããŒã®èšå®ãåå人ã«äœæ¥ãå§ããç¹ã«ãããŠãããŸãã¹ããŒãã§ã¯ãªããšæããŠããŸã...
ãããããã¹ããŒããªæ¹æ³ã§éçšãããŠããæ¹ãããã£ããããŸãããããã²ã³ã¡ã³ãã§æããŠããã ãããšå¬ããã§ãïŒ
ð æåäºäŸãšèª²é¡ç¹
ããããã¯ããå®éããããã¯ãéçºã«åãå ¥ããŠã©ããªã®ïŒããèªåã§éçºããã»ããæ©ãããããªãïŒããšãã£ãçåã«å¯Ÿããç¥èŠãå ±æããããšæããŸãã
æåããç¹
Figma MCPãšCursorãçµã¿åãããããšã§ã以äžã®ãããªææãåŸãããšãã§ããŸããã
- â¡ UIå®è£ ã®é«éå: åçŽãªã³ã³ããŒãã³ãã§ããã°ãæ°åã§å®è£ ãå®äº
- ðš èŠèŠçãªæ£ç¢ºã: çæãããUIã¯ããã¶ã€ã³ãšã®èŠèŠçãªäžèŽåºŠãé«ã
ç¹ã«ãUIã®åçŸåºŠã«ã€ããŠã¯70ã80%ã®ç²ŸåºŠã§å®è£ ã§ããŠãããä¿®æ£äœæ¥ãå«ããŠãåŸæ¥ã®æäœæ¥ã«æ¯ã¹ãŠå€§å¹ ãªæéççž®ãå®çŸã§ããŸããã
課é¡ç¹
äžæ¹ã§ãAIã«ä»»ããŠå®è£ ããŠãªãªãŒã¹ã§ããããšèšãã°ãããã§ã¯ãããŸãããå®éã¯ä»¥äžã®ãããªèª²é¡ããããŸããã
- ð ã³ã³ããŒãã³ãæ§é ã®åé¡: çæãããã³ãŒãã¯1ã€ã®å·šå€§ãªã³ã³ããŒãã³ãã«ãªããã¡
- ð ã³ãŒãã£ã³ã°èŠçŽãšã®äžäžèŽ: ããŒã ã®ã³ãŒãã£ã³ã°ã«ãŒã«ã«åŸããªãã³ãŒããçæããã
- 𧩠ãã¶ã€ã³ã·ã¹ãã ã®æªæŽ»çš: æ¢åã®ãã¶ã€ã³ã·ã¹ãã ã®ã³ã³ããŒãã³ãã掻çšããããç¬èªå®è£ ãããŠããŸã
ç¹ã«æåŸã®ç¹ã¯ãå¥ãªããžããªã§ãã¶ã€ã³ã·ã¹ãã ã管çããŠããå Žåãé¡èãªåé¡ãšããŠæããããŸãã
AIãç¬èªã«ã³ã³ããŒãã³ããå®è£
ããŠããŸãããããã¶ã€ã³ã·ã¹ãã ãšã®äžè²«æ§ã倱ãããŠããŸããŸãã
ãŸããããã³ããšã³ãéçºã«ãããŠã¯ãåçŽãªUIã®å®è£ 以å€ã«ãèããªããã°ãããªãããšããããŸãããã
- ãµãŒããŒã³ã³ããŒãã³ããšã¯ã©ã€ã¢ã³ãã³ã³ããŒãã³ãã®é©åãªäœ¿ãåã
- ã³ã³ããŒãã³ãéã§ã®ç¶æ 管çã®èšèš
- ããã©ãŒãã³ã¹ãèæ ®ããã³ã³ããŒãã³ãã®åå²
ãããã®èšèšå€æã¯ããããžã§ã¯ãã®èŠä»¶ãå¶çŽã«å¿ããŠé©åã«è¡ãå¿ èŠããããäžçºã§å®ç§ãªçæãè¡ãããããšèšããããšé£ãããšããã§ãã
ð¡ 粟床åäžã®ããã®å·¥å€«
å ã»ã©æãã課é¡ã«å¯ŸããŠãããã€ãå¹æçã ã£ã工倫ãã玹ä»ããããšæããŸãïŒ
cursor_rulesã®æŽ»çš
Cursorã«ã¯cursor_rules
ãšããæ©èœããããAIã«ç¹å®ã®ã³ãŒãã£ã³ã°èŠçŽããããžã§ã¯ãæ§é ãç解ãããããšãã§ããŸãã
Figma MCPã«éã£ã話ã§ã¯ãªããAIã§ã®éçºã«ãããŠcursor_rules
ã¯å€§ããªåœ¹å²ãæ
ã£ãŠããŸãã
cursor_rules
ã«ã€ããŠã¯ãæ¢ã«èšäºãäžãã£ãŠããã®ã§ãæ°ã«ãªãæ¹ã¯èª¿ã¹ãŠã¿ãŠãã ããïŒ
ããŒã ã§ã¯ä»¥äžã®ãããªã«ãŒã«ãå®çŸ©ããŠããŸããïŒäžéšæç²ïŒ
- ð ãããžã§ã¯ãã®æ§é ãšãã©ã«ãæ§æ
- ð ã³ãŒãã£ã³ã°èŠçŽãšã¹ã¿ã€ã«ã¬ã€ã
- 𧩠ã³ã³ããŒãã³ãåå²ã®æ¹é
ããã«ãããçæããã³ãŒãã®å質ãå€§å¹ ã«åäžãããããšãã§ããŸããã
# cursor_rules.mdcïŒæç²ïŒ
## ã³ã³ããŒãã³ãèšèš
- ã³ã³ããŒãã³ã㯠function ã³ã³ããŒãã³ãã§å®çŸ©ãã
- å¯èœãªéã React Server Components ãå©çš
- äžèŠãª 'use client' æå®ãé¿ãã
- é©å㪠ErrorBoundary ãå°å
¥
## ãã¶ã€ã³
- ãããžã§ã¯ãç¬èªã®å
±éã³ã³ããŒãã³ã㯠/src/app/components/ é
äžãå©çš
æ¢åå®è£ ã®åç §
Cursorã§ã¯ããã¡ã€ã«ããã©ã«ããåç
§ããªããäŒè©±ã§ããæ©èœããããŸãã
ããã掻çšããæ¢åã®ç»é¢å®è£
ãåèã«ããããæ瀺ããããšã§ãå®è£
æ¹æ³ã®çµ±äžæ§ãé«ããããšãã§ããŸããã
管çç»é¢ã®éçºã«ãããŠã¯ã
- ð äžèŠ§è¡šç€ºã詳现衚瀺ãç·šéãã©ãŒã ãªã©ãç»é¢ã®åºæ¬æ§æã䌌éã£ãŠãã
- ð åããããªããŒã¿ãããŒããšã©ãŒãã³ããªã³ã°ãå¿ èŠ
- ðš ãã¶ã€ã³ãã¿ãŒã³ãçµ±äžãããŠãã
ããã以äžã®ãããªæ瀺ãCursorã«äžããããšã§é«ç²ŸåºŠãªå®è£ ãå¯èœã§ããã
ããã®Figmaãã¶ã€ã³ãå®è£ ããéã«ã
src/app/admin/users
é äžã®ãã£ã¬ã¯ããªæ§æãšã³ã³ããŒãã³ãåå²ãåèã«ããŠãã ãããç¹ã«ãäžèŠ§è¡šç€ºã®ããŒãã«ã³ã³ããŒãã³ããšããŒãžããŒã·ã§ã³ã®å®è£ æ¹æ³ãèžè¥²ãããã§ããã
ãã®ããã«ãæ¢åã®ç®¡çç»é¢ã®å®è£ ãåç §ããããšã§
- ð¡ ã³ã³ããŒãã³ãã®åå²ç²åºŠãé©åã«ãªã
- ð ããŒã¿ãã§ããããšã©ãŒãã³ããªã³ã°ã®ãã¿ãŒã³ãçµ±äžããã
- ð¯ ãããžã§ã¯ãåºæã®èŠä»¶ãã«ãŒã«ã«æ²¿ã£ãå®è£ ãã§ãã
çµæãšããŠãçæãããã³ãŒãã®ã¬ãã¥ãŒææãå€§å¹ ã«æžå°ããŸããã
Cursorã®çŽ°ããTipsã«é¢ããŠã¯ãå¥ã§èšäºãäžãã£ãŠããŸãã®ã§ããã²åŸ¡èŠ§ãã ããïŒ
ãªãã¹ãããŒãã®åäœãå°ãããã
FigmaããååŸããããŒãã®åäœãéèŠãªèŠçŽ ã§ããã
倧ãããããã¬ãŒã ãéžæãããšã粟床ãäžããåŸåã«ãããŸãã...
- 𧩠æ©èœåäœã§å°ããªã³ã³ããŒãã³ãã«åå²ããããã¬ãŒã ãéžæ
- ð è€éãªç»é¢ã¯è€æ°åã«åããŠçæ
- ð å ±éã³ã³ããŒãã³ãã¯åå¥ã«çæããŠããçµã¿åããã
äŸãã°ä»¥äžã®ããŒãžãå®è£
ããå Žåãéæ åäœã§åç
§ãããšç²ŸåºŠãé«ãã¢ãŠãããããåŸãããŸãã
ð å®éã®å¹æ
å®é䜿ã£ãŠã¿ãŠã©ããªã®ïŒãšãããšãããæ°ã«ãªããŸãããïŒ
æ£ç¢ºãªèšæž¬ã¯è¡ã£ãŠããªãã§ãããäœæã§çŽ40%ã»ã©äœæ¥æéãççž®ããããšæããŸãã
ããããæ
£ãããŸã§ã¯èªåã§å®è£
ããã»ããæ©ããª...ãšæããããšããããŸããã
ãã®èªæã«è² ãããããã³ããã®å·¥å€«ãcursor_rules
ã®å·¥å€«ã«ãã£ãŠãAIããŒã¹ã®å®è£
ãåãå
¥ããŠããããšãéèŠããªãšæããŸãïŒ
ð€ æ®ããã課é¡
- 𧩠ãã¶ã€ã³ã·ã¹ãã ãšã®é£æºããã£ãšäžæããããïŒ
çŸç¶ããã¶ã€ã³ã·ã¹ãã ã®ã³ã³ããŒãã³ããç解ãããããšã«ãæ¹åã®äœå°ããããŸãã
æ¢ã«äžåºŠå®è£
ãããããšã®ããç»é¢ãã³ã³ããŒãã³ãã«ã€ããŠã¯ãåæ§ã®å®è£
ãææ¡ããŠãããŸãããæ°ããç»é¢ã§ãã¶ã€ã³ã·ã¹ãã ã®ã³ã³ããŒãã³ãã䜿ãããŠããå Žåããã¶ã€ã³ã·ã¹ãã ã®ã³ã³ããŒãã³ããææ¡ããŠãããªããšãã課é¡ãæ®ã£ãŠããŸã...
ã¯ãŒã¯ã¹ããŒã¹ã«å¥ãªããžããªã®ãã©ã«ããå
¥ããŠåç
§ããæ¹æ³ããããŸããããªãã¹ãã·ã³ãã«ãªéçšãèŠã€ããããšããã§ãã
ããè¯ãã¢ã€ãã¢ãå®è·µäŸããåç¥ã®æ¹ãããã£ããããŸãããããã²ã³ã¡ã³ãã§æããŠãã ããïŒ
ð¬ ãŸãšã
Figma MCPãšCursorã®é£æºã¯ãUIå®è£ ãããã³ããšã³ããšã³ãžãã¢ã®åœ¹å²ã«å€§ããªåœ±é¿ãäžãããšæããŸãã
- ð AIã«ã³ã³ããã¹ããäžãã:
cursor_rules
ãªã©ã掻çšããŠãAIã«ãããžã§ã¯ãã®èæ¯ãæ¹éãç解ãããããšãéèŠ - ðš ãã¶ã€ã³ã®ç²Ÿç·»å: AIãããŸãç解ã§ãããããFigmaã®ãã¶ã€ã³ããŒã¿ãæ§é åãããŠããå¿ èŠããã
- ðšâð» ãšã³ãžãã¢ã®åœ¹å²å€å: ããã³ããšã³ããšã³ãžãã¢ã¯å®è£ ã®è©³çŽ°ããããã¢ãŒããã¯ãã£ããŠãŒã¶ãŒäœéšã®èšèšã«æ³šåã§ããããã«ãªã
ããããã®ããã³ããšã³ãéçºã§ã¯ãAIããŒã«ãããŸã掻çšããªãããããé«ã䟡å€ãçã¿åºãé åã«ãã©ãŒã«ã¹ããŠããããšãéèŠã ãšæããŸããïŒ
Discussion