GitHub Copilot CLI Just Went Remote — This Changes Everything

GitHub Copilot CLI Just Went Remote — This Changes Everything

James Montemagno

0:02 Oh, sorry about that.

0:03 Um, I was off actually doing some coding with the brand

0:05 new feature remote that's now available inside the GitHub Copilot CLI.

0:10 It's an awesome feature that actually enables you to start

0:12 a session on one machine and like I was just doing,

0:15 control that session from another machine when you're on the go.

0:19 Or for me, for example,

0:20 why this feature is so important is that I am doing a lot

0:23 of Windows development and Mac development

0:26 and I'm rotating between the machines.

0:28 This feature enables me to start a session directly on my Mac,

0:31 for example, with my application TinyClips,

0:34 which is a menu bar Mac application that needs

0:36 Mac build tools to actually verify the build itself.

0:40 I can start that session on the GitHub Copilot CLI and pick it up

0:44 directly on my Windows machine when I'm at work or when I'm on the go.

0:48 I can access it directly from the browser and send

0:51 the exact same controls and even interact with plan mode,

0:54 autopilot mode, and a lot more.

0:55 This is a killer feature that I'm super excited

0:58 that is coming out and I can't wait for the future of it as well as it comes out

1:01 of public preview and hopefully into GA into the future.

1:03 So, what I want to do is break it down,

1:05 show you what it looks like to use, and do some coding.

1:09 I think you're going to dig it as well, so let's get into it.

1:15 [music] [music] Okay, so here I am inside my Mac terminal.

1:24 We're going to go ahead and Copilot banner

1:26 this so I get the nice beautiful Copilot banner.

1:28 Boom, we're good to go.

1:30 All right.

1:30 So, in this TinyClips application, this is my Mac application.

1:35 So, I do need my Mac build tools and Xcode actually build and compile

1:38 this and that's really important as it's generating code to to do normal builds.

1:42 So, the first thing I'm going to do here is I'm going

1:44 to search around and look at some of the features that I have.

1:47 So, there is this feature that I want to implement,

1:50 you know, select and navigate single frames in the video editor.

1:53 So, I'm going to go ahead and tap on that and say,

1:54 "Let's come up with a plan." And we'll go into plan mode here.

1:59 Now, this is sort of my normal work stream, right?

2:02 I've opened my terminal, I'm getting to work.

2:04 Now, I could be, you know,

2:05 10 minutes in, 30 minutes in, an hour in, 50 minutes in, whatever it is, right?

2:10 And I'm coming with my plans,

2:12 I'm even doing implementation, and then kind of something happens.

2:16 And I need to go ahead and hand off to finish the work.

2:20 And I have a few ways of doing that.

2:21 And we're going to explore those here and use the new remote feature.

2:25 But, let's go ahead and figure out this plan

2:27 and see what we're going to implement here.

2:32 Okay, we're going to go ahead and uh,

2:34 answer a few questions and get our plan in place.

2:39 All right, our plan is here.

2:40 This is looking pretty good.

2:41 So, I'm able to then exit the plan mode, accept the plan, or suggest changes.

2:46 So, I'm going to exit plan mode.

2:47 I'm going to prompt it myself cuz one of two

2:50 things probably will have just happened at this point here.

2:53 So, in this case, I have my plan or I'm

2:55 working on work and I need to go do something, right?

2:58 I need to leave this machine, I got to go back to work.

3:00 I got to go off, uh, to do an appointment, right?

3:03 What am I going to do?

3:04 So, there's a few things I could do.

3:05 First, I could go in and I can say {slash} delegate.

3:08 Now, this is going to send the session to GitHub and the GitHub Copilot

3:12 coding agent and create a pull request

3:14 basically to implement this feature and functionality.

3:17 And this is a great feature.

3:18 I use it all the time,

3:19 especially from my mobile phone, to create new agent sessions.

3:22 The problem here is that these are going to be

3:24 kind of a Linux instances and it's going to be one-off.

3:27 It's not actually an interactive experience.

3:29 Well, it kind of is, you can steer it as it goes,

3:31 uh, but it's it's a handoff, right?

3:34 So, I'm handing it off if I want to delegate.

3:36 I love this feature.

3:38 So, that's one option.

3:38 Of course, I could just like resume this session later,

3:41 but let's go ahead and use the new remote feature here,

3:45 which is going to enable steering our session from the GitHub web and mobile.

3:49 So, here we get not only a link to remote steer.

3:55 I can also do control E and get a whole

3:57 QR code so I could pick that up on my phone, for example, which is huge.

4:00 I'd obviously minimize this down.

4:02 But, I'm also going to do something here is inside of our {slash} commands,

4:06 there are a bunch of features here as we can see,

4:09 but the one specifically that we're going to look for is keep alive.

4:12 And this is pretty nice if you're having a long-running session.

4:14 This was just released.

4:15 That's going to enable you to kind of prevent your system from going to sleep.

4:19 So, I'm going to say on and turn that on, too.

4:22 Now, it's not necessarily required, but it's a nice one here.

4:24 So, I'm going to go ahead and click on this and we're

4:26 going to be brought directly into that agent session here.

4:30 So, we can see that we have, uh, for all intents and purposes, our full session,

4:38 a bunch of other sessions that I've been running as well are right here.

