<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Michelle Duke</title>
    <description>The latest articles on Forem by Michelle Duke (@mishmanners).</description>
    <link>https://forem.com/mishmanners</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F397557%2F4eb4ece3-2832-407c-b933-f1b4b58829e6.jpg</url>
      <title>Forem: Michelle Duke</title>
      <link>https://forem.com/mishmanners</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/mishmanners"/>
    <language>en</language>
    <item>
      <title>Is voice the natural progression of artificial intelligence?</title>
      <dc:creator>Michelle Duke</dc:creator>
      <pubDate>Fri, 23 Jan 2026 00:43:14 +0000</pubDate>
      <link>https://forem.com/mishmanners/is-voice-the-natural-progression-of-artificial-intelligence-52le</link>
      <guid>https://forem.com/mishmanners/is-voice-the-natural-progression-of-artificial-intelligence-52le</guid>
      <description>&lt;p&gt;As humans, we learn to talk before we learn to read, write, or type. Voice is our most natural form of communication, yet in programming, we have long communicated with rigid computer languages, and even typing queries into our search engines. With AI rapidly reshaping how we build and use tools, voice is emerging as the next evolution for human–machine interaction.&lt;/p&gt;

&lt;p&gt;But this shift isn’t just about convenience. It’s about aligning technology with how humans already think, learn, and communicate.&lt;/p&gt;

&lt;h2&gt;
  
  
  Voice is our first interface
&lt;/h2&gt;

&lt;p&gt;Human language development follows a fairly consistent pattern. Long before we can read or write, we learn to communicate with sound:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;4-6 months: babies start babbling&lt;/li&gt;
&lt;li&gt;10-12 months: first words appear&lt;/li&gt;
&lt;li&gt;2-3 years old: children are forming simple sentences&lt;/li&gt;
&lt;li&gt;5-6 years: vocabulary explodes. This is where kids can tell stories, combine ideas, and hold increasingly complex conversations.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Reading and writing come later, often not fully fluent until eight to ten years old.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk7da90ni4svv8exw0xvz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk7da90ni4svv8exw0xvz.png" alt="How humans develop"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Everyone develops differently, and there are cultural variations, but the pattern is clear: speech comes first.&lt;/p&gt;

&lt;p&gt;Even as adults, voice remains our primary communication method. It’s immediate. It’s expressive. It carries emotion, intent, tone, and context. There’s very little friction compared to typing, reading, or navigating interfaces.&lt;/p&gt;

&lt;p&gt;Voice isn’t a feature we grow out of; it’s the interface we default to.&lt;/p&gt;

&lt;h2&gt;
  
  
  Computers learned the opposite way
&lt;/h2&gt;

&lt;p&gt;Now let’s contrast that with how computers evolved. Early machines didn’t meet humans where we were, instead we adapted to machines:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Late 1800s: punch cards were introduced for data processing, most famously for the US Census. They remained in use for decades. Interaction was physical, slow, and unforgiving.&lt;/li&gt;
&lt;li&gt;1960s: command-line interfaces emerged. They were powerful, but only if you knew the exact syntax. One wrong character, and the machine simply refused to cooperate. There was zero tolerance for mistakes.&lt;/li&gt;
&lt;li&gt;1970s: introduction of graphical user interfaces (GUI). Desktops, folders, icons, windows, and the mouse made computing more visual and approachable. This was a huge step forward, but interaction was still abstract: clicking representations of objects, not interacting naturally.&lt;/li&gt;
&lt;li&gt;1990s: touchscreen mobile devices. With pinch-to-zoom, swipes, and taps, interfaces became more physical and intuitive. Users could interact directly with content instead of through layers of abstraction.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv01856gon3v798tqi8zf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv01856gon3v798tqi8zf.png" alt="Computer development"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Voice, however, lagged behind.&lt;/p&gt;

&lt;p&gt;Early speech recognition systems existed as far back as the 1990s, but they were slow, brittle, and impractical. It wasn’t until mobile computing took off—with assistants like Siri—that voice became usable at scale.&lt;/p&gt;

&lt;p&gt;Computers started with structure, precision, and strict rules. Humans started with sound, experimentation, and ambiguity. We built machines backwards compared to how we learned ourselves.&lt;/p&gt;

&lt;p&gt;And interestingly, we did the same thing with AI.&lt;/p&gt;

&lt;h2&gt;
  
  
  Generative AI repeated the pattern
&lt;/h2&gt;

&lt;p&gt;Artificial intelligence as a concept dates back to the 1950s, when Alan Turing posed the question: Can machines really think? Early AI systems were symbolic, rule-based, and highly constrained.&lt;/p&gt;

&lt;p&gt;Fast forward through decades of research—first with neural networks in the 1980s and 1990s, and then deep learning in the early 2000s—and we eventually arrive at modern generative AI.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg5egkgeybc3vaagsi9ln.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg5egkgeybc3vaagsi9ln.jpg" alt="Alan Turing"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The release of large language models like GPT-3 marked a turning point. For the first time, machines could generate language that felt flexible, contextual, and human-like. Importantly, interaction shifted from strict commands to natural language prompts.&lt;/p&gt;

&lt;p&gt;But once again, we started with text.&lt;/p&gt;

&lt;p&gt;We typed prompts into boxes. We refined instructions. We engineered prompts the same way we used to engineer command-line inputs, just with more forgiveness.&lt;/p&gt;

&lt;p&gt;Voice came later.&lt;/p&gt;

&lt;p&gt;It's only been in the last few years that we've seen serious movement toward real-time speech-to-text, text-to-speech, and conversational systems that feel fluid rather than transactional.&lt;/p&gt;

&lt;p&gt;That delay wasn’t accidental.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why voice is hard (and always has been)
&lt;/h2&gt;

&lt;p&gt;Voice feels natural to humans, but it’s one of the hardest interfaces to build well.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuwxph0qmwarihc8rqigm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuwxph0qmwarihc8rqigm.png" alt="Frustrated developer"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Unlike text, speech is messy. People interrupt themselves. They change their mind mid-sentence. They use filler words, sarcasm, emotion, accents, and background noise. Timing matters. Silence matters. Tone matters.&lt;/p&gt;

&lt;p&gt;From a technical perspective, voice systems require multiple complex components working together in real time:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Accurate speech recognition across different environments and accents&lt;/li&gt;
&lt;li&gt;Low-latency processing so responses don’t feel delayed&lt;/li&gt;
&lt;li&gt;Natural-sounding text-to-speech that doesn’t break immersion&lt;/li&gt;
&lt;li&gt;Conversation state management so context isn’t lost&lt;/li&gt;
&lt;li&gt;Error handling for interruptions, corrections, and ambiguity&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And users are far less forgiving with voice than with text. A slow or robotic response breaks trust immediately. A misunderstood request feels personal. When voice fails, it fails loudly.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftga1nfg18hylv1a8xba8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftga1nfg18hylv1a8xba8.png" alt="Failing voice"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is why early voice assistants felt limited and scripted. They were command-driven, not conversational.&lt;/p&gt;

&lt;p&gt;What’s changed now is large language models finally give voice systems something they were missing: reasoning, context, and flexibility.&lt;/p&gt;

&lt;h2&gt;
  
  
  The third generation of conversational AI
&lt;/h2&gt;

&lt;p&gt;We’re now entering what’s often called the third generation of voice AI.&lt;/p&gt;

&lt;p&gt;The first generation was assistants like Siri. Yes, Siri was impressive, but narrow. The second generation, defined by systems like Alexa, focused on skills and integrations, but still struggled with real conversation.&lt;/p&gt;

&lt;p&gt;The next wave is different.&lt;/p&gt;

&lt;p&gt;Modern voice AI systems aim to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Handle interruptions naturally&lt;/li&gt;
&lt;li&gt;Maintain context across topics and time&lt;/li&gt;
&lt;li&gt;Resume conversations after breaks&lt;/li&gt;
&lt;li&gt;Share information across systems&lt;/li&gt;
&lt;li&gt;Understand intent, not just commands and specific words&lt;/li&gt;
&lt;li&gt;Sound natural and emotionally appropriate&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These systems aren’t just answering questions. They’re helping users achieve their goals.&lt;/p&gt;

&lt;p&gt;This is where voice stops being a novelty and starts becoming an interface paradigm.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fslrnxrl58xwbmjdoslpz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fslrnxrl58xwbmjdoslpz.png" alt="Communicating with robots"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why voice is the next frontier
&lt;/h2&gt;

&lt;p&gt;Voice is powerful because it’s hands-free and eyes-free. It’s fast. It’s expressive. It reduces cognitive load. There’s no backspacing, no form fields, no menus to learn.&lt;/p&gt;

&lt;p&gt;It’s also inherently more accessible. Voice lowers barriers for users who can’t easily type, read, or navigate traditional interfaces. It works in real-time situations where screens simply aren’t practical. Think a parent holding a child, a person who is injured or limited mobility, or even those trying to multitask.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcwyao1ufza762y5uiyvj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcwyao1ufza762y5uiyvj.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;But more than that, voice changes how we design software.&lt;/p&gt;

&lt;p&gt;When users talk to systems the way they talk to each other, the line between human and machine starts to blur. That brings ethical questions. Those conversations definitely matter, but this technological breakthrough also opens up enormous opportunity.&lt;/p&gt;

&lt;p&gt;Just look at what's becoming possible with the new Razer AI voice systems:&lt;/p&gt;

&lt;p&gt;

&lt;/p&gt;
&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/mishmanners/razer-aikit-open-source-local-first-ai-workflows-for-developers-4nig" class="crayons-story__hidden-navigation-link"&gt;Razer AIKit: Open-Source, Local-First AI Workflows for Developers&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/mishmanners" class="crayons-avatar  crayons-avatar--l  "&gt;
            &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F397557%2F4eb4ece3-2832-407c-b933-f1b4b58829e6.jpg" alt="mishmanners profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/mishmanners" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Michelle Duke
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Michelle Duke
                
              
              &lt;div id="story-author-preview-content-3181489" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/mishmanners" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&gt;
                        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F397557%2F4eb4ece3-2832-407c-b933-f1b4b58829e6.jpg" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Michelle Duke&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/mishmanners/razer-aikit-open-source-local-first-ai-workflows-for-developers-4nig" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Jan 19&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/mishmanners/razer-aikit-open-source-local-first-ai-workflows-for-developers-4nig" id="article-link-3181489"&gt;
          Razer AIKit: Open-Source, Local-First AI Workflows for Developers
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag crayons-tag--filled  " href="/t/news"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;news&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/ai"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;ai&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/opensource"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;opensource&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/mishmanners/razer-aikit-open-source-local-first-ai-workflows-for-developers-4nig" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;1&lt;span class="hidden s:inline"&gt; reaction&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/mishmanners/razer-aikit-open-source-local-first-ai-workflows-for-developers-4nig#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              &lt;span class="hidden s:inline"&gt;Add Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            2 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;




