## 1. Project Overview & Quickstart (github/awesome-copilot)

## File: README.md

# 🤖 Awesome GitHub Copilot
[](https://aka.ms/awesome-github-copilot) [](#contributors-)

A community-created collection of custom agents, instructions, skills, hooks, workflows, and plugins to supercharge your GitHub Copilot experience.

> [!TIP]
> **Explore the full collection on the website →** [awesome-copilot.github.com](https://awesome-copilot.github.com)
>
> The website offers full-text search and filtering across hundreds of resources, plus the [Learning Hub](https://awesome-copilot.github.com/learning-hub) for guides and tutorials.
>
> **Using this collection in an AI agent?** A machine-readable [`llms.txt`](https://awesome-copilot.github.com/llms.txt) is available with structured listings of all agents, instructions, and skills.

## 📖 Learning Hub

New to GitHub Copilot customization? The **[Learning Hub](https://awesome-copilot.github.com/learning-hub)** on the website offers curated articles, walkthroughs, and reference material — covering everything from core concepts like agents, skills, and instructions to hands-on guides for hooks, agentic workflows, MCP servers, and the Copilot coding agent.

[⬆ Back to Top](#-awesome-github-copilot)

## What's in this repo

| Resource | Description | Browse |
|----------|-------------|--------|
| 🤖 [Agents](docs/README.agents.md) | Specialized Copilot agents that integrate with MCP servers | [All agents →](https://awesome-copilot.github.com/agents) |
| 📋 [Instructions](docs/README.instructions.md) | Coding standards applied automatically by file pattern | [All instructions →](https://awesome-copilot.github.com/instructions) |
| 🎯 [Skills](docs/README.skills.md) | Self-contained folders with instructions and bundled assets | [All skills →](https://awesome-copilot.github.com/skills) |
| 🔌 [Plugins](docs/README.plugins.md) | Curated bundles of agents and skills for specific workflows | [All plugins →](https://awesome-copilot.github.com/plugins) |
| 🍳 [Cookbook](cookbook/README.md) | Copy-paste-ready recipes for working with Copilot APIs | — |

[⬆ Back to Top](#-awesome-github-copilot)

## Install a Plugin

For most users, the **Awesome Copilot** marketplace is already registered in the Copilot CLI/VS Code, so you can install a plugin directly:

```bash
copilot plugin install @awesome-copilot
```

If you are using an older Copilot CLI version or a custom setup and see an error that the marketplace is unknown, register it once and then install:

```bash
copilot plugin marketplace add github/awesome-copilot
copilot plugin install @awesome-copilot
```

[⬆ Back to Top](#-awesome-github-copilot)

## Contributing

See [CONTRIBUTING.md](CONTRIBUTING.md) · [AGENTS.md](AGENTS.md) for AI agent guidance · [Security](SECURITY.md) · [Code of Conduct](CODE_OF_CONDUCT.md)

> The customizations here are sourced from third-party developers. Please inspect any agent and its documentation before installing.

[⬆ Back to Top](#-awesome-github-copilot)

## Contributors ✨

Thanks goes to these wonderful people ([emoji key](./CONTRIBUTING.md#contributors-recognition)):






| [**Aaron Powell**](https://www.aaron-powell.com/) | [**Matt Soucoup**](https://codemilltech.com/) | [**Troy Simeon Taylor**](https://www.buymeacoffee.com/troystaylor) | [**Abbas**](https://github.com/abbas133) | [**Peter Strömberg**](https://calva.io/) | [**Daniel Scott-Raynsford**](https://danielscottraynsford.com/) | [**John Haugabook**](https://github.com/jhauga) |
| --- | --- | --- | --- | --- | --- | --- |
| [**Pavel Simsa**](https://witter.cz/@pavel) | [**Harald Kirschner**](http://digitarald.de/) | [**Muhammad Ubaid Raza**](https://mubaidr.js.org/) | [**Tom Meschter**](https://github.com/tmeschter) | [**Aung Myo Kyaw**](https://www.aungmyokyaw.com/) | [**JasonYeMSFT**](https://github.com/JasonYeMSFT) | [**Jon Corbin**](https://www.linkedin.com/in/jrc356/) |
| [**troytaylor-msft**](https://github.com/troytaylor-msft) | [**Emerson Delatorre**](https://delatorre.dev/) | [**Burke Holland**](https://github.com/burkeholland) | [**Kent Yao**](https://yaooqinn.github.io/) | [**Daniel Meppiel**](https://www.devprodlogs.com/) | [**Gordon Lam**](https://github.com/yeelam-gordon) | [**Mads Kristensen**](https://www.madskristensen.net/) |
| [**Shinji Takenaka**](https://ks6088ts.github.io/) | [**spectatora**](https://github.com/spectatora) | [**Yohan Lasorsa**](https://github.com/sinedied) | [**Vamshi Verma**](https://github.com/VamshiVerma) | [**James Montemagno**](https://montemagno.com/) | [**Alessandro Fragnani**](https://twitter.com/alefragnani) | [**Ambily**](https://www.linkedin.com/in/ambilykk/) |
| [**krushideep**](https://github.com/krushideep) | [**devopsfan**](https://github.com/mihsoft) | [**Tugdual Grall**](http://tgrall.github.io/) | [**Oren Me**](https://www.promptboost.dev/) | [**Mike Rousos**](https://github.com/mjrousos) | [**Justin Yoo**](https://devkimchi.com/) | [**Guilherme do Amaral Alves **](https://github.com/guiopen) |
| [**Griffin Ashe**](https://www.linkedin.com/in/griffinashe/) | [**Ashley Childress**](https://github.com/anchildress1) | [**Adrien Clerbois**](http://www.senseof.tech/) | [**ANGELELLI David**](https://github.com/Vhivi) | [**Mark Davis**](http://markdav.is/) | [**Matt Vevang**](https://github.com/MattVevang) | [**Maximilian Irro**](https://max.irro.at/) |
| [**NULLchimp**](https://github.com/nullchimp) | [**Peter Karda**](https://github.com/pkarda) | [**Saul Dolgin**](https://github.com/sdolgin) | [**Shubham Gaikwad**](https://github.com/shubham070) | [**Theo van Kraay**](https://github.com/TheovanKraay) | [**Tianqi Zhang**](https://github.com/TianqiZhang) | [**Will 保哥**](https://blog.miniasp.com/) |
| [**Yuta Matsumura**](https://tsubalog.hatenablog.com/) | [**anschnapp**](https://github.com/anschnapp) | [**hizahizi-hizumi**](https://github.com/hizahizi-hizumi) | [**黃健旻 Vincent Huang**](https://jianminhuang.cc/) | [**Bruno Borges**](http://brunoborges.io/) | [**Steve Magne**](https://www.movinglive.ca/) | [**Shane Neuville**](http://shaneneuville.com/) |
| [**André Silva**](https://asilva.dev/) | [**Allen Greaves**](https://github.com/agreaves-ms) | [**Amelia Payne**](https://github.com/AmeliaRose802) | [**BBoyBen**](https://github.com/BBoyBen) | [**Brooke Hamilton**](https://azureincubations.io/) | [**Christopher Harrison**](https://github.com/GeekTrainer) | [**Dan**](https://github.com/breakid) |
| [**Dan Wahlin**](https://blog.codewithdan.com/) | [**Debbie O'Brien**](https://debbie.codes/) | [**Ed Harrod**](https://github.com/echarrod) | [**Genevieve Warren**](http://learn.microsoft.com/dotnet) | [**Guillaume**](https://github.com/guigui42) | [**Henrique Nunes**](https://github.com/riqueufmg) | [**Jeremiah Snee**](https://github.com/jeremiah-snee-openx) |
| [**Kartik Dhiman**](https://github.com/kartikdhiman) | [**Kristiyan Velkov**](https://kristiyanvelkov.com/) | [**msalaman**](https://github.com/msalaman) | [**Per Søderlind**](https://soderlind.no/) | [**Peter Smulovics**](http://dotneteers.net/) | [**Ravish Rathod**](https://github.com/madvimer) | [**Rick Smit**](https://ricksm.it/) |
| [**Rob Simpson**](https://github.com/pertrai1) | [**Robert Altman**](https://github.com/inquinity) | [**Salih**](https://salih.guru/) | [**Sebastian Gräf**](https://graef.io/) | [**Sebastien DEGODEZ**](https://github.com/SebastienDegodez) | [**Sergiy Smyrnov**](https://github.com/sesmyrnov) | [**SomeSolutionsArchitect**](https://github.com/SomeSolutionsArchitect) |
| [**Stu Mace**](https://github.com/kewalaka) | [**Søren Trudsø Mahon**](https://github.com/STRUDSO) | [**Tj Vita**](http://enakdesign.com/) | [**Peli de Halleux**](https://github.com/pelikhan) | [**Paulo Morgado**](https://www.paulomorgado.net/) | [**Paul Crane**](https://paul.crane.net.nz/) | [**Pamela Fox**](https://www.pamelafox.org/) |
| [**Oskar Thornblad**](https://oskarthornblad.se/) | [**Nischay Sharma**](https://github.com/nischays) | [**Nikolay Marinov**](https://github.com/Naikabg) | [**Nik Sachdeva**](https://www.linkedin.com/in/niksac) | [**Nick Taylor**](https://onetipaweek.com/) | [**Nick Brady**](https://nicholasdbrady.github.io/cookbook/) | [**Nathan Stanford Sr**](https://github.com/nastanford) |
| [**Máté Barabás**](https://github.com/matebarabas) | [**Mike Parker**](https://github.com/mikeparker104) | [**Mike Kistler**](https://github.com/mikekistler) | [**Giovanni de Almeida Martins**](https://github.com/giomartinsdev) | [**이상현**](https://github.com/dgh06175) | [**Ankur Sharma**](https://github.com/zooav) | [**Wendy Breiding**](https://github.com/webreidi) |
| [**voidfnc**](https://github.com/voidfnc) | [**shane lee**](https://about.me/shane-lee) | [**sdanzo-hrb**](https://github.com/sdanzo-hrb) | [**sauran**](https://github.com/nativebpm) | [**samqbush**](https://github.com/samqbush) | [**pareenaverma**](https://github.com/pareenaverma) | [**oleksiyyurchyna**](https://github.com/oleksiyyurchyna) |
| [**oceans-of-time**](https://github.com/time-by-waves) | [**kshashank57**](https://github.com/kshashank57) | [**Meii**](https://github.com/hueanmy) | [**factory-davidgu**](https://github.com/factory-davidgu) | [**dangelov-qa**](https://github.com/dangelov-qa) | [**BenoitMaucotel**](https://github.com/BenoitMaucotel) | [**benjisho-aidome**](https://github.com/benjisho-aidome) |
| [**Yuki Omoto**](https://github.com/yukiomoto) | [**Will Schultz**](https://github.com/wschultz-boxboat) | [**Waren Gonzaga**](https://bio.warengonzaga.com/) | [**Vincent Koc**](https://linktr.ee/vincentkoc) | [**Victor Williams**](https://github.com/Vaporjawn) | [**Ve Sharma**](https://vesharma.dev/) | [**Vasileios Lahanas**](https://www.ferryhopper.com/) |
| [**Udaya Veeramreddygari**](https://tinyurl.com/3p5j9mwe) | [**Tài Lê**](https://github.com/iletai) | [**Tsubasa Ogawa**](https://tsubasaogawa.me/) | [**Troy Witthoeft (glsauto)**](http://glsauto.com/) | [**Gerald Versluis**](https://jfversluis.dev/) | [**George Dernikos**](https://github.com/geoder101) | [**Gautam**](https://github.com/gautambaghel) |
| [**Furkan Enes**](https://github.com/feapaydin) | [**Florian Mücke**](https://github.com/fmuecke) | [**Felix Arjuna**](https://www.felixarjuna.dev/) | [**Eldrick Wega**](https://github.com/ewega) | [**Dobri Danchev**](https://github.com/danchev) | [**Diego Gamboa**](https://dgamboa.com/) | [**Derek Clair**](https://github.com/derekclair) |
| [**David Ortinau**](https://dev.to/davidortinau) | [**Daniel Abbatt**](https://github.com/danielabbatt) | [**CypherHK**](https://github.com/CypherHK) | [**Craig Bekker**](https://github.com/craigbekker) | [**Christophe Peugnet**](https://www.peug.net/) | [**Christian Lechner**](https://github.com/lechnerc77) | [**Chris Harris**](https://github.com/charris-msft) |
| [**Artem Saveliev**](https://github.com/artemsaveliev) | [**Antoine Rey**](https://javaetmoi.com/) | [**Ankit Das**](https://github.com/PiKa919) | [**Aline Ávila**](https://github.com/alineavila) | [**Alexander Martinkevich**](https://github.com/martin-cod) | [**Aleksandar Dunchev**](https://github.com/aldunchev) | [**Alan Sprecacenere**](http://www.qreate.it/) |
| [**Akash Kumar Shaw**](https://github.com/akashxlr8) | [**Abdi Daud**](https://github.com/abdidaudpropel) | [**AIAlchemyForge**](https://github.com/AIAlchemyForge) | [**4regab**](https://github.com/4regab) | [**Miguel P Z**](https://github.com/MiguelElGallo) | [**Michael Fairchild**](https://a11ysupport.io/) | [**Michael A. Volz (Flynn)**](https://www.linkedin.com/in/michael-volz/) |
| [**Michael**](https://github.com/Mike-Hanna) | [**Mehmet Ali EROL**](http://www.mehmetalierol.com/) | [**Max Prilutskiy**](https://maxprilutskiy.com/) | [**Matteo Bianchi**](https://github.com/mbianchidev) | [**Mark Noble**](http://marknoble.com/) | [**Manish Jayaswal**](https://github.com/ManishJayaswal) | [**Luke Murray**](https://linktr.ee/lukemurray) |
| [**Louella Creemers**](https://github.com/LouellaCreemers) | [**Sai Koumudi Kaluvakolanu**](https://github.com/saikoumudi) | [**Kenny White**](https://github.com/whiteken) | [**KaloyanGenev**](https://github.com/KaloyanGenev) | [**Kim Skov Rasmussen**](https://github.com/Ranrar) | [**Julien Dubois**](https://www.julien-dubois.com/) | [**José Antonio Garrido**](https://digio.es/) |
| [**Joseph Gonzales**](http://www.sugbo4j.co.nz/) | [**Jorge Balderas**](https://github.com/yortch) | [**John Papa**](http://johnpapa.net/) | [**John**](https://www.johnlokerse.dev/) | [**Joe Watkins**](http://joe-watkins.io/) | [**Jan de Vries**](https://jan-v.nl/) | [**Jakub Jareš**](https://github.com/nohwnd) |
| [**Jackson Miller**](https://github.com/jaxn) | [**Ioana A**](https://github.com/Ioana37) | [**Hunter Hogan**](https://github.com/hunterhogan) | [**Hashim Warren**](https://github.com/hashimwarren) | [**Gonzalo**](https://github.com/Arggon) | [**Gisela Torres**](https://hachyderm.io/@0gis0) | [**Shibi Ramachandran**](https://github.com/shibicr93) |
| [**lupritz**](https://github.com/lupritz) | [**Héctor Benedicte**](https://github.com/bhect0) | [**Ted Vilutis**](https://github.com/tedvilutis) | [**Anthony Shaw**](https://tonybaloney.github.io/) | [**Chris McKee**](https://github.com/ChrisMcKee1) | [**CASTResearchLabs**](https://github.com/CASTResearchLabs) | [**白水淳**](https://github.com/jun-shiromizu) |
| [**Imran Siddique**](https://imransiddique.com/) | [**共产主义接班人**](https://github.com/nblog) | [**Ivan Charapanau**](https://github.com/av) | [**Tadas Labudis**](https://github.com/labudis) | [**Alvin Ashcraft**](https://www.alvinashcraft.com/) | [**Jan Krivanek**](https://docs.microsoft.com/en-us/archive/blogs/jankrivanek/) | [**Gregg Cochran**](https://github.com/DUBSOpenHub) |
| [**Josh N**](https://github.com/Jcardif) | [**ian zhang**](https://www.ianzhang.cn/) | [**Garrett Siegel**](https://www.garrettsiegel.com/) | [**Roberto Perez**](https://github.com/v-rperez030) | [**Dan Velton**](https://github.com/dvelton) | [**Lee Reilly**](https://leereilly.net/) | [**Daniel Coelho**](http://bunnybox.info/) |
| [**Vahid Faraji**](https://github.com/vfaraji89) | [**Ashley Wolf**](https://www.linkedin.com/in/ashleywolf/) | [**Noah Jenkins**](https://noahjenkins.com/) | [**Jeremy Kohn**](https://github.com/jeremykohn) | [**Harri Sipola**](https://github.com/Hakku) | [**Toru Makabe**](https://torumakabe.github.io/) | [**Pham Tien Thuan Phat**](https://github.com/delee03) |
| [**Benji Shohet**](https://github.com/benjisho) | [**Amaury Levé**](https://about.me/amauryleve) | [**Tim Deschryver**](https://timdeschryver.dev/) | [**Mohammad Asad Alahmadi**](https://github.com/AlahmadiQ8) | [**fondoger**](http://aka.readspeak.cn/app) | [**Yuval Avidani**](https://linktr.ee/yuvai) | [**Csaba Iváncza**](https://querypanel.io/) |
| [**Tim Heuer**](https://timheuer.com/blog/) | [**lance2k**](https://github.com/lance2k) | [**Andrea Liliana Griffiths**](https://ag11.dev/) | [**Ajith Raghavan**](https://github.com/ajithraghavan) | [**Catherine Han**](https://github.com/ninihen1) | [**Igor Shishkin**](https://twitter.com/specialforest) | [**Burrito Verde**](https://github.com/verdantburrito) |
| [**Joseph Van der Wee**](https://github.com/jvanderwee) | [**Luiz Bon**](http://luizbon.com/) | [**Sanjay Ramassery Babu**](https://sanjay-rb.github.io/) | [**Russ Rimmerman [MSFT]**](https://github.com/russrimm) | [**Roberto Perez**](https://github.com/rperez030) | [**Shehab Sherif**](https://github.com/ShehabSherif0) | [**Smit Patel**](https://github.com/beingsmit) |
| [**Steven Vore**](https://github.com/StevenJV) | [**Subhashis Bhowmik**](https://github.com/subhashisbhowmikicpes) | [**Tim Mulholland**](https://github.com/tlmii) | [**Niels Laute**](https://github.com/niels9001) | [**Pavel Sulimau**](https://pasul.medium.com/) | [**PrimedPaul**](https://github.com/PrimedPaul) | [**Zhiqi Pu**](https://github.com/REAL-Madrid01) |
| [**Ramyashree Shetty**](https://github.com/ramyashreeradix) | [**ZdaPhp**](https://github.com/ZdaPhp) | [**pigd0g**](https://github.com/pigd0g) | [**rahulbats**](https://github.com/rahulbats) | [**suyask-msft**](https://github.com/suyask-msft) | [**tagedeep**](https://github.com/tagedeep) | [**tinkeringDev**](https://github.com/tinkeringDev) |
| [**Travis Hill**](https://github.com/travish) | [**Utkarsh patrikar**](https://github.com/utkarsh232005) | [**Yauhen**](https://github.com/rbgmulmb) | [**Yiou Li**](https://github.com/yiouli) | [**Yuki Omoto**](https://github.com/yukidukie) | [**Abhi Bavishi**](https://github.com/abhibavishi) | [**augustus-0**](https://github.com/augustus-0) |
| [**Branislav Buna**](https://github.com/codeHysteria28) | [**connerlambden**](https://github.com/connerlambden) | [**David Raygoza**](https://github.com/DavidARaygoza) | [**Diego Porto Ritzel**](https://github.com/dipievil) | [**Eric Scherlinger**](https://github.com/ericsche) | [**Fatih**](https://github.com/fatihdurgut) | [**Felipe Pessoto**](http://blog.fujiy.net/) |
| [**François**](https://medium.com/just-tech-it-now) | [**Geoffrey Casaubon**](https://github.com/GeoffreyCasaubon) | [**Anddd7**](https://github.com/Anddd7) | [**Anders Eide**](https://github.com/anderseide) | [**Aymen**](http://aymenfurter.ch/) | [**Kevin van Zonneveld**](https://kvz.io/) | [**Luis Cantero**](https://github.com/luiscantero) |
| [**MV Karan**](https://github.com/mvkaran) | [**Marcel Deutzer**](https://github.com/Jugger23) | [**Jon Galloway**](http://weblogs.asp.net/jongalloway) | [**Josh Beard**](https://jlbeard.com/) | [**Julian**](http://jpinzer.me/) | [**Simon Kurtz**](https://github.com/simonkurtz-MSFT) | [**Temitayo Afolabi**](https://github.com/TemitayoAfolabi) |
| [**JoeVenner**](https://github.com/joeVenner) | [**Pasindu Premarathna**](https://github.com/pasindudilshan1) | [**ecosystem**](https://github.com/ecosystem) | [**Punit**](https://github.com/punit-fastah) | [**Onur Senturk**](https://www.youtube.com/@cloudarch) | [**Andrew Stellman**](https://mastodon.social/@andrewstellman) | [**Jeonghoon Lee**](https://www.linkedin.com/in/jeonghlee8024) |
| [**Satya K**](https://srisatyalokesh.is-a.dev/) | [**Samik Roy**](https://github.com/samikroy) | [**Simina Pasat**](https://github.com/siminapasat) | [**Tyler Garner**](https://github.com/garnertb) | [**Vijay Chegu**](https://github.com/cheguv) | [**DTIBeograd**](https://github.com/DTIBeograd) | [**Anmol Behl**](https://github.com/behl1anmol) |
| [**Brad Kinnard**](https://aftermathtech.com/) | [**Chad Bentz**](https://felickz.github.io/) | [**Marcello Cuoghi**](https://github.com/MarcelloCuoghi) | [**Josh Johanning**](https://josh-ops.com/) | [**jennyf19**](https://github.com/jennyf19) | [**Saravanan Rajaraman**](https://github.com/SaravananRajaraman) | [**Patel Dhruv **](https://github.com/Dhruvpatel004) |
| [**Renee Noble**](https://github.com/reneenoble) | [**jjpinto**](https://github.com/jjpinto) | [**moeyui1**](https://moeyui1.github.io/) | [**mohammadali2549**](https://github.com/mohammadali2549) | [**Vladislav Guzey**](https://github.com/proflead) | [**aparna198809**](https://github.com/aparna198809) | [**Ed McAdams**](https://github.com/TeddMcAdams) |
| [**Emil Andersson**](https://github.com/eanders-tdy) | [**Mikael**](http://www.mikaelkrief.com/) | [**Mrigank Singh**](https://github.com/Mrigank005) | [**Jim Bennett**](https://www.jimbobbennett.dev/) | [**Alishahzad1903**](https://github.com/Alishahzad1903) | [**Antonio Villanueva**](https://github.com/anvillan) | [**Tim Hanewich**](https://timhanewich.github.io/) |
| [**ming**](https://github.com/hddevteam) | [**Scott O'Hara**](https://www.scottohara.me/) | [**Salih**](https://salih.guru/) | [**Shailesh**](https://www.linkedin.com/in/shaileshmishra1/) | [**Shubham Jiyani**](https://github.com/sjiyani) | [**Srinivas Vaddi**](https://www.thetechcruise.com/) | [**Philippe D**](https://github.com/Philess) |
| [**Rajesh Goldy**](https://github.com/goldirana) | [**dstrupl**](https://github.com/dstrupl) | [**wuwen**](https://github.com/wuwen5) | [**Tilak Patel**](https://github.com/tilakpatell) | [**Vijay Bandi**](https://github.com/vijay-kr-bandi) | [**Zixuan Jiang**](https://www.ahnu.edu.cn/) | [**Dennis Lembree**](http://www.dennislembree.com/) |
| [**Dev Shah**](https://omnificence.xyz/) | [**Falco**](https://github.com/rs38) | [**AJ**](https://ajenns.com/) | [**Anush**](https://github.com/Anush008) | [**Ayush Saklani**](https://github.com/ayushsaklani-min) | [**Carlos Alexandro Becker**](https://caarlos0.dev/) | [**Mangokernel**](https://github.com/shailendrahegde) |
| [**Mario Codes**](https://github.com/MarioCodes) | [**Gonzalo Fleming**](https://www.flemingtechnologies.cl/) | [**Steve Magne**](https://www.movinglive.ca/) | [**Sertxito**](https://github.com/Sertxito) | [**Rayner Zeng**](https://www.zengliangyi.online/) | [**ilderaj**](https://github.com/ilderaj) | [**mvanderbend-msoft**](https://github.com/mvanderbend-msoft) |
| [**Parveen Sharma**](https://github.com/parveen-dotnet) | [**pmorong**](https://github.com/pmorong) | [**vinod kumar**](https://github.com/thevinodkumar) | [**Vidhart Bhatia**](https://vidhartbhatia.com/) | [**Xiaoyun Ding**](https://github.com/leonard520) | [**denis-a-evdokimov**](https://github.com/denis-a-evdokimov) | [**Adriano Nogueira**](https://connexio.digital/) |
| [**Aezan**](https://github.com/AezanPathan) | [**Andy Anderson**](https://github.com/clubanderson) | [**Kweku Dzata**](https://kwekudzata.vercel.app/dev) | [**Marcel**](https://github.com/goodguy1963) | [**Navaneeth Reddy**](https://github.com/navaneethreddydevops) | [**James**](http://jamesmcgrath.net/) | [**Joseph Counts**](https://github.com/jcountsNR) |
| [**Neha Mandge**](https://github.com/NehaGitHubAcc) | [**Srikanth Patchava**](https://github.com/srpatcha) | [**Thomas Ray**](https://thomas-f-ray.art/) | [**Nixon Kurian**](https://github.com/fizznix) | [**Petr Stupka**](https://github.com/petrsx) | [**Pieter de Bruin**](https://www.pdebruin.org/) | [**sudeepghatak**](https://github.com/sudeepghatak) |
| [**tlietz**](https://github.com/tlietz) | [**dawright22**](https://github.com/dawright22) | [**Alejandro Fernando Suarez Gomez**](https://github.com/alfersugo) | [**Burak Bayır**](https://xquik.com/) | [**MUHAMMAD SAMIULLAH**](http://msamiullah.tech/) | [**Nikola Metulev**](http://metulev.com/) | [**Joseph Kasprzyk**](https://www.colorado.edu/lab/krg) |
| [**Lovy Jain**](https://github.com/lovyjain) | [**kimtth**](https://github.com/kimtth) | [**Akash Dwivedi**](https://github.com/AkashAi7) | [**Suren K**](https://surenk.com) | [**Konstantinos Passadis   Azure MVP   MCT**](https://www.cloudblogger.eu) |  |  |








[Add your contributions](https://all-contributors.js.org/docs/en/bot/usage)

This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!

[⬆ Back to Top](#-awesome-github-copilot)

## 📚 Additional Resources

- [VS Code Copilot Customization Documentation](https://code.visualstudio.com/docs/copilot/copilot-customization) - Official Microsoft documentation
- [GitHub Copilot Chat Documentation](https://code.visualstudio.com/docs/copilot/chat/copilot-chat) - Complete chat feature guide
- [VS Code Settings](https://code.visualstudio.com/docs/getstarted/settings) - General VS Code configuration guide

[⬆ Back to Top](#-awesome-github-copilot)

## ™️ Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft
trademarks or logos is subject to and must follow
[Microsoft's Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).
Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.
Any use of third-party trademarks or logos are subject to those third-party's policies.

---

## File: cookbook/copilot-sdk/dotnet/recipe/README.md

# Runnable Recipe Examples

This folder contains standalone, executable C# examples for each cookbook recipe. These are [file-based apps](https://learn.microsoft.com/dotnet/core/sdk/file-based-apps) that can be run directly with `dotnet run`.

## Prerequisites

- .NET 10.0 or later
- GitHub Copilot SDK package (referenced automatically)

## Running Examples

Each `.cs` file is a complete, runnable program. Simply use:

```bash
dotnet run <filename>.cs
```

### Available Recipes

| Recipe               | Command                              | Description                                |
| -------------------- | ------------------------------------ | ------------------------------------------ |
| Error Handling       | `dotnet run error-handling.cs`       | Demonstrates error handling patterns       |
| Multiple Sessions    | `dotnet run multiple-sessions.cs`    | Manages multiple independent conversations |
| Managing Local Files ⚠️ | `dotnet run managing-local-files.cs` | Organizes files using AI grouping          |
| PR Visualization ℹ️   | `dotnet run pr-visualization.cs`     | Generates PR age charts                    |
| Persisting Sessions  | `dotnet run persisting-sessions.cs`  | Save and resume sessions across restarts   |
| Accessibility Report ℹ️ | `dotnet run accessibility-report.cs` | Analyzes web page accessibility            |
| Ralph Loop ⚠️         | `dotnet run ralph-loop.cs`           | Autonomous development loop                |

### Examples with Arguments

**PR Visualization with specific repo:**

```bash
dotnet run pr-visualization.cs -- --repo github/copilot-sdk
```

**Managing Local Files (edit the file to change target folder):**

```bash
# Edit the targetFolder variable in managing-local-files.cs first
dotnet run managing-local-files.cs
```

## Safety & Prerequisites

Some recipes have side effects or external dependencies. Expand each section for safe testing patterns and prerequisites.


**⚠️ Managing Local Files** — Modifies your filesystem

Before running on a real directory, test it on a copy first.
Run these snippets from this recipe directory so the recipe path is captured before switching to the temporary folder.

**PowerShell:**
```powershell
$recipeDir = (Get-Location).Path
$tempDir = New-Item -ItemType Directory -Path ([IO.Path]::Combine([IO.Path]::GetTempPath(), "copilot-test-files"))
@("document1.txt", "image1.png", "data.json") | ForEach-Object { 
    New-Item -Path "$tempDir/$_" -ItemType File
}
cd $tempDir
dotnet run "$recipeDir/managing-local-files.cs"
# Inspect results, then clean up
Remove-Item $tempDir -Recurse
```

**Bash:**
```bash
recipeDir=$(pwd)
tempDir=$(mktemp -d)
touch "$tempDir"/{document1.txt,image1.png,data.json}
cd "$tempDir"
dotnet run "$recipeDir/managing-local-files.cs"
# Inspect results, then clean up
rm -rf "$tempDir"
```

Edit the `targetFolder` variable in the `.cs` file to point to your test directory before running.



**⚠️ Ralph Loop** — Creates git commits and modifies files

Always run it in an isolated git repository first to verify behavior.
Run these snippets from this recipe directory so the recipe path is captured before switching to the temporary repository.

**PowerShell:**
```powershell
$recipeDir = (Get-Location).Path
$tempDir = New-Item -ItemType Directory -Path ([IO.Path]::Combine([IO.Path]::GetTempPath(), "copilot-test-repo"))
cd $tempDir
git init
git config user.email "test@example.com"
git config user.name "Test User"

# Create a PROMPT_task.md for the recipe to work with
"# Task`nCreate a simple README" | Out-File PROMPT_task.md
dotnet run "$recipeDir/ralph-loop.cs"

# Review commits and changes
git log --oneline
git diff

# Clean up
cd ..
Remove-Item $tempDir -Recurse
```

**Bash:**
```bash
recipeDir=$(pwd)
tempDir=$(mktemp -d)
cd "$tempDir"
git init
git config user.email "test@example.com"
git config user.name "Test User"

# Create a PROMPT_task.md for the recipe to work with
echo -e "# Task\nCreate a simple README" > PROMPT_task.md
dotnet run "$recipeDir/ralph-loop.cs"

# Review commits and changes
git log --oneline
git diff

# Clean up
cd ..
rm -rf "$tempDir"
```

The recipe requires a git repository with at least one `PROMPT_*.md` file and will run in an infinite loop until manually stopped.



**ℹ️ Accessibility Report** — Requires Playwright MCP

This recipe requires Playwright MCP to be installed and available:

```bash
npm install @playwright/mcp
```

Or let Node Package Manager install it on-demand. The recipe will attempt to launch `npx @playwright/mcp` automatically. Run the recipe as normal:

```bash
dotnet run accessibility-report.cs
```

The recipe will prompt you for a URL to analyze and generate an accessibility report.



**ℹ️ PR Visualization** — Requires GitHub API access

This recipe requires:

- Access to a GitHub repository (public or private, with appropriate credentials)
- `gh` CLI tool installed and authenticated: https://cli.github.com/

Run with a repository argument:

```bash
dotnet run pr-visualization.cs -- --repo owner/repo-name
```

Example:

```bash
dotnet run pr-visualization.cs -- --repo github/copilot-sdk
```

**Note:** GitHub API requests are rate-limited. Large repositories or frequent runs may hit rate limits. See [GitHub API rate limiting](https://docs.github.com/rest/overview/rate-limits-for-the-rest-api) for details.


## File-Based Apps

These examples use .NET's file-based app feature, which allows single-file C# programs to:

- Run without a project file
- Automatically reference common packages
- Support top-level statements

## Learning Resources

- [.NET File-Based Apps Documentation](https://learn.microsoft.com/en-us/dotnet/core/sdk/file-based-apps)
- [GitHub Copilot SDK Documentation](https://github.com/github/copilot-sdk/blob/main/dotnet/README.md)
- [Parent Cookbook](../README.md)

---

## File: cookbook/copilot-sdk/dotnet/README.md

# GitHub Copilot SDK Cookbook — .NET (C#)

This folder hosts short, practical recipes for using the GitHub Copilot SDK with .NET. Each recipe is concise, copy‑pasteable, and points to fuller examples and tests.

## Recipes

- [Error Handling](error-handling.md): Handle errors gracefully including connection failures, timeouts, and cleanup.
- [Multiple Sessions](multiple-sessions.md): Manage multiple independent conversations simultaneously.
- [Managing Local Files](managing-local-files.md): Organize files by metadata using AI-powered grouping strategies.
- [PR Visualization](pr-visualization.md): Generate interactive PR age charts using GitHub MCP Server.
- [Persisting Sessions](persisting-sessions.md): Save and resume sessions across restarts.

## Contributing

Add a new recipe by creating a markdown file in this folder and linking it above. Follow repository guidance in [CONTRIBUTING.md](../../../CONTRIBUTING.md).

## Status

These recipes are now complete and ready to use; the cookbook will continue to evolve as new scenarios are added.

---

## File: cookbook/copilot-sdk/go/recipe/README.md

# Runnable Recipe Examples

This folder contains standalone, executable Go examples for each cookbook recipe. Each file is a complete program that can be run directly with `go run`.

## Prerequisites

- Go 1.21 or later
- GitHub Copilot SDK for Go

```bash
go get github.com/github/copilot-sdk/go
```

## Running Examples

Each `.go` file is a complete, runnable program. Simply use:

```bash
go run <filename>.go
```

### Available Recipes

| Recipe               | Command                          | Description                                |
| -------------------- | -------------------------------- | ------------------------------------------ |
| Error Handling       | `go run error-handling.go`       | Demonstrates error handling patterns       |
| Multiple Sessions    | `go run multiple-sessions.go`    | Manages multiple independent conversations |
| Managing Local Files | `go run managing-local-files.go` | Organizes files using AI grouping          |
| PR Visualization     | `go run pr-visualization.go`     | Generates PR age charts                    |
| Persisting Sessions  | `go run persisting-sessions.go`  | Save and resume sessions across restarts   |

### Examples with Arguments

**PR Visualization with specific repo:**

```bash
go run pr-visualization.go -repo github/copilot-sdk
```

**Managing Local Files (edit the file to change target folder):**

```bash
# Edit the targetFolder variable in managing-local-files.go first
go run managing-local-files.go
```

## Go Best Practices

These examples follow Go conventions:

- Proper error handling with explicit checks
- Use of `defer` for cleanup
- Idiomatic naming (camelCase for local variables)
- Standard library usage where appropriate
- Clean separation of concerns

## Learning Resources

- [Go Documentation](https://go.dev/doc/)
- [GitHub Copilot SDK for Go](https://github.com/github/copilot-sdk/blob/main/go/README.md)
- [Parent Cookbook](../README.md)

---

## File: cookbook/copilot-sdk/go/README.md

# GitHub Copilot SDK Cookbook — Go

This folder hosts short, practical recipes for using the GitHub Copilot SDK with Go. Each recipe is concise, copy‑pasteable, and points to fuller examples and tests.

## Recipes

- [Error Handling](error-handling.md): Handle errors gracefully including connection failures, timeouts, and cleanup.
- [Multiple Sessions](multiple-sessions.md): Manage multiple independent conversations simultaneously.
- [Managing Local Files](managing-local-files.md): Organize files by metadata using AI-powered grouping strategies.
- [PR Visualization](pr-visualization.md): Generate interactive PR age charts using GitHub MCP Server.
- [Persisting Sessions](persisting-sessions.md): Save and resume sessions across restarts.

## Contributing

Add a new recipe by creating a markdown file in this folder and linking it above. Follow repository guidance in [CONTRIBUTING.md](../../../CONTRIBUTING.md).

## Status

These recipes are complete, practical examples and can be used directly or adapted for your own projects.

---

## File: cookbook/copilot-sdk/nodejs/recipe/README.md

# Runnable Recipe Examples

This folder contains standalone, executable TypeScript examples for each cookbook recipe. Each file can be run directly with `tsx` or via npm scripts.

## Prerequisites

- Node.js 18 or later
- Install dependencies (this links to the local SDK in the repo):

```bash
npm install
```

## Running Examples

Each `.ts` file is a complete, runnable program. You can run them in two ways:

### Using npm scripts:

```bash
npm run <script-name>
```

### Using tsx directly:

```bash
npx tsx <filename>.ts
```

### Available Recipes

| Recipe               | npm script                     | Direct command                    | Description                                |
| -------------------- | ------------------------------ | --------------------------------- | ------------------------------------------ |
| Error Handling       | `npm run error-handling`       | `npx tsx error-handling.ts`       | Demonstrates error handling patterns       |
| Multiple Sessions    | `npm run multiple-sessions`    | `npx tsx multiple-sessions.ts`    | Manages multiple independent conversations |
| Managing Local Files | `npm run managing-local-files` | `npx tsx managing-local-files.ts` | Organizes files using AI grouping          |
| PR Visualization     | `npm run pr-visualization`     | `npx tsx pr-visualization.ts`     | Generates PR age charts                    |
| Persisting Sessions  | `npm run persisting-sessions`  | `npx tsx persisting-sessions.ts`  | Save and resume sessions across restarts   |

### Examples with Arguments

**PR Visualization with specific repo:**

```bash
npx tsx pr-visualization.ts --repo github/copilot-sdk
```

**Managing Local Files (edit the file to change target folder):**

```bash
# Edit the targetFolder variable in managing-local-files.ts first
npx tsx managing-local-files.ts
```

## Local SDK Development

The `package.json` references the local Copilot SDK using `"*"`, which resolves to the local SDK source. This means:

- Changes to the SDK source are immediately available
- No need to publish or install from npm
- Perfect for testing and development

If you modify the SDK source, you may need to rebuild:

```bash
cd ../../src
npm run build
```

## TypeScript Features

These examples use modern TypeScript/Node.js features:

- Top-level await (requires `"type": "module"` in package.json)
- ESM imports
- Type safety with TypeScript
- async/await patterns

## Learning Resources

- [TypeScript Documentation](https://www.typescriptlang.org/docs/)
- [Node.js Documentation](https://nodejs.org/docs/latest/api/)
- [GitHub Copilot SDK for Node.js](https://github.com/github/copilot-sdk/blob/main/nodejs/README.md)
- [Parent Cookbook](../README.md)

---

## File: cookbook/copilot-sdk/nodejs/README.md

# GitHub Copilot SDK Cookbook — Node.js / TypeScript

This folder hosts short, practical recipes for using the GitHub Copilot SDK with Node.js/TypeScript. Each recipe is concise, copy‑pasteable, and points to fuller examples and tests.

## Recipes

- [Error Handling](error-handling.md): Handle errors gracefully including connection failures, timeouts, and cleanup.
- [Multiple Sessions](multiple-sessions.md): Manage multiple independent conversations simultaneously.
- [Managing Local Files](managing-local-files.md): Organize files by metadata using AI-powered grouping strategies.
- [PR Visualization](pr-visualization.md): Generate interactive PR age charts using GitHub MCP Server.
- [Persisting Sessions](persisting-sessions.md): Save and resume sessions across restarts.

## Contributing

Add a new recipe by creating a markdown file in this folder and linking it above. Follow repository guidance in [CONTRIBUTING.md](../../../CONTRIBUTING.md).

## Status

This README is a scaffold; recipe files are placeholders until populated.

---

## File: cookbook/copilot-sdk/python/recipe/README.md

# Runnable Recipe Examples

This folder contains standalone, executable Python examples for each cookbook recipe. Each file can be run directly as a Python script.

## Prerequisites

- Python 3.8 or later
- Install dependencies (this installs the SDK from PyPI):

```bash
pip install -r requirements.txt
```

## Running Examples

Each `.py` file is a complete, runnable program with executable permissions:

```bash
python <filename>.py
# or on Unix-like systems:
./<filename>.py
```

### Available Recipes

| Recipe               | Command                              | Description                                        |
| -------------------- | ------------------------------------ | -------------------------------------------------- |
| Error Handling       | `python error_handling.py`           | Demonstrates error handling patterns               |
| Error Recovery Hooks | `python error_recovery_hooks.py`     | Classifies tool failures and retries automatically |
| Multiple Sessions    | `python multiple_sessions.py`        | Manages multiple independent conversations         |
| Managing Local Files | `python managing_local_files.py`     | Organizes files using AI grouping                  |
| PR Visualization     | `python pr_visualization.py`         | Generates PR age charts                            |
| Persisting Sessions  | `python persisting_sessions.py`      | Save and resume sessions across restarts           |
| PyInstaller Build    | `python pyinstaller_frozen_build.py` | Packages SDK apps into frozen executables          |

### Examples with Arguments

**PR Visualization with specific repo:**

```bash
python pr_visualization.py --repo github/copilot-sdk
```

**Managing Local Files (edit the file to change target folder):**

```bash
# Edit the target_folder variable in managing_local_files.py first
python managing_local_files.py
```

## Local SDK Development

The `requirements.txt` installs the Copilot SDK package from PyPI. This means:

- You get the latest stable release of the SDK
- No need to build from source
- Perfect for using the SDK in your projects

If you want to use a local development version, edit requirements.txt to use `-e ../..` for editable mode development.

## Python Best Practices

These examples follow Python conventions:

- PEP 8 naming (snake_case for functions and variables)
- Shebang line for direct execution
- Proper exception handling
- Type hints where appropriate
- Standard library usage

## Virtual Environment (Recommended)

For isolated development:

```bash
# Create virtual environment
python -m venv venv

# Activate it
# Windows:
venv\Scripts\activate
# Unix/macOS:
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt
```

## Learning Resources

- [Python Documentation](https://docs.python.org/3/)
- [PEP 8 Style Guide](https://pep8.org/)
- [GitHub Copilot SDK for Python](https://github.com/github/copilot-sdk/blob/main/python/README.md)
- [Parent Cookbook](../README.md)

---

## File: cookbook/copilot-sdk/python/README.md

# GitHub Copilot SDK Cookbook — Python

This folder hosts short, practical recipes for using the GitHub Copilot SDK with Python. Each recipe is concise, copy‑pasteable, and points to fuller examples and tests.

## Recipes

- [Error Handling](error-handling.md): Handle errors gracefully including connection failures, timeouts, and cleanup.
- [Error Recovery Hooks](error-recovery-hooks.md): Classify tool failures and nudge the LLM to keep investigating instead of giving up.
- [Multiple Sessions](multiple-sessions.md): Manage multiple independent conversations simultaneously.
- [Managing Local Files](managing-local-files.md): Organize files by metadata using AI-powered grouping strategies.
- [PR Visualization](pr-visualization.md): Generate interactive PR age charts using GitHub MCP Server.
- [Persisting Sessions](persisting-sessions.md): Save and resume sessions across restarts.
- [PyInstaller Frozen Build](pyinstaller-frozen-build.md): Package a Copilot SDK application into a standalone executable with PyInstaller.

## Contributing

Add a new recipe by creating a markdown file in this folder and linking it above. Follow repository guidance in [CONTRIBUTING.md](../../../CONTRIBUTING.md).

## Status

These recipes are complete and ready to use; new contributions and additional recipes are welcome.

---

## File: cookbook/copilot-sdk/README.md

# GitHub Copilot SDK Cookbook

This cookbook collects small, focused recipes showing how to accomplish common tasks with the GitHub Copilot SDK across languages. Each recipe is intentionally short and practical, with copy‑pasteable snippets and pointers to fuller examples and tests.

## Recipes by Language

### .NET (C#)

- [Ralph Loop](dotnet/ralph-loop.md): Build autonomous AI coding loops with fresh context per iteration, planning/building modes, and backpressure.
- [Error Handling](dotnet/error-handling.md): Handle errors gracefully including connection failures, timeouts, and cleanup.
- [Multiple Sessions](dotnet/multiple-sessions.md): Manage multiple independent conversations simultaneously.
- [Managing Local Files](dotnet/managing-local-files.md): Organize files by metadata using AI-powered grouping strategies.
- [PR Visualization](dotnet/pr-visualization.md): Generate interactive PR age charts using GitHub MCP Server.
- [Persisting Sessions](dotnet/persisting-sessions.md): Save and resume sessions across restarts.
- [Accessibility Report](dotnet/accessibility-report.md): Generate WCAG accessibility reports using the Playwright MCP server.

### Node.js / TypeScript

- [Ralph Loop](nodejs/ralph-loop.md): Build autonomous AI coding loops with fresh context per iteration, planning/building modes, and backpressure.
- [Error Handling](nodejs/error-handling.md): Handle errors gracefully including connection failures, timeouts, and cleanup.
- [Multiple Sessions](nodejs/multiple-sessions.md): Manage multiple independent conversations simultaneously.
- [Managing Local Files](nodejs/managing-local-files.md): Organize files by metadata using AI-powered grouping strategies.
- [PR Visualization](nodejs/pr-visualization.md): Generate interactive PR age charts using GitHub MCP Server.
- [Persisting Sessions](nodejs/persisting-sessions.md): Save and resume sessions across restarts.
- [Accessibility Report](nodejs/accessibility-report.md): Generate WCAG accessibility reports using the Playwright MCP server.

### Python

- [Ralph Loop](python/ralph-loop.md): Build autonomous AI coding loops with fresh context per iteration, planning/building modes, and backpressure.
- [Error Handling](python/error-handling.md): Handle errors gracefully including connection failures, timeouts, and cleanup.
- [Multiple Sessions](python/multiple-sessions.md): Manage multiple independent conversations simultaneously.
- [Managing Local Files](python/managing-local-files.md): Organize files by metadata using AI-powered grouping strategies.
- [PR Visualization](python/pr-visualization.md): Generate interactive PR age charts using GitHub MCP Server.
- [Persisting Sessions](python/persisting-sessions.md): Save and resume sessions across restarts.
- [Accessibility Report](python/accessibility-report.md): Generate WCAG accessibility reports using the Playwright MCP server.

### Go

- [Ralph Loop](go/ralph-loop.md): Build autonomous AI coding loops with fresh context per iteration, planning/building modes, and backpressure.
- [Error Handling](go/error-handling.md): Handle errors gracefully including connection failures, timeouts, and cleanup.
- [Multiple Sessions](go/multiple-sessions.md): Manage multiple independent conversations simultaneously.
- [Managing Local Files](go/managing-local-files.md): Organize files by metadata using AI-powered grouping strategies.
- [PR Visualization](go/pr-visualization.md): Generate interactive PR age charts using GitHub MCP Server.
- [Persisting Sessions](go/persisting-sessions.md): Save and resume sessions across restarts.
- [Accessibility Report](go/accessibility-report.md): Generate WCAG accessibility reports using the Playwright MCP server.

### Java

- [Ralph Loop](java/ralph-loop.md): Build autonomous AI coding loops with fresh context per iteration, planning/building modes, and backpressure.
- [Error Handling](java/error-handling.md): Handle errors gracefully including connection failures, timeouts, and cleanup.
- [Multiple Sessions](java/multiple-sessions.md): Manage multiple independent conversations simultaneously.
- [Managing Local Files](java/managing-local-files.md): Organize files by metadata using AI-powered grouping strategies.
- [PR Visualization](java/pr-visualization.md): Generate interactive PR age charts using GitHub MCP Server.
- [Persisting Sessions](java/persisting-sessions.md): Save and resume sessions across restarts.
- [Accessibility Report](java/accessibility-report.md): Generate WCAG accessibility reports using the Playwright MCP server.

## How to Use

- Browse your language section above and open the recipe links
- Each recipe includes runnable examples in a `recipe/` subfolder with language-specific tooling
- See existing examples and tests for working references:
  - Node.js examples: `nodejs/examples/basic-example.ts`
  - E2E tests: `go/e2e`, `python/e2e`, `nodejs/test/e2e`, `dotnet/test/Harness`

## Running Examples

### .NET

```bash
cd dotnet/cookbook/recipe
dotnet run <filename>.cs
```

### Node.js

```bash
cd nodejs/cookbook/recipe
npm install
npx tsx <filename>.ts
```

### Python

```bash
cd python/cookbook/recipe
pip install -r requirements.txt
python <filename>.py
```

### Go

```bash
cd go/cookbook/recipe
go run <filename>.go
```

### Java

```bash
cd java/recipe
jbang <FileName>.java
```

## Contributing

- Propose or add a new recipe by creating a markdown file in your language's `cookbook/` folder and a runnable example in `recipe/`
- Follow repository guidance in [CONTRIBUTING.md](../../CONTRIBUTING.md)

## Status

Cookbook structure is complete with 7 recipes across all 5 supported languages. Each recipe includes both markdown documentation and runnable examples.

## 2. Official Technical Reference & Guides (github/docs)

# GitHub Docs 

Welcome to GitHub Docs! GitHub’s documentation is open source, meaning anyone from inside or outside the company can contribute. For full contributing guidelines, visit our [contributing guide](https://docs.github.com/en/contributing).


## Quick links by contributor type

* **Hubbers (GitHub employees):** See [CONTRIBUTING.md](https://github.com/github/docs-content/blob/main/CONTRIBUTING.md) in the `docs-content` repository for GitHub-specific processes.

* **Open source contributors:** See [CONTRIBUTING.md](https://github.com/github/docs/blob/main/.github/CONTRIBUTING.md) in the `docs` repository for a quick-start summary.

## How we sync changes across Docs repositories

There are two GitHub Docs repositories: 

- **`github/docs`** (public): Open to external contributions

- **`github/docs-internal`** (private): For GitHub employee contributions. 

The two repositories sync frequently. Content changes in one are reflected in the other.  Hubbers might prefer to post in `docs` when working with a customer, but `docs` has limitations on the types of contributions it accepts to safeguard the site and our workflows. Internal contributions should usually go to `docs-internal`.

**Important:** The `docs` repository accepts contributions to content files (`.md` files in `/content` and select `/data` sections like reusables only). Infrastructure files, workflows, and site-building code are not open for external modification.

## New to contributing

Here are some resources to help you get started with open source contributions:

* [Finding ways to contribute to open source on GitHub](https://docs.github.com/en/get-started/exploring-projects-on-github/finding-ways-to-contribute-to-open-source-on-github)
* [Set up Git](https://docs.github.com/en/get-started/git-basics/set-up-git)
* [GitHub flow](https://docs.github.com/en/get-started/using-github/github-flow)
* [Collaborating with pull requests](https://docs.github.com/en/github/collaborating-with-pull-requests)

## License

This project is dual-licensed under:

* **Creative Commons Attribution 4.0** - for documentation and content in the assets, content, and data folders (see [LICENSE](LICENSE))
* **MIT License** - for code (see [LICENSE-CODE](LICENSE-CODE))