Explore the Cloud Code SDK and GitHub Action for headless automation with Claude, including demos, features, and setup guidance.
Ask about this video. Answers come from its transcript only — with the timestamp, so you can check them.
Generated from the transcript and can be wrong — check the timestamp.
Key Takeaways
- Cloud Code SDK enables headless, programmable access to Claude for automation.
- The SDK’s Unix-like design allows seamless integration into existing developer workflows.
- Cloud GitHub Action leverages the SDK to automate code reviews and feature implementation.
- Upcoming SDK bindings in Python and TypeScript will simplify usage and extension.
- Users can set up and customize the GitHub Action to enhance CI/CD pipelines.
What the video covers
- Introduction to the Cloud Code SDK and the newly announced Cloud GitHub Action.
- Overview of the Unix-like tool philosophy enabling flexible integration in pipelines and terminals.
- Demonstrations of using Claude to review code, write linters, and automate CI tasks.
- Explanation of advanced SDK features including JSON output formatting and tool access permissions.
- Preview of upcoming Python and TypeScript SDK bindings for easier adoption.
- Live demo using an open-source quiz app to showcase code review and issue triage with Claude.
- Details on how the Cloud GitHub Action builds on the SDK to automate code reviews and feature creation.
- Instructions on setting up the Cloud GitHub Action in user repositories for hands-on use.
- Discussion on interactive features enabling user feedback loops within automation workflows.
- Encouragement to explore the open-source code and build custom applications powered by Cloud Code.
Chapters
- 00:00Introduction and Agenda
- 01:32Cloud Code Usage and Installation
- 02:41Unix-like Philosophy of Cloud Code SDK
- 04:19Features and Upcoming SDK Bindings
- 05:52Live Demo: Using Claude for Code and Logs
- 07:30Exploring Issues and JSON Output
- 10:26Cloud GitHub Action Overview and Demo
- 12:26Interactive Features and Pull Request Creation
- 16:18How Actions are Built on the SDK
- 19:18Setup Flow and Closing Remarks
Full Transcript — Download SRT & Markdown
Speaker A
Good afternoon, everybody. My name is Sedara. I am an engineer on the Cloud Code team. Today, we're going to be talking a little bit about the Cloud Code SDK and the Cloud GitHub Action that was just announced today. Cool. So, a little bit about the agenda.
Speaker A
uh we do a little quick start for the SDK uh just to give some examples of how to get started and how to use the SDK. Uh we will then dive into uh a live demo of the GitHub
Speaker A
We do a little quick start for the SDK just to give some examples of how to get started and how to use the SDK. We will then dive into a live demo of the GitHub Action, which should be fun. The GitHub Action was built on top of the SDK, so it's meant to be a source of inspiration for the kind of things that you can do using the Cloud Code SDK. We'll
Speaker A
then dive into some uh more advanced features of the SDK. Um, and then we'll end with having all of you set up uh the the cloud GitHub uh GitHub action on your repo so you guys can start using
Speaker A
then dive into some more advanced features of the SDK. And then we'll end with having all of you set up the Cloud GitHub Action on your repo so you guys can start using it and build on top of it. Cool. Actually, before we get started, can I get a show of hands here? How many people have used Cloud Code? Okay, it's a lot of people. And, of the people
Speaker A
who have used cloud code, uh, how many have used cla or know what that is? Okay. Okay. far fewer people. Uh it's good to know. Um if you guys don't have cloud code installed in your laptop, uh that's how you get it. Uh I'd encourage you to to install it in your laptops and follow
Speaker A
who have used Cloud Code, how many have used CLA or know what that is? Okay. Okay, far fewer people. It's good to know. If you guys don't have Cloud Code installed on your laptop, that's how you get it. I'd encourage you to install it on your laptops and follow
Speaker A
SDK? It is a way to programmatically access the power of the cloud code agent in headless mode.
Speaker A
along. There will be parts of this talk that will be beneficial to follow along, and then if you don't want to, you don't have to. It's all good. Cool. So, what is the Cloud Code SDK? It is a way to programmatically access the power of the Cloud Code agent in headless mode.
Speaker A
you can use it like a Unix tool. Uh the Unix the Unixish tool philosophy is what really makes cloud code powerful because you can plug it in anywhere where you can run bash or a terminal. Uh so you
Speaker A
This is powerful because it's a new kind of primitive and a new kind of building block that allows you to build applications that just weren't possible before. Things that you can do with the SDK are like super simple things to get started. For example,
Speaker A
on it. So you can have Claude review your code. Some people actually get Claude to write new llinters for them too. So like Claude can lint your code. If there are specific things that you can't define programmatically, you can get Claude code to do it. Uh and then we get into fancier
Speaker A
you can use it like a Unix tool. The Unix-ish tool philosophy is what really makes Cloud Code powerful because you can plug it in anywhere where you can run bash or a terminal. So you
Speaker A
Um and finally, the these are a few features. We'll talk more about the features in the coming slides. Uh and we have Python and Typescript SDKs or like bindings for the cloud code SDK coming up soon. Uh so that should make it much easier for you guys to consume it and build on top of it.
Speaker A
can use it in your Unix pipelines. You can pipe stuff into it, pipe stuff out of it, have complex chains out of it and stuff like that. You can then build CI automation on it. So you can have Claude review your code. Some people actually get Claude to write new linters for them too. So like Claude can lint your code. If there are specific things that you can't define programmatically, you can get Claude Code to do it. And then we get into fancier
Speaker A
notice I also give it a d-allow tools write which is uh a way for me to proactively give it access to the right tool so it can write files to my file system. Um, and then this is something I
Speaker A
applications as well. So if you want to build your own chatbot that's powered by Cloud Code, that's certainly possible. If you want Cloud Code to write you code in a new environment or a separate remote environment, you can build those kinds of applications as well.
Speaker A
you're anything like me, I just can't get myself to understand the output of if config. I still don't know what it means, but Claude does and Claude does it for me over here. Um, and finally, this is uh this is kind of what makes the SDK tick, right? It is this is a we have an output
Speaker A
And finally, these are a few features. We'll talk more about the features in the coming slides. We have Python and TypeScript SDKs or bindings for the Cloud Code SDK coming up soon. So that should make it much easier for you guys to consume it and build on top of it.
Speaker A
I wanted to throw that example out there. Uh let's get into a significantly more complex example now uh which is the uh the cloud GitHub action. Uh so cloud GitHub action was built on top of the SDK um and it can be used to uh review code. It can be used to create new features. It can be used to
Speaker A
So let's jump into some basic examples. Calling Claude, the Cloud Code SDK, is as simple as just doing claude-b and following it up with the string that you want to ask Claude. In this example, I'm telling Claude to write me a Fibonacci sequence generator. And if you
Speaker A
Uh but for now let's jump into a live demo on my laptop. So I have cloned a popular uh small like uh open- source quiz app for this for the purposes of this demo. Um and we are going to fire it up
Speaker A
notice, I also give it a d-allow tools write, which is a way for me to proactively give it access to the right tool so it can write files to my file system. And then this is something I like doing too: piping logs to Claude. So you can do cat app.log and then pipe that into claude-b, looking at logs manually. This is something I do quite often. And as you can see, it does a pretty decent job of summarizing what the log failures were. Similarly, if
Speaker A
allows you to like choose a bunch of categories. Uh how many questions you want, difficulty, definitely easy for me. I suck at trivia. Um type of questions. And then there's like a countdown timer. So, we're not going to actually answer these unless someone feels very strongly,
Speaker A
you're anything like me, I just can't get myself to understand the output of ifconfig. I still don't know what it means, but Claude does, and Claude does it for me over here. And finally, this is kind of what makes the SDK tick, right? We have an output
Speaker A
but that's okay. Um we So this was the little like demo quiz app that that's open sourced. And if we look at the issues for for this uh for this um uh repo, we see a couple very interesting ones. Um,
Speaker A
format. If you do d-output format JSON, Cloud Code will actually output things or its response in JSON as opposed to plain text. And you can parse this JSON and build on top of it. So we'll talk more about details for how this is, what else you can do with this JSON, but
Speaker A
on my repo. So, it it's already available. Um, but we'll go over like how to set that up uh uh later too. Um, okay. So, here's the issue. Um it has pretty sparse details on how to implement this.
Speaker A
I wanted to throw that example out there. Let's get into a significantly more complex example now, which is the Cloud GitHub Action. So the Cloud GitHub Action was built on top of the SDK, and it can be used to review code. It can be used to create new features. It can be used to
Speaker A
config page. So there's a lot of like creative room for claw to do whatever it wants to do uh in this case and I'm excited to see what it actually ends up building. So what I'm going to do is say at cloud please implement this feature and comment on it. So it usually does take a four
Speaker A
triage bugs and so on. This is also open source. So I'll include a link at the very end of the talk so you guys can go have a look at the source for inspiration for how to use it.
Speaker A
uh talking about. So let's go and say cloud please build this. And now we have two things building.
Speaker A
But for now, let's jump into a live demo on my laptop. So I have cloned a popular small open-source quiz app for the purposes of this demo. We are going to fire it up just to see how that works, and then we will tell Cloud to build something on top of it for us. So, I just did an npm start, which opened up my shiny new quiz app. It's actually pretty nifty. It
Speaker A
GitHub action run. If I click into it and if I actually like click on the logs, I'll see that it's doing a bunch of stuff. You can see all this JSON being output. This is from the SDK. Um,
Speaker A
allows you to choose a bunch of categories, how many questions you want, difficulty—definitely easy for me. I suck at trivia. Type of questions. And then there's a countdown timer. So, we're not going to actually answer these unless someone feels very strongly, please shout out the answer. But I'm just going to fly through these just to show you guys how this little quiz app works. There we go. Not surprising. We got a great F,
Speaker A
this to-do list and try to implement uh implement the uh powerup feature. Uh and similarly for the question timer uh it's going to do something something uh similar. Uh one more thing that we should do here is um there are already a couple pull requests that have been opened
Speaker A
but that's okay. So this was the little demo quiz app that's open sourced. And if we look at the issues for this repo, we see a couple very interesting ones.
Speaker A
I I actually think I like green better. So, I'm just going to be like, "All right, Claude, please change this to green." Uh, this one is fairly easy, and I'm pretty sure Claude's going to do this, but I just wanted to show you guys that it can also add commits for a pull request
Speaker A
There's one issue that says we should add power-ups for 50/50 elimination of options and skip questions for free. Because I suck at trivia, I really like that feature and I want to build it. Before this presentation, I already installed the Cloud GitHub Action on my repo. So it's already available. But we'll go over how to set that up later too. Okay. So, here's the issue. It has pretty sparse details on how to implement this.
Speaker A
SDK. Uh, when you call cloud-ba it has it has uh it has no edit or destructive permission access.
Speaker A
It's just literally a feature wish list, really like a wish feature. It's saying add a power-up option in the config: 50/50 elimination for the skip question. It should avoid user points even though the question was skipped. And the user should be able to configure this from the config page. So there's a lot of creative room for Cloud to do whatever it wants to do in this case, and I'm excited to see what it actually ends up building. So what I'm going to do is say, "Cloud, please implement this feature and comment on it." It usually does take four or five seconds for it to respond. And while it's doing that, for good measure, we'll just also take this other GitHub issue. This is talking about a per-question timer. So we saw there was a global timer on the quiz app, but there was no per-question timer. So that's what this one's talking about. So let's go and say, "Cloud, please build this." And now we have two things building.
Speaker A
example you see that I've given it permissions bash permissions to uh npm run build npm test and the right tool uh which is a good set of uh permissions because this allows cloud to uh self-verify what's what it's writing uh and build uh build build your project and test and then
Speaker A
Cool. So now when I get back to this tab, you see that Claude responded with a comment on this GitHub issue saying that it's working. It also has a link to the job run, which is the GitHub Action run. If I click into it and if I actually click on the logs, I'll see that it's doing a bunch of stuff. You can see all this JSON being output. This is from the SDK.
Speaker A
the little screenshot I showed you earlier. But there's two there's two modes here. There's stream JSON and JSON. Um it it's it does exactly what it sounds like. If you if you select stream JSON, it'll actually stream messages to you as and when they're available versus JSON will just
Speaker A
So we won't look at the JSON too much because it's not much fun.
Speaker A
your users. Um and then you can also configure the system prompt. So you can do d-system prompt talk like a pirate and you can get cloud code to talk like a pirate for the rest of your day.
Speaker A
uh which is actually quite fun. If you haven't done it, I'd encourage you to try it out. Um we also have uh a few user interact interaction features built into the SDK. Um and what that means is like the first one is uh is resuming session state. So um when you uh when you call
Speaker A
cloud-p in in structured output or JSON mode, it's going to return a session ID. Uh and this session ID is useful because you can then reference the session ID to go back to the same context state that that claude had when it finished that process. Uh so by preserving these session
Speaker A
IDs and keeping track of them, you can enable or like build user interactive features where like you the user says something, you pass that on to claude, uh claude returns a response and now you want the user to give feedback on that response and that's how this kind of enables you to to
Speaker A
build those types of interactions in your apps. Um, and then the last one, and this one's actually pretty interesting, and it's it's fairly recent, too. Um, it's it's d-permission prompt tool. Um, we talked a little bit about how to give cloud permissions using the allowed tools flag. And that
Speaker A
requires you to to preconfigure them in advance. Uh, but what if you didn't want to do them because you don't know what tools cloud wants to what tool tools cloud would want to use in the future? Um, in that case, you can use the d-p permission prompt tool and offload the permission management
Speaker A
to an to an MCP server. U so you can ask users in real time for whether they want to accept a tool or reject a tool and you can have an MCP server kind of handle that for you as
Speaker A
opposed to trying to predict which tools are okay and which tools are not. Um, so this is uh this is fairly recent and we'd love to get feedback on this if you guys end up trying it out.
Speaker A
Uh, okay. Let's let's go back to our demo uh and see what Claude's done. Um, all right. So, this is the power up issue. Uh, we can see that Claude has actually gone through his to-do list. Um, okay. I'm going to open a PS. There's a there's a link over here to create a PR.
Speaker A
And I'm going to click that uh and see what that gives us. I'll actually create the pull request too so it's easier for us to review. Um I don't really know how this codebase works but we'll still eyeball it just to see if you know
Speaker A
it's doing the right thing. U so you see some set power up stuff seems all right.
Speaker A
Okay. There's like some configuration in the main component. Um all right. Right. I think what we should do and what would make this fun is we should just get this branch locally and see what Claude did because there's no way that we can actually figure out what it did
Speaker A
in the short amount of time that we have. So, I'm going to go back to my terminal, do a good fetch, check out the branch that Claude just created, and restart our process. Okay.
Speaker A
Uh, awesome. Uh, it looks like we have a powerup section now, uh, at the bottom of our config page.
Speaker A
And it's a little check box. I like that touch. Uh, we'll keep both of them on. And, uh, no, let's select general knowledge. Uh, let's start playing this game. Let's see what it did. Oh, sweet. So, we You see it has like this little 50/50 button on the bottom left and a skip questions button on
Speaker A
the right. Um, I'm just going to with 50/50 because I have no idea what the answer this is. Does anybody know what that is? D. Okay, there we go. That makes sense. Cadbury. Yeah.
Speaker A
Uh, all right. I'm going to skip this one and then let's just breeze through the other ones for for sake of time. Um, all right.
Speaker A
All right. Still got a still got an F, but we got we got one one correct answer. Uh, which is better than zero correct answers. Um, and yeah, uh, I guess uh, yeah, it tricked us. Uh, that was a good one. Um, but yeah, I mean,
Speaker A
it it seems like it worked. I think there's definitely more we could do here. We could like show how the power like which questions we we use the power upon over here. And there's like definitely more we can do. But at the most basic level, I think uh Claude was able to do
Speaker A
u do the task that we assigned it to do. Um which is exciting. Like this is kind of the power of the GitHub action because you didn't really have to run this on your own infra. You can just literally comment on a thread saying please build this for me. It uses your your
Speaker A
uh GitHub action runners and just like does the thing. Um we let's also look at the PR that we told it to change from blue to green. Uh it's all hex code. So let's just see what it did in
Speaker A
the commits. So you see there's two commits and uh Claude has added this last one to switch it from blue to green. And it did it for all three of the places where uh we uh where the color was defined,
Speaker A
which is which is awesome. Um okay. Uh I'm not going to go over the last one, the question timer, because we we might run out of time. Um, but this hopefully gives you uh insight into what the cloud GitHub action can can do for you. Um, let's let's go back to the presentation now.
Speaker A
Okay. So, just as a recap, uh, the cloud GitHub action um, as it's implemented today, uh, is able to to read your code. It's able to create PRs for you from GitHub issues like we just saw. It's able to create commits for you. So if you already have a PR and you commit or
Speaker A
you comment on it, it can add a commit to an existing branch or an existing PR. Um it can answer questions. It doesn't have to do something. It can just literally answer questions for you.
Speaker A
If you don't understand something, you can be like, "Hey Claude, how does this work?" And you can get it to answer questions and it can of course review your code. Uh the best part of all of this is that you don't have to take care of the infra. It runs on existing GitHub runners
Speaker A
which almost everyone has configured if you're using GitHub actions. Um, so that that's kind of the really nice thing about this is you don't have to worry about any of the infra.
Speaker A
Okay. Um, so how were actions built, right? Um, I think I I may have mentioned that these actions were built on top of the SDK. Um, we so the SDK does form the foundation of how these actions were
Speaker A
built and then we have two other actions on top. We have the cloud code base action. Uh this is a thin layer that just uh uh it it just implements the piece which talks to cloud code and returns
Speaker A
the response from cloud code. Um and then we have another action on top of this which is called the PR action. And this action is responsible for all the fancy things that you saw um on the PR. So it's responsible for making comments, for the to-do list, for rendering it the right way,
Speaker A
uh for adding the PR links and things like that. So um it it's kind of three layers uh in which it's built. Both the base action and the PR action are open sourced. Uh so I would encourage you guys
Speaker A
to go have a look uh you know take inspiration from how that works and maybe that inspires more ideas. Um yeah. Um yeah and then uh finally uh we also um uh you guys can install the cloud GitHub
Speaker A
actions today. Uh the easiest way to do this is to open up cloud code in a terminal uh in the repo that you want to install it in. Uh and once you open up cloud code, just do slashinstall github
Speaker A
action. Um and that is going to present you with a nice flow which uh guides you through configuring your GitHub action as well as merging it. So the end the end result of this would be a PR which
Speaker A
would be a YAML file for your GitHub action. Um, and once you merge that in and you configure your API keys and things like that, uh, you're off to the races and you can you can go ahead and
Speaker A
start tagging Cloud and using Claude, uh, like we just did right now. Um, uh, small caveat, if you're if you're a Bedrock or Vertex user, uh, the instructions are a little bit different and a tiny bit more manual. So, uh, please have a look at the docs. the docs uh are pretty
Speaker A
comprehensive in uh in in in helping you set up uh the GitHub action for both bedrock and Vortex.
Speaker A
Uh cool. Finally, uh resources. Uh these are resources for things that we've talked about today. If you want to snap a picture, uh go ahead. Um the the the open source repos for both the base action and the cloud code action are are here. Um and we we absolutely love your
Speaker A
feedback as well. So if you guys have any feedback on the SDK, on the GitHub action or on cloud code, uh please go to our um public cloud code GitHub repo and file an issue there and someone will have a look um and and get back to you. Um cool. That's all I have
Speaker A
for today. Uh thanks for joining me and I hope you guys have a good rest of the day.
Topics:Cloud Code SDKClaude Codeheadless automationGitHub Actioncode review automationCI/CDdeveloper toolsSDK bindingsopen sourceautomation pipelines