&lt;p&gt;For the first time, we’ve built systems that adapt to humans, instead of forcing humans to adapt to systems.&lt;/p&gt;

&lt;h2&gt;
  
  
  So what do we build now?
&lt;/h2&gt;

&lt;p&gt;Voice AI feels like a return to something fundamental. After decades of abstraction layers, command syntax, and graphical metaphors, we’re finally interacting with computers in the same way we interact with each other.&lt;/p&gt;

&lt;p&gt;AI is going to talk back to us.&lt;/p&gt;

&lt;p&gt;The real question for developers isn’t whether voice is coming; instead, the question is: what we’re going to build to make it useful, meaningful, and worth the effort?&lt;/p&gt;

&lt;p&gt;Because the interface is finally human. Now the responsibility is ours.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>voice</category>
      <category>programming</category>
      <category>development</category>
    </item>
    <item>
      <title>Razer AIKit: Open-Source, Local-First AI Workflows for Developers</title>
      <dc:creator>Michelle Duke</dc:creator>
      <pubDate>Mon, 19 Jan 2026 06:06:07 +0000</pubDate>
      <link>https://forem.com/mishmanners/razer-aikit-open-source-local-first-ai-workflows-for-developers-4nig</link>
      <guid>https://forem.com/mishmanners/razer-aikit-open-source-local-first-ai-workflows-for-developers-4nig</guid>
      <description>&lt;p&gt;If you saw Razer's announcements at CES, you might have seen Razer's Project Ava: an AI companion for your desk:&lt;/p&gt;

&lt;p&gt;

  &lt;iframe src="https://www.youtube.com/embed/_QDthx_WjwE"&gt;
  &lt;/iframe&gt;


&lt;/p&gt;

&lt;p&gt;Well, Razer isn’t just building AI companions and game-centric assistants, it’s also putting serious tools into the hands of developers who want to build, train, and fine-tune AI models without being locked into the cloud.&lt;/p&gt;

&lt;p&gt;Last year I wrote about the new Razer AI Game Copilot that can help you build games better. Now Razer is taking it one step further.&lt;/p&gt;

&lt;p&gt;

&lt;/p&gt;
&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/mishmanners/game-developers-use-ai-to-build-your-game-with-razer-ai-game-copilot-3290" class="crayons-story__hidden-navigation-link"&gt;Game developers: use AI to build your game with Razer AI Game Copilot&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/mishmanners" class="crayons-avatar  crayons-avatar--l  "&gt;
            &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F397557%2F4eb4ece3-2832-407c-b933-f1b4b58829e6.jpg" alt="mishmanners profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/mishmanners" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Michelle Duke
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Michelle Duke
                
              
              &lt;div id="story-author-preview-content-2376987" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/mishmanners" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&gt;
                        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F397557%2F4eb4ece3-2832-407c-b933-f1b4b58829e6.jpg" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Michelle Duke&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/mishmanners/game-developers-use-ai-to-build-your-game-with-razer-ai-game-copilot-3290" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Apr 3 '25&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/mishmanners/game-developers-use-ai-to-build-your-game-with-razer-ai-game-copilot-3290" id="article-link-2376987"&gt;
          Game developers: use AI to build your game with Razer AI Game Copilot
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag crayons-tag--filled  " href="/t/news"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;news&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/gamedev"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;gamedev&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/mishmanners/game-developers-use-ai-to-build-your-game-with-razer-ai-game-copilot-3290" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;1&lt;span class="hidden s:inline"&gt; reaction&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/mishmanners/game-developers-use-ai-to-build-your-game-with-razer-ai-game-copilot-3290#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              &lt;span class="hidden s:inline"&gt;Add Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            2 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;




&lt;h2&gt;
  
  
  A developer toolkit, not just another SDK.
&lt;/h2&gt;

&lt;p&gt;At its core, &lt;a href="https://www.razer.ai/aikit/" rel="noopener noreferrer"&gt;Razer AIKit&lt;/a&gt; is an open-source AI development platform designed to streamline the entire AI lifecycle. Instead of wrestling with cloud setup, fragmented tooling, and manual GPU configuration, developers can launch and optimise large language models (LLMs) locally — with performance comparable to cloud instances.&lt;/p&gt;

&lt;p&gt;Key strengths include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Automatic GPU discovery and cluster formation: AIKit detects compatible GPUs on a system and orchestrates them as an efficient cluster, removing a lot of the manual plumbing that typically slows down local AI workflows.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Low-latency, local-first model tuning and inference: With everything running on-premise, latency drops and developers get full control over data and performance.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/razerofficial/aikit" rel="noopener noreferrer"&gt;Open-source on GitHub&lt;/a&gt;: The entire platform is available for developers to inspect, extend, and improve. This is a big plus for anyone building specialised AI tools or research workflows.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This isn’t tied exclusively to Razer hardware. Razer AIKit runs on any system with a compatible GPU. Saying that, it plays especially well with Razer’s expanding AI ecosystem, including workstations and accelerators.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffn73xf3y78gd1sm9plx6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffn73xf3y78gd1sm9plx6.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What does this mean for us developers?
&lt;/h2&gt;

&lt;p&gt;For game developers, software engineers, and AI researchers alike, Razer AIKit fills a gap between heavyweight cloud services and lightweight local experiments. Instead of juggling disparate tools, AIKit offers a single, scalable platform that supports both training and inference. At the same time, code and models are kept close to home, without cloud fees or data egress time.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqjwlbi99px6gsd4dgtkf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqjwlbi99px6gsd4dgtkf.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It’s a logical next step from Razer’s earlier announcements (like the AI Game Copilot you wrote about), signalling that the company wants to support both creators and the tools they use, not just deploy finished AI experiences.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>news</category>
      <category>opensource</category>
    </item>
    <item>
      <title>How to customise the way GitHub Copilot responds</title>
      <dc:creator>Michelle Duke</dc:creator>
      <pubDate>Thu, 04 Dec 2025 02:34:18 +0000</pubDate>
      <link>https://forem.com/mishmanners/how-to-customise-the-way-github-copilot-responds-3bp7</link>
      <guid>https://forem.com/mishmanners/how-to-customise-the-way-github-copilot-responds-3bp7</guid>
      <description>&lt;p&gt;Have you been prompting GitHub Copilot a lot? Sometimes you might write the same or similar prompts over and over again. It can be super annoying to tell GitHub Copilot how to interpret and react to a prompt every single time we write in the chat. That's where custom instructions come in handy and can really help supercharge your workflow.&lt;/p&gt;

&lt;p&gt;Sometimes there are organisation-, company-, or project-specific policies and guidelines that you need to adhere to. For example, you might have set frameworks and tools you use. Your project or community might specify a certain method for naming functions, or guidelines for writing comments. Rather than tell these instructions to Copilot every time, we can save this type of information to make our development even smoother.&lt;/p&gt;

&lt;p&gt;There are two main ways we can customise the way GitHub Copilot responds to prompts. These are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Custom instructions&lt;/li&gt;
&lt;li&gt;Prompt files&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Custom instructions
&lt;/h2&gt;

&lt;p&gt;These are instructions help to guide GitHub Copilot on the way we want GitHub Copilot to behave. Instructions can be given and used in various ways. At the time of writing, these are the custom instructions available:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Personal custom instructions.&lt;/li&gt;
&lt;li&gt;Repository-wide custom instructions: these will be read by the whole repo.&lt;/li&gt;
&lt;li&gt;Path-specific custom instructions: these will be read by a specific file only.&lt;/li&gt;
&lt;li&gt;Organization custom instructions: used at the Organization level and set by Org Owners with a Copilot Enterprise subscription.&lt;/li&gt;
&lt;li&gt;Agent instructions: used by AI Agents.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Personal custom instructions
&lt;/h3&gt;

&lt;p&gt;This is a way to interact with GitHub Copilot on the web, and provide a way for GitHub Copilot to interpret the prompt we are writing in the chat.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuy3p83cya1dh5efrf9tu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuy3p83cya1dh5efrf9tu.png" alt="GitHub Copilot chat on the web"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let's try out personal custom instructions:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open &lt;a href="https://github.com/copilot" rel="noopener noreferrer"&gt;GitHub Copilot on the web&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Enter a prompt to convert numbers into Roman numerals. Something like:
&lt;code&gt;Create a JavaScript function that converts numbers into Roman numerals&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;See the output.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Now let's add a custom instruction to change how Copilot interprets the prompt:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Access your GitHub Copilot settings by going to your Profile → Personal instructions.&lt;/li&gt;
&lt;li&gt;In the pop-up, enter some instructions, such as:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Always do the following when writing functions:
- Add descriptive comments
- Add input validation
- Use returns early to account for error conditions
- Use meaningful variable names
- Include at least one example usage in comments
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ol&gt;
&lt;li&gt;Re-enter the same prompt and analyse the differences.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://docs.github.com/en/copilot/tutorials/customization-library/custom-instructions/your-first-custom-instructions" rel="noopener noreferrer"&gt;You can read more about custom instructions on the GitHub Docs&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;
  
  
  Repository-wide custom instructions
&lt;/h3&gt;

&lt;p&gt;Creating instructions at the repository level is useful for telling GitHub Copilot how to act for a certain project. If you are using specific frameworks, coding languages, or comments, it ensures everyone is on the same page and Copilot can always perform the same for everyone.&lt;/p&gt;

&lt;p&gt;For repo-specific instructions, we need to create a &lt;code&gt;copilot-instructions.md&lt;/code&gt; file in the &lt;code&gt;.github&lt;/code&gt; directory. There are two ways we can achieve this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Writing our own from scratch.&lt;/li&gt;
&lt;li&gt;Getting GitHub Copilot to write them for us.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Custom repo instructions should also already be set to on by default:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr43y59t9g66in05zt9bm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr43y59t9g66in05zt9bm.png" alt="Copilot Code review custom instructions"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let's write our own custom instructions:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;In your editor, open your repo.&lt;/li&gt;
&lt;li&gt;Create a new &lt;code&gt;copilot-instructions.md&lt;/code&gt; in the &lt;code&gt;.github&lt;/code&gt; directory.&lt;/li&gt;
&lt;li&gt;Write instructions in natural language using markdown, including something like:
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Project Overview

