
ã第1ç« ãGitHub Copilot CLI å ¥éïŒ3ã€ã®ãéæ³ã¢ãŒããã䜿ãããªãïŒããªãã¯ãããäžäººã§éçºããªããŠããã
çãããããã«ã¡ã¯ïŒãªãŒããµã€ãšã³ã¹ã§ãïŒðâš
ååã®ã第0åïŒã¯ã€ãã¯ã¹ã¿ãŒãç·šããèªãã§ãããããå ¥ãããïŒããšæã£ãŠãããçããããåŸ ããããŸããïŒä»æ¥ãããæ¬åœã® ãéæ³ä¿®è¡ã ã®å§ãŸãã§ãïŒ
ã第1ç« ãGitHub Copilot CLI å
¥éïŒ3ã€ã®ãéæ³ã¢ãŒããã䜿ãããªãïŒ
ããªãã¯ãããäžäººã§éçºããªããŠããã
https://github.com/github/copilot-cli-for-beginners
(ãªã³ã¯å
ã¯2026幎4æ11æ¥çŸåšã®æ
å ±ã«ãªããŸãïŒ
00 ð Quick Start Installation and verification
01 ð First Steps Live demos + three interaction modes â ããã§ã
02 ð Context and Conversations Multi-file project analysis
03 â¡ Development Workflows Code review, debug, test generation
04 ð€ Create Specialized AI Assistants Custom agents for your workflow
05 ð ïž Automate Repetitive Tasks Skills that load automatically
06 ð Connect to GitHub, Databases & APIs MCP server integration
07 ð¯ Putting It All Together Complete feature workflows
ãGitHub Copilot CLI ã£ãŠããã ã®ã³ãã³ãææ¡ããŒã«ã§ããïŒã
ããããæã£ãŠãããªããä»ãããã®èããã¢ããããŒãããŠãã ããïŒ
çŸåšã®ææ°ç GitHub Copilot CLI ã¯ããã¯ããããŒã«ãã§ã¯ãããŸããã
ããã¯ãããªãã®é£ã§äžç·ã«èããæãåãããæã«ã¯ããªã以äžã«ã¿ãŒããã«ãç¥ãå°œããã ãAIãšã³ãžãã¢ã ãã®ãã®ãªãã§ãïŒâš
ðæ £ããããã®ç¬¬äžæ©
ãŸãã¯ä»ãã詊ããç°¡åãªããã³ããããå§ããŸããããã¿ãŒããã«ãéããŠCopilot CLIãèµ·åããã ãã§ãã
copilotåå¿è åãã®ä»¥äžã®ããã³ããã詊ããŠã¿ãŠãã ããã
> Explain what a dataclass is in Python in simple terms
> Write a function that sorts a list of dictionaries by a specific key
> What's the difference between a list and a tuple in Python?
> Give me 5 best practices for writing clean Python codePythonã䜿ã£ãŠãªããŠãåé¡ãããŸããïŒ
ã奜ã¿ã®ããã°ã©ãã³ã°èšèªã«ã€ããŠè³ªåããŠãã ããã
ãŸãã¯ããã®èªç¶ãªå¯Ÿè©±ã楜ããã§ãã ããããŸãã§ååã«è³ªåããããã«ãæ°è»œã«è³ªåããŠã¿ãŠãã ãããæ¢çŽ¢ãçµãã£ãããå ¥åããŠ/exitã»ãã·ã§ã³ãçµäºã§ãã
éèŠãªãã€ã³ãïŒGitHub Copilot CLIã¯å¯Ÿè©±åã§ãã䜿ãå§ããã®ã«ç¹å¥ãªæ§æã¯å¿ èŠãããŸãããå¹³æãªè³ªåããã ãã§æžã¿ãŸããæ¥æ¬èªã§ã倧äžå€«ã
å®éã®åäœã®æ§åãæ¥œããã§ãã ãã
ãã¢1ïŒæ°ç§ã§ã³ãŒãã¬ãã¥ãŒ
ãã®ã³ãŒã¹ã«ã¯ãæå³çã«ã³ãŒãã®å質ã«åé¡ã®ãããµã³ãã«ãã¡ã€ã«ãå«ãŸããŠããŸããããŒã«ã«ãã·ã³ã§äœæ¥ããŠããŠããŸã ãªããžããªãã¯ããŒã³ããŠããªãå Žåã¯ãgit clone以äžã®ã³ãã³ããå®è¡ãããã©ã«ãã«ç§»åããŠããcopilot-cli-for-beginnersãå床copilotã³ãã³ããå®è¡ããŠãã ããã
# Clone the course repository if you're working locally and haven't already
git clone https://github.com/github/copilot-cli-for-beginners
cd copilot-cli-for-beginners
# Start Copilot
copilot察話åã®Copilot CLIã»ãã·ã§ã³ã«å ¥ã£ãããæ¬¡ã®ã³ãã³ããå®è¡ããŸãã
> Review @samples/book-app-project/book_app.py for code quality issues and suggest improvements泚æïŒ@èšå·ã¯ãCopilot CLI ã«ãã¡ã€ã«ãèªã¿èŸŒãããã«æç€ºããŸãã第 2 ç« ã§èª¬æããŸãã®ã§ãä»ã¯ã³ãã³ãããã®ãŸãŸã³ããŒããŠå®è¡ããŠãã ããã
èŠç¹ïŒããã«ããã³ãŒãã¬ãã¥ãŒãæ°ç§ã§å®äºãæåã¬ãã¥ãŒã§ã¯âŠãŸãâŠãã£ãšæéããããã§ãããïŒ
ãã¢2ïŒåããã«ããã³ãŒãã®èª¬æ
ã³ãŒãããã£ãšèŠã€ããŠããããäœãããŠããã®ãçåã«æã£ãããšã¯ãããŸãããïŒCopilot CLIã»ãã·ã§ã³ã§ããã詊ããŠã¿ãŠãã ããã
> Explain what @samples/book-app-project/books.py does in simple termsäœãèµ·ãã£ãŠããã: (åºåã¯ç°ãªãå ŽåããããŸã) Copilot CLI ã¯ãã¡ã€ã«ãèªã¿èŸŒã¿ãã³ãŒããçè§£ããæãã説æããŠãããŸããæ¥æ¬èªã§è³ªåãããæ¥æ¬èªã§è¿ããŠãããŸãã
This is a book collection management module using Python dataclasses.
Think of it like a digital bookshelf:
- Book is a dataclass - a simple way to store book information (title, author, year, read status)
- BookCollection manages the entire collection and handles saving/loading
Key components:
1. @dataclass decorator (line 8)
- Automatically creates __init__, __repr__, etc.
- Clean way to define data structures in Python
2. BookCollection class (line 16)
- Maintains a list of Book objects
- Handles persistence with JSON file I/O
- load_books() reads from data.json
- save_books() writes to data.json using asdict()
3. Book operations:
- add_book() - creates and saves new books
- find_book_by_title() - searches collection
- mark_as_read() - updates read status
- find_by_author() - filters by author name
Common pattern: Read from JSON â Work with Python objects â Write back to JSONèŠç¹ïŒè€éãªã³ãŒããããŸãã§å¿è匷ãæå°è ã説æãããã®ããã«åããããã解説ããŠããã
ãã¢3ïŒåäœããã³ãŒããçæãã
æ®æ®µãªã15åãããŠGoogleã§æ€çŽ¢ãããããªæ©èœãå¿ èŠã§ããïŒãŸã ã»ãã·ã§ã³äžã§ããã°ïŒ
> Write a Python function that takes a list of books and returns statistics:
total count, number read, number unread, oldest and newest bookãã¢ã®åºåçµæã¯ç°ãªãå ŽåããããŸããã䜿çšã®ã¢ãã«ãããŒã«ãããã³å¿çã¯ãããã«è¡šç€ºãããŠãããã®ãšã¯ç°ãªãå ŽåããããŸãã
äœãèµ·ãããïŒæ°ç§ã§ãã³ããŒïŒããŒã¹ãããŠå®è¡ã§ãããå®å šã«åäœãã颿°ãçæãããŸãã
æ¢çŽ¢ãçµãã£ããã/exitã§ãã»ãã·ã§ã³ãçµäºããŠãã ããã
> /exitèŠç¹ïŒå³åº§ã«æºè¶³æãåŸããããããæåããæåŸãŸã§éåããããšãªãã»ãã·ã§ã³ãç¶ããããã
âã¢ãŒããšã³ãã³ã
次ã«ãåæ©ã§ãããªããäžçªéèŠãª ã3ã€ã®éæ³ã¢ãŒãïŒInteractive / Plan / ProgrammaticïŒã ã®äœ¿ãæ¹ã«ã€ããŠãå ¬åŒããã¥ã¡ã³ããåèã«ç޹ä»ããŸãïŒ
ð ã¬ã¹ãã©ã³ã«åŠã¶ïŒ3ã€ã®ã¢ãŒãã®äœ¿ãåã
å ¬åŒã®ãã¥ãŒããªã¢ã«ã§ã¯ãGitHub Copilot CLI ã®äœ¿ãæ¹ããå€é£ã«è¡ãæãã«äŸããŠããŸããããããšãŠãåãããããã®ã§ç޹ä»ããŸãïŒ
ã¢ãŒãã¬ã¹ãã©ã³ã§ã®äŸããã€äœ¿ãã¹ãïŒ
Interactive (察話)ãŠã§ã€ã¿ãŒãšã®äŒè©±æ¢çŽ¢ã詊è¡é¯èª€ã質åããªããé²ãããæããŸãã¯ã³ã³ããïŒ
Plan (èšç»)æ
è¡ã®GPSã«ãŒã確èªè€éãªäœæ¥ãå®è¡åã«æé ããã¹ãŠèŠéãããæã
Programmatic (äžçº)ãã©ã€ãã¹ã«ãŒç¹å®ã®ã¿ã¹ã¯ããµã¯ããšçµããããæãäŒè©±äžèŠã®èªååãªã©ã
çšéã«åãããŠäœ¿ãåããã ãã§ãçç£æ§ã¯åçã«å€ãããŸãïŒé çªã«èŠãŠãããŸãããã
ð 1. Interactive ModeïŒå¯Ÿè©±ã¢ãŒãïŒïŒãŠã§ã€ã¿ãŒãšè©±ãããã«
ãŸãã¯åºæ¬äžã®åºæ¬ãInteractive Mode ã§ããäžçªæè»œã§ãæèïŒã³ã³ããã¹ãïŒãåŒãç¶ãããã¢ãŒãã§ãã
ã¿ãŒããã«ã§ copilot ãšå©ãã ãã§ã¹ã¿ãŒãããŸãã
ã¿ãŒããã«å®æ³äžç¶ïŒèªç¶ãªäŒè©±ã®æµã
# ð€ äœããããã¥ãå¿
èŠã¯ãããŸãã
$ copilot# ïŒ ïŒããã³ããïŒãåºããã質åãæããŸã
> Pythonã®ãdataclassãã£ãŠäœïŒç°¡åã«æããŠïŒ
# ð Copilotã®åç# ïŒã¯ã©ã¹ãå®çŸ©ããã·ã³ãã«ã§äŸ¿å©ãªæ¹æ³ã§ããããšãã£ãäžå¯§ãªè§£èª¬ïŒ
# ç¶ããŠãæèãä¿ã£ããŸãŸæ·±å ãã§ããŸã
> ããããããã䜿ã£ãŠæ¬ïŒBookïŒã管çããã¯ã©ã¹ãæžããŠã¿ãŠããããäœããããã£ãŠãäŒè©±ã®ãèšæ¶ããã¡ãããšåŒãç¶ããã ãšãããªãã§ãããŸãã§åªç§ãªååã«è³ªåãéããããã«ãã³ãŒãã®æ¹åããšã©ãŒã®ãããã°ãäžç·ã«é²ããããšãã§ããŸãã
ããã«ãInteractive Modeã®ããäžã€ã®ç®çããäžç¬ã§ã®ã³ãŒãã¬ãã¥ãŒãã§ãïŒ
äŸãã°ãæå³çã«ãã°ããããã¡ã€ã«ãèªãŸããŠããã®ã³ãŒãã®ã©ãããããããæããŠããšèããšããŸãã§å
茩ãšã³ãžãã¢ã®ããã«ãåªããç確ã«åå ã解説ããŠãããŸãããããæåã¢ãã§ããïŒ
â 2. Plan ModeïŒå®è¡èšç»ïŒïŒè€éãªã¿ã¹ã¯ãåŒãåããè»åž«
次㯠/plan ã¢ãŒãã®åºçªã§ãïŒ
ã1ã€ã®ã³ãã³ãã§ã¯çµãããªããè€éãªäœæ¥ãã£ãŠãããŸãããã
äŸãã°ãå
ã»ã©ã®Bookã¯ã©ã¹ã«ãèè
åã§æ€çŽ¢ããæ©èœããã¬ãã¥ãŒè©äŸ¡ãã€ããæ©èœã远å ããŠãã¿ãããªã
[ç»åããã³ãã: è€éãªæ©æ¢°ã®èšèšå³ïŒãã«ãŒããªã³ãïŒãåºããŠããAIããã®æšªã§ãŠãŒã¶ãŒãããããããããŠããšæç€ºãåºããAIããããããšä¿®æ£æ¡ãæžãå ããŠãããããªãæŠç¥çãªã€ã¡ãŒãžã]
ãã®ã¢ãŒãã¯ããããªãã³ãã³ããå®è¡ããŸããã
ãŸã ãå®è¡èšç»ïŒPlanïŒã ãç«ãŠãŠãããªãã«èŠããŠãããŸãã
# Interactiveã¢ãŒãäžã« /plan ããå§ããŸãã#
ïŒShift+Tab ããŒã§ã¢ãŒãããµã€ã¯ãªã³ã°ããããšãå¯èœã§ãïŒ
> /plan "å
ã»ã©ã®Bookã¯ã©ã¹ã«ãèè
åæ€çŽ¢æ©èœãšã¬ãã¥ãŒè©äŸ¡æ©èœã远å ããŠ"
# ð€ å®è¡èšç»ã®ææ¡
# Step 1: Bookã¯ã©ã¹ã« author ãš rating ã®å±æ§ã远å ãã
# Step 2: èè
åã§æ¬ãæ€çŽ¢ãã find_by_author ã¡ãœãããå®è£
ãã
# Step 3: ã¬ãã¥ãŒè©äŸ¡ãæŽæ°ãã update_rating ã¡ãœãããå®è£
ãã
# Proceed with implementation? [Y/n]ãã®ããã«ãäºåã«ãäœãã©ãå®è¡ããããã®ã¹ããããèŠããŠããããããç Žå£çãªæäœããªããå®å šã«ç¢ºèªã§ããŸãïŒ
â¡ 3. Programmatic ModeïŒãã©ã€ãã¹ã«ãŒïŒïŒäŒè©±äžèŠã®çéã³ãã³ã
æåŸã¯ ProgrammaticïŒããã°ã©ããã£ãã¯ïŒã¢ãŒãã
ã¿ãŒããã«äžã§ã·ã§ã«ã¹ã¯ãªãããçµãã ããã¡ãã£ãšãã質åã«1çºã§çãã ãæ¬²ããå Žåã«äŸ¿å©ã§ãã察話ã»ãã·ã§ã³ãèµ·åãããçµæã ããµã¯ããšåãåããŸãã
# copilot ã³ãã³ãã« -p åŒæ°ãä»ããŠå®è¡ããã ã
$ copilot -p "Gitã§çŽåã®ã³ãããã¡ãã»ãŒãžãä¿®æ£ããã³ãã³ãã¯ïŒ"
# ãŸãã¯ãAIã«èªååãä»»ããã·ã§ã«ã¹ã¯ãªããã®äžéšãšããŠâŠâŠ
$ COMMIT_MSG=$(copilot -p "Generate a commit message for: $(git diff --staged)")
$ git commit -m "$COMMIT_MSG"ãã®ããã« -p ã䜿ãã°ããã©ã€ãã¹ã«ãŒã®ããã«äžç¬ã§ç®çã®ã¿ã¹ã¯ãæžãŸããããšãã§ããŸãïŒ
â ã¿ãŒããã«ãæ¯é ãããã¹ã©ãã·ã¥ã³ãã³ãã
ããã3ã€ã®ã¢ãŒãã®ä»ã«ãInteractive ã¢ãŒãã®äžã§äœ¿ããéåžžã«äŸ¿å©ãªã³ãã³ãããããŸãã
/clear: äŒè©±ããªã»ããããŠãæ°ãã話é¡ã«ããæã«äœ¿ããŸãïŒããŒã¯ã³ç¯çŽã«ãæå¹ïŒïŒã
/help: ã³ãã³ãäžèЧã衚瀺ãå¿ãã¡ãã£ãŠãå©ããŠãããŸãã
/research: è€éãªæè¡ä»æ§ãããããžã§ã¯ãå šäœã®ã³ãŒããæ·±ã調æ»ã»æ€çŽ¢ãããæã«äœ¿ããŸãã
/model: ã¢ãã«ã®åãæ¿ããGPT-4o ã Anthropic Claude ãªã©ãç°ãªãAIã®é è³ãéžã¶ããšãã§ããŸãïŒ
/exit: ã»ãã·ã§ã³ãçµããããŸãã
â ïž æ³šæç¹ïŒ
ãProgrammatic ã¢ãŒãããªã©ã§ --allow-all ãšãããªãã·ã§ã³ãä»ãããšãAIããã¡ã€ã«ã®èªã¿æžããã³ãã³ãå®è¡ãäºå確èªãªãã§é²ããããŸãã
äœæ¥ã¯çéã«ãªããŸãããèŠç¥ãã¬ã³ãŒããèªåå®è¡ããããªã¹ã¯ããããããå®å
šã«èªåã§ç®¡çããŠãããããžã§ã¯ããªã©ãå®å
šã確ä¿ã§ããå Žæã§ã®ã¿äœ¿çšããŠãã ãããïŒ
æåŸã«ãEnterãããYããæŒãã®ã¯ ãããªãã ã§ãããã®è²¬ä»»ãããããšã³ãžãã¢ã®èªãã§ããããïŒâš
ð¡ ãŸãšãïŒããªãã®ã¿ãŒããã«ã¯ããããå€ç¬ããããªãã
GitHub Copilot CLI ã® 3ã€ã®ã¢ãŒãããããã§ãããïŒ
ãããŸã§ã¯ãçã£é»ãªç»é¢ãåã«ãäžäººã§ã³ãã³ãã調ã¹ãäžäººã§ãããã°ããŠããŸãããã§ããããããã¯éããŸãã
Interactive ãäžç·ã«æ©ãã§ãããPlan ãéãç
§ãããProgrammatic ãå³åº§ã«çµæãå°ãåºããŸãã
ãšã³ãžãã¢ã®ä»äºã¯ãããã¹ãŠã®ã³ãã³ãã®ãªãã·ã§ã³ãæ£ç¢ºã«èšæ¶ããããšãã§ã¯ãããŸããããã©ããªæªæ¥ãåµããããããèãããããå®çŸããããšã§ãã

次åã第2åã¯âŠâŠ ãAIã«æèïŒã³ã³ããã¹ãïŒãèªãŸããéæ³ïŒ@èšæ³ãšã»ãã·ã§ã³ã®ç¶ç¶æ³ã ããå±ãããŸãïŒ
ãããç¥ããšãããå
ã®ç掻ã«ã¯æ»ããªãããâŠâŠïŒã楜ãã¿ã«ïŒïŒðð