Cursor ã¨ã¯ä½ã
ã³ã¼ãã£ã³ã°ã¨ã¼ã¸ã§ã³ããæè¼ãã VS Code æ´¾çã®ããã¹ãã¨ãã£ã¿ãã
ã³ã¼ãã£ã³ã°ã¨ã¼ã¸ã§ã³ãã«å
¨ããããããï¼ã¨ããè¨èª¬ãããä¸ãCursor ã¯çæ AI + ããã¹ãã¨ãã£ã¿ãªãã¼ã«ã¨ãã¦å§ããããå¬ããããã¨è¨ããã¦ããã
ASCII.jp:いま文章を書くのに「CURSOR」を使わないのは損だ
Cursor ãå®éã«ä½¿ã£ã¦è©¦ããã
ãã® 1. æããã«ç°¡åãªãã®ãpoor-zundamonizer
ã¾ããæããã«ç°¡åãªãã®ã Cursor ã¨ä¸ç·ã«ä½ãã試ãã
æè¿ã®ä¿ºã®ããã¾ã¾ã¨ãã¦ããDeep Research ã®èª¿æ»çµæããªãããã£ã±ãæåãã£ã¦ããã©ããã¨ããã®ãããã
俺ãããã¡ãªãããã
è¿å¹´ä¸çªè³ã«åªããæ
å ±æ示形å¼ã¯ããã ããåç»ã£ãã
ãªãã§ã
- æåã¾ã¿ãã®èª¿æ»çµæãä½ããã®å½¢å¼ã«å¤æããã
- å¤æçµæãããã ããåç»é¢¨ã«é²è¦§ãã
ã¨ãããã¨ããããã俺ã¯ãããã¡ãªã®ã§ã
ããã ããåç»ã¨ããã®ãä¹±æ´ã«æ½è±¡åããã¨ãå¾ãã«ãã¬ã¼ã³ã¹ã©ã¤ãããããåã§ããã ãããã¡ãåã£ã¦ããã
ãããã£ã¦ãã¹ã©ã¤ãã®å
容 + ãã®ã¹ã©ã¤ãã®åã§åãããèæ¬ ãã²ã¨ã¾ã¨ãã«ãã DSL çãªãã®ãããã¨è¯ãã
ã¾ããåç´ã«ã¹ã©ã¤ããä½æããããã®ãã¼ã«ãç¨æãããã
ããã¯ãã§ã«ä¸ã®ä¸ã«ããããåå¨ãã¦ããã大å¤è¯ãä¸ã®ä¸ãã
ä»åã¯ãä»ã¨æ¯ã¹ã¦æ¯è¼çã»ããã¢ãããç°¡åã§æ±ãããã Marp ãå©ç¨ããã
Marp: Markdown Presentation Ecosystem
Marp 㯠Markdown ã§ã¹ã©ã¤ããä½æã§ãããã¼ã«ã§ããã
Marp ã«ã¯ã¹ã©ã¤ãå
ã® HTML ã³ã¡ã³ãã presenter note ã¨ãã¦æ±ã£ã¦ãããæ©è½ãããã
ããã¤ãããã ããç¨ã®èæ¬ã«å©ç¨ããã
è¦ããã«ã以ä¸ã®ããã«ã¹ã©ã¤ãå
ã«èæ¬ãåãè¾¼ã¿ãã:
# Slide 1 - hoge - fuga <!-- ããã ãã(neutral): ããã«ã¡ã¯ãããã ããã§ã --> <!-- æ¥æ¥é¨ã¤ãã(happy): ç§ã¯æ¥æ¥é¨ã¤ããã§ã --> --- # Slide 2 - å®¿å½ - æ¯é - ããã¦æ¬ºç <!-- ããã ãã(neutral): é¼ã®é奪è ãªã®ã --> <!-- æ¥æ¥é¨ã¤ãã(neutral): ç¡çª®ã®éãæ» éã®ä¸æãä¸æ» ã®é§ãæ»ã®åªç¸ãæ»ã®å½ -->
ã§ããã® Markdown ã®ä¸ã®èæ¬é¨åãåãåºãã以ä¸ã®ãããªãã¼ã¿ãä½ã:
const events = [ { type: "speak", character: "zundamon", emotino: "neutral", text: "ããã«ã¡ã¯ãããã ããã§ã" }, { type: "speak", character: "tsumugi", emotion: "happy", text: "ç§ã¯æ¥æ¥é¨ã¤ããã§ã" }, /** * ãã¼ã¸å ã®ã³ã¡ã³ããèªã¿ä¸ãçµãã£ãã次ã®ãã¼ã¸ã¸ç§»åããã */ { type: "nextSlide" }, ... ]
ã§ããã®ãã¼ã¿ãå ã«é³å£°ãä½æããããã¤ã¤ç»åãããæãã«ããããã¤ã¤ãã¹ã©ã¤ãã·ã§ã¼ãåçããããã® HTML ãä½ããã¨ãããã¨ã«ããã
ãã®ãããªãã¼ã«ãä½ããã¨ãããã¨ã§ãã¾ã README ãä½æããã
ãã¦ããã® README ãå
ã«å®éã« Cursorãã«ãã£ã¦ããã£ãã®ã¯ä»¥ä¸:
- åºåãã£ã¬ã¯ããªã«æ¢åã®ãã¡ã¤ã«ï¼ä¿ºãåãã£ã¦ç¨æããããã ããã®ç»åã¨ããcss ã¨ãï¼ãã³ãã¼ããã¹ã¯ãªãããæ¸ã
- local ã® VoiceVox ãµã¼ãã¼ã¸ã®ãªã¯ã¨ã¹ããå¸ãã¯ã©ã¹ãä½ã£ã¦ããã
- æå¾ã«ã³ã¡ã³ããæ¸ãã¦ããã
ãããã¯çµæ§ãã¾ãè¡ã£ãã
ã§ãããã®ã¯ãã:
https://azoson.github.io/poor-zundamonizer/demo-test/zundamonized.html
å®éã® AI Assistant ã¨ã®ä¼è©±ã¯ ãã ã«æ®ãã¦ããã
åºæ¬çã«ã¯ã
- å®è£ å 容ãæ確ã§ãããã¤ã³ã¿ã¼ãã§ã¤ã¹ãæå®ããã¦ãã
- ããããåã³ã³ãã¼ãã³ããå°ãã
- ããããªãå¯çµåã«ãªãé¨åã¯è²¬ä»»è ï¼ä»åã¯å¤©ç¶é«ç¥è½ã§ãã俺ï¼ã«ãã£ã¦ "ã¡ããã¨" 管çããã¦ãã
ã¨ããã®ãå¹ããããããã¨æãã
ããããªãå¯çµåã«ãªã
é¨åã¯çæããã HTML ã ã£ããããã§èªã¿è¾¼ã pure js ã ã£ããããã
ããã辺ã¯å¤©ç¶é«ç¥è½ã®ç§ããããã¼ã«ä½ã£ãã
天ç¶é«ç¥è½ã¨äººå·¥ç¥è½ã®å¤¢ã®å
±æ¼ã§è¯ãã£ãã§ãã
ã¨ããã§ããããªã㯠AI æ代ã®ã½ããã¦ã§ã¢éçº ã¨ããããªè©±ã§ã¯ãªã ãæ®éã«ã½ããã¦ã§ã¢éçºããä¸ã§æ°ãã¤ããã¹ããã¨ã§ãã
人éã¯ã³ãã¡ããã£ã¨ããï¼ï¼
ãã®2. è¤æ°ã®æ©è½ã¨æ½è±¡åãzondamonizer-ai-assistant
ä¸ã®ã¹ã©ã¤ãã·ã§ã¼çæããã¯ãããã¨ãæ確ã«æ±ºã¾ã£ã¦ãããæ©è½ãçµ±åãããã«ãé¨åã¯ä¿ºã®é«ç¥è½ã§ãªãã¨ãããã
çµæãAI ã¨æ°æã¡ããä¼è©±ã§ããã
ãããã¨ãã¡ãã£ã¨å¢ãã¦ã俺ããµããã¨ã©ããªããã
zudamonizer-ai-assistant ã§ã¯ã
- Markdown å½¢å¼ã®æç« ã Marpãã®ã¹ã©ã¤ãã«ãã
- Marp ã®ã¹ã©ã¤ãã«ããã ããåç»é¢¨ã®ãã¬ã¼ã·ã§ã³ãåãè¾¼ã
ã¨ããã®ãçæ AI æ§ã«ãã£ã¦ãããã
ããããã«ã¤ãã¦ãæåã«ä½ã£ããã®ã AI ã«è©ä¾¡ããã -> AI ã«ããè©ä¾¡ãè¸ã¾ã㦠AI ã«æ¹åããã ã¨ãããã£ã¼ãããã¯ã«ã¼ããå®ç¾ãããã
ãããã£ã¦ã
- ãããã¨ã 2 ã¤ãã
- ãã£ã¼ãããã¯ã«ã¼ãã¨ããæ½è±¡åã§ããããªæ§é ãæã£ã¦ãã
ã¨ãããã¨ã«ãªãã
俺ã®æ¬²ãããã®ããããããï¼
AIãããã¯ä¿ºãæ°æã¡ããã§ããã®ãã
Markdown å½¢å¼ã®æç« ãã¹ã©ã¤ãã«ãããã
俺ãå®é¨ãã¦ãä½æãã以ä¸ã®ãã¡ã¤ã«ãå ã«ããã¨ããããé ¼ããã§ãé¡ããã¦ã¿ã:
evaluation.ts
: ã¹ã©ã¤ãã®è©ä¾¡ã»ãã£ã¼ãããã¯ã AI ã«ãé¡ãããããimprove.ts
:evaluation.ts
ã§åºåããããã£ã¼ãããã¯ãå ã«ã¹ã©ã¤ãã®æ¹åã AI ã«ãé¡ããããã
ãé¡ãããããã¨ãã¯ããã
AI Assistant ããã¯å
ã®ãã¡ã¤ã«ãåèã«ã
generate.ts
: Markdown å½¢å¼ã®æç« ãã¹ã©ã¤ãã«ããcli.ts
: ä¸ã®evaluation.ts
/improve.ts
/generate.ts
ãå¼ã³åºãç¨ã® CLI
ãä½ã£ã¦ãããã
ä¸æ¦ããããã¨ããæãã ãã cli.ts
ã«ããã¦
export
/preview
/add-meta
ãªã©ã®è¬ã®ã¡ã½ãããåæã«è¿½å ãã¦ããevaluation.ts
/improve.ts
/generate.ts
ãå¼ã³åºãéã«bun run evaluation.ts
ãåããã»ã¹ã¨ãã¦çããã¨ãã¦ãã
ãªã©ãã¦ããã®ã¯ã ã¦ã¶ãï¼ï¼ï¼ï¼
åè
ã«ã¤ãã¦ã¯ãã¾ãåç´ã«æ¬²ãããªããã§ã俺ã¯ã
æ¢åã®ãã¡ã¤ã«ã確èªããããã¨ãããããªãã¡ã¤ã«ã追å ããããæ¢åã®ãã¡ã¤ã«ãæ¹åããããã¦ãã ãã
ã¨ããæ示ãã¦ããªã俺ãæªãã£ã¹ãã
å¾è
ã¯ãªããããªé£ãããã¨ãããï¼ã¨ããæãã ã
åãã¡ã¤ã«ã bun run
ã§å®è¡ã§ããããã«ãã¤ã¤ãä¾¿å© entrypoint ã¨ãã¦ã® CLI ãç¨æããã®ã¯è¯ãã¨æãã
åããã»ã¹ã¨ãã¦å¼ã³åºãã®ã¯ããã¾ãããããªãã
å¼·ãã¦è¨ãã°å¼ã³åºãèªä½ãæ½è±¡åã§ãããªã©ã®è¯ããããã¾ããã
åããã»ã¹ã¨ãã¦å¼ã³åºãããã«ä½ãã¨ãåããã»ã¹ã® stdout ã親ããã»ã¹ãããåºãã¦ãããããªãã
ã¨ããã®ããAI ã¨ã¼ã¸ã§ã³ãããããããã°ããéã« bun cli.ts <COMMAND>
å®è¡ãã¦è¦ªããã»ã¹ã®åºåãè¦ãã®ã§ã
ããAI ã¨ã¼ã¸ã§ã³ããããæ¸ãæ£ãããåããã»ã¹å©ç¨ã³ã¼ããã人éæ§ãï¼AI ééã®ããã«ï¼æ´ã«ä¿®æ£ããã®ã¯æ¥½ãããªãã£ã¹ã
çµå±ãããã¸ãã§åããã»ã¹ãå©ç¨ ããªã å½¢ã¸ã®æ¸ãç´ããè¦æ±ãã¦ããã
"ãã®ãªãã¡ã¯ã¿ãªã³ã°ã«ãããã³ã¼ãã®å質ã¨ä¿å®æ§ã大å¹
ã«åä¸ãã¾ãã" ãªã©ã¨ããã¶ãã¦ããããã»ãªãæåãããã£ã¦ãã ãããã
ã¹ã©ã¤ãã«ããã ãããã¡ã®ä¼è©±ãåãè¾¼ããã
ç¶ãã¦ãä¸ã§ä½ã£ã "ã¹ã©ã¤ãã«ãããã" ãå
ã«ããã¹ã©ã¤ãã®åãã¼ã¸ã«ããã ããä¼è©±ãåãè¾¼ãããããä½ã£ã¦ãããã
ãã®æã®å¯¾è©±ã¯ãããã¸ãã
ãæ¢åã®ãã¡ã¤ã«ãåèã«åããããªæãã§ä½ã£ã¦ããããã¨ããéãªæ示ã§å®éã«åããããªãã®ãåºãã¦ããã¦ãããåãï¼
ããï¼å
ã®åããã»ã¹å©ç¨ã³ã¼ãåæ§ï¼ããªããããªãã¨ãããï¼ãçãªé¨åãæ°ã«ãªãåºãã
ä¼è©±åãè¾¼ã¿ã«ã¤ãã¦è²ã
ãªãªãã·ã§ã³ãç¨æãã¦ããããããã£ã¡ã§ã preview
ãªã©ã®è¬ã¡ã½ãããç¨æãã¦ãããããªã©ã®ãAI ç¹æã®ä½è¨ãªæ°é£ããå¤ã
ãªããç¥ãããæ¥æ¥é¨ã¤ãããã嬢æ§å£èª¿ã§åããããã¨ãã¦ããã®ãå¤ã
ããã£ã©ã¯ã¿ã¼åã®ã«ã¹ã¿ãã¤ãºããªãã·ã§ã³ã¯ç¨æãããã®ã®ãå®éã«ãã£ã©ã¯ã¿ã¼ã®æ¯ãèããæ示ãããã³ãã¬ã¼ãã®ç®¡çã«ã¤ãã¦ã¯äººéæ§ãææããã¾ã§æ´çããªãããªã©ã®ãã©ã³ã¹ã®æªããæ°ã«ãªãã
ä¸2ã¤ãåãããå ¨ä½çãªéçºä½é¨
ããã³ã¼ãå 容ã«æ°ã«ãªãç¹ã¯å¢ãã¦ãããã®ã®ã
- ãããã両è ãä¸æ¦åãã¨ããã¾ã§ä½ãä¸ããã®ãéã
- å
¨é¨éãã§åããããã®ï¼
marpify/cli.ts
ã¨zundamonizer/cli.ts
ã両æ¹ããæãã«ä½¿ãï¼ "ä¸æ°é貫ã¯ã¼ã¯ããã¼" ãä½ãããªã©ã®éç¨ãç´ æ©ããã£ã¦ããã
- ä¸æ°é貫ããã¼ãå®éã«ä½¿ãããã® example ã追å ããã®ãè¯ãæãã«ãã£ã¦ããã
ã¨ãããã¨ã§ãå®éã«åããã¾ã§ã©ã¯ã«é²ãã ã®ã¯ãã¡ããã¡ãè¯ãã¨æã£ãã ç¹ã«ä»åã®ãã¼ã«ã«ã¤ãã¦ã¯ãããããåããã¦ã¿ã¦ããã³ãã調æ´ããã¨ãã段ãåå¨ãããã§ããã®å©ç¹ãæããããã£ãã
Q. ã©ãã ã£ãããªï¼ A. ããã£ãã
å
¨ä½ã¨ãã¦ã俺ã¯ãã£ã¡ãè¯ãã¨æããã£ã¹ã
ã¨ããããåãããä½ã£ã¦èªåã§è©¦ãã¦æ¹åãã¦ã¿ããã¨ããã½ããã¦ã§ã¢éçºã®åæè¡åã¿ãããªãããæãåºããæ°ãããã
ä½ã£ãããã¯ä»¥ä¸:
poor-zundamonizer ã®ãã¢ã¹ã©ã¤ãã¯ãã: https://azoson.github.io/poor-zundamonizer/demo-test/zundamonized.html
ã¡ãã£ã¨ä¸ç¬ãã¨ã ãæã¿ã¾ãã
俺ã¯ãã7å¹´ã ã8å¹´ã ãåãã¦ãããã½ããã¦ã§ã¢éçºãå®å
¨ã«ä»äºã«ãã¦ãã¾ã£ãã
çµæãæè¿ã¯ãã ããã¼ãããä½ããããªã£ã¦ãã¾ã£ãã
ã³ã¼ããæ¸ãã¨ãããã¨ãééã«çµã³ã¤ãããã¦ããã趣å³ã®ã¯ã½éçºä¸ã«ããããä½ããã俺ããã®æ¸ãã¦ã趣å³ã³ã¼ãã¯ç¡é§ã£ã¦ãã¨ãããã¿ãããªã¤ã¾ããã¼èãã«åãããã
èªåã®äººçãã¤ã¾ããªããã¦ãã¾ã£ã¦ããã
ã³ã¼ãã£ã³ã°ã¨ã¼ã¸ã§ã³ãã¯ãã¨ã«ãããã®ãåãã¾ã§ãããå¾ãé度ã§ãã£ã¦ãããã
çµæãã¤ã¾ããªãªã¸ãµã³äººéã®ä¿ºã¯ãã¤ã¾ããã¼èãã«åãããåã«ãã®ã£ããï¼ãããã¯ã³ã®ä½ã£ãããæå³ãã¼ãããï¼ãã£ã¨ããããªãï¼ãã¨ãã WANIMA ã¢ã¼ãã«ãªããã
å·ç¬ã®æ代ã¯çµãããããã£ã¦ã¿ãããã®æ代ã訪ããã
ããã£ã¦ã¿ãããã¨ãããã®ãããnå¹´åã®æ²ã§ã¯ããã¾ããã
ãã¨ã ãããªã æ¹ã®è©±ã¨ãã¦ã¯ããã³ã¼ããçã¿åºãããã®èªç¶è¨èªï¼ã¦ãè¦ä»¶å®ç¾©ï¼ãã«å¯¾ããè½åãä»å¾ãã£ããéè¦ã«ãªã£ã¦ãããã£ã¹ããã½ããã¦ã§ã¢éçºã«ããã¦ã
ã¾ããããããããªãç¥ã£ã¦ãã¯ã¤ï¼ãã¨ãè¨ããããã§ããã©ãå®éèªåã§ãã£ã¦ã¿ãã¨ããããã£ã¹ãã
ã¾ããã¨ã«ããå®è£
ãæ©ããã§ããä½ã£ã¦åãããè¡çºãè¦ä»¶ãã©ãã·ã¥ã¢ããã®ããã®ã¹ãããã«ããããã®ãã¹ã²ã¼è¯ãã¨æã£ãã
人éã®ä¸»è¦³ãã·ãã·ã®ã¬ãè¦ä»¶ãå
ã«ã³ã¼ããæ¸ãããå®éã«ä½ããã¦ã¿ã¦ã ãã¡ãªãããåºã¦ãããã¾ãè¦ä»¶å®ç¾©ããããç´ã ã¿ãããªãã¯ã¼æã®ããéçºãå人ã¬ãã«ã§ãã§ããã
ã¦ãããããã£ãã
ä»åã®è¨äºä½æã«ããã£ã¦å®è£
ãããã¼ã«ç¾¤ã¯ãå
ã¯Web ã¢ããªã±ã¼ã·ã§ã³ä¸ã§
- ããã ããç«ã¡çµµç´ æPSD / ã¹ã©ã¤ãç¨Markdown èªã¿è¾¼ã¿
- ããã ããç»å / ã¹ã©ã¤ãç»åçæ
- Canvas ä¸ã§ã®ç»åé ç½®
- é³å£°ã»åç»åç
ããããã¨ãã¦ããããAI ã®èªç¥è½åã¨ä¿ºã®ç®¡çè½åãè¶
ãã¦ç ´ç¶»ããã
ç ´ç¶»ãããã§ããä»ãã欲ããæçµææç©ã¯ä½ããã®è¦ã¤ãç´ãã«è¿«ãããã
çµæãä»ããããã ããåç»é¢¨ã®ããã欲ããã£ã¹ã¨æã£ããã§ãä¸è¿°ã®æ§æã«ããã
å人ã®ä½é¨ãè¨ãã¾ãã¦ãã¼ã éçºã®ãã¨ãèããã¨ãã³ã¼ãã£ã³ã°ã¨ã¼ã¸ã§ã³ãã¨ã®å¯¾è©±ãã°ã®ç®¡çãªã©ã¯çæ AI æ代ã®ãã¼ã éçºã«ãããé¢å¿äºã«ãªãããã
commit message ã¨ã PR description ã¨ãããããã¨ã¼ã¸ã§ã³ãã¨ã®å¯¾è©±ãã°ãå¤æ´ã®æå³ãéå¼ã«èªãæ°ãããã
ããã®ã³ã¼ãã俺ãä½ãè¨ã£ã¦ãã¾ã£ãããã§çºçããããï¼ãã¨ããã®ã対話ãã°ã§ç¢ºèªãããã¨ãä½åº¦ããã£ãã
ä»å俺㯠SpecStory ã¨ããæ¡å¼µã使ã£ã¦å¯¾è©±ãã°ãæ®ãããã対話ãã°ç®¡çåºç¤ã¯ï¼ä»å¾ã³ã¼ãã£ã³ã°ã¨ã¼ã¸ã§ã³ãã®å©ç¨ãä¸è¬åããã«ããã£ã¦ï¼ããããå
å®ãã¦ããããªæãã ã
å ¨ä½ã¨ãã¦ãã³ã¼ãã£ã³ã°ã¨ã¼ã¸ã§ã³ãã¯æ¥½ããã£ã¹æé«ã£ã¹ã¨ããæãã ãããã¼ã éçºâ¦â¦ã¨ããããã¤ã®æªæ¥ãã«ã¤ãã¦ãã¡ãã£ã¨ããæ°æã¡ãå¾ãããã®ã§ããã£ãã ã¿ããªããã£ã¦ã¿ãã