4:41 So, we can see the full plan that's been implemented, everything like this.

4:44 Now, we also see that I'm in interactive mode.

4:46 I can do plan mode or I can do autopilot mode.

4:49 Let's say, "Hey, let's just build the app

4:53 to make sure it is in a working state." Okay?

4:58 Now, again, I'm here on my Mac

5:00 and I'm here directly interacting with this remote session.

5:05 And we can see that it's thinking.

5:07 If I pull up my terminal, we can see that it's thinking here, too.

5:10 And what we're seeing in real time is our terminal coming over,

5:16 interacting with this remote session here, and building the application.

5:21 Now, this is pretty neat, but again, I'm on my same local machine.

5:26 So, of course, if I'm managing different sessions in my browser, that's nifty,

5:30 but the real power is when you go to a different

5:33 machine where this is continuously being run over here.

5:36 So, let's head over to my Windows machine now and check that out.

5:40 Okay, so here I am on my TinyClips repo.

5:42 I went over to the agents tab and as we scroll down, we can see that, yeah,

5:47 I have a current terminal session plan for issue 58 that was created.

5:52 Now, here as we scroll down, we can see that the plan was approved.

5:55 We can see the build is green.

5:57 I'm going to say, "Hey, let's go ahead and implement that plan." So,

6:03 now on my Windows machine, directly back here in the browser,

6:07 I'm able to do interactive sessions and again,

6:10 I could go ahead and move into autopilot

6:12 or plan mode to carry on that existing session.

6:17 So, now it's going to take this plan and it's

6:20 going to do a full implementation and then at the end,

6:26 it is going to continue off and then build that project again.

6:31 And because the CLI in that session is running directly on my terminal,

6:38 it is able to then go ahead and build that application on my Mac,

6:43 which is crazy powerful.

6:48 All right, while that is off implementing features,

6:50 you can see here that it says only you can view remote sessions.

6:54 So, you can tap and get more

6:55 information here and understand access control, right?

6:58 So, these sessions, they're here in public preview

7:00 today and then you can also try this out

7:02 on mobile for TestFlight and Google Play

7:04 and that's going to land in the mobile application,

7:06 which is going to be one of my favorite ways of using

7:09 this to have access to my full Mac machine from my mobile device.

7:12 Now, as you can do it from the browser today as well.

7:14 So, you can see this all here as this is implementing and streaming in.

7:17 And what's happening is the CLI is going to go give updates back and forth.

7:21 If you also head over into the change log, you can read more about this.

7:25 Not only how I showed you how to use it today,

7:27 but you can also do Copilot {dash} {dash}

7:29 remote and just interactively start up that session.

7:32 And then you can go ahead on that repo and spin

7:33 up multiple of these sessions you're working on multiple features.

7:36 You can dive through this and more on how to update and how

7:39 to go ahead and spin up new sessions and leverage existing sessions.

7:44 So, again, if I wanted to, I could just say Copilot

7:46 {slash} {dash} remote and then get another remote session as well.

7:50 So, let's head back over to our Mac and see what's happening here now

7:52 that we can see that the implementation

7:54 is starting directly here on my Windows machine, but happening over on my Mac.

8:00 Okay, I'm back over here on my Mac and I'm just kind of switching

8:03 around machines cuz I actually have a single machine on my Mac mini setup,

8:06 which is on now, and then I have my Windows laptop

8:08 that I'm over recording on, switching back and forth and capturing.

8:14 So, here if we scroll down,

8:15 we can see that we're seeing file edits take place, right?

8:17 We can see all that in line whether I'm

8:19 here on my Mac machine or on my Windows machine.

8:22 And then we can also see the implementation continuing.

8:24 Now, it's only giving us certain updates, right?

8:26 If I was actually to bring over and see this here,

8:29 we can see there's a lot more things happening inside the terminal.

8:32 It's giving us the main thing here.

8:34 But, the important part here is that it's getting edits,

8:37 it's building, it's compiling, and seeing all that happen come over,

8:42 I'm just going to go ahead and say CD,

8:44 go here, say Copilot {dash} {dash} remote, just like that.

8:49 And now we're going to get another remote session spun up as well.

8:53 So, here I can have as many of these remote

8:55 sessions as I want ready to jump between them,

8:58 which is super super duper cool, right?

9:00 Implementing these features and jumping between Windows,

9:03 Mac, Linux, mobile, and so much more.

9:08 All right, there you go.

9:08 That is the new {slash} remote feature part of the GitHub Copilot CLI.

9:12 I'll link to the change log as well.

9:14 And of course, follow the GitHub change log on Twitter or on um,

9:19 the main feed for all the updates coming out not only in GitHub Copilot CLI,

9:23 but the entire world of GitHub and GitHub Copilot as well.

9:26 Uh, this is a a killer feature that I'm going to be

9:28 using every single day cuz I'm coding all the time on the go.

9:31 And being able to have a session linked on my direct machine,

9:35 giving me all the tools and capabilities there is super powerful.

9:38 Let me know if you're going to give this feature a try

9:41 in the comments below if you've already given it a try and what you think.

9:44 All right, this is going to do it for this video.

9:45 So, as always, if you liked it, thumbs up,

9:47 jam the subscribe button, and thanks for watching.

9:53 [music] Woo!

Study with Looplines Download Captions Watch on YouTube