{"id":95403,"date":"2026-04-17T11:00:00","date_gmt":"2026-04-17T18:00:00","guid":{"rendered":"https:\/\/github.blog\/?p=95403"},"modified":"2026-04-17T10:27:11","modified_gmt":"2026-04-17T17:27:11","slug":"building-an-emoji-list-generator-with-the-github-copilot-cli","status":"publish","type":"post","link":"https:\/\/github.blog\/ai-and-ml\/github-copilot\/building-an-emoji-list-generator-with-the-github-copilot-cli\/","title":{"rendered":"Building an emoji list generator with the GitHub Copilot CLI"},"content":{"rendered":"<!DOCTYPE html PUBLIC \"-\/\/W3C\/\/DTD HTML 4.0 Transitional\/\/EN\" \"http:\/\/www.w3.org\/TR\/REC-html40\/loose.dtd\">\n<html><body><p>Every week, the GitHub team runs&nbsp;<a href=\"https:\/\/www.youtube.com\/@GitHub\/streams\">a stream called Rubber Duck Thursdays<\/a>, where we build projects live, cowork with our community, and answer questions!<\/p>\n\n\n\n<p>This week, we built a very fun project together using the&nbsp;<a href=\"https:\/\/github.com\/features\/copilot\/cli?utm_source=blog-rdt-emoji-list-cta&amp;utm_medium=blog&amp;utm_campaign=dev-pod-copilot-cli-2026\">GitHub Copilot CLI<\/a>! Let me tell you about it.<\/p>\n\n\n\n<p>&#128161;&nbsp;<em>New to GitHub Copilot CLI?&nbsp;<a href=\"https:\/\/github.blog\/ai-and-ml\/github-copilot\/github-copilot-cli-for-beginners-getting-started-with-github-copilot-cli\/\">Here&rsquo;s how to get started.<\/a><\/em><\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Rubber Duck Thursdays!\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/ytWRnlXxqsU?start=1744&amp;feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-is-it\">What is it?<\/h2>\n\n\n\n<p>In a lot of social media tweets and launches, you often see accounts post things like:<\/p>\n\n\n<div class=\"wp-block-code-wrapper\">\n<pre class=\"wp-block-code language-plaintext\"><code>We shipped the most amazing emoji list generator ever. It:\n\n&#128187; Works in the CLI\n&#129302; Uses the Copilot SDK to intelligently convert your bullet points to relevent emoji\n&#128203; Copies the result to the clipboard<\/code><\/pre>\n<clipboard-copy aria-label=\"Copy\" class=\"code-copy-btn\" data-copy-feedback=\"Copied!\" value=\"We shipped the most amazing emoji list generator ever. It:\n\n&#128187; Works in the CLI\n&#129302; Uses the Copilot SDK to intelligently convert your bullet points to relevent emoji\n&#128203; Copies the result to the clipboard\" tabindex=\"0\" role=\"button\"><svg aria-hidden=\"true\" height=\"16\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" class=\"octicon octicon-copy js-clipboard-copy-icon\"><path d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z\"><\/path><path d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z\"><\/path><\/svg><svg aria-hidden=\"true\" height=\"16\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" class=\"octicon octicon-check js-clipboard-check-icon\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"><\/path><\/svg><\/clipboard-copy><\/div>\n\n\n<p>It&rsquo;s beautiful. But coming up with the perfect emoji is far too slow for me in this &ldquo;move fast and break things&rdquo; world. I have projects to build! Repos to vibe! Pull requests to merge! I can&rsquo;t be thinking about emojis!<\/p>\n\n\n\n<p>And thus, on the stream, we build an emoji list generator (very descriptively called Emoji List Generator) that:<\/p>\n\n\n\n<p>&#128421;&#65039; Runs in the terminal<br>&#128203; You paste or write a list<br>&#9000;&#65039; You hit Ctrl + S<br>&#128206; You get the list on your clipboard<\/p>\n\n\n\n<p>(Can you tell I&rsquo;m dogfooding the product here?)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"how-we-built-it\">How we built it<\/h2>\n\n\n\n<p>We used a few cool technologies for this project:<\/p>\n\n\n\n<p>&#128421;&#65039;&nbsp;<code>@opentui\/core<\/code>for the terminal UI<br>&#129302;&nbsp;<code>@github\/copilot-sdk<\/code>for the AI brain<br>&#128203;&nbsp;<code>clipboardy<\/code>for clipboard access<\/p>\n\n\n\n<p>To start the project off, we opened up the GitHub Copilot CLI.<\/p>\n\n\n\n<p>In plan mode using Claude Sonnet 4.6, we wrote:<\/p>\n\n\n<div class=\"wp-block-code-wrapper\">\n<pre class=\"wp-block-code language-plaintext\"><code>I want to create an AI-powered markdown emoji list generator. Where, in this CLI app, if I paste in or write in some bullet points, it will replace those bullet points with relevant emojis to the given point in that list, and copies it to my clipboard. I'd like it to use GitHub Copilot SDK for the AI juiciness.<\/code><\/pre>\n<clipboard-copy aria-label=\"Copy\" class=\"code-copy-btn\" data-copy-feedback=\"Copied!\" value=\"I want to create an AI-powered markdown emoji list generator. Where, in this CLI app, if I paste in or write in some bullet points, it will replace those bullet points with relevant emojis to the given point in that list, and copies it to my clipboard. I'd like it to use GitHub Copilot SDK for the AI juiciness.\" tabindex=\"0\" role=\"button\"><svg aria-hidden=\"true\" height=\"16\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" class=\"octicon octicon-copy js-clipboard-copy-icon\"><path d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z\"><\/path><path d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z\"><\/path><\/svg><svg aria-hidden=\"true\" height=\"16\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" class=\"octicon octicon-check js-clipboard-check-icon\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"><\/path><\/svg><\/clipboard-copy><\/div>\n\n\n<p>Copilot asked me a bunch of clarifying questions, for example around the tech stack and what libraries we should use (shoutout to&nbsp;<a href=\"https:\/\/javorszky.co.uk\/\">Gabor<\/a>&nbsp;in the chat for suggesting&nbsp;<a href=\"https:\/\/opentui.com\/\">OpenTUI<\/a>), and from there, we had a fully thought-out&nbsp;<code>plan.md<\/code>file for me to review and use!<\/p>\n\n\n\n<p>We implemented the plan using Claude Opus 4.7 (which was&nbsp;<a href=\"https:\/\/github.blog\/changelog\/2026-04-16-claude-opus-4-7-is-generally-available\/\">recently released<\/a>!) and a few minutes later, voil&agrave;, we had a fun little terminal UI to work with!<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"1869\" height=\"1944\" loading=\"lazy\" src=\"https:\/\/github.blog\/wp-content\/uploads\/2026\/04\/list.png?resize=1869%2C1944\" alt=\"Screenshot of the 'Emoji List Generator.' Paste or type your bullet points below. Press CTRL + S to generate, CTRL + C to quit.\n\nYour bullet points\n- Is there a ghost here?\n- Ducks quack a lot\n- I would like to have a word with the moon\n- Mechanical keyboards are cool\n- We just launched a sick new feature\n- I'd like to squish some slime\n\nFollowed by the same list, with appropriate emojis.\" class=\"wp-image-95404\" srcset=\"https:\/\/github.blog\/wp-content\/uploads\/2026\/04\/list.png?w=1869 1869w, https:\/\/github.blog\/wp-content\/uploads\/2026\/04\/list.png?w=288 288w, https:\/\/github.blog\/wp-content\/uploads\/2026\/04\/list.png?w=768 768w, https:\/\/github.blog\/wp-content\/uploads\/2026\/04\/list.png?w=984 984w, https:\/\/github.blog\/wp-content\/uploads\/2026\/04\/list.png?w=1477 1477w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<p>The project was small but mighty. In the CLI, we used some really cool tools all together:<\/p>\n\n\n\n<p>&#128203;&nbsp;<a href=\"https:\/\/docs.github.com\/copilot\/how-tos\/copilot-cli\/cli-best-practices?utm_source=blog-rdt-emoji-list-cta&amp;utm_medium=blog&amp;utm_campaign=dev-pod-copilot-cli-2026#plan-mode\">Plan mode<\/a><br>&#129302;&nbsp;<a href=\"https:\/\/docs.github.com\/copilot\/concepts\/agents\/copilot-cli\/autopilot?utm_source=blog-rdt-emoji-list-cta&amp;utm_medium=blog&amp;utm_campaign=dev-pod-copilot-cli-2026\">Autopilot mode<\/a><br>&#128256;&nbsp;<a href=\"https:\/\/docs.github.com\/copilot\/reference\/ai-models\/supported-models?utm_source=blog-rdt-emoji-list-cta&amp;utm_medium=blog&amp;utm_campaign=dev-pod-copilot-cli-2026\">Multi-model<\/a>&nbsp;workflow<br>&#128681;&nbsp;<a href=\"https:\/\/docs.github.com\/copilot\/how-tos\/copilot-cli\/allowing-tools#permissive-options?utm_source=blog-rdt-emoji-list-cta&amp;utm_medium=blog&amp;utm_campaign=dev-pod-copilot-cli-2026\">The&nbsp;<code>allow-all<\/code>tools flag<\/a><br>&#128025; The&nbsp;<a href=\"https:\/\/github.com\/github\/github-mcp-server?utm_source=blog-rdt-emoji-list-cta&amp;utm_medium=blog&amp;utm_campaign=dev-pod-copilot-cli-2026\">GitHub MCP server<\/a><\/p>\n\n\n\n<p>If you&rsquo;d like to build a project like this yourself, you can check out the docs for&nbsp;<a href=\"https:\/\/docs.github.com\/copilot\/how-tos\/copilot-cli\/cli-getting-started?utm_source=blog-rdt-emoji-list-cta&amp;utm_medium=blog&amp;utm_campaign=dev-pod-copilot-cli-2026\">the GitHub Copilot CLI<\/a>&nbsp;and the&nbsp;<a href=\"https:\/\/docs.github.com\/copilot\/how-tos\/copilot-sdk\/sdk-getting-started?utm_source=blog-rdt-emoji-list-cta&amp;utm_medium=blog&amp;utm_campaign=dev-pod-copilot-cli-2026\">GitHub Copilot SDK<\/a>&nbsp;today!<\/p>\n\n\n\n<p>The&nbsp;<a href=\"https:\/\/github.com\/cassidoo\/emoji-list-generator\">emoji list generator is free and open source<\/a>, just for you.<\/p>\n\n\n\n<p>Happy building!<\/p>\n<\/body><\/html>\n","protected":false},"excerpt":{"rendered":"<p>See how we created an emoji list generator during the Rubber Duck Thursday stream.<\/p>\n","protected":false},"author":2277,"featured_media":95418,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_gh_post_show_toc":"yes","_gh_post_is_no_robots":"","_gh_post_is_featured":"yes","_gh_post_is_excluded":"","_gh_post_is_unlisted":"","_gh_post_related_link_1":"","_gh_post_related_link_2":"","_gh_post_related_link_3":"","_gh_post_sq_img":"https:\/\/github.blog\/wp-content\/uploads\/2026\/01\/CLI-Square.jpg","_gh_post_sq_img_id":"93504","_gh_post_cta_title":"","_gh_post_cta_text":"","_gh_post_cta_link":"","_gh_post_cta_button":"","_gh_post_recirc_hide":"","_gh_post_recirc_col_1":"","_gh_post_recirc_col_2":"","_gh_post_recirc_col_3":"","_gh_post_recirc_col_4":"","_featured_video":"","_gh_post_additional_query_params":"","_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_wpas_customize_per_network":false,"_links_to":"","_links_to_target":""},"categories":[3293,3295],"tags":[2535,3754],"coauthors":[3489],"class_list":["post-95403","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai-and-ml","category-github-copilot","tag-github-copilot","tag-github-copilot-cli"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.7 (Yoast SEO v27.7) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Building an emoji list generator with the GitHub Copilot CLI - The GitHub Blog<\/title>\n<meta name=\"description\" content=\"See how we created an emoji list generator during the Rubber Duck Thursday stream.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/github.blog\/ai-and-ml\/github-copilot\/building-an-emoji-list-generator-with-the-github-copilot-cli\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Building an emoji list generator with the GitHub Copilot CLI\" \/>\n<meta property=\"og:description\" content=\"See how we created an emoji list generator during the Rubber Duck Thursday stream.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/github.blog\/ai-and-ml\/github-copilot\/building-an-emoji-list-generator-with-the-github-copilot-cli\/\" \/>\n<meta property=\"og:site_name\" content=\"The GitHub Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-04-17T18:00:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/github.blog\/wp-content\/uploads\/2026\/04\/image-19.png?fit=2064%2C1076\" \/>\n\t<meta property=\"og:image:width\" content=\"2064\" \/>\n\t<meta property=\"og:image:height\" content=\"1076\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Cassidy Williams\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@cassidoo\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Cassidy Williams\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/github-copilot\\\/building-an-emoji-list-generator-with-the-github-copilot-cli\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/github-copilot\\\/building-an-emoji-list-generator-with-the-github-copilot-cli\\\/\"},\"author\":{\"name\":\"Cassidy Williams\",\"@id\":\"https:\\\/\\\/github.blog\\\/#\\\/schema\\\/person\\\/8cbae3ca030ca9cc37ec454ed2d3899c\"},\"headline\":\"Building an emoji list generator with the GitHub Copilot CLI\",\"datePublished\":\"2026-04-17T18:00:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/github-copilot\\\/building-an-emoji-list-generator-with-the-github-copilot-cli\\\/\"},\"wordCount\":398,\"image\":{\"@id\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/github-copilot\\\/building-an-emoji-list-generator-with-the-github-copilot-cli\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/github.blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/image-19.png?fit=2064%2C1076\",\"keywords\":[\"GitHub Copilot\",\"GitHub Copilot CLI\"],\"articleSection\":[\"AI &amp; ML\",\"GitHub Copilot\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/github-copilot\\\/building-an-emoji-list-generator-with-the-github-copilot-cli\\\/\",\"url\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/github-copilot\\\/building-an-emoji-list-generator-with-the-github-copilot-cli\\\/\",\"name\":\"Building an emoji list generator with the GitHub Copilot CLI - The GitHub Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/github.blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/github-copilot\\\/building-an-emoji-list-generator-with-the-github-copilot-cli\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/github-copilot\\\/building-an-emoji-list-generator-with-the-github-copilot-cli\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/github.blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/image-19.png?fit=2064%2C1076\",\"datePublished\":\"2026-04-17T18:00:00+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/github.blog\\\/#\\\/schema\\\/person\\\/8cbae3ca030ca9cc37ec454ed2d3899c\"},\"description\":\"See how we created an emoji list generator during the Rubber Duck Thursday stream.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/github-copilot\\\/building-an-emoji-list-generator-with-the-github-copilot-cli\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/github-copilot\\\/building-an-emoji-list-generator-with-the-github-copilot-cli\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/github-copilot\\\/building-an-emoji-list-generator-with-the-github-copilot-cli\\\/#primaryimage\",\"url\":\"https:\\\/\\\/github.blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/image-19.png?fit=2064%2C1076\",\"contentUrl\":\"https:\\\/\\\/github.blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/image-19.png?fit=2064%2C1076\",\"width\":2064,\"height\":1076,\"caption\":\"Header image showing the Welcome screen of the GitHub Copilot CLI\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/github-copilot\\\/building-an-emoji-list-generator-with-the-github-copilot-cli\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/github.blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AI &amp; ML\",\"item\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"GitHub Copilot\",\"item\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/github-copilot\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Building an emoji list generator with the GitHub Copilot CLI\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/github.blog\\\/#website\",\"url\":\"https:\\\/\\\/github.blog\\\/\",\"name\":\"The GitHub Blog\",\"description\":\"Updates, ideas, and inspiration from GitHub to help developers build and design software.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/github.blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/github.blog\\\/#\\\/schema\\\/person\\\/8cbae3ca030ca9cc37ec454ed2d3899c\",\"name\":\"Cassidy Williams\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/237362eba6128d96de86c2146f325ba144bf2ee5179db26a8cebe817989eddd4?s=96&d=mm&r=g816df366299296021438072ea953bb49\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/237362eba6128d96de86c2146f325ba144bf2ee5179db26a8cebe817989eddd4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/237362eba6128d96de86c2146f325ba144bf2ee5179db26a8cebe817989eddd4?s=96&d=mm&r=g\",\"caption\":\"Cassidy Williams\"},\"description\":\"Cassidy is senior director for developer advocacy here at GitHub. She enjoys building software, advising startups, and teaching developers how to build better. She has a weekly newsletter at cassidoo.co\\\/newsletter where you can get her updates, practice coding problems, and a joke in your inbox!\",\"sameAs\":[\"http:\\\/\\\/cassidoo.co\",\"linkedin.com\\\/in\\\/cassidoo\",\"https:\\\/\\\/x.com\\\/cassidoo\"],\"jobTitle\":\"Sr. Director, Developer Advocacy, GitHub\",\"url\":\"https:\\\/\\\/github.blog\\\/author\\\/cassidoo\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Building an emoji list generator with the GitHub Copilot CLI - The GitHub Blog","description":"See how we created an emoji list generator during the Rubber Duck Thursday stream.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/github.blog\/ai-and-ml\/github-copilot\/building-an-emoji-list-generator-with-the-github-copilot-cli\/","og_locale":"en_US","og_type":"article","og_title":"Building an emoji list generator with the GitHub Copilot CLI","og_description":"See how we created an emoji list generator during the Rubber Duck Thursday stream.","og_url":"https:\/\/github.blog\/ai-and-ml\/github-copilot\/building-an-emoji-list-generator-with-the-github-copilot-cli\/","og_site_name":"The GitHub Blog","article_published_time":"2026-04-17T18:00:00+00:00","og_image":[{"width":2064,"height":1076,"url":"https:\/\/github.blog\/wp-content\/uploads\/2026\/04\/image-19.png?fit=2064%2C1076","type":"image\/png"}],"author":"Cassidy Williams","twitter_card":"summary_large_image","twitter_creator":"@cassidoo","twitter_misc":{"Written by":"Cassidy Williams","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/github.blog\/ai-and-ml\/github-copilot\/building-an-emoji-list-generator-with-the-github-copilot-cli\/#article","isPartOf":{"@id":"https:\/\/github.blog\/ai-and-ml\/github-copilot\/building-an-emoji-list-generator-with-the-github-copilot-cli\/"},"author":{"name":"Cassidy Williams","@id":"https:\/\/github.blog\/#\/schema\/person\/8cbae3ca030ca9cc37ec454ed2d3899c"},"headline":"Building an emoji list generator with the GitHub Copilot CLI","datePublished":"2026-04-17T18:00:00+00:00","mainEntityOfPage":{"@id":"https:\/\/github.blog\/ai-and-ml\/github-copilot\/building-an-emoji-list-generator-with-the-github-copilot-cli\/"},"wordCount":398,"image":{"@id":"https:\/\/github.blog\/ai-and-ml\/github-copilot\/building-an-emoji-list-generator-with-the-github-copilot-cli\/#primaryimage"},"thumbnailUrl":"https:\/\/github.blog\/wp-content\/uploads\/2026\/04\/image-19.png?fit=2064%2C1076","keywords":["GitHub Copilot","GitHub Copilot CLI"],"articleSection":["AI &amp; ML","GitHub Copilot"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/github.blog\/ai-and-ml\/github-copilot\/building-an-emoji-list-generator-with-the-github-copilot-cli\/","url":"https:\/\/github.blog\/ai-and-ml\/github-copilot\/building-an-emoji-list-generator-with-the-github-copilot-cli\/","name":"Building an emoji list generator with the GitHub Copilot CLI - The GitHub Blog","isPartOf":{"@id":"https:\/\/github.blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/github.blog\/ai-and-ml\/github-copilot\/building-an-emoji-list-generator-with-the-github-copilot-cli\/#primaryimage"},"image":{"@id":"https:\/\/github.blog\/ai-and-ml\/github-copilot\/building-an-emoji-list-generator-with-the-github-copilot-cli\/#primaryimage"},"thumbnailUrl":"https:\/\/github.blog\/wp-content\/uploads\/2026\/04\/image-19.png?fit=2064%2C1076","datePublished":"2026-04-17T18:00:00+00:00","author":{"@id":"https:\/\/github.blog\/#\/schema\/person\/8cbae3ca030ca9cc37ec454ed2d3899c"},"description":"See how we created an emoji list generator during the Rubber Duck Thursday stream.","breadcrumb":{"@id":"https:\/\/github.blog\/ai-and-ml\/github-copilot\/building-an-emoji-list-generator-with-the-github-copilot-cli\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/github.blog\/ai-and-ml\/github-copilot\/building-an-emoji-list-generator-with-the-github-copilot-cli\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/github.blog\/ai-and-ml\/github-copilot\/building-an-emoji-list-generator-with-the-github-copilot-cli\/#primaryimage","url":"https:\/\/github.blog\/wp-content\/uploads\/2026\/04\/image-19.png?fit=2064%2C1076","contentUrl":"https:\/\/github.blog\/wp-content\/uploads\/2026\/04\/image-19.png?fit=2064%2C1076","width":2064,"height":1076,"caption":"Header image showing the Welcome screen of the GitHub Copilot CLI"},{"@type":"BreadcrumbList","@id":"https:\/\/github.blog\/ai-and-ml\/github-copilot\/building-an-emoji-list-generator-with-the-github-copilot-cli\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/github.blog\/"},{"@type":"ListItem","position":2,"name":"AI &amp; ML","item":"https:\/\/github.blog\/ai-and-ml\/"},{"@type":"ListItem","position":3,"name":"GitHub Copilot","item":"https:\/\/github.blog\/ai-and-ml\/github-copilot\/"},{"@type":"ListItem","position":4,"name":"Building an emoji list generator with the GitHub Copilot CLI"}]},{"@type":"WebSite","@id":"https:\/\/github.blog\/#website","url":"https:\/\/github.blog\/","name":"The GitHub Blog","description":"Updates, ideas, and inspiration from GitHub to help developers build and design software.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/github.blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/github.blog\/#\/schema\/person\/8cbae3ca030ca9cc37ec454ed2d3899c","name":"Cassidy Williams","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/237362eba6128d96de86c2146f325ba144bf2ee5179db26a8cebe817989eddd4?s=96&d=mm&r=g816df366299296021438072ea953bb49","url":"https:\/\/secure.gravatar.com\/avatar\/237362eba6128d96de86c2146f325ba144bf2ee5179db26a8cebe817989eddd4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/237362eba6128d96de86c2146f325ba144bf2ee5179db26a8cebe817989eddd4?s=96&d=mm&r=g","caption":"Cassidy Williams"},"description":"Cassidy is senior director for developer advocacy here at GitHub. She enjoys building software, advising startups, and teaching developers how to build better. She has a weekly newsletter at cassidoo.co\/newsletter where you can get her updates, practice coding problems, and a joke in your inbox!","sameAs":["http:\/\/cassidoo.co","linkedin.com\/in\/cassidoo","https:\/\/x.com\/cassidoo"],"jobTitle":"Sr. Director, Developer Advocacy, GitHub","url":"https:\/\/github.blog\/author\/cassidoo\/"}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/github.blog\/wp-content\/uploads\/2026\/04\/image-19.png?fit=2064%2C1076","jetpack_shortlink":"https:\/\/wp.me\/pamS32-oOL","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/posts\/95403","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/users\/2277"}],"replies":[{"embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/comments?post=95403"}],"version-history":[{"count":3,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/posts\/95403\/revisions"}],"predecessor-version":[{"id":95420,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/posts\/95403\/revisions\/95420"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/media\/95418"}],"wp:attachment":[{"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/media?parent=95403"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/categories?post=95403"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/tags?post=95403"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/coauthors?post=95403"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}