äžã®äžã«ã¯æè±¡ç¡è±¡ã®å®çšããŒã«ããããŸããããªããªãçæ³ã®ãã®ã¯èŠã€ãããªããšæãããšããããŸããããã§ãããã°ã©ãã³ã°äžèŠã®ãã€ãã³ãŒãã£ã³ã°ãå©çšããŠèªäœããŠããŸãã®ã¯ã©ãã§ãããããä»åã¯Gemini CLIã䜿ã£ãŠãçæ³ã®ToDOã¢ããªãäœã£ãŠã¿ãŸãããã
Gemini CLIãšã¯
ååããã€ãã³ãŒãã£ã³ã°(Vibe Coding)ã«ã€ããŠç޹ä»ããŸããããã€ãã³ãŒãã£ã³ã°ã䜿ãã°ãããã°ã©ãã³ã°ããããšãªããçæ³ã®ã¢ããªãäœãããšãã§ããŸãã
ãªãããã€ãã³ãŒãã£ã³ã°ãå®è·µããããŒã«ãšããŠããªã¹ã¹ã¡ãªã®ããGemini CLIãã§ããGemini CLIã¯ç¡æã§å§ããããšãã§ããäžã«ãç¡æã§äœ¿ããæ ãå¹ åºãã®ãç¹åŸŽã§ããGoogleã¢ã«ãŠã³ãããããã°å§ããããã®ãè¯ãæã§ãã
ãšã¯èšããGemini CLIã¯ãã¿ãŒããã«ããå©çšããå¿ èŠãããã®ã§ãã¡ãã£ãšæ·å± ãé«ããšæãã人ããããããããŸããããã®ã³ã©ã ãåèã«ããŠãåã£æããã«ããŠããã ããã°ãšæããŸãã
Gemini CLIäºå§ã
Gemini CLIãã€ã³ã¹ããŒã«ããã«ã¯ãæåã«Node.jsãã€ã³ã¹ããŒã«ããŸãããããŠãã¿ãŒããã«ãéããŠäžèšã®ã³ãã³ããå®è¡ããŸãããã¿ãŒããã«ããšã¯ãWindowsã§ããã°PowerShellã§ãmacOSãªãã¿ãŒããã«.appã§ãã䜿ã£ãããšããªããšèšã人ãå€ããšæããŸãããã¢ããªãéããŠãã³ãã³ããã³ããŒïŒããŒã¹ãããã ããªã®ã§ãäžå®ã«æãã詊ããŠã¿ãŠãã ããã
npm install -g @google/gemini-cli
ãªãããã¡ãã®å§åйé£èŒã§ã詳ãã解説ããŠããŸãã®ã§ãåèã«ããŠã¿ãŠãã ããã
ãããžã§ã¯ããã©ã«ããäœãã
Gemini CLIã䜿ãå Žåãç°¡åãªã³ãã³ãã©ã€ã³æäœã«æ £ããŠãããšäŸ¿å©ã§ãã以äžã®ã³ãã³ãã¯ãOSã®ãã¹ã¯ãããäžã«ãtodoappããšãããã©ã«ããäœæããŠãã«ã¬ã³ããã£ã¬ã¯ããªã«ç§»åããŸãããªããWindowsã®å Žåã¯ã/ããã\ããšèªã¿æ¿ããŠãã ãããã/ãã¯macOS/Linuxã®ãã¹èšå·ã§ãã
# ãã¹ã¯ãããã«ç§»å
cd ~/Desktop
# ãã©ã«ããäœã£ãŠãã«ã¬ã³ããã£ã¬ã¯ããªã«èšå®
mkdir todoapp
cd todoapp
# GeminiCLIãèµ·å
gemini
Gemini CLIãåããŠèµ·åããå Žåã¯ãç°¡åãªç»é¢é è²ã®èšå®ãšã¢ã«ãŠã³ãã®èšå®ãå¿ èŠã«ãªããŸãããLogin with Google(Googleã§ãã°ã€ã³)ããéžæãããšãã©ãŠã¶ãèµ·åããã®ã§ãGoogleã¢ã«ãŠã³ãã§ãã°ã€ã³ããŸãããã
Geminiã«æä»€ãåºãã
èšå®ãçµãããšã次ã®ãããªç»é¢ã«ãªããŸãããã£ãããGeminiã«æä»€ãåºããŠã¿ãŸãããã
ããã§ã¯ãã·ã³ãã«ã«æ¬¡ã®ãããªæç€º(ããã³ãã)ãå ¥åããŠã¿ãŸãããã
HTML/JavaScriptã䜿ã£ãŠãToDOã¢ããªãäœã£ãŠãã ããã
ãããšãGemini CLIãé 匵ã£ãŠãToDOã¢ããªãéçºããããã«èããŠãããŸãã
Geminiãèšç»ç«æ¡ããéçºãŸã§ãã£ãŠããã
å°ãåŸ ã€ãšã次ã®ç»é¢ã®ããã«ãGemini CLIãèšç»ã®ãããŸããèããŠãç»é¢ã«è¡šç€ºããŸããäœæããããã¡ã€ã«ã®äžèЧãäœã£ãŠãããŸããã
ããã«å¯ŸããŠãã¯ãããšçãããšãå®éã«ãã¡ã€ã«ã®äœæãã¯ãããŸãã
ãªããGemini CLIã¯åæã«ãã¡ã€ã«ã®æžã蟌ã¿ãè¡ãããšã¯ãããŸãããå¿ ãããã¡ã€ã«ã®æžã蟌ã¿ãè¡ãéã«è³ªåããŠãããŸããããã§ãããã§ã¯ãYes, allow once(ã¯ããäžåºŠã ãèš±å¯)ããéžãã§[Enter]ããŒãæŒããŸãããã
Geminiã¯çæAIãªã®ã§ãæç€ºããããã³ã«ç°ãªãåå¿ããã®ã§ãããçè ã詊ããå Žåã¯ã3ã€ã®ãã¡ã€ã«ãæžã蟌ããšã®ããšã§ã3åèš±å¯ãæ±ããããŸãããä»åã®ãããªææ§ãªæç€ºãäžããå ŽåããããããªããªãšãŒã·ã§ã³ã®äŒè©±ãèããããŸãããåºæ¬çãªåäœã¯å€ãããŸããã
ãã©ãŠã¶ã§ã¢ããªã確èªããŠã¿ãã
ãã¡ã€ã«ã®æžã蟌ã¿ãçµãããšããäœæããindex.htmlãã¡ã€ã«ããŠã§ããã©ãŠã¶ã§éããšãToDoã¢ããªãåäœããŸããããšããã¡ãã»ãŒãžã衚瀺ãããŸããã
çè ã詊ããéã«ã¯ãã¡ã€ã³HTMLã®ãindex.htmlããç»é¢ãè£ é£Ÿãããstyle.cssããããã°ã©ã ãscript.jsããšãã3ã€ã®ãã¡ã€ã«ãäœæããŸãããããã§ããindex.htmlãããã©ãŠã¶ã«ãã©ãã°ïŒããããããŠã¿ãŸãããããããšã次ã®ãããªç«æŽŸãªToDOã¢ããªãäœã£ãŠãããŸããã
ç»é¢ã«ã¿ã¹ã¯ãå ¥åããŠ[Add]ãã¿ã³ãæŒããšã次ã ãšã¿ã¹ã¯ãç»é¢äžã«è¡šç€ºãããŸãã[Complete]ãã¿ã³ãæŒããšãã¿ã¹ã¯ã«åãæ¶ãç·ãåŒããã[Delete]ãæŒããšã¿ã¹ã¯ãåé€ãããŸãã
远å äŸé Œ - ä¿åæ©èœãå®è£ ããã
ããããã ãã§å®ç§ãªã®ã§ã¯âŠãšæã£ãã®ã§ããããã©ãŠã¶ããªããŒããããšãã¿ã¹ã¯ããã£ããæ¶ããŠããŸããŸããããªããšããã£ããã¿ã¹ã¯ãå ¥åããã®ã«ãä¿åæ©èœãå®è£ ãããŠããªãã£ãã®ã§ãã
èŠæ ãã ãã®ããªããã§ããããšã¯èšããå¿é ç¡çšã§ããGemini CLIãšã®äŒè©±ã§ç¶ãéšåã«æ¬¡ã®ãããªæç€ºãå ¥åããŠã¿ãŸãããã
ToDOã¢ããªãäœã£ãŠããããŸããããèå¿ã®ã¿ã¹ã¯ã®ä¿åæ©èœãæªå®è£
ã§ããã
å®è£
ããŠãã ããã
ãããšã次ã®ããã«ãã©ã®ããã«ä¿åæ©èœãå®è£ ãããã衚瀺ããŠãããŸããHTML/JavaScriptã®ç¥èãããæ¹ã§ããã°ãçŽåŸãªã®ã§ããããã©ãŠã¶ã®localStorageãšããKey/Valueã¹ãã¢ãå©çšããŠToDOã¿ã¹ã¯ãä¿åãããããšãåãããŸãã
æ¹ããŠããã©ãŠã¶ã«ãindex.htmlãããã©ãã°ïŒããããããŠåäœã確ãããŠã¿ãŸãããããããšããã©ãŠã¶ã®ãªããŒããã¿ã³ãæŒããŠããæ£ããä¿åãšèªã¿èŸŒã¿æ©èœãåããŠããã®ã確èªã§ããŸãã
-