This project [describe your project]

## Folder Structure

[list the folder structure]

## Libraries and Frameworks

[list any libraries it uses]

## Coding Standards

[list your coding standards]

## UI guidelines

[list your UI guidelines standards]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;This can seem like a lot of work, so we can get GitHub Copilot to write custom instructions for us instead. There are a couple of ways we can do this:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Go to the &lt;a href="https://github.com/copilot/agents" rel="noopener noreferrer"&gt;GitHub Copilot Agents page&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Select your repo from the dropdown.&lt;/li&gt;
&lt;li&gt;Enter the following:
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Your task is [describe the task] by adding a .github/copilot-instructions.md file in the repository.

&amp;lt;Goals&amp;gt;
[outline the goals you want GitHub Copilot to achieve]
&amp;lt;/Goals&amp;gt;

&amp;lt;Limitations&amp;gt;
[add limitations such as length or task-specific]

&amp;lt;WhatToAdd&amp;gt;
Add the following high-level details about the codebase to reduce the amount of searching the agent has to do to understand the codebase each time:
&amp;lt;HighLevelDetails&amp;gt;
- A summary of what the repository does.
- High-level repository information, such as the size of the repo, the type of the project, the languages, frameworks, or target runtimes in use.
&amp;lt;/HighLevelDetails&amp;gt;

Add information about how to build and validate changes so the agent does not need to search and find it each time.
&amp;lt;BuildInstructions&amp;gt;
[put in some build instructions]
&amp;lt;/BuildInstructions&amp;gt;

List key facts about the layout and architecture of the codebase to help the agent find where to make changes with minimal searching.
&amp;lt;ProjectLayout&amp;gt;
[add in what the project does and how it works]
&amp;lt;/ProjectLayout&amp;gt;
&amp;lt;/WhatToAdd&amp;gt;

