Introduction and Session Overview
- The session is introduced as Rubber Duck Thursday, with no specific agenda, and the goal is to have fun and engage with the audience, who will guide the conversation 10s.
- The host, Christopher Harrison, a senior developer advocate at GitHub, shares that he has been focusing on Copilot CLI, a tool that allows users to describe what they want to achieve, and then see the impacts and work back and forth 2m6s.
- Christopher Harrison invites the audience to share what they are working on, if they have played with Copilot CLI, and if they have any questions, emphasizing that the audience will drive the conversation 4m30s.
Introducing Copilot CLI and Audience Interaction
- A question from Brown is addressed, regarding why use the CLI instead of Copilot inside of VS Code, and Christopher Harrison shares that he uses Copilot CLI when he doesn't care about the code, which sparks a discussion on the use cases for CLI over VS Code 6m40s.
- The primary use case for using Copilot CLI over VS Code is explained, which is when the focus is on making the code work, rather than making it look good, and this is often the case when debugging or adding features 8m50s.
- The process of writing code is broken down into two steps: making it work, and then making it look good, with the latter step being where the focus is on refactoring, testing, and making the code look good 10m40s.
- The workflow involves using Copilot CLI to build and iterate on a project, giving it specific features, and then opening the project in VS Code to review and refine the code 10s.
Use Cases and Workflows for Copilot CLI vs. VS Code
- When working with CSS, Copilot CLI is primarily used due to its ability to provide real-time results and automatic refresh, allowing for easier experimentation and tweaking of styles, with VS Code being used later to review and structure the CSS code 2m6s.
- The primary workflow involves using Copilot CLI to get the project working, and then using VS Code to ensure the code is readable, maintainable, and well-structured, with this approach being used for most projects, including those involving JavaScript and TypeScript 10s.
- For minimal viable products or proof of concepts, the code may not be reviewed or refined immediately, but when deploying to production, the code is carefully reviewed and refined to ensure it works as intended 6m42s.
JavaScript and TypeScript Preferences
- Proficiency in JavaScript is claimed, with a preference for using TypeScript due to its typing capabilities, which are seen as a perfect combination of JavaScript's flexibility and the strong typing of languages like C# 10m0s.
- TypeScript is considered the preferred language for projects, offering a balance between the loose approach of JavaScript and the strong typing of languages like C#, making it a perfect choice for larger projects 12m0s.
Code Development Process and AI Integration
- The importance of being clear on the end result and reverse engineering to get something functioning, then cleaning it up, is emphasized, with the fundamentals of building and testing remaining the same, even with the use of AI tools 10s.
- The process of writing code has not changed, with the steps of making it work and then making it pretty still being followed, but new tools like AI are available to increase productivity and effectiveness 42s.
Repository Architecture and AI Infrastructure
- Architecting a GitHub repository for a multi-product ecosystem that includes code, documentation, assets, and AI-generated artifacts requires considering how to keep everything in sync, with the core fundamentals of building a repository remaining the same, but with the added consideration of introducing AI infrastructure 2m6s.
- The introduction of AI infrastructure, such as providing context for AI tools like Copilot, is necessary for successful implementation, and this may involve adding extraneous bits of context or other supporting elements 2m6s.
Challenges and Limitations of AI in Code Generation
- The potential for AI to make mistakes, such as hallucination, is acknowledged, but it is noted that more common issues arise from AI responses not fitting the specific context or needs of the project, rather than being factually incorrect 4m30s.
- A personal preference for using Claude as a go-to AI model for web pages is mentioned, although it is emphasized that this is a personal opinion and not an official GitHub endorsement 5m30s.
- The importance of monitoring and adapting to the conversation or project context, much like a human conversation, is highlighted as a key aspect of successfully working with AI tools 6m40s.
Providing Context for Effective AI Use
- When working with AI, it is essential to provide context and understanding of what is being built, how it is being built, and why it is being built in a certain way, to ensure the AI has the necessary information to produce the desired outcome 10s.
- Instruction files, agent skills, and custom agents are primarily markdown files that become assets inside a repository, and they should be treated the same way as other assets, with setup of workflows, permissions, and validation to control access and modifications 42s.
- To make code look pretty, a manual scan and review can be done, and tools like Copilot code review can be used to give feedback on the code, especially when instructions files are well-described, and other tools like Prettier and linters can still be used in conjunction with AI 2m6s.
Learning Resources and Tools for Copilot
- There are resources available for students, such as the GitHub Copilot CLI for beginners, which can be found by searching online, and this resource can provide helpful information for those looking to learn more about Copilot and its applications 4m6s.
- The importance of using tools like Prettier and linters in addition to AI-powered tools like Copilot code review is emphasized, as AI does not change the fundamentals of coding and these tools still have a place in the development process 3m40s.
- The conversation also touches on personal topics, such as the celebration of spring and the use of certain products, like nail polish and iPods, but these are not directly related to the main topic of working with AI and coding 5m30s.
- There is a full video series available that covers Copilot CLI for beginners, and Cadisha's fantastic course is also recommended for those looking to learn about Copilot, with specific resources available for core Copilot and Copilot CLI 10s.
AI as a Developer Accelerator
- The discussion touches on the topic of job opportunities for individuals who rely on artificial intelligence in a professional manner, and how Copilot can be an accelerator that allows developers to build upon their experience 2m6s.
- Copilot is seen as a tool that enhances a developer's abilities, rather than replacing them, and it is emphasized that a developer's experience and skills are still essential for creating high-quality code with Copilot 2m6s.
Improving Workflows with AI and Traditional Tools
- The importance of using AI and other tools to improve development workflows is highlighted, with suggestions such as using build systems, single source, and treating GitHub as the backbone of a project 4m30s.
- A resource called awesome-copilot.github.com is shared, which is a community-driven site that provides a collection of agents, instructions, and skills for using Copilot, including a custom agent for generating SEO code 6m40s.
- The site also allows for easy installation of Copilot agents within VS Code, and provides a starting point for developers to improve their projects 6m40s.
Using Awesome-Copilot.github.com for Customization
- The process begins with putting a project into YOLO mode and checking for potential updates, and then examining the project and awesome-copilot.github.com for custom agents, agent skills, or instruction files to improve code generation and AI assistance 10s.
- One of the key benefits of using Copilot is its ability to provide context and improve performance when working with new features or frameworks, and users can ask Copilot for help when in doubt about its capabilities 2m6s.
- To get the most out of Copilot, users can ask it to review their project and provide suggestions for custom agents, agent skills, or instruction files that can enhance its performance, and then select the recommended files to download and implement 4m30s.
- After downloading the recommended files, users can access a shell mode in the Copilot CLI by typing an exclamation point or bang, which allows them to execute shell commands and open their project in a code editor like VS Code 8m40s.
- The Copilot CLI can also be used to search for and download specific instruction files, such as those for Tailwind or accessibility, and then add them to the project to improve its performance and functionality 10m20s.
Testing, Review, and Customization with AI
- The review and testing process can be managed and expanded using various tools, including the skill for generating tests and the accessibility agent, which can be accessed and utilized to improve the overall quality 10s.
- Copilot is a great platform that provides access to multiple models, including Claude, Open AAI, Gemini, and the option to bring your own keys, allowing for flexibility and customization in the development process 42s.
Seattle Climate and Personal Anecdotes
- Seattle's climate is characterized by a significant amount of gray mist and rain, but it's not necessarily the amount of rain that's the issue, rather the number of days with rain, and the city experiences a beautiful shade of green due to the rain 2m6s.
- The Pacific Northwest, particularly Seattle, is a wonderful place to be during July and August, with sunny and bright weather, highs in the 80s and low 90s, and minimal rain, making it an ideal time to enjoy the city 4m30s.
- The conversation also touches on personal topics, such as the host's collection of Funko Pops, including Cal Raleigh and characters from Ted Lasso, and their experience living in Seattle and Vancouver 6m10s.
Audience Engagement and Discussion Topics
- The host invites the audience to ask questions and drive the conversation, with no hidden agenda, and mentions that they will do their best to provide answers and engage in discussions 8m0s.
- The topic of Copilot's new feature is also brought up, specifically the agents window in stable work, and the host considers demoing it, but first, they ask the audience to discuss a given topic, "The industrial revolution was neither industrial nor revolution" 10m0s.
- The project being discussed is a side project that involves using Copilot, a coding tool, and the goal is to share the screen and demonstrate its features 10s.
Preparing for a Live Demo
- To start sharing the screen, some cleanup is needed on GitHub, and the second monitor is being used, which is why the view is shifted to the side 42s.
- The Copilot agent screen is accessed through github.com/copilot agents, and this screen shows all the agents worked with across various projects, including those assigned to Copilot coding agent 2m6s.
Remote Access and Collaboration Features in Copilot CLI
- One of the features of Copilot CLI is the ability to set up remote sessions, which allows access to Copilot from anywhere, and this can be done by typing "/remote on" 4m10s.
- With remote sessions enabled, it is possible to access and control the local Copilot CLI session remotely, and this feature is secure and scoped to the individual user 6m15s.
- The remote control feature can be used to enhance the capabilities of tools like Playright, which is used for generating tests, and this can be done by sending messages and controlling the session remotely 8m20s.
- The "/remote on" feature may be available on all subscription tiers, but it is considered to be in public preview, and it allows for full remote control over the local Copilot CLI session 10m30s.
- The remote control feature can be accessed not only from a computer but also from a mobile device, such as a phone, which provides a convenient way to work on projects remotely 12m40s.
- The remote capability of Co-Pilot is highly valued, as it allows users to be productive from anywhere, using either a web page or a phone, and provides the ability to see and steer sessions from any location with access to Co-Pilot 10s.
Sharing and Collaborating with Copilot Sessions
- The remote capability maintains model continuity, using the same models and context, enabling seamless back-and-forth work and ensuring that all commands have the same context and model 2m6s.
- A useful feature of Co-Pilot is the ability to share code and interactions through a gist, which can be created using the "/share" command, allowing users to share their work and discoveries with others, promoting collaboration and knowledge sharing 4m30s.
- Sharing knowledge and discoveries is essential for teams working with AI, and organizations can facilitate this by keeping lines of dialogue open, using dedicated channels or hosting sessions where developers can share their experiences and tips for working with Co-Pilot 6m0s.
- The "/share" command in Co-Pilot CLI is a valuable tool that allows users to quickly share their work and interactions in a gist or markdown file, making it easy to collaborate and share knowledge with others 8m0s.
- Users can access and review their shared gists, which contain all the messages, commands, and interactions from their Co-Pilot sessions, providing a useful record of their work and allowing them to drill in and see details 9m0s.
Browser Preferences and Minimalist Approach
- The discussion also touches on personal preferences, such as browser choices, with the user mentioning that they use Edge on Windows and Chrome on Mac, highlighting the diversity of user preferences and habits 10m0s.
- The primary concern when it comes to browsers is whether they can render HTML, and other features such as tab grouping and AI injection are not a priority 10s.
- The browser's sole purpose should be to browse, and any additional features are not necessary for the primary use case 42s.
- There are some websites that do not work properly in certain browsers, but Chrome and Edge have been found to work well on Mac and Windows 2m6s.
Linux and Operating System Preferences
- Linux is not currently used as a desktop operating system, but there was a positive experience with Caldera, a Linux distribution that used the KDE desktop, which had a unique installer that allowed users to play games while waiting for the installation to complete 4m6s.
Hydration Reminder and Demo Planning
- The importance of hydration is emphasized, and viewers are reminded to drink water from their water bottles 8m42s.
- A demo is considered, and the possibility of sharing or showing off something is discussed, with the option of using a co-pilot to assist with tasks 10m6s.
Context and Planning in AI-Driven Development
- The concept of context is mentioned again, highlighting its importance, and a plan is discussed, although the details are not specified 12m6s.
- To help Copilot understand what is being done, it is beneficial to go through a plan stage, and although Copilot typically does this automatically for complex tasks, providing information to Copilot is crucial, as telling it about specific details guarantees it can find or do what is required 10s.
- A key principle when working with AI is to not be passive-aggressive, meaning if there is information that Copilot can benefit from, it should be provided, and writing out a plan, such as adding filtering to a website by publisher and category, can be helpful 42s.
Rubber Ducking and AI Collaboration
- "Rubber ducking" is a method of troubleshooting where a problem is talked through, and in this context, it involves using a GPT model to get a second set of opinions on a plan, which helps ensure that something is built correctly 2m6s.
Getting Started with AI for Front-End Engineers
- For a front-end engineer looking to automate design and development work with AI, starting with beginner courses on Copilot and exploring resources such as the learning hub on awesome-copilot.github.com can be beneficial 4m30s.
- A key tip for getting started with an AI coding assistant is to remember that context is key, and if Copilot is not providing the expected results, it may be due to a lack of understanding of the full environment or request 6m40s.
Effective Communication with AI Tools
- To effectively use Copilot, it is essential to provide context and help it understand the requests being made, which can be achieved by sharing more information and reframing prompts if necessary 10s.
- The design of large language models, such as Copilot, is to be interactive, allowing for a back-and-forth conversation to clarify expectations and provide more accurate responses 42s.
- If Copilot does not respond as expected, it is not a failure, but rather an opportunity to rephrase, add more context, and guide it in the right direction to achieve the desired outcome 1m6s.
- Asking Copilot questions about the best approach or method to accomplish a task can be beneficial, and it will provide helpful guidance and support 1m30s.
Encouraging Experimentation and Community Sharing
- Experimenting and playing with Copilot, as well as sharing experiences with team members, is crucial to becoming proficient in using the tool and building expertise over time 2m6s.
Host Contact and Closing Remarks
- Christopher Harrison, also known as the Geek Trainer, can be found on LinkedIn, where he invites viewers to connect, chat, and discuss Copilot and other topics 4m30s.