ä¿åæ©èœãå®è£ ãããïŒ - ãã©ãŠã¶ããªããŒãããŠãæ£ããToDOã¿ã¹ã¯ã埩å ããã
ãªãããããŸã§GeminiãäœæããToDOã¢ããªãããã¡ãã®GitHubã«ã¢ããããŒãããŠããŸããå®éã«ã©ããªããã°ã©ã ãäœæãããã®ãã確èªã§ããŸãã
å ããŠãGitHubã«äœæããHTMLãã¢ããããŒããããSettings > PagesãããWebã§HTMLãå ¬éããããšãã§ããŸãããããŸã§ã®æé ã§äœã£ãã¢ããªã¯ããã¡ãã§åäœã確èªã§ããŸãã
ããã«æ¹è¯ããã
ããã§ãäœæãããToDOã¢ããªããã°ãã䜿ã£ãŠã¿ããšæ°ä»ãã®ã§ãããåŠçæžã¿ã®ã¿ã¹ã¯ããã€ãŸã§ãç»é¢ã«æ®ã£ããŸãŸã«ãªã£ãŠããŸããŸãã[Delete]ãã¿ã³ãæŒãã°ãåé€ãããã®ã§ããã䜿ãåæãè¯ããšã¯èšããŸããã
ããã§ãåã ã®ã¢ã€ãã ã«ãã[Delete]ãã¿ã³ããªãããŠããã£ãŠããå®äºæžã¿ãã¯ãªã¢ããšãããã¿ã³ãäœæããŠããããŸãããã
äžèšã®æ¹è¯ãããããã«ãçè ã¯æ¬¡ã®ãããªæç€ºãGemini CLIã«å ¥åããŸããã
ãããŸã§åºæ¬çãªToDOã¢ããªãäœã£ãŠããããŸããã
æ¬¡ã®æ¹è¯ãè¡ã£ãŠãã ããïŒ
- ã¿ã¹ã¯ããšã«ã[Delete]ãã¿ã³ããããŸããåé€ããŠãã ããã
- [Complete]ãã¿ã³ã[å®äº]ã«ããŠãã ããã
- ç»é¢äžéšã«[å®äºæžã¿ãã¯ãªã¢]ãã¿ã³ãäœæããŠãã ããã
- [Add]ãã¿ã³ãã远å ããã¿ã³ã«å€æŽããŠãã ããã
äžèšã®æç€ºãå ¥ãããšãHTMLãJavaScriptãæ¹è¯ããŠãããŸãããäœåºŠããã¡ã€ã«ã®æžã蟌ã¿ãèš±å¯ããŸããããã°ããããŠãã以äžã§ããäŸé Œã®ä¿®æ£ã¯å®äºã§ãããã©ãŠã¶ã§åäœã確èªããŠãã ãããããšè¡šç€ºãããŸããã
ãšã©ãŒãåºãŠåããªããªã£ã
æ¹ããŠãindex.htmlãããã©ãŠã¶ã§éããŠã¿ããšãGemini CLIãUIãæ¹è¯ããŠãããã®ã確èªã§ããŸãããããããæ®å¿µãªããšã«ãToDOã¢ããªãåããŸãããGemini CLIãå®å šã§ã¯ãããŸããã
ããã§ãã©ããªãšã©ãŒãåºãŠåããªãã®ãããGemini CLIã«äŒããŠæ¹è¯ããŠããããŸããããå®éããããããšã©ãŒã¯HTML/JavaScriptã®éçºã§ã¯ããããããšã§ãã
ãã©ãŠã¶ã«ã¯ãããããããŒããŒã«ããæèŒãããŠããŸããæ¬¡ã®ç»åã«ããããã«ãããã®ä»ã®ããŒã« > ããããããŒããŒã«ããã¯ãªãã¯ããŠããšã©ãŒã®çç±ã確èªããŸãããã
ããã§ã¯ããã¡ã€ã«ãscript.jsãã®7è¡ç®ã§ãUncaught SyntaxError: Identifier 'clearCompletedButton' has already been declaredããšãããšã©ãŒãåºãŠããŸããããã®æšãGemini CLIã«å ¥åããŸãããããšãGemini CLIã¯è¬èã«è¬çœªããŠããã«ä¿®æ£ããŠãããŸããã
è€éãªä¿®æ£ãäŸé Œããå ŽåãäœåºŠããšã©ãŒã衚瀺ãããŠããã®åºŠã«ä¿®æ£ãäŸé Œããå¿ èŠãçããå ŽåããããŸããããããä»åã¯äžåºŠã®ä¿®æ£ã§åé¡ã解決ã§ããŸããã
èæ¯ç»åãçµã¿èŸŒãã§ã¿ãã
æåŸã«ãèæ¯ç»åãäœã£ãŠããããŸãããããã©ãŠã¶çã®Geminiã«ã¯ç»åãçæããæ©èœããããŸãããã©ãŠã¶çã®GeminiãéããŠã次ã®ãããªæç€ºãåºããŠã¿ãŸããã
ToDOã¢ããªã®èæ¯ç»åãæç»ããŠãã ãããæ¬¡ã®èŠçŽ ãèæ
®ããŠãã ããã
- æ¥æ¬ã®ã¢ãã¡å¥œããåã¶ãã£ã©ã¯ã¿ãŒ
- èæ¯ã¯æž©ããé°å²æ°ã®ãªãã£ã¹
- ãã¯ã€ãããŒãã«äœãæžããŠãã
ãã£ãããªã®ã§ãåãæ¡ä»¶ã§ChatGPTã«ãåãç»åãæç»ããŠããããŸãããçããã¯ãã©ã¡ãã®ç»åãæ¡çšããã§ãããããçè ã¯ãªããšãªããChatGPTã®ãã®ãæ¡çšããŸãããç»åãããŠã³ããŒãããŠãback.pngããšããååã«ããŠããããžã§ã¯ãã®ãã©ã«ãã«ä¿åããŸãã
ãããŠããããã¢ããªã«çµã¿èŸŒã¿ãŸããGemini CLIã«æ¬¡ã®ãããªæç€ºãè¡ããŸããã
èæ¯ç»åãback.pngããçšæããŸããã
ã¢ããªã®èæ¯ã«çµã¿èŸŒãã§ãã ããã
ãã ããToDOã®ã¿ã¹ã¯ãèªã¿ã¥ãããªããªãããã«é
æ
®ããŠãã ããã
ãããšã次ã®ãããªã¢ããªã宿ãããããšãã§ããŸããã
ãããŸã§ã®éšåã§ãäœæããToDOã¢ããªã¯ããã¡ãã§è©Šãããšãã§ããŸãã
ãŸãšã
以äžãä»åã¯GeminiCLIãå©çšããŠãçæ³ã®ToDOã¢ããªã®éçºã«ææŠããŠã¿ãŸããããã€ãã³ãŒãã£ã³ã°ãå®è·µããŠãäžåºŠãããã°ã©ã ãã³ãŒããæžãããšãªããToDOã¢ããªã宿ãããããšãã§ããŸããããã€ãã³ãŒãã£ã³ã°ã§ããšã©ãŒãåºãŠåããªãå Žåã«ãã©ããããè¯ãã®ããå¯ŸåŠæ¹æ³ã確èªã§ããŸããã
Gemini CLIã®è¯ãç¹ã§ãããäžåºŠã®æç€ºã§å®æãããã®ã§ã¯ãªããæ¹åç¹ãäœåºŠãæç€ºããããšã§ã奜ã¿ã®ã¢ããªã«è²ãŠãŠããããšãã§ããç¹ã§ããä»åããã¿ã¹ã¯ããšã«åé€ãã¿ã³ãçšæããã®ã§ã¯ãªããå®äºæžã¿ã®ã¿ã¹ã¯ãäžæ°ã«åé€ãããã¿ã³ãæã€UIã«å€æŽããããšãã§ããŸããã
æ¬çš¿ãåèã«ããŠãçãããçæ³ã®ã¢ããªäœæã«ææŠããŠã¿ãŠãã ããã
èªç±åããã°ã©ããŒããããã¯ãã©ã«ãŠãããã°ã©ãã³ã°ã®æ¥œãããäŒããæŽ»åãããŠããã代衚äœã«ãæ¥æ¬èªããã°ã©ãã³ã°èšèªããªã§ããã ãããã¹ã鳿¥œããµã¯ã©ããªã©ã2001幎ãªã³ã©ã€ã³ãœãã倧è³å ¥è³ã2004幎床æªèžãŠãŒã¹ ã¹ãŒããŒã¯ãªãšãŒã¿èªå®ã2010幎 OSSè²¢ç®è ç« åè³ããããŸã§50å以äžã®æè¡æžãå·çãããçŽè¿ã§ã¯ããå€§èŠæš¡èšèªã¢ãã«ã䜿ãããªãããã®ããã³ãããšã³ãžãã¢ãªã³ã°ã®æç§æž(ãã€ããåºç)ããPythonã§ã€ãããã¹ã¯ãããã¢ããª(ãœã·ã )ããå®è·µåã身ã«ã€ãã Pythonã®æç§æž 第2çããã·ãŽããã¯ãã©ã PythonèªååŠçã®æç§æž(ãã€ããåºç)ããªã©ã