&amp;lt;StepsToFollow&amp;gt;
[what should GitHub Copilot do, maybe perform search of what's available, scripts etc., then think]
&amp;lt;/StepsToFollow&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ol&gt;
&lt;li&gt;Click the arrow or press enter.&lt;/li&gt;
&lt;li&gt;Analyse the output and adjust if needed.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;We can also have VS Code do it all for us:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open the repo you'd like custom instructions for.&lt;/li&gt;
&lt;li&gt;In the chat menu, click the "Settings icon".&lt;/li&gt;
&lt;li&gt;Click "Generate instructions".&lt;/li&gt;
&lt;li&gt;In the chat window, view the steps GitHub Copilot took.&lt;/li&gt;
&lt;li&gt;Review the &lt;code&gt;.copilot-instructions.md&lt;/code&gt; file.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://docs.github.com/en/copilot/how-tos/configure-custom-instructions/add-repository-instructions" rel="noopener noreferrer"&gt;Read more about custom repo instructions on the GitHub Docs&lt;/a&gt;.&lt;/p&gt;
&lt;h4&gt;
  
  
  Path-specific custom instructions
&lt;/h4&gt;

&lt;p&gt;These are similar to repo instructions, but can be created for specific files. This is useful if we only want Copilot to apply logic to a certain file in the repo. Path-specific instructions are currently only supported by VS Code and JetBrains IDEs.&lt;/p&gt;

&lt;p&gt;Create path-specific instructions by:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;In your editor, open the repo where you want to make a file-specific instruction.&lt;/li&gt;
&lt;li&gt;Create a new folder called &lt;code&gt;instructions&lt;/code&gt; under the &lt;code&gt;.github&lt;/code&gt; directory.&lt;/li&gt;
&lt;li&gt;Create a new file called &lt;code&gt;NAME.instructions.md&lt;/code&gt;. NAME should indicate the purpose of the instructions. You can create as many of these instructions as you like.&lt;/li&gt;
&lt;li&gt;Open the file and on the first line write: &lt;code&gt;applyTo: "app/models/**/*.rb"&lt;/code&gt; to indicate which files you want the instructions to apply to. You can specify multiple files by using a comma: &lt;code&gt;applyTo: "**/*.ts,**/*.tsx"&lt;/code&gt;. You can also apply the instructions to all files using &lt;code&gt;applyTo: "**"&lt;/code&gt;. This is useful if you're creating multiple instructions and you want some high level instructions to apply to everything and other sub-instructions to apply to specific files.&lt;/li&gt;
&lt;li&gt;Add instructions again using natural language in markdown.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;
  
  
  Organization custom instructions
&lt;/h3&gt;

&lt;p&gt;Instructions can also be set at the organization level and are useful for enforcing your company's, team's, or community's policies and guidelines. Org custom instructions are currently in public preview, and can only be set by Org Owners with a Copilot Enterprise subscription.&lt;/p&gt;

&lt;p&gt;You can read more about it &lt;a href="https://github.blog/changelog/2025-04-17-organization-custom-instructions-now-available/" rel="noopener noreferrer"&gt;in the GitHub announcement blog post&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;
  
  
  Agent instructions
&lt;/h3&gt;

&lt;p&gt;A lot of people are now using AI Agents, and you can write instructions for them too. These instructions are used by AI Agents to dictate how they perform. The &lt;code&gt;AGENTS.md&lt;/code&gt; file can sit anywhere in your repository, and is written with natural language in markdown. It's an open format for guiding coding agents. You can also use a &lt;code&gt;CLAUDE.md&lt;/code&gt; or &lt;code&gt;GEMINI.md&lt;/code&gt; file that will sit in the root of your repo.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/openai/agents.md/blob/main/AGENTS.md" rel="noopener noreferrer"&gt;Check out the Open AI example of how instructions should be written for coding Agents&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;
  
  
  Prompt files
&lt;/h2&gt;

&lt;p&gt;Now that you have a handle on all the custom instructions, let's look at prompt files. These differ as they are reusable prompts for specific tasks that we can call via the chat window. For example, instead of using &lt;code&gt;@workspace&lt;/code&gt; in Copilot chat to look at the entire workspace, you can call a custom file you've already created. This is useful for setting up lots of types of prompting files, think explaining code, writing tests, and documentation.&lt;/p&gt;

&lt;p&gt;Prompt files are currently in public preview and only available in VS Code and JetBrains IDEs. Let's look at each of these and what they do.&lt;/p&gt;

&lt;p&gt;We can create prompt files by doing the following:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;In your editor, open the repository where you want to create a prompt file.&lt;/li&gt;
&lt;li&gt;Create a new folder called &lt;code&gt;prompts&lt;/code&gt; under the &lt;code&gt;.github&lt;/code&gt; directory.&lt;/li&gt;
&lt;li&gt;Create a new file in this new folder and name the file &lt;code&gt;explain-code.prompt.md&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Enter the information you want your prompt to output or perform. As an example, you can use this prompt that helps with writing clear and well-documented code:
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;---
mode: 'agent'
description: 'Generate a clear code explanation with examples'
---

Explain the following code in a clear, beginner-friendly way:

Code to explain: ${input:code:Paste your code here}
Target audience: ${input:audience:Who is this explanation for? (e.g., beginners, intermediate developers, etc.)}

Please provide:

* A brief overview of what the code does
* A step-by-step breakdown of the main parts
* Explanation of any key concepts or terminology
* A simple example showing how it works
* Common use cases or when you might use this approach

Use clear, simple language and avoid unnecessary jargon.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ol&gt;
&lt;li&gt;Go to the GitHub Copilot chat window and switch to "Agent" mode.&lt;/li&gt;
&lt;li&gt;Type &lt;code&gt;/explain-code&lt;/code&gt; and review the output.&lt;/li&gt;
&lt;li&gt;You should also notice that your new prompt file is being used as the reference.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F71hipq624u28wb682790.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F71hipq624u28wb682790.png" alt="Promp files remain in prompts folder"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When working with any type of custom prompting, we can always check to see if the instructions we've written above were used by checking which references were used in the chatbox.&lt;/p&gt;
&lt;h1&gt;
  
  
  Prompt engineering and customising your prompts
&lt;/h1&gt;

&lt;p&gt;Custom instructions and prompt files aren’t just nice-to-haves, they’re powerful ways to shape how GitHub Copilot works for you. Pair these with &lt;a href="https://dev.to/github/prompt-engineering-for-ai-what-is-prompt-engineering-and-how-to-get-good-results-from-ai-engines-5ch6"&gt;strong prompting skills&lt;/a&gt; and an ethical approach to AI, and you’ll level up your entire development workflow. If you want a refresher, check out the articles on prompt engineering and responsible AI. They’re quick reads that reinforce the principles behind everything we’ve covered here.&lt;/p&gt;

&lt;p&gt;

&lt;/p&gt;
&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/mishmanners/responsible-use-of-ai-for-developers-ethics-and-prompting-with-purpose-1on5" class="crayons-story__hidden-navigation-link"&gt;Responsible use of AI for developers: Ethics and prompting with purpose&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/mishmanners" class="crayons-avatar  crayons-avatar--l  "&gt;
            &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F397557%2F4eb4ece3-2832-407c-b933-f1b4b58829e6.jpg" alt="mishmanners profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/mishmanners" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Michelle Duke
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Michelle Duke
                
              
              &lt;div id="story-author-preview-content-2942522" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/mishmanners" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&gt;
                        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F397557%2F4eb4ece3-2832-407c-b933-f1b4b58829e6.jpg" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Michelle Duke&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/mishmanners/responsible-use-of-ai-for-developers-ethics-and-prompting-with-purpose-1on5" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Oct 20 '25&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/mishmanners/responsible-use-of-ai-for-developers-ethics-and-prompting-with-purpose-1on5" id="article-link-2942522"&gt;
          Responsible use of AI for developers: Ethics and prompting with purpose
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/ai"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;ai&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/devops"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;devops&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/productivity"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;productivity&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/machinelearning"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;machinelearning&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/mishmanners/responsible-use-of-ai-for-developers-ethics-and-prompting-with-purpose-1on5" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;4&lt;span class="hidden s:inline"&gt; reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/mishmanners/responsible-use-of-ai-for-developers-ethics-and-prompting-with-purpose-1on5#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              2&lt;span class="hidden s:inline"&gt; comments&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            2 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;/div&gt;





</description>
      <category>github</category>
      <category>githubcopilot</category>
      <category>ai</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Celebrating All Hallow's Eve</title>
      <dc:creator>Michelle Duke</dc:creator>
      <pubDate>Wed, 05 Nov 2025 03:23:27 +0000</pubDate>
      <link>https://forem.com/mishmanners/celebrating-all-hallows-eve-164p</link>
      <guid>https://forem.com/mishmanners/celebrating-all-hallows-eve-164p</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for &lt;a href="https://dev.to/challenges/frontend-2025-10-15"&gt;Frontend Challenge - Halloween Edition, CSS Art&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Inspiration
&lt;/h2&gt;

&lt;p&gt;For my submission, I went for something a little different than the jack-o-lanterns 🎃 and spooky things 👻 we often think about during Halloween. I wanted to create something that captures the essence of what Halloween really means, not just costumes and candy, but remembrance.&lt;/p&gt;

&lt;p&gt;Thus, I created a beautiful webpage featuring a flickering candle on a lovely wooden table. It's a simple, peaceful symbol of what Halloween, AKA All Hallows' Eve, really means: the night we remember all those who came before us, and who have now journeyed onward. A candle is such a simple object, yet it carries deep symbolism: light in the darkness 🕯️, warmth 🔥, and memory. Translating that into a webpage allowed me to combine some artistic creativity with CSS and web animation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;My website is built mostly with CSS, with just a tiny sprinkle of JavaScript to enhance the flicker. You can see the &lt;a href="https://mishmanners.github.io/candle-webpage/" rel="noopener noreferrer"&gt;project live&lt;/a&gt; with my use of GitHub Pages:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxfjbimobpluy05n8epkx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxfjbimobpluy05n8epkx.png" alt="Website home page"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This project was primarily CSS-driven, which aligns perfectly with the CSS Art challenge guidelines. Some of the techniques I explored included:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Gradients and layering&lt;/strong&gt;: Creating the soft glow of the candle flame required multiple layers and subtle gradients to mimic light diffusion.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Animations and keyframes&lt;/strong&gt;: The flicker effect is achieved by animating opacity, transform, and shadow offsets to make the flame feel alive.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Minimal JavaScript&lt;/strong&gt;: Just enough to add a slight randomness to the flicker, with the star of the show being still pure CSS ⭐.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is probably my favourite piece of CSS:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="c"&gt;/* Flame with inner core and outer glow */&lt;/span&gt;
&lt;span class="nc"&gt;.flame&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;absolute&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;top&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;-200px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
    &lt;span class="nl"&gt;left&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;50%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;transform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;translateX&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;-50%&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;24px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;  
    &lt;span class="nl"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;300px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
    &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;radial-gradient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;circle&lt;/span&gt; &lt;span class="n"&gt;at&lt;/span&gt; &lt;span class="m"&gt;50%&lt;/span&gt; &lt;span class="m"&gt;30%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;#fff6c8&lt;/span&gt; &lt;span class="m"&gt;0%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;#ffd35b&lt;/span&gt; &lt;span class="m"&gt;18%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;rgba&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;255&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;153&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;34&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;0.95&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="m"&gt;42%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;rgba&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;255&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;100&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;20&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;0.6&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="m"&gt;70%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;transparent&lt;/span&gt; &lt;span class="m"&gt;71%&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;50%&lt;/span&gt; &lt;span class="m"&gt;50%&lt;/span&gt; &lt;span class="m"&gt;40%&lt;/span&gt; &lt;span class="m"&gt;40%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;filter&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;blur&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;0.6px&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="nl"&gt;z-index&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;4&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="py"&gt;mix-blend-mode&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;screen&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;transform-origin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;bottom&lt;/span&gt; &lt;span class="nb"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;animation&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flame-flicker&lt;/span&gt; &lt;span class="m"&gt;1.2s&lt;/span&gt; &lt;span class="n"&gt;infinite&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;The website is also responsive, meaning if you change the dimensions, the candle will adjust accordingly:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzzjlk5wdbqljynsry10u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzzjlk5wdbqljynsry10u.png" alt="Mobile responsive"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Journey
&lt;/h2&gt;



&lt;p&gt;I'm one of those visual learners, I love seeing things actually work. This is one of the reasons I love CSS so much: you change something and something visibly changes. Even after years of working with CSS, this project reminded me how powerful CSS can be for creating fun, realistic effects. I experimented with colours and layering, and the result feels very much alive. It's not perfect and doesn't replace my physical candle, but working with this CSS shows the power of effects.&lt;/p&gt;

&lt;p&gt;This project also reinforced a concept that something small (such as a candle, or a small change in the CSS), can be more impactful than overloading a scene with too many details.&lt;/p&gt;
&lt;h2&gt;
  
  
  CSS artwork
&lt;/h2&gt;

&lt;p&gt;CSS Art isn’t always about flashy visuals. It can be about storytelling through code. By combining design sensibilities with CSS techniques, you can create something that resonates emotionally while still impressing technically.&lt;/p&gt;

&lt;p&gt;If you want to explore it yourself, check out the &lt;a href="https://dev.tomishmanners/candle-webpage"&gt;code in my GitHub repo&lt;/a&gt; and &lt;a href="https://mishmanners.github.io/candle-webpage/" rel="noopener noreferrer"&gt;the live demo&lt;/a&gt; powered by GitHub Pages. For anyone entering the CSS Art challenge, remember: let your creativity guide your styles, but keep the CSS at the heart of the project:&lt;/p&gt;

&lt;p&gt;

&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/mishmanners" rel="noopener noreferrer"&gt;
        mishmanners
      &lt;/a&gt; / &lt;a href="https://github.com/mishmanners/candle-webpage" rel="noopener noreferrer"&gt;
        candle-webpage
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Celebrating All Hallow's Eve&lt;/h1&gt;

&lt;/div&gt;

&lt;p&gt;This project creates a beautiful webpage featuring a flickering candle on a lovely wooden table. The candle symbolises remembrance, showing why we celebrate Halloween, AKA All Hallow's Eve.&lt;/p&gt;

&lt;p&gt;This is a submission for the &lt;a href="https://dev.to/challenges/frontend-2025-10-15" rel="nofollow"&gt;DEV Frontend Challenge&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/36594527/509903799-0ca0f8be-35c7-484c-a3e8-09082bf02151.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQ2NDEyMTgsIm5iZiI6MTc3NDY0MDkxOCwicGF0aCI6Ii8zNjU5NDUyNy81MDk5MDM3OTktMGNhMGY4YmUtMzVjNy00ODRjLWEzZTgtMDkwODJiZjAyMTUxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjclMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzI3VDE5NDgzOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTViZDUzMzk3MDc2YzhlODM5ZmU4YzRlYjMwYjJkNjVlYThmMTIyNjVkNmM1MGZhNzE4MzEyMWNkODhhY2UxMjImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.4gG-C9en5nugpdAS0gxpzuhdZnx_Tmr7zWITpe_6o9Y"&gt;&lt;img width="1374" height="1054" alt="Website home page" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fprivate-user-images.githubusercontent.com%2F36594527%2F509903799-0ca0f8be-35c7-484c-a3e8-09082bf02151.png%3Fjwt%3DeyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQ2NDEyMTgsIm5iZiI6MTc3NDY0MDkxOCwicGF0aCI6Ii8zNjU5NDUyNy81MDk5MDM3OTktMGNhMGY4YmUtMzVjNy00ODRjLWEzZTgtMDkwODJiZjAyMTUxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjclMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzI3VDE5NDgzOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTViZDUzMzk3MDc2YzhlODM5ZmU4YzRlYjMwYjJkNjVlYThmMTIyNjVkNmM1MGZhNzE4MzEyMWNkODhhY2UxMjImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.4gG-C9en5nugpdAS0gxpzuhdZnx_Tmr7zWITpe_6o9Y"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Setup Instructions&lt;/h2&gt;

&lt;/div&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Clone the Repository&lt;/strong&gt;:&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;git clone &lt;span class="pl-k"&gt;&amp;lt;&lt;/span&gt;repository-url&lt;span class="pl-k"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="pl-c1"&gt;cd&lt;/span&gt; candle-webpage&lt;/pre&gt;

&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Open the Project&lt;/strong&gt;:
Open the &lt;code&gt;src/index.html&lt;/code&gt; file in your web browser to view the webpage.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Modify Styles&lt;/strong&gt;:
You can customise the appearance of the candle and text by editing the &lt;code&gt;src/css/styles.css&lt;/code&gt; file.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Flickering Effect&lt;/strong&gt;:
The flickering effect of the candlelight is controlled by the &lt;code&gt;src/js/main.js&lt;/code&gt; file. You can adjust the animation parameters as needed.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;br&gt;
&lt;br&gt;
  &lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/mishmanners/candle-webpage" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;





&lt;p&gt;Happy Halloween, and happy coding 🕯️🎃.&lt;/p&gt;

</description>
      <category>frontendchallenge</category>
      <category>devchallenge</category>
      <category>css</category>
    </item>
    <item>
      <title>Code, community, and copilot. AI is changing the way we contribute</title>
      <dc:creator>Michelle Duke</dc:creator>
      <pubDate>Mon, 03 Nov 2025 00:55:29 +0000</pubDate>
      <link>https://forem.com/mishmanners/code-community-and-copilot-ai-is-changing-the-way-we-contribute-2b3n</link>
      <guid>https://forem.com/mishmanners/code-community-and-copilot-ai-is-changing-the-way-we-contribute-2b3n</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest2025"&gt;2025 Hacktoberfest Writing Challenge&lt;/a&gt;: Contribution Chronicles&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://hacktoberfest.com/" rel="noopener noreferrer"&gt;Hacktoberfest&lt;/a&gt; is always one of my favourite times of year. It's a month filled with learning, sharing, and connecting through open source. Every year, I try to dive into a few new projects, meet new communities, and stretch my technical skills. This year, my main contribution highlights were to &lt;a href="https://github.com/appwrite/appwrite" rel="noopener noreferrer"&gt;Appwrite&lt;/a&gt;, &lt;a href="https://github.com/ToolJet/ToolJet" rel="noopener noreferrer"&gt;ToolJet&lt;/a&gt;, and for the first time, &lt;a href="https://github.com/home-assistant/core" rel="noopener noreferrer"&gt;Home Assistant's Core&lt;/a&gt;, and I learned tonnes along the way.&lt;/p&gt;

&lt;h3&gt;
  
  
  Learning through contributions
&lt;/h3&gt;

&lt;p&gt;One of the things I love most about open source is how it forces you to learn by doing. Each project has its own way of working, its own tech stack, and its own community culture. Appwrite, for instance, has such a rich and well-documented environment that made it a great place to dive deep into backend systems and authentication flows. ToolJet, on the other hand, gave me the chance to explore where no-code meets open source. Contributing in this way helps others build faster, and that was both challenging and rewarding.&lt;/p&gt;

&lt;p&gt;And then there was Core, my first contributions to the project. Jumping into a new codebase can feel like walking into a library where every book is written in a slightly different language. But that’s the beauty of open source: you learn to navigate new structures, styles, and expectations, while discovering just how welcoming maintainers can be when you ask questions or offer suggestions.&lt;/p&gt;

&lt;p&gt;I also love how we are rewarded for our contributions through &lt;a href="https://www.holopin.io/" rel="noopener noreferrer"&gt;Holopin&lt;/a&gt;. It's a fun way to showcase your involvement in technology, collect badges, and curate your board:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flr23by617cl19nq2ifb0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flr23by617cl19nq2ifb0.png" alt="Hacktoberfest 2025: Level 0 Registered Holopin badge" width="800" height="409"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can even add your board to your GitHub profile:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5bjf3xh4mlixarqy6s59.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5bjf3xh4mlixarqy6s59.png" alt="Holopin profile on GitHub MishManners" width="800" height="303"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  AI is changing the way we contribute
&lt;/h3&gt;

&lt;p&gt;This Hacktoberfest, I noticed something a little different. It's not just how I contributed, but how I learned. AI tools like GitHub Copilot, Copilot for Pull Requests, and CodeRabbit are becoming a natural part of the contribution process. They’re helping contributors (like me!) catch small issues early, suggest cleaner code, and even guide commit messages.&lt;/p&gt;

&lt;p&gt;GitHub Copilot is also helping review the code with useful summaries and updates on PRs:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1h2gu0qbghzggtzhp7sf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1h2gu0qbghzggtzhp7sf.png" alt="Copilot Pull Request Overview" width="800" height="493"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What’s even more powerful is how these tools support maintainers. Code review can be a time-consuming process, especially during Hacktoberfest when contributions flood in. But with AI-assisted code reviews and automation checks, maintainers can focus on the things that make sense: architecture, logic, human decisions, instead of being bogged down in syntax or formatting issues. As an example, I contributed to &lt;a href="https://github.com/EbookFoundation/free-programming-books" rel="noopener noreferrer"&gt;EbookFoundation&lt;/a&gt; and their &lt;a href="https://github.com/features/actions" rel="noopener noreferrer"&gt;GitHub Actions&lt;/a&gt; bot picked up if any resources were placed in the incorrect order:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F26kdczbg6acolm7ebc2f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F26kdczbg6acolm7ebc2f.png" alt="GitHub Actions bot Linter failed, fix the errors" width="800" height="248"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We're now working in a hybrid world where human creativity meets AI assistance, and the result is faster learning and more maintainable projects.&lt;/p&gt;

&lt;h3&gt;
  
  
  Growing together
&lt;/h3&gt;

&lt;p&gt;Hacktoberfest has always been about growth, both individual and collective. This year, I learned how to learn better and work with automation tools. I learned how to communicate more clearly in PRs, how to write more descriptive commit messages (thanks, Copilot!), and how to think about maintainability from a maintainer’s perspective.&lt;/p&gt;

&lt;p&gt;I also saw first-hand how open source communities are embracing AI not as a replacement, but as an enhancement. It's a way to empower more contributors to get involved, and to help maintainers manage their growing projects without burnout. As an example, having AI pre-review code and run checks can be helpful for picking up early bugs, and ensuring guidelines are adhered to:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd1po8ijchel9z1s1miin.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd1po8ijchel9z1s1miin.png" alt="coderabbitai, Pre-merge checks and finishing touches" width="800" height="404"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Looking ahead
&lt;/h3&gt;

&lt;p&gt;Contributing to open source has never been easier, more accessible, or more exciting. Whether you’re tackling your first “good first issue” or merging your 100th PR, there’s always something new to learn. This Hacktoberfest reminded me that contribution isn’t just about code; it’s about collaboration, curiosity, and continuous improvement.&lt;/p&gt;

&lt;p&gt;If you’ve never contributed before, jump in! Start small, ask questions, and don’t be afraid to let tools like &lt;a href="https://github.com/features/copilot" rel="noopener noreferrer"&gt;GitHub Copilot&lt;/a&gt; lend a hand. Because in open source, every contribution counts, and every experience is a chance to grow.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hacktoberfest</category>
      <category>opensource</category>
      <category>ai</category>
    </item>
    <item>
      <title>Responsible use of AI for developers: Ethics and prompting with purpose</title>
      <dc:creator>Michelle Duke</dc:creator>
      <pubDate>Mon, 20 Oct 2025 07:59:14 +0000</pubDate>
      <link>https://forem.com/mishmanners/responsible-use-of-ai-for-developers-ethics-and-prompting-with-purpose-1on5</link>
      <guid>https://forem.com/mishmanners/responsible-use-of-ai-for-developers-ethics-and-prompting-with-purpose-1on5</guid>
      <description>&lt;p&gt;As developers, we’re shaping how AI fits into our workflows. This carries a lot of responsibility. When working with tools like GitHub Copilot, Cursor, or AI models, it’s important to think beyond what the AI can do, and focus on how we should use it.&lt;/p&gt;

&lt;p&gt;There are three key areas to keep in mind: code quality, copyright and licensing, and collaboration.&lt;/p&gt;

&lt;h2&gt;
  
  
  💻 Code Quality
&lt;/h2&gt;

&lt;p&gt;Even when AI-generated code looks great at first glance, it’s still your responsibility to make sure it’s solid. Think of AI as your pair programmer, not your replacement.&lt;/p&gt;

&lt;p&gt;Check, check, check your work. Review every line before merging, you’re the final gatekeeper. Regardless of whether GitHub Copilot or other is the author of your PR, you are still responsible for shipping the code. If you're not sure, ask a senior member of your team, a colleague, or a manager. Don't just accept that the AI is providing.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpbvr24bx7kp4qta6l6em.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpbvr24bx7kp4qta6l6em.png" alt="HumanandRobot" width="800" height="453"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Test your code. Does it run as expected? Are edge cases handled?&lt;/p&gt;

&lt;p&gt;Keep your code maintainable. Make sure it’s written in your team’s style, easy to read, and simple to debug.&lt;/p&gt;

&lt;p&gt;AI can speed things up, but good engineering practices still apply.&lt;/p&gt;

&lt;h2&gt;
  
  
  ⚖️ Copyright and Licensing
&lt;/h2&gt;

&lt;p&gt;AI models like GitHub Copilot were trained on public code. This means ownership and attribution can get tricky. Stay ethical and compliant by being mindful of where code comes from.&lt;/p&gt;

&lt;p&gt;Provide context. The more project-specific context you give, the more likely your AI will generate original, relevant code.&lt;/p&gt;

&lt;p&gt;Double-check the source. Before using generated code in a closed-source or commercial project, make sure it doesn’t infringe on others’ work.&lt;/p&gt;

&lt;p&gt;Respect open source licenses. Check repo licenses and follow their terms.&lt;/p&gt;

&lt;p&gt;Document responsibly. Comment when and how AI-generated code was used as this helps with transparency.&lt;/p&gt;

&lt;h2&gt;
  
  
  🤝 Collaboration and Transparency
&lt;/h2&gt;

&lt;p&gt;Your AI might be an amazing coding buddy, but your best collaborators are still your human teammates. Building trust and clarity around AI use helps everyone work smarter.&lt;/p&gt;

&lt;p&gt;Be open about AI use. Let teammates know when you’ve used AI assistance in your work. Ensure you're using AI within your organisation's policies and practices. Remember, tools like GitHub Copilot have business tiers to ensure you're effectively working within your teams' security and compliance.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpjw4gfejex10gui2gbma.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpjw4gfejex10gui2gbma.png" alt="Reviewing policies" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Review with care. Treat AI-generated code the same way you’d review a teammate’s PR, that is, thoughtfully and critically. Check what model your AI is using. How has that model been trained? What kind of bias might be in the training data?&lt;/p&gt;

&lt;p&gt;Encourage inclusivity. Diverse perspectives make for better code and fairer AI outputs. Try prompting your AI to consider different approaches or viewpoints.&lt;/p&gt;

&lt;p&gt;Keep learning together. Share insights, report odd outputs, and help shape how your team or community uses AI responsibly.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsfvpbt7qkaafcfeddohh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsfvpbt7qkaafcfeddohh.png" alt="Learning today" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Remember to be responsible
&lt;/h2&gt;

&lt;p&gt;Responsible AI use isn’t about limiting creativity. Rather, it’s about enhancing it. By combining human judgment with AI’s capabilities, we can write cleaner, fairer, and more innovative code, together.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>devops</category>
      <category>productivity</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>GitHub Copilot - Methods, modes, and Models: Which one is the best?</title>
      <dc:creator>Michelle Duke</dc:creator>
      <pubDate>Wed, 23 Apr 2025 01:27:09 +0000</pubDate>
      <link>https://forem.com/mishmanners/github-copilot-methods-modes-and-models-which-one-is-the-best-g6f</link>
      <guid>https://forem.com/mishmanners/github-copilot-methods-modes-and-models-which-one-is-the-best-g6f</guid>
      <description>&lt;p&gt;When someone asks "what's the best [insert type of tool]", the answer usually is "it depends". What's the best car? What's the best computer? What's the best AI? It all depends on what you're trying to do. What you're better off asking is "what's the best [insert type of tool] for [insert activity]". Now your questions become "What's the best car for long distance driving?", "What's the best computer for FPS gaming?" "What's the best AI for coding?" Now we're getting somewhere.&lt;/p&gt;

&lt;p&gt;"What's the best AI?" is a trick question, because it depends on the type of activity you are doing. Same with models, agents, and modes. Let's look at GitHub Copilot and how you can use it to achieve what you want, and what the different modes and models are designed for.&lt;/p&gt;

&lt;h2&gt;
  
  
  GitHub Copilot Methods
&lt;/h2&gt;

&lt;p&gt;When GitHub Copilot was first launched, code completion was all it could really do. It can suggest lines of code, or whole functions. Now, GitHub Copilot has evolved to do so much more. It can still suggest lines of code or functions. You can still use the chat feature in the side bar, or you can press "CTRL + I" to bring up the inline chat and have GitHub Copilot help with a certain section of your code. These are the three main ways you can interact with GitHub Copilot:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GitHub Copilot Code Completion&lt;/li&gt;
&lt;li&gt;GitHub Copilot Chat&lt;/li&gt;
&lt;li&gt;GitHub Copilot In-Line Chat&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/RTMgg8cbflU"&gt;
  &lt;/iframe&gt;
 &lt;/p&gt;
&lt;h2&gt;
  
  
  GitHub Copilot Modes
&lt;/h2&gt;

&lt;p&gt;Within GitHub Copilot Chat, we now have various ways in which we can chat and interact with GitHub Copilot: Ask, Edit, and Agent.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz53tkjt2auejgl8lk3oq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz53tkjt2auejgl8lk3oq.png" alt="GitHub Copilot Chat modes"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;By clicking the arrow next to the GitHub Copilot “mode,” you can bring up these three options. You'll want to choose the option that suits the outcome you are wanting. For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ask: Question GitHub Copilot on technical topics&lt;/li&gt;
&lt;li&gt;Edit: Have GitHub Copilot create new code, or edit existing code&lt;/li&gt;
&lt;li&gt;Agent: Let GitHub Copilot automatically edit your existing code using multiple requests to pick which files it should edit, run commands, understand errors and iterate on those errors&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The mode you pick will depend on what you want to accomplish. If you're starting a new project for the first time, you won't be able to use "Agent" mode because there's no code to edit. Think about what you're trying to do and which mode is the best for you. Switching between modes can help you have the best outcome.&lt;/p&gt;
&lt;h2&gt;
  
  
  GitHub Copilot Models
&lt;/h2&gt;

&lt;p&gt;Like many AIs, GitHub Copilot runs on various different models. These models have been trained differently and therefore are better at doing certain things. It's like asking different people for their answer to a question; everyone has been taught slightly different and have different experiences and backgrounds, and thus the answers you receive from different people might be slightly different.&lt;/p&gt;

&lt;p&gt;In a similar way, different Large Language Models (LLMs) can help with different tasks. For example, GPT-4o is a multimodal model and can support both text and images. Thus, by using GPT-4o you can have GitHub Copilot convert a hand drawn wireframe into a functional website.&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/FpYoctV2gRA"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Claude 3.7 Sonnet, for example, is an advanced model that requires structured reasoning, but can deliver on deeper tasks. It's good at bug fixes and advanced optimisation. Gemini 2.0 Flash on the other hand is good at generating small reusable pieces of code due to its high-speed, multimodal model that's been optimised for real-time inputs and agentic reasoning, making it a good fit for Agent Mode. There are tonnes of models to choose from and you can &lt;a href="https://docs.github.com/en/copilot/using-github-copilot/ai-models/choosing-the-right-ai-model-for-your-task" rel="noopener noreferrer"&gt;read more about them in the GitHub Docs&lt;/a&gt; and understand which one you might want to use for a specific task.&lt;/p&gt;

&lt;p&gt;You can choose your model, right alongside the GitHub Copilot mode:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3vz7s7z7yh27pxyncy30.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3vz7s7z7yh27pxyncy30.png" alt="GitHub Copilot Models"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Remember, if you are having trouble getting what you want from GitHub Copilot, switching to a different mode can really help.&lt;/p&gt;

&lt;p&gt;How have you been using GitHub Copilot? What's your top tip for getting the best out of GitHub Copilot?&lt;/p&gt;

</description>
      <category>github</category>
      <category>githubcopilot</category>
      <category>ai</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>GitHub Issues or GitHub Discussions? What's the difference, and when should you use each one?</title>
      <dc:creator>Michelle Duke</dc:creator>
      <pubDate>Thu, 17 Apr 2025 00:27:51 +0000</pubDate>
      <link>https://forem.com/mishmanners/github-issues-or-github-discussions-whats-the-difference-and-when-should-you-use-each-one-4lhd</link>
      <guid>https://forem.com/mishmanners/github-issues-or-github-discussions-whats-the-difference-and-when-should-you-use-each-one-4lhd</guid>
      <description>&lt;p&gt;Tabs or spaces, Python or JavaScript, Windows or Mac, Issues or Discussions? Everything depends on the situation. Today, we're going to look at GitHub Discussions and GitHub Issues to explain the differences and when you should use each.&lt;/p&gt;

&lt;h2&gt;
  
  
  Launch of GitHub Issues and Discussions
&lt;/h2&gt;

&lt;p&gt;GitHub Issues was launched in 2009 as a way for software teams to collaborate. Developers and users now had a way to submit bugs, request features, and report other issues related to the project. Issues were designed to be a place to talk about a bug, feature, or update, before working on it, and closing out the issue. We know users don't always use a product exactly as intended, and developers were finding themselves having lengthy Discussions around whether they should work on an idea or issue in the first place.&lt;/p&gt;

&lt;p&gt;This is where GitHub Discussions comes into play. Launched in 2020, Discussions are a way for developers and the community to have discussions—conversations around features, bugs, and suggestions—outside the codebase. Discussions aren't closed the way issues are, and thus they can serve as a place for maintaining FAQs, documentation, and hosted threaded conversations.&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/bErGYN3Ljz8"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  When should you use a Discussion or an Issue?
&lt;/h2&gt;

&lt;p&gt;In short, Issues should be a way to track tasks and defined pieces of work. Discussions on the other hand are great for hosting questions, ideas, and a way to collaborate before making a decision. They are also great for community building, hosting conversations around FAQs, show and tells, and more.&lt;/p&gt;

&lt;p&gt;If you ever create and Issue that you think should be a Discussion, and vice versa, you can quickly convert an Issue to a Discussion or a Discussion to an Issue. This is also helpful-as an example-if someone has opened a Discussion and a decision has been made, you can convert it to an Issue to complete the work. You can also convert an Issue to Discussion if someone has opened an Issue for a feature request, and it turns into a Discussion about whether the feature should be built, rather than being a task to implement the feature.&lt;/p&gt;

&lt;p&gt;When it comes down to it, it depends on the situation whether you use GitHub Issues or Discussions. Both these products are great ways to collaborate and build projects, and I hope I've given you plenty of information to make a decision on when you should open a GitHub Issue, and when you should create a GitHub Discussion.&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/64xO030aneI"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>github</category>
      <category>tutorial</category>
      <category>community</category>
    </item>
    <item>
      <title>Best community tech Discord servers to join</title>
      <dc:creator>Michelle Duke</dc:creator>
      <pubDate>Mon, 07 Apr 2025 05:32:15 +0000</pubDate>
      <link>https://forem.com/mishmanners/best-community-tech-discord-servers-to-join-4gie</link>
      <guid>https://forem.com/mishmanners/best-community-tech-discord-servers-to-join-4gie</guid>
      <description>&lt;p&gt;Joining a Discord server can be a lot of fun. Engaging in the tech community is super valuable, and Discord has become a place for many tech groups from all over the world to gather.&lt;/p&gt;

&lt;p&gt;You can find likeminded people, get answers to your questions, and connect with other developers who build awesome products. Many Discord servers encourage their community members to post questions and issues regarding their product or service, so you can get help directly from either the community or those building the service.&lt;/p&gt;

&lt;p&gt;It can feel a little overwhelming when getting started as a user, so I've put together my top ten cool servers you can join.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://discord.com/invite/microsoft" rel="noopener noreferrer"&gt;Microsoft&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Needing no introduction, the Microsoft Discord is a place for community members to come together and geek out about Microsoft. The moderators are community members, just like you, and you can receive all kinds of support from technical, to builds support, programming chats, and even advice on design.&lt;/p&gt;

&lt;p&gt;You won't be disappointed joining this community.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw1ymuynjetjvhp2tyvrz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw1ymuynjetjvhp2tyvrz.png" alt="Microsoft community discord"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://discord.com/invite/HSuhTyG" rel="noopener noreferrer"&gt;.NET&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;If you want to find all the Microsoft employees, it looks like they hang out in this server. The Discord is for contributors to the .NET platform and ecosystem. There are a bunch of no-go topics, so make sure you read the rules before you post in here. There are channels for specific operating systems, frameworks, libraries, languages, and even GitHub repos. If you're contributing to .NET, you'll find everything you need here.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://discord.gg/discord-developers" rel="noopener noreferrer"&gt;Discord&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;It's so meta, but there's a Discord server for Discord. This one is specifically for developers. If you're building an open source community, and running a Discord channel, you'll want to check out this community. There are lots of resources around the Discord API, news, product announcements, and plenty of help available.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3zame4du17khuc4oyb6l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3zame4du17khuc4oyb6l.png" alt="Discord Discord invite"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://discord.gg/bb5FN62q" rel="noopener noreferrer"&gt;Gamedev.js&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;For the game developers amongst you, join Gamedev.js. This server is all about game development, promoting game jams, jobs, encouraging people to showcase their games, and plenty of channels to ask questions about your game. This server is also specifically set up for French, Spanish, Portuguese, and Brazilian speakers.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://discord.com/invite/bUG2bvbtHy" rel="noopener noreferrer"&gt;Next.js&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Set up super well for new members, you'll be greeted with a lovely welcome screen that walks you through the rules, asks questions about your interest in Next.js and even set up a custom colour for your username. They'll post about events, hackathons, and more, so get involved.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff3ob2y6b2vvksidlhkfb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff3ob2y6b2vvksidlhkfb.png" alt="Nextjs"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://discord.gg/zCVhuHPr" rel="noopener noreferrer"&gt;Tina.io&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The open source content management system (CMS) &lt;a href="https://tina.io" rel="noopener noreferrer"&gt;Tina&lt;/a&gt;, does all their support through Discord. Open a GitHub Discussion that's linked to Discord, or chat with other members of the community to troubleshoot your bugs.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://discord.gg/pYeTgjBj" rel="noopener noreferrer"&gt;Appwrite&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;One of the top open source communities, Appwrite has participated in big open source events every year. Their Discord hosts events, office hours, and encourages people to showcase their Appwrite projects. Chat to maintainers, giggle at memes, and get the support you need.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkj4id64uxxneu2q4j65j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkj4id64uxxneu2q4j65j.png" alt="Appwrite Discord invite"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://discord.gg/bSq35BpR" rel="noopener noreferrer"&gt;Devtron&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;I came across Devtron one &lt;a href="https://dev.to/github/hacktoberfest-has-started-are-you-doing-these-things-748"&gt;Hacktoberfest&lt;/a&gt;, and I thought it'd be fun to check out. It's a Kubernetes Platform and you can engage with the community on Discord. Check out their upcoming hackathons, get help with your community contributions—yes Devtron is open source—and provide feedback to shape the future.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://discord.gg/v4GgyyfV" rel="noopener noreferrer"&gt;Adafruit&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;I love a good piece of hardware, yet it comes with its own set of challenges. Luckily, Adafruit have a server where you can get lots of help from the community. Get help with specifics of circuit boards, 3D printing, firmware, design, and more. Chat with others, and showcase your builds. There are tonnes of channels in this server so take a little bit of time to browse through and find the right one for you.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://discord.gg/mlh" rel="noopener noreferrer"&gt;Major League Hacking&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Another huge hackathon community is Major League Hacking. Their server showcases all their major hacks, and if you're a hackathon organiser, you can get loads of tips and tricks on running your hackathon.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2jp0m0vkhlewrx2zvld9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2jp0m0vkhlewrx2zvld9.png" alt="Major League Hacking Discord invite"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Don't forget the community guidelines
&lt;/h2&gt;

&lt;p&gt;Similar to our &lt;a href="https://dev.to/github/how-to-have-healthy-and-sustainable-online-communities-6o8"&gt;top tips for being a good community member&lt;/a&gt;, don't forget to read the rules, roles, and announcements for each Discord server before joining.&lt;/p&gt;


&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/github/how-to-have-healthy-and-sustainable-online-communities-6o8" class="crayons-story__hidden-navigation-link"&gt;Top tips for being a good online community member&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;
          &lt;a class="crayons-logo crayons-logo--l" href="/github"&gt;
            &lt;img alt="GitHub logo" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F2575%2F3da37f64-b46e-4fa5-bf86-01b63ba5f57b.png" class="crayons-logo__image"&gt;
          &lt;/a&gt;

          &lt;a href="/mishmanners" class="crayons-avatar  crayons-avatar--s absolute -right-2 -bottom-2 border-solid border-2 border-base-inverted  "&gt;
            &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F397557%2F4eb4ece3-2832-407c-b933-f1b4b58829e6.jpg" alt="mishmanners profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/mishmanners" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Michelle Duke
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Michelle Duke
                
              
              &lt;div id="story-author-preview-content-1087615" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/mishmanners" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&gt;
                        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F397557%2F4eb4ece3-2832-407c-b933-f1b4b58829e6.jpg" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Michelle Duke&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

            &lt;span&gt;
              &lt;span class="crayons-story__tertiary fw-normal"&gt; for &lt;/span&gt;&lt;a href="/github" class="crayons-story__secondary fw-medium"&gt;GitHub&lt;/a&gt;
            &lt;/span&gt;
          &lt;/div&gt;
          &lt;a href="https://dev.to/github/how-to-have-healthy-and-sustainable-online-communities-6o8" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;May 17 '22&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/github/how-to-have-healthy-and-sustainable-online-communities-6o8" id="article-link-1087615"&gt;
          Top tips for being a good online community member
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/opensource"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;opensource&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/tutorial"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;tutorial&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/beginners"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;beginners&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/devops"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;devops&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/github/how-to-have-healthy-and-sustainable-online-communities-6o8" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;9&lt;span class="hidden s:inline"&gt; reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/github/how-to-have-healthy-and-sustainable-online-communities-6o8#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              1&lt;span class="hidden s:inline"&gt; comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            4 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
      <category>discord</category>
      <category>community</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Game developers: use AI to build your game with Razer AI Game Copilot</title>
      <dc:creator>Michelle Duke</dc:creator>
      <pubDate>Thu, 03 Apr 2025 05:44:46 +0000</pubDate>
      <link>https://forem.com/mishmanners/game-developers-use-ai-to-build-your-game-with-razer-ai-game-copilot-3290</link>
      <guid>https://forem.com/mishmanners/game-developers-use-ai-to-build-your-game-with-razer-ai-game-copilot-3290</guid>
      <description>&lt;p&gt;I recently &lt;a href="https://techau.com.au/razer-wyvrn/" rel="noopener noreferrer"&gt;wrote an article&lt;/a&gt; on Razer's announcement of WYVRN, which includes the release of their AI Game Copilot. What does this mean for game developers?&lt;/p&gt;

&lt;h2&gt;
  
  
  Develop games with automatic support
&lt;/h2&gt;

&lt;p&gt;Building games is hard enough, without having to worry about building support for third-party components and hardware such as RGB lights and THX® Spatial Audio. If developers build games with this kind of support, games will be more immersive for players. But this can be a mammoth task, involving SDKs, more dev hours, and more testing.&lt;/p&gt;

&lt;p&gt;The new Razer AI Game Copilot can now help you build your games for integration with Razer Sensa HD, Razer Chroma lighting effects, and THX® Spatial Audio+. This means you can streamline your development process, and build products that will automatically be capable of connecting with Razer Chroma lights and have immersive sound as an example.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2lyi9t8fsh2cumpdcfrh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2lyi9t8fsh2cumpdcfrh.png" alt="Razer WYVRN suite"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Automatic testing and hardware optimisation
&lt;/h2&gt;

&lt;p&gt;Razer AI Game Copilot doesn't just make coding faster and easier, but it can help with testing and performance. The tool can help you with quality assurance (QA) testing. By partnering with &lt;a href="https://www.side.inc/services/quality-assurance" rel="noopener noreferrer"&gt;Side&lt;/a&gt;, Razer builds on Side's 30 years of experience in QA testing. The partnership is all about working with Razer on tools and technology to improve game developer QA.&lt;/p&gt;

&lt;p&gt;The CEO of Side, Deborah Kirkham, said the partnership brings together the best technology and makes it available for game developers:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"As a company, Side’s mission is to infuse technology with human ingenuity to create unforgettable game experiences. Working hand-in-hand with Razer, this partnership allows us to combine decades of market-leading experience in our respective areas to revolutionize the way games are tested.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The Razer AI QA Copilot can plug into existing testing workflows, boosting bug detection efficiency, allowing you as the developer to focus on building the product rather than finding and fixing bugs. This Copilot can also help with crashes and performance issues, suggesting code and fixes to improve the overall playability of your game. Furthermore, this will help you cut costs and release your game to the public faster.&lt;/p&gt;

&lt;h2&gt;
  
  
  How can you use Razer AI Game Copilot as a developer?
&lt;/h2&gt;

&lt;p&gt;As a game developer, you already get access to Razer AI Game Copilot via Razer &lt;a href="https://www.wyvrn.com/" rel="noopener noreferrer"&gt;WYVRN&lt;/a&gt;'s SDK. You can download this directly from the website, or—even better—use Razer WYVRN’s SDK directly from Unreal Engine 5.5 which is already available. This means if you're an Unreal Engine developer, you can enable WYVRN technologies directly from your Unreal Editor.&lt;/p&gt;

&lt;h2&gt;
  
  
  Would you use Razer AI Game Copilot?
&lt;/h2&gt;

&lt;p&gt;Are you already using AI tools? Would you use Razer AI Game Copilot to help develop your game? Drop your answers in the comments.&lt;/p&gt;

&lt;p&gt;And if you're a gamer, Razer AI Game Copilot for gamers is coming soon!&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/GaKO6RHQfrk"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>gamedev</category>
      <category>news</category>
    </item>
    <item>
      <title>Compiling 2025: Goals, strategies, and milestones</title>
      <dc:creator>Michelle Duke</dc:creator>
      <pubDate>Fri, 17 Jan 2025 05:41:03 +0000</pubDate>
      <link>https://forem.com/mishmanners/compiling-2025-goals-strategies-and-milestones-3jhn</link>
      <guid>https://forem.com/mishmanners/compiling-2025-goals-strategies-and-milestones-3jhn</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/newyear"&gt;2025 New Year Writing challenge&lt;/a&gt;: Compiling 2025.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Reflecting on your year is an important step before moving forward into the new year. Check out my &lt;a href="https://dev.to/mishmanners/debugging-2024-lessons-learned-wins-and-achievements-3lg9"&gt;2024 reflection&lt;/a&gt; before diving in here and reading about my goals, and goal-setting.&lt;/p&gt;


&lt;div class="ltag__link"&gt;
  &lt;a href="/mishmanners" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F397557%2F4eb4ece3-2832-407c-b933-f1b4b58829e6.jpg" alt="mishmanners"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/mishmanners/debugging-2024-lessons-learned-wins-and-achievements-3lg9" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Debugging 2024: Lessons learned, wins, and achievements&lt;/h2&gt;
      &lt;h3&gt;Michelle Duke ・ Jan 17&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#devchallenge&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#newyearchallenge&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#career&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#speaking&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;h2&gt;
  
  
  New Year's Eve 2024
&lt;/h2&gt;

&lt;p&gt;On New Year's Eve, as my husband and I sat on the beach, sipping champagne and waiting for the fireworks ✨, we asked each other about our goals for this year. Goal-setting is one of those activities I've done for as long as I can remember. When my husband asked me this, I thought about it for a bit—at this point in time, I hadn't really sat down to set my goals for 2025. But this question prompted me to start gathering my thoughts and thinking about what it was I wanted to achieve this year.&lt;/p&gt;

&lt;h2&gt;
  
  
  Structuring and setting goals
&lt;/h2&gt;

&lt;p&gt;I believe goal setting is something we should do for all aspects of our life. Every year, when I write my goals, I look at various parts of my existence, and write goals for each of those sections. Here is the list I use when thinking about "aspects of life":&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Career&lt;/li&gt;
&lt;li&gt;Physical/sport&lt;/li&gt;
&lt;li&gt;Financial&lt;/li&gt;
&lt;li&gt;Family/friends/community&lt;/li&gt;
&lt;li&gt;Spiritual/mindfulness&lt;/li&gt;
&lt;li&gt;Hobbies&lt;/li&gt;
&lt;li&gt;Wellness and health&lt;/li&gt;
&lt;li&gt;Exploration/travel&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each of these aspects represents a different part of our lives and I have goals for each of these. For example, a career goal might be "learn Python enough to build an AI chatbot", or "take on a leadership position within my company, even if it's something outside my direct team". Physical or sports goals might be "go to the gym at least three times a week", "run 10km in 45mins". You can see how breaking goals into categories can help us succeed.&lt;/p&gt;

&lt;p&gt;It also forces us to think outside the usual goals and categories we often think about when we talk about "goals". For example, if I ask someone what their goals are for this year, I might get something like "lose 10kg", or "get a promotion". You rarely hear someone talk about things like "set aside time for myself for meaningful reflection". Try and have at least one goal in each of the classes.&lt;/p&gt;

&lt;h2&gt;
  
  
  🏆 How to achieve goals
&lt;/h2&gt;

&lt;p&gt;Next, how do you actually achieve goals? Some goals might be 'easier' to achieve than others, in the sense that they have a set path to winning. For example "run 10km in 45mins", can be broken down:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Run 5km without stopping&lt;/li&gt;
&lt;li&gt;Run 7km without stopping&lt;/li&gt;
&lt;li&gt;Run 10km without stopping&lt;/li&gt;
&lt;li&gt;Run 10km in under 60mins&lt;/li&gt;
&lt;li&gt;Run 10km in under 50mins&lt;/li&gt;
&lt;li&gt;Run 10km in under 40mins&lt;/li&gt;
&lt;li&gt;Run 10km in under 45mins ➡️ GOAL&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What I've done here, is written a list of "mini" goals on the pathway to achieving the main goal. This is a good technique to practice when goal setting ➡️ breaking down large goals into smaller goals. When you reach these milestones, you should celebrate 🥳. You don't have to celebrate in a massive way, but small wins should mean small celebrations, big wins should equal big celebrations.&lt;/p&gt;

&lt;p&gt;We often don't take enough time out for ourselves to celebrate the small wins along the way. But if we can do this, it will give us consistent motivation to achieve our large goals, and ensure we don't get burned out along the way to achieving the big targets.&lt;/p&gt;

&lt;p&gt;Another way to set goals is to put time limits or dates on your goals. For example "read more books" could be a good goal for this year, but it's much harder to achieve because you haven't really defined it. You might get to the end of this year and go "did I really read more books?". Maybe you read a book, which is one more than what you did last year. Is this a win? It might be. Be specific about the type of goals you want to set. Instead, it might be "read one book a week", or "read a chapter of a book each night". Break goals into smaller, manageable, and trackable tasks. This will ensure you feel good about reaching each of those wins each day or each week, and you don't feel burned out from 'not achieving' anything.&lt;/p&gt;

&lt;p&gt;You might also like to consider a way to record track your goals. It might be a diary, GitHub Project board, or similar.&lt;/p&gt;

&lt;h2&gt;
  
  
  What are my goals for 2025
&lt;/h2&gt;

&lt;p&gt;I've talked a lot about goals, so what are mine for this year? Well, last year I did a lot of speaking engagements, so this year, my target is to reach ten keynote presentations. It's a stretch but it's a good, measurable goal to have. I would like to be on Twitch more, and so I'm aiming for a least 2-3 streams a week, as long as I'm in Melbourne (I'm not counting trying to do live streams whilst travelling).&lt;/p&gt;

&lt;p&gt;I have a goal set for every category above, but I won't reveal them all to you here. Just remember, look at what you want to achieve, why, and then how. Think about how you might celebrate those goals along the way. For example, you might have a financial goal to save a certain amount of money by a certain amount of time, and if you hit your target, then you might treat yourself.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>newyearchallenge</category>
      <category>career</category>
    </item>
    <item>
      <title>Debugging 2024: Lessons learned, wins, and achievements</title>
      <dc:creator>Michelle Duke</dc:creator>
      <pubDate>Fri, 17 Jan 2025 05:33:05 +0000</pubDate>
      <link>https://forem.com/mishmanners/debugging-2024-lessons-learned-wins-and-achievements-3lg9</link>
      <guid>https://forem.com/mishmanners/debugging-2024-lessons-learned-wins-and-achievements-3lg9</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/newyear"&gt;2025 New Year Writing challenge&lt;/a&gt;: Retro’ing and Debugging 2024.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I'm one of those people who love looking back on a year. Reflecting on what I've done, what I've learned, and what I want to achieve in the following year. This year—like many others—I &lt;a href="https://www.twitch.tv/videos/2347490321" rel="noopener noreferrer"&gt;jumped on Twitch&lt;/a&gt; to recap my year, review the stats, and talk about what I want to do moving forward.&lt;/p&gt;

&lt;p&gt;Here are the stats, things I learned, and goals I have for 2025. The main reason I like sharing these things is to inspire and motivate others. I hope you find it interesting ❤️.&lt;/p&gt;

&lt;h2&gt;
  
  
  2024 Stats and Achievements
&lt;/h2&gt;

&lt;p&gt;I look at the main things I completed during the year. For me, as a developer advocate and influencer, a lot of what I do is content creation. I check out the number of conferences I spoke at, videos I created, blog posts written, and even GitHub contributions. After adding them all up, you can see the stats yourself:&lt;/p&gt;

&lt;p&gt;&lt;iframe class="tweet-embed" id="tweet-1876885288552644899-751" src="https://platform.twitter.com/embed/Tweet.html?id=1876885288552644899"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-1876885288552644899-751');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1876885288552644899&amp;amp;theme=dark"
  }



&lt;/p&gt;

&lt;p&gt;Finally, I looked at a couple of big things I achieved. I was really excited to &lt;a href="https://dev.to/devteam/congrats-to-our-first-computer-science-challenge-winners-2mg2"&gt;win one of DEV's first DEV challenges&lt;/a&gt;, and it motivated and encouraged me to submit to more in future, including this one.&lt;/p&gt;


&lt;div class="ltag__link"&gt;
  &lt;a href="/devteam" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__org__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F1%2Fd908a186-5651-4a5a-9f76-15200bc6801f.jpg" alt="The DEV Team" width="800" height="800"&gt;
      &lt;div class="ltag__link__user__pic"&gt;
        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3%2F13d3b32a-d381-4549-b95e-ec665768ce8f.png" alt="" width="500" height="500"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/devteam/congrats-to-our-first-computer-science-challenge-winners-2mg2" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Congrats to our first Computer Science Challenge Winners!&lt;/h2&gt;
      &lt;h3&gt;dev.to staff for The DEV Team ・ Jun 25 '24&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#devchallenge&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#cschallenge&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#computerscience&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#beginners&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;p&gt;I also won some awards that I'm really proud of, and was selected in the "top 3% of most active speakers on Sessionize". Something I think that's really important when it comes to stats and achievements is thanking people 🙏. Most of the things I've achieved in the past year wouldn't have been possible without others: conference organisers who selected my sessions, colleagues who put me forward for opportunities, and those who chose to publish my articles. In one of &lt;a href="https://www.linkedin.com/posts/mishmanners_2024-recap-and-website-building-mishmanners-activity-7282650952879284224-Oi1p" rel="noopener noreferrer"&gt;my LinkedIn posts&lt;/a&gt; I tagged and thanked multiple people and organisations who helped me achieve these numbers last year.&lt;/p&gt;

&lt;h2&gt;
  
  
  Things I learned
&lt;/h2&gt;

&lt;p&gt;Retrospectives wouldn't be useful if we didn't learn anything from them. I picked up some really cool technical skills last year.&lt;/p&gt;

&lt;h3&gt;
  
  
  Test writing and test driven development
&lt;/h3&gt;

&lt;p&gt;One of my colleagues took time out to teach me all about writing tests for code. I learned about test driven development (TDD), the testing hierarchy, and the importance of writing tests, as well as types of testing. I &lt;a href="https://dev.to/mishmanners/how-to-test-websites-using-sirv-and-playwright-for-test-driven-development-tdd-8ph"&gt;documented&lt;/a&gt; these learnings in a blog post:&lt;/p&gt;


&lt;div class="ltag__link"&gt;
  &lt;a href="/mishmanners" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F397557%2F4eb4ece3-2832-407c-b933-f1b4b58829e6.jpg" alt="mishmanners"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/mishmanners/how-to-test-websites-using-sirv-and-playwright-for-test-driven-development-tdd-8ph" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;How to test websites: Using SIRV and Playwright for test driven development (TDD)&lt;/h2&gt;
      &lt;h3&gt;Michelle Duke ・ Aug 7 '24&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#javascript&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#webdev&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#programming&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#tutorial&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;p&gt;One of the reasons I love writing blog posts, is not only to share my knowledge and learnings with others, but to have good documentation that I can refer back to when I need it. There have been at least three occasions since writing the article where I've been building websites and writing tests, and I've referred back to this article. Thus, I encourage you, if you learn something new, write about.&lt;/p&gt;

&lt;h3&gt;
  
  
  Online Learning
&lt;/h3&gt;

&lt;p&gt;I've known about &lt;a href="https://www.linkedin.com/learning-login/" rel="noopener noreferrer"&gt;LinkedIn Learning&lt;/a&gt; for a while, having featured it under &lt;a href="https://github.com/mishmanners/Free-Learning-Content" rel="noopener noreferrer"&gt;my GitHub repo of free learning resources for several years&lt;/a&gt;, however I feel as though the platform is now well-developed, featuring many different types of learning—from technical to management, project engineering, emotional intelligence, resilience, and more.&lt;/p&gt;

&lt;p&gt;As such, I've completed over 60 LinkedIn Learning courses, most in the past few months. It's a great way to upskill and discover new areas of learning. There's also &lt;a href="https://learn.microsoft.com/en-us/training/" rel="noopener noreferrer"&gt;Microsoft Learn&lt;/a&gt; where I completed several courses. I'd encourage you to add learning—both formal and informal—to your goals for 2025.&lt;/p&gt;

&lt;h3&gt;
  
  
  Learning to say no
&lt;/h3&gt;

&lt;p&gt;This is one of the hardest things, especially for someone like me who really likes to help people. Learning to say no—and actually doing it this year—taught me a lot. I gained a lot more time that I could use for more impactful things, and other people valued and respected my time more. Whilst I've always known these things, and have been to so many different talks on the subject, it's really hard to actually do. But once you do, there's something liberating about putting it into practice.&lt;/p&gt;

&lt;p&gt;I believe it was during Christina's talk at NDC London last year that I finally thought "Right! I'm going to do this".&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/8xe6r3jJ2u0"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Not only is she a brilliant speaker, but she also pointed out one of the things I struggled with when saying "no": how not to feel bad about it. I'd recommend giving her talk a watch.&lt;/p&gt;

&lt;h2&gt;
  
  
  Goals for 2025
&lt;/h2&gt;

&lt;p&gt;I think it's really good to reflect on what we've done and learned and look forward. Well, from this post, it's clear I did a lot, and learned a lot from 2024, so how do I top that? On New Year's Eve, as my husband and I sat on the beach, sipping champagne and waiting for the fireworks, we asked each other about our goals for this year.&lt;/p&gt;

&lt;p&gt;So if you want to hear about how I structure yearly goals, and learn a bit about my 2025 goals, check out my next blog post:&lt;/p&gt;


&lt;div class="ltag__link"&gt;
  &lt;a href="/mishmanners" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F397557%2F4eb4ece3-2832-407c-b933-f1b4b58829e6.jpg" alt="mishmanners"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/mishmanners/compiling-2025-goals-strategies-and-milestones-3jhn" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Compiling 2025: Goals, strategies, and milestones&lt;/h2&gt;
      &lt;h3&gt;Michelle Duke ・ Jan 17&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#devchallenge&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#newyearchallenge&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#career&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


</description>
      <category>devchallenge</category>
      <category>newyearchallenge</category>
      <category>career</category>
      <category>speaking</category>
    </item>
  </channel>
</rss>
