WEBVTT

00:00:00.000 --> 00:00:01.240
coffee.

00:00:01.240 --> 00:00:04.160
This coffee is amazing.

00:00:04.160 --> 00:00:06.120
Oh, [ __ ]

00:00:06.120 --> 00:00:09.400
Not not an ad.

00:00:09.400 --> 00:00:11.560
Well, you'd have to be in Vietnam. Oh,

00:00:11.560 --> 00:00:13.360
they have an address in Sky Garden,

00:00:13.360 --> 00:00:15.080
apparently.

00:00:15.080 --> 00:00:16.920
But this is egg coffee

00:00:16.920 --> 00:00:18.560
with less sugar

00:00:18.560 --> 00:00:20.120
than what I usually get for egg coffee.

00:00:20.120 --> 00:00:22.560
It's usually super

00:00:22.560 --> 00:00:23.640
um

00:00:23.640 --> 00:00:26.160
loaded with like condensed milk in

00:00:26.160 --> 00:00:27.240
Vietnam.

00:00:27.240 --> 00:00:28.920
Uh and they also have a little bit of

00:00:28.920 --> 00:00:30.520
like liqueur.

00:00:30.520 --> 00:00:33.840
Um it it it adds

00:00:33.840 --> 00:00:36.440
a bit of flavor to the like bitter taste

00:00:36.440 --> 00:00:37.880
of the coffee.

00:00:37.880 --> 00:00:39.560
I don't know what the egg does. The egg

00:00:39.560 --> 00:00:43.120
just probably makes it more creamy.

00:00:43.120 --> 00:00:45.320
I drink uh

00:00:45.320 --> 00:00:48.320
I think usually Ethiopian style light

00:00:48.320 --> 00:00:50.120
roasts filter coffee.

00:00:50.120 --> 00:00:52.240
>> Okay. I have no idea. It's Vietnamese

00:00:52.240 --> 00:00:55.880
for me, I guess. Don't really care.

00:00:55.880 --> 00:00:57.360
I'm just sipping the coffee right now.

00:00:57.360 --> 00:00:59.720
Yeah, sorry. I overslept. Um but the

00:00:59.720 --> 00:01:01.560
good news is that my wife has taken the

00:01:01.560 --> 00:01:04.920
kids to school. So, I do have about

00:01:04.920 --> 00:01:06.080
well, as much time as you have,

00:01:06.080 --> 00:01:08.920
actually. Well, I am constrained. Uh

00:01:08.920 --> 00:01:10.520
last few days have been insane, but that

00:01:10.520 --> 00:01:12.640
also makes you feel happy, right? When

00:01:12.640 --> 00:01:15.680
you have back-to-back not meetings, but

00:01:15.680 --> 00:01:19.520
actually like actionable items.

00:01:19.520 --> 00:01:21.120
That's really

00:01:21.120 --> 00:01:24.000
Well, yeah. I I guess what

00:01:24.000 --> 00:01:25.320
Can you talk about what you're working

00:01:25.320 --> 00:01:26.600
on or is it

00:01:26.600 --> 00:01:27.280
not AI?

00:01:27.280 --> 00:01:29.680
>> I guess the the the the most

00:01:29.680 --> 00:01:32.800
um funniest like the most

00:01:32.800 --> 00:01:34.680
joyful things is where you can kick off

00:01:34.680 --> 00:01:35.560
an

00:01:35.560 --> 00:01:37.000
an agent

00:01:37.000 --> 00:01:39.280
because Claude Code now really acts like

00:01:39.280 --> 00:01:42.120
an agent. Claude Code in auto mode and

00:01:42.120 --> 00:01:44.000
then you tell it to monitor

00:01:44.000 --> 00:01:46.360
and then it um it just wakes up on

00:01:46.360 --> 00:01:49.000
events. I I have this um classic

00:01:49.000 --> 00:01:50.480
Terraform

00:01:50.480 --> 00:01:52.880
pull request-based automation.

00:01:52.880 --> 00:01:54.040
Um

00:01:54.040 --> 00:01:55.520
but I also have cross repositories

00:01:55.520 --> 00:01:58.720
flows. So, I have CDK TF TypeScript

00:01:58.720 --> 00:02:00.920
infrastructure defined in the product

00:02:00.920 --> 00:02:02.000
repo.

00:02:02.000 --> 00:02:03.520
And

00:02:03.520 --> 00:02:07.479
the dev environment is using work scoped

00:02:07.479 --> 00:02:09.000
a workspace

00:02:09.000 --> 00:02:11.720
scoped packages, meaning

00:02:11.720 --> 00:02:13.600
you have I have a turbo repo setup, so I

00:02:13.600 --> 00:02:15.120
have an

00:02:15.120 --> 00:02:16.640
a JavaScript package that defines the

00:02:16.640 --> 00:02:19.920
infrastructure, and I have the actual

00:02:19.920 --> 00:02:23.080
docker file with either JavaScript or

00:02:23.080 --> 00:02:24.080
.NET

00:02:24.080 --> 00:02:26.720
applications. And

00:02:26.720 --> 00:02:29.160
the infra

00:02:29.160 --> 00:02:32.840
app, as it were, synthesizes from the

00:02:32.840 --> 00:02:34.600
JavaScript package all of the Terraform

00:02:34.600 --> 00:02:37.080
configuration, and Atlantis

00:02:37.080 --> 00:02:39.760
um auto plans and applies local changes.

00:02:39.760 --> 00:02:41.800
So, you do a PR with a change to the

00:02:41.800 --> 00:02:43.000
infra

00:02:43.000 --> 00:02:44.760
package. You you change the infra

00:02:44.760 --> 00:02:47.280
package, and it automatically shows a

00:02:47.280 --> 00:02:48.360
diff

00:02:48.360 --> 00:02:50.520
uh Terraform plan against dev.

00:02:50.520 --> 00:02:53.120
And then we have a change set.

00:02:53.120 --> 00:02:54.280
So, when

00:02:54.280 --> 00:02:56.400
um that works but and and

00:02:56.400 --> 00:02:57.959
and and and Cloud is amazing. It just

00:02:57.959 --> 00:02:59.600
looks at like, "Okay, you know, this is

00:02:59.600 --> 00:03:02.160
the dev local workspace scoped package,

00:03:02.160 --> 00:03:03.680
and we're making a change to the

00:03:03.680 --> 00:03:05.360
infrastructure as code,

00:03:05.360 --> 00:03:06.920
and we're we're going to apply that in

00:03:06.920 --> 00:03:09.720
dev, and hold on." Uh once that dev

00:03:09.720 --> 00:03:12.200
apply has run, and the change set

00:03:12.200 --> 00:03:13.920
creates a versioning, and if you have

00:03:13.920 --> 00:03:16.080
validated that the IAC changes are

00:03:16.080 --> 00:03:18.120
correct, it's kind of like a module,

00:03:18.120 --> 00:03:20.720
right? But instead that it is shipped as

00:03:20.720 --> 00:03:22.560
a JavaScript package in Code Artifact

00:03:22.560 --> 00:03:25.040
private registry. So,

00:03:25.040 --> 00:03:28.160
you then merge the release PR that then

00:03:28.160 --> 00:03:30.480
releases the infrastructure package, and

00:03:30.480 --> 00:03:32.200
then it goes into the integration repo.

00:03:32.200 --> 00:03:33.680
So, then it goes against staging and pro

00:03:33.680 --> 00:03:36.440
So, it's like pure immutable propagation

00:03:36.440 --> 00:03:38.800
of your infrastructure side by side with

00:03:38.800 --> 00:03:40.680
your docker file. If you have any

00:03:40.680 --> 00:03:43.080
changes to to either, right? If you have

00:03:43.080 --> 00:03:44.640
just a docker, you just bump the tags in

00:03:44.640 --> 00:03:46.239
the integration repo. If you have

00:03:46.239 --> 00:03:47.920
integration changes If sorry, if you

00:03:47.920 --> 00:03:49.320
have changes to both your infra, like

00:03:49.320 --> 00:03:50.720
new resources that relate to the

00:03:50.720 --> 00:03:53.240
service, or like in my case it's

00:03:53.240 --> 00:03:55.760
compliance requirements of file system

00:03:55.760 --> 00:03:57.360
of the container. So I'm setting

00:03:57.360 --> 00:03:59.080
read-only file system with with

00:03:59.080 --> 00:04:00.720
whitelisted parts.

00:04:00.720 --> 00:04:02.480
And and so this package change to the

00:04:02.480 --> 00:04:04.480
container definition. There's no Docker

00:04:04.480 --> 00:04:07.520
image change. But it it goes

00:04:07.520 --> 00:04:10.720
against dev where it gets validated.

00:04:10.720 --> 00:04:12.640
And when it's merged and released

00:04:12.640 --> 00:04:14.120
because it's validated, then it gets

00:04:14.120 --> 00:04:15.800
promoted to staging.

00:04:15.800 --> 00:04:17.640
Integrated and then it gets promoted to

00:04:17.640 --> 00:04:19.840
prod all through the integration repo.

00:04:19.840 --> 00:04:21.280
And all automated with Claude Code

00:04:21.280 --> 00:04:23.520
because Claude Code understands that this

00:04:23.520 --> 00:04:26.160
repo links to that repo and and monitors

00:04:26.160 --> 00:04:28.160
for the PR to be ready, triggers the

00:04:28.160 --> 00:04:29.960
Atlantis apply after the approval from

00:04:29.960 --> 00:04:31.240
then.

00:04:31.240 --> 00:04:33.138
Maybe it's just cuz I woke up but like

00:04:33.138 --> 00:04:34.000
>> [laughter]

00:04:34.000 --> 00:04:36.200
>> It's fully automated like Yeah,

00:04:36.200 --> 00:04:38.320
>> Agents plus a fully automated CI/CD

00:04:38.320 --> 00:04:40.040
pipeline is amazing.

00:04:40.040 --> 00:04:41.440
>> that's uh

00:04:41.440 --> 00:04:43.760
that's where every pipeline wants to get

00:04:43.760 --> 00:04:45.720
to, right? Like uh

00:04:45.720 --> 00:04:47.720
Yeah, but that's the thing where I I

00:04:47.720 --> 00:04:50.000
mean like as a platform engineer,

00:04:50.000 --> 00:04:52.280
But just but just but but just I

00:04:52.280 --> 00:04:55.000
what what I wanted to ask was like

00:04:55.000 --> 00:04:56.160
I didn't quite understand what the

00:04:56.160 --> 00:04:58.480
innovation was with with Cloud. Just

00:04:58.480 --> 00:05:01.480
just that's it's integrated as as well

00:05:01.480 --> 00:05:03.440
and helping you with with the local

00:05:03.440 --> 00:05:08.120
stuff. Would you say it's shifted left?

00:05:08.120 --> 00:05:10.600
Yeah, no. I mean like for work I'm I

00:05:10.600 --> 00:05:12.600
have a couple of like repos that I

00:05:12.600 --> 00:05:13.919
manage fully with spec-driven

00:05:13.919 --> 00:05:15.280
development.

00:05:15.280 --> 00:05:16.800
But these are just me and my team like

00:05:16.800 --> 00:05:19.160
the platform team. And then I have uh

00:05:19.160 --> 00:05:20.840
workflows that still depend on other

00:05:20.840 --> 00:05:23.960
people and they are highly automated. So

00:05:23.960 --> 00:05:27.120
I just tell Cloud the workflow. And

00:05:27.120 --> 00:05:28.840
sometimes if there's no docs in the

00:05:28.840 --> 00:05:31.120
repo, I ask Cloud to look at the Git

00:05:31.120 --> 00:05:32.760
history and figure out the workflow like

00:05:32.760 --> 00:05:34.080
look at all the branches, look at the

00:05:34.080 --> 00:05:37.040
merges, look at the PRs across branches

00:05:37.040 --> 00:05:39.200
cuz I have most of my repos that I

00:05:39.200 --> 00:05:41.360
manage and roll out for the last 2 years

00:05:41.360 --> 00:05:43.919
are trunk-based. And and you you

00:05:43.919 --> 00:05:45.280
basically create a feature branch, you

00:05:45.280 --> 00:05:46.920
merge, and then you release and promote.

00:05:46.920 --> 00:05:48.960
There's not too many environments. Uh

00:05:48.960 --> 00:05:50.520
but they have this legacy repo where

00:05:50.520 --> 00:05:52.400
there's so many different

00:05:52.400 --> 00:05:54.480
um like environments and they have

00:05:54.480 --> 00:05:55.960
environment branches for different

00:05:55.960 --> 00:05:59.400
feature work. And um and I'm I've been

00:05:59.400 --> 00:06:01.520
trying to simplify it but haven't been

00:06:01.520 --> 00:06:03.600
able to do it and there's no even a

00:06:03.600 --> 00:06:06.400
proper like documentation. So, I finally

00:06:06.400 --> 00:06:08.280
told Claude, "Look, help me understand

00:06:08.280 --> 00:06:09.960
this repo and where should I target my

00:06:09.960 --> 00:06:12.120
PRs?" And it did everything. It like,

00:06:12.120 --> 00:06:14.120
"Okay, I can see that these people these

00:06:14.120 --> 00:06:16.080
branches this is when they get created

00:06:16.080 --> 00:06:18.160
off master like a release branch gets

00:06:18.160 --> 00:06:20.280
created off master. Once it's all the

00:06:20.280 --> 00:06:22.919
way to prod, it gets deleted and it gets

00:06:22.919 --> 00:06:24.320
another release branch gets created off

00:06:24.320 --> 00:06:25.400
master.

00:06:25.400 --> 00:06:26.560
Uh and those release branches merge to

00:06:26.560 --> 00:06:29.320
master, obviously. So, this is like

00:06:29.320 --> 00:06:30.400
has finally [clears throat] solved this

00:06:30.400 --> 00:06:32.400
problem for me cuz I've been trying to

00:06:32.400 --> 00:06:33.640
understand it

00:06:33.640 --> 00:06:35.520
and and then I I asked people like,

00:06:35.520 --> 00:06:36.840
"Look, let's make this repo more a

00:06:36.840 --> 00:06:38.760
chance agent friendly."

00:06:38.760 --> 00:06:41.320
Here's the release from markdown.

00:06:41.320 --> 00:06:44.440
Confirm, give me your eyes to confirm

00:06:44.440 --> 00:06:47.520
that this um this is correct that um you

00:06:47.520 --> 00:06:49.760
know, the the get dissection from the

00:06:49.760 --> 00:06:52.160
LLM. I don't mention which LLM for

00:06:52.160 --> 00:06:53.309
reasons.

00:06:53.309 --> 00:06:53.680
>> [laughter]

00:06:53.680 --> 00:06:55.160
>> Uh that the LLM You were talking about

00:06:55.160 --> 00:06:57.240
Claude just now.

00:06:57.240 --> 00:06:59.480
Yeah, yeah. I I said I don't mention

00:06:59.480 --> 00:07:01.680
which LLM for reasons in my pull

00:07:01.680 --> 00:07:04.520
requests. Oh. Uh

00:07:04.520 --> 00:07:06.080
um so, basically what I'm what I'm

00:07:06.080 --> 00:07:07.880
saying

00:07:07.880 --> 00:07:10.840
on that side, Claude

00:07:10.840 --> 00:07:13.760
has and and and to be honest I know that

00:07:13.760 --> 00:07:17.600
we like raged against Jira and you know,

00:07:17.600 --> 00:07:21.560
for um you know, local CLI managed task

00:07:21.560 --> 00:07:23.720
trackers. At this point with the Jira

00:07:23.720 --> 00:07:26.240
CLI and the Jira scale which has some

00:07:26.240 --> 00:07:28.240
indicators locally, cuz Jira can be

00:07:28.240 --> 00:07:30.760
customized for workflows, right? So, my

00:07:30.760 --> 00:07:32.880
Jira scale is very specific. Like, this

00:07:32.880 --> 00:07:34.800
is the board. This is the statuses that

00:07:34.800 --> 00:07:37.600
you like like you move tickets to and

00:07:37.600 --> 00:07:41.120
and and basically use uh sub um

00:07:41.120 --> 00:07:43.240
tickets to track the work. Like, because

00:07:43.240 --> 00:07:45.760
I'm doing IC work, a lot of it is like

00:07:45.760 --> 00:07:47.440
we need to release to dev, and then, you

00:07:47.440 --> 00:07:49.000
know, you track the releases in

00:07:49.000 --> 00:07:49.920
different sub tickets.

00:07:49.920 --> 00:07:53.120
>> where Jira, I think I mean, I I yeah, I

00:07:53.120 --> 00:07:54.440
I must

00:07:54.440 --> 00:07:57.080
apologize I mean, I'm not apologizing,

00:07:57.080 --> 00:07:59.760
but you I've used Jira the wrong way. I

00:07:59.760 --> 00:08:03.280
think shoving in the specs that that

00:08:03.280 --> 00:08:07.160
like like a STD would generate into Jira

00:08:07.160 --> 00:08:10.040
is the wrong thing. Jira is for uh

00:08:10.040 --> 00:08:11.680
coordinating with your team members,

00:08:11.680 --> 00:08:14.400
keeping people aware of where you are in

00:08:14.400 --> 00:08:16.880
the process, right? Like as you said,

00:08:16.880 --> 00:08:20.400
like we're moving from something to

00:08:20.400 --> 00:08:22.880
from from one environment to the next.

00:08:22.880 --> 00:08:24.960
That that having that track across the

00:08:24.960 --> 00:08:26.080
board

00:08:26.080 --> 00:08:27.919
for coordinating with your colleagues is

00:08:27.919 --> 00:08:29.160
still

00:08:29.160 --> 00:08:31.360
a Jira and what you and what Jira

00:08:31.360 --> 00:08:34.080
arguably does quite well.

00:08:34.080 --> 00:08:35.640
I mean, uh

00:08:35.640 --> 00:08:38.200
I would say that if it's in place,

00:08:38.200 --> 00:08:40.760
it's not hard to integrate. Uh I would

00:08:40.760 --> 00:08:42.200
argue that if you're a startup and

00:08:42.200 --> 00:08:43.919
you're doing uh or you're building

00:08:43.919 --> 00:08:45.640
something, you don't need Jira, right?

00:08:45.640 --> 00:08:47.839
You you can create a mono repo, you can

00:08:47.839 --> 00:08:49.400
do spec-driven development, you can have

00:08:49.400 --> 00:08:50.960
everything in Git

00:08:50.960 --> 00:08:53.640
um with some web um

00:08:53.640 --> 00:08:56.080
interface on top of it to visualize the

00:08:56.080 --> 00:08:58.280
different um you know, the Kanban out of

00:08:58.280 --> 00:08:59.160
the the Git.

00:08:59.160 --> 00:09:01.280
>> right. Yeah, actually I never got to use

00:09:01.280 --> 00:09:03.880
that feature of um Spec Ledger, the

00:09:03.880 --> 00:09:05.360
Kanban board.

00:09:05.360 --> 00:09:06.920
But yeah, you're right.

00:09:06.920 --> 00:09:08.480
Yeah, I mean,

00:09:08.480 --> 00:09:10.200
you wouldn't

00:09:10.200 --> 00:09:12.280
I mean, there's so many

00:09:12.280 --> 00:09:14.040
I I mean, like you just got to remember

00:09:14.040 --> 00:09:15.360
like uh hopefully the audience

00:09:15.360 --> 00:09:17.520
understands that I'm in a

00:09:17.520 --> 00:09:20.480
I'm in a unique position. What am I in a

00:09:20.480 --> 00:09:22.680
I I I deal with

00:09:22.680 --> 00:09:24.839
enterprises and Jira

00:09:24.839 --> 00:09:26.720
as my day job. And then when I'm

00:09:26.720 --> 00:09:28.400
experimenting,

00:09:28.400 --> 00:09:31.800
I like to uh bemoan about Jira and not

00:09:31.800 --> 00:09:33.920
use Jira.

00:09:33.920 --> 00:09:35.600
Yeah. Uh so, yeah, that's the kind of

00:09:35.600 --> 00:09:37.320
life I lead.

00:09:37.320 --> 00:09:39.520
But I started using work trees. Like I'm

00:09:39.520 --> 00:09:42.160
not really cuz for work

00:09:42.160 --> 00:09:43.880
I don't really have like agent teams at

00:09:43.880 --> 00:09:46.240
the moment because the work is very like

00:09:46.240 --> 00:09:47.480
um

00:09:47.480 --> 00:09:49.040
platform

00:09:49.040 --> 00:09:50.480
ad hoc

00:09:50.480 --> 00:09:52.920
um you know, compliance changes that I

00:09:52.920 --> 00:09:54.480
need to push through

00:09:54.480 --> 00:09:56.520
um kernel fixes and so on.

00:09:56.520 --> 00:09:58.520
>> very enterprising in a way, but it

00:09:58.520 --> 00:10:00.280
sounds very mature maybe is the better

00:10:00.280 --> 00:10:00.760
word.

00:10:00.760 --> 00:10:02.600
>> It sounds very like if you want to say

00:10:02.600 --> 00:10:05.720
legacy, um you know, because I'm I'm I'm

00:10:05.720 --> 00:10:08.120
called platform, but I I'm more like

00:10:08.120 --> 00:10:10.120
ops, right? I'm in like a sysadmin even

00:10:10.120 --> 00:10:12.560
though that I'm I've pushed all of the

00:10:12.560 --> 00:10:13.960
sysadmin

00:10:13.960 --> 00:10:16.480
work as as as much as possible to mutual

00:10:16.480 --> 00:10:18.040
infrastructure with infrastructure as

00:10:18.040 --> 00:10:19.560
code and so on.

00:10:19.560 --> 00:10:20.240
Um

00:10:20.240 --> 00:10:22.200
and and in in in principle a lot of the

00:10:22.200 --> 00:10:23.360
other like the product teams are

00:10:23.360 --> 00:10:26.160
actually very self-reliant. It's just

00:10:26.160 --> 00:10:28.720
that I'm relegated to

00:10:28.720 --> 00:10:31.600
like a small slice of of uh of the

00:10:31.600 --> 00:10:33.040
operational aspects of like

00:10:33.040 --> 00:10:35.000
>> Okay. I think I think

00:10:35.000 --> 00:10:36.760
BAU in my workplace uh I think

00:10:36.760 --> 00:10:37.440
previously it was

00:10:37.440 --> 00:10:41.360
>> is it it's become BAU because the it has

00:10:41.360 --> 00:10:42.400
been

00:10:42.400 --> 00:10:45.160
thinned out. So, I do have like some

00:10:45.160 --> 00:10:46.640
very exciting things that I want to work

00:10:46.640 --> 00:10:49.360
on, but I just don't really have much of

00:10:49.360 --> 00:10:51.520
like um

00:10:51.520 --> 00:10:54.200
I I would say time. I do have time, but

00:10:54.200 --> 00:10:55.960
I don't know. Uh but but like what what

00:10:55.960 --> 00:10:58.480
I was saying with like cloud, I think

00:10:58.480 --> 00:11:01.120
what I really love lately is I tell it

00:11:01.120 --> 00:11:03.160
to like I'm not going into plan mode

00:11:03.160 --> 00:11:05.839
immediately. I'm going like gathering

00:11:05.839 --> 00:11:07.600
context

00:11:07.600 --> 00:11:09.120
um

00:11:09.120 --> 00:11:10.760
telling it

00:11:10.760 --> 00:11:13.200
to create a work tree

00:11:13.200 --> 00:11:16.320
to then go into a plan.

00:11:16.320 --> 00:11:17.560
Um

00:11:17.560 --> 00:11:19.320
You tell it to go to do a couple of

00:11:19.320 --> 00:11:21.960
things first to gather its context. Like

00:11:21.960 --> 00:11:23.960
read this Jira ticket, read this GitHub

00:11:23.960 --> 00:11:24.320
issue.

00:11:24.320 --> 00:11:25.680
>> Yeah, like

00:11:25.680 --> 00:11:28.440
what stops you from using Git work tree

00:11:28.440 --> 00:11:30.640
from the very start? I can't understand.

00:11:30.640 --> 00:11:32.240
>> plan because if you go into plan, then

00:11:32.240 --> 00:11:33.720
it's like I'm in read-only mode. I can't

00:11:33.720 --> 00:11:36.320
do anything that that affects the state.

00:11:36.320 --> 00:11:38.400
I don't think you can make it go into a

00:11:38.400 --> 00:11:41.360
a work tree while it's in plan mode.

00:11:41.360 --> 00:11:42.320
Okay. Okay.

00:11:42.320 --> 00:11:44.280
>> So so my my original flow was like open

00:11:44.280 --> 00:11:46.880
Claude Code, switch to plan mode, plan

00:11:46.880 --> 00:11:48.520
and make a plan. Talk talk cuz my brain

00:11:48.520 --> 00:11:49.960
my brain isn't working without some

00:11:49.960 --> 00:11:51.880
drawing. Did Did Did you see that link I

00:11:51.880 --> 00:11:54.120
sent you?

00:11:54.120 --> 00:11:54.920
Just draw.

00:11:54.920 --> 00:11:57.040
>> Yeah, I'm I'm I'm in the in the call and

00:11:57.040 --> 00:11:58.080
you're not sharing the screen if you

00:11:58.080 --> 00:11:58.800
want to share it.

00:11:58.800 --> 00:12:00.080
>> Okay, I'll share I'll share the screen.

00:12:00.080 --> 00:12:04.600
You do the You do the drawing.

00:12:04.600 --> 00:12:06.320
Draw.

00:12:06.320 --> 00:12:09.160
I don't know how to draw.

00:12:09.160 --> 00:12:13.280
You don't know how to draw?

00:12:13.280 --> 00:12:14.480
Okay, let let me show you. Let me

00:12:14.480 --> 00:12:16.200
demonstrate how to do the drawing.

00:12:16.200 --> 00:12:18.520
>> talk about the first flow.

00:12:18.520 --> 00:12:19.320
Um You draw the drawing.

00:12:19.320 --> 00:12:20.840
>> Maybe we're Here we're specifically

00:12:20.840 --> 00:12:22.560
talking about more

00:12:22.560 --> 00:12:23.080
like

00:12:23.080 --> 00:12:25.880
>> You You type on the screen.

00:12:25.880 --> 00:12:29.800
Yeah, I I ad hoc work in in in brown

00:12:29.800 --> 00:12:31.280
brown field

00:12:31.280 --> 00:12:33.680
uh or established repositories.

00:12:33.680 --> 00:12:38.760
>> Oh, uh you want to make a title.

00:12:38.760 --> 00:12:41.920
ad hoc h o c work in

00:12:41.920 --> 00:12:44.520
I'm just going to dictate.

00:12:44.520 --> 00:12:47.480
We should have an AI like you know The

00:12:47.480 --> 00:12:50.480
AI The AI is pretty good for this sort

00:12:50.480 --> 00:12:52.080
of stuff.

00:12:52.080 --> 00:12:53.320
What do you mean like if you give it a

00:12:53.320 --> 00:12:55.280
description and then it generates an

00:12:55.280 --> 00:12:57.760
um like a mermaid graph and then renders

00:12:57.760 --> 00:12:59.760
a basic

00:12:59.760 --> 00:13:00.880
mermaid

00:13:00.880 --> 00:13:03.960
visualization. No, well, I can actually

00:13:03.960 --> 00:13:06.080
show you. Hold on. I

00:13:06.080 --> 00:13:06.160
um

00:13:06.160 --> 00:13:07.320
>> I know I don't want to waste time.

00:13:07.320 --> 00:13:08.800
Basically, what I want to say is for ad

00:13:08.800 --> 00:13:11.040
hoc work in a brown field repo

00:13:11.040 --> 00:13:14.040
my original flow would be to immediately

00:13:14.040 --> 00:13:16.560
go into plan mode and then, you know,

00:13:16.560 --> 00:13:18.440
iterate on the plan until I know what to

00:13:18.440 --> 00:13:19.560
do, right?

00:13:19.560 --> 00:13:20.320
>> Okay.

00:13:20.320 --> 00:13:20.760
Plan.

00:13:20.760 --> 00:13:21.520
>> But

00:13:21.520 --> 00:13:23.080
but it gets very frustrating because

00:13:23.080 --> 00:13:25.360
there's always something like not 100%

00:13:25.360 --> 00:13:27.160
right, but I don't want to be bothered

00:13:27.160 --> 00:13:28.960
with like opening the plan, editing it,

00:13:28.960 --> 00:13:31.160
or asking it to make a change cuz I I

00:13:31.160 --> 00:13:32.920
feel it's taking too too much time once

00:13:32.920 --> 00:13:35.760
the plan is rather big. So, Okay, you're

00:13:35.760 --> 00:13:38.000
big and you you're so big on this sort

00:13:38.000 --> 00:13:40.360
of plan stuff. I I'm actually

00:13:40.360 --> 00:13:43.320
>> No, you didn't even listen.

00:13:43.320 --> 00:13:44.920
So, I said my original flow would have

00:13:44.920 --> 00:13:46.720
been to go into plan mode and then

00:13:46.720 --> 00:13:48.280
iterate on the plan and then kick off

00:13:48.280 --> 00:13:51.120
the plan for ad hoc work. Um

00:13:51.120 --> 00:13:51.800
>> Okay.

00:13:51.800 --> 00:13:53.320
because

00:13:53.320 --> 00:13:53.760
Okay.

00:13:53.760 --> 00:13:55.600
>> ad hoc work in a brownfield repo means

00:13:55.600 --> 00:13:57.120
you have to go and explore the the

00:13:57.120 --> 00:13:59.000
things. You have to agree on where to

00:13:59.000 --> 00:14:00.800
make the changes because the AI might go

00:14:00.800 --> 00:14:02.640
wrong and miss something. So, I want to

00:14:02.640 --> 00:14:06.320
align with the AI first. Uh and then

00:14:06.320 --> 00:14:08.280
ad hoc work in a brownfield repo today

00:14:08.280 --> 00:14:10.800
for me is more like do not go into plan

00:14:10.800 --> 00:14:11.840
mode,

00:14:11.840 --> 00:14:14.680
go through exploration phases, read some

00:14:14.680 --> 00:14:18.120
Jira tickets, read some GitHub issues,

00:14:18.120 --> 00:14:18.840
um

00:14:18.840 --> 00:14:21.520
launch an asynchronous explore agent at

00:14:21.520 --> 00:14:23.120
the in the background to get the summary

00:14:23.120 --> 00:14:24.720
on on the repo,

00:14:24.720 --> 00:14:26.920
uh and relevant in parts for what we

00:14:26.920 --> 00:14:29.560
have learned from those. And then, after

00:14:29.560 --> 00:14:32.400
that, go into a plan mode.

00:14:32.400 --> 00:14:35.000
Uh maybe maybe even like use the Git

00:14:35.000 --> 00:14:36.920
worktree. So, this particular session is

00:14:36.920 --> 00:14:38.680
living in a separate worktree. And if

00:14:38.680 --> 00:14:40.200
you do that, you have to tell it like to

00:14:40.200 --> 00:14:42.040
use the worktree tool cuz otherwise it's

00:14:42.040 --> 00:14:43.920
going to run Git worktree. But, if you

00:14:43.920 --> 00:14:45.760
use the clone Claude Code Git worktree

00:14:45.760 --> 00:14:48.600
tool, it's going to automatically put

00:14:48.600 --> 00:14:50.960
the session inside that worktree folder.

00:14:50.960 --> 00:14:52.200
And then, when you're done, it's going

00:14:52.200 --> 00:14:53.800
to clean up the worktree automatically

00:14:53.800 --> 00:14:55.280
as well.

00:14:55.280 --> 00:14:57.640
Because so, this is where you activate

00:14:57.640 --> 00:15:00.680
worktree mode or whatever it's called.

00:15:00.680 --> 00:15:03.320
You use a worktree tool.

00:15:03.320 --> 00:15:05.000
It's not a mode. So, the plan mode is

00:15:05.000 --> 00:15:07.320
like um like a mode that controls what

00:15:07.320 --> 00:15:08.640
the agent is allowed to do like the

00:15:08.640 --> 00:15:11.240
sandbox uh permissions. The worktree

00:15:11.240 --> 00:15:14.240
tool is just a tool that um

00:15:14.240 --> 00:15:16.120
changes the environment and and

00:15:16.120 --> 00:15:17.800
automatically locks the session to a

00:15:17.800 --> 00:15:19.680
certain worktree, which is great because

00:15:19.680 --> 00:15:21.520
then you can open a second terminal and

00:15:21.520 --> 00:15:24.000
launch another cloud and do a parallel

00:15:24.000 --> 00:15:26.200
ticket or whatever. And also

00:15:26.200 --> 00:15:27.840
>> is this is what I was going to ask you.

00:15:27.840 --> 00:15:30.200
So, this is what you do. So, you work in

00:15:30.200 --> 00:15:32.120
parallel thanks to thanks to work tree.

00:15:32.120 --> 00:15:34.000
That That's the chief That's the thing

00:15:34.000 --> 00:15:35.720
that work tree enables.

00:15:35.720 --> 00:15:37.520
Yeah, and that's before I have like

00:15:37.520 --> 00:15:40.280
exact scope of like launching agents and

00:15:40.280 --> 00:15:41.840
an orchestrator doing everything right.

00:15:41.840 --> 00:15:43.880
I'm I'm still very much a driver here

00:15:43.880 --> 00:15:45.840
because this is a

00:15:45.840 --> 00:15:47.880
more than 3-year-old code base that I

00:15:47.880 --> 00:15:50.400
that I know very well. And I just I

00:15:50.400 --> 00:15:51.640
pretty much know where the changes need

00:15:51.640 --> 00:15:52.920
to happen.

00:15:52.920 --> 00:15:54.680
Um and there's a whole bunch of things.

00:15:54.680 --> 00:15:56.120
>> on that sort of

00:15:56.120 --> 00:15:58.520
thing you just said, driver.

00:15:58.520 --> 00:16:00.800
I was looking at that old pairing uh

00:16:00.800 --> 00:16:02.600
article on ThoughtWorks.

00:16:02.600 --> 00:16:05.680
And the driver and navigator

00:16:05.680 --> 00:16:07.560
paradigm is brought up. And then the

00:16:07.560 --> 00:16:10.360
driver, of course, is the person who's

00:16:10.360 --> 00:16:14.160
writing the code. So, so technically so

00:16:14.160 --> 00:16:16.880
technically you're the navigator. Okay.

00:16:16.880 --> 00:16:18.760
Uh so so yeah, I mean, because now I

00:16:18.760 --> 00:16:20.800
have like like I have VS Code because I

00:16:20.800 --> 00:16:22.680
still like to use VS Code to open the

00:16:22.680 --> 00:16:25.200
diffs and also to stage files. So, then

00:16:25.200 --> 00:16:26.600
I can see

00:16:26.600 --> 00:16:28.960
if I don't really want to do the commit,

00:16:28.960 --> 00:16:32.080
I I go into the the Git like extension

00:16:32.080 --> 00:16:34.160
to stage some files before I give the

00:16:34.160 --> 00:16:36.600
next extent command cuz I want to see

00:16:36.600 --> 00:16:38.600
exactly what is it changing without

00:16:38.600 --> 00:16:40.240
blocking the agents for changing those

00:16:40.240 --> 00:16:43.080
files. And then in the VS Code Git

00:16:43.080 --> 00:16:44.760
extension, you actually see every work

00:16:44.760 --> 00:16:46.440
tree separately. So, you can see the

00:16:46.440 --> 00:16:47.960
diffs of every Oh, like the the very

00:16:47.960 --> 00:16:49.640
basic one because I was finding the

00:16:49.640 --> 00:16:51.480
basic Yeah, you have the other one which

00:16:51.480 --> 00:16:53.400
is like GitLens,

00:16:53.400 --> 00:16:55.080
uh which which gives you a lot of cool

00:16:55.080 --> 00:16:58.000
stuff, but I'm not using anything.

00:16:58.000 --> 00:16:59.360
Yeah, I really I really hate the basic

00:16:59.360 --> 00:17:01.360
one. Doesn't seem to be able to have the

00:17:01.360 --> 00:17:03.640
ability to step through

00:17:03.640 --> 00:17:04.680
uh

00:17:04.680 --> 00:17:06.199
Oh, I can't remember what it's missing

00:17:06.199 --> 00:17:08.199
now, but it was frustrating for some

00:17:08.199 --> 00:17:11.400
reason. Okay. And and

00:17:11.400 --> 00:17:13.520
And then like I like to stage things in

00:17:13.520 --> 00:17:14.839
between

00:17:14.839 --> 00:17:16.160
um because I want to know what exactly

00:17:16.160 --> 00:17:19.640
changes based on my prompt. And

00:17:19.640 --> 00:17:20.760
then

00:17:20.760 --> 00:17:22.240
if I'm happy with that by the time I

00:17:22.240 --> 00:17:24.360
want to commit, uh I say I usually say I

00:17:24.360 --> 00:17:26.000
already staged everything that I want to

00:17:26.000 --> 00:17:28.800
commit. Um but Claude codes locally

00:17:28.800 --> 00:17:31.560
usually does a verification. It does

00:17:31.560 --> 00:17:33.240
actually check if you change stages and

00:17:33.240 --> 00:17:34.520
then it will say, "Hey, but there's this

00:17:34.520 --> 00:17:35.840
other file we did that you haven't

00:17:35.840 --> 00:17:37.600
staged." And I'm like, "Oops, yeah,

00:17:37.600 --> 00:17:38.680
you're right."

00:17:38.680 --> 00:17:40.160
I'm actually surprised you managed to

00:17:40.160 --> 00:17:42.840
get Claude to do that cuz sometimes

00:17:42.840 --> 00:17:45.080
I mean, maybe it's me just being lazy,

00:17:45.080 --> 00:17:47.160
but like I mean, I'm talking from

00:17:47.160 --> 00:17:48.920
personal experience. I'm not actually

00:17:48.920 --> 00:17:51.480
using Claude in anger on a on a client

00:17:51.480 --> 00:17:53.680
project. But like it just commits for

00:17:53.680 --> 00:17:55.720
me, right? Like

00:17:55.720 --> 00:17:58.640
No, I I I

00:17:58.640 --> 00:18:02.160
Anyway, um what I I think about

00:18:02.160 --> 00:18:04.520
I had something I was thinking about. Uh

00:18:04.520 --> 00:18:08.320
I forgot.

00:18:08.320 --> 00:18:10.680
Yeah, I know. Attribution. Cuz on on one

00:18:10.680 --> 00:18:13.040
project I disabled uh the the Claude

00:18:13.040 --> 00:18:15.600
attribution completely. Oh,

00:18:15.600 --> 00:18:17.680
you're so naughty. Very naughty.

00:18:17.680 --> 00:18:19.880
>> For for for hashtag reasons, right? For

00:18:19.880 --> 00:18:21.840
hashtags reasons.

00:18:21.840 --> 00:18:23.680
Yeah.

00:18:23.680 --> 00:18:25.560
There's there's some interesting

00:18:25.560 --> 00:18:27.000
articles about that. Like some people

00:18:27.000 --> 00:18:28.720
just do that because there's quite a

00:18:28.720 --> 00:18:30.200
hostility. And it's very interesting

00:18:30.200 --> 00:18:31.480
because we have a contributor to a

00:18:31.480 --> 00:18:34.120
project and originally

00:18:34.120 --> 00:18:36.560
I suspected AI, but I didn't mind.

00:18:36.560 --> 00:18:38.120
Actually, I made I made some comments to

00:18:38.120 --> 00:18:40.720
him because he he always opened the PR

00:18:40.720 --> 00:18:43.080
and then some of them

00:18:43.080 --> 00:18:44.640
uh they were flaky tests and then he

00:18:44.640 --> 00:18:47.080
would post a message on Slack saying,

00:18:47.080 --> 00:18:48.880
"Hey, there's a flaky test uh that

00:18:48.880 --> 00:18:50.400
failed. Can somebody with permissions

00:18:50.400 --> 00:18:52.480
retrigger it?" And I was like, "I hope

00:18:52.480 --> 00:18:55.000
that by now you have a hook in Claude

00:18:55.000 --> 00:18:57.160
that posts this uh Slack message for

00:18:57.160 --> 00:19:00.000
you." Cuz he posted it like three times.

00:19:00.000 --> 00:19:02.080
And and it's always the same message. So

00:19:02.080 --> 00:19:03.360
I was like

00:19:03.360 --> 00:19:05.040
that's the perfect reason for Claude to

00:19:05.040 --> 00:19:07.640
like go and and and quickly go like you

00:19:07.640 --> 00:19:07.840
can

00:19:07.840 --> 00:19:09.640
>> Surely it's easy to go up into your

00:19:09.640 --> 00:19:11.040
Slack history.

00:19:11.040 --> 00:19:12.760
Actually, my my new client uses Slack. I

00:19:12.760 --> 00:19:14.720
haven't used Slack for like years now.

00:19:14.720 --> 00:19:16.280
So, hopefully it's better than I

00:19:16.280 --> 00:19:18.280
remember.

00:19:18.280 --> 00:19:20.800
Oh my god, Slack is is is heaven if you

00:19:20.800 --> 00:19:23.160
if you've been stuck to MS Teams for a

00:19:23.160 --> 00:19:25.280
while. What I really loved just before I

00:19:25.280 --> 00:19:28.720
had my last opportunity to use Slack was

00:19:28.720 --> 00:19:30.960
that they completely changed the webhook

00:19:30.960 --> 00:19:33.320
feature into like an advanced workflow

00:19:33.320 --> 00:19:34.480
feature.

00:19:34.480 --> 00:19:36.040
And I liked that one. Originally, it was

00:19:36.040 --> 00:19:37.280
very frustrating because it used to be

00:19:37.280 --> 00:19:39.840
so simple just register webhook and then

00:19:39.840 --> 00:19:41.800
paste the webhook URL somewhere else.

00:19:41.800 --> 00:19:43.440
But then the workflow was like you don't

00:19:43.440 --> 00:19:45.360
need anything else anymore. Like I don't

00:19:45.360 --> 00:19:46.560
need

00:19:46.560 --> 00:19:48.080
um something else that handles the the

00:19:48.080 --> 00:19:50.600
logic to hit the webhook. I could do a

00:19:50.600 --> 00:19:53.000
full workflow

00:19:53.000 --> 00:19:54.880
um without

00:19:54.880 --> 00:19:56.640
with just within Slack.

00:19:56.640 --> 00:19:57.920
I'm not quite sure what you mean, but

00:19:57.920 --> 00:20:00.400
I'm I'm sure I'm sure to discover it.

00:20:00.400 --> 00:20:01.840
Yeah, it's really cool. And I really

00:20:01.840 --> 00:20:03.760
miss that.

00:20:03.760 --> 00:20:05.600
So, you remove the the attribute

00:20:05.600 --> 00:20:07.960
attribute attribute

00:20:07.960 --> 00:20:10.400
and then and then do does it go through

00:20:10.400 --> 00:20:12.960
a PR phase or do you just land it?

00:20:12.960 --> 00:20:15.000
No, no, it has to go every work tree is

00:20:15.000 --> 00:20:18.160
is a is a is a branch of of the The work

00:20:18.160 --> 00:20:19.800
trees are different branches, right?

00:20:19.800 --> 00:20:23.600
That's why Okay, so it's a it's a PR.

00:20:23.600 --> 00:20:25.440
Yeah, because it's such a heavy GitOps

00:20:25.440 --> 00:20:27.720
type of of setup. Actually, having the

00:20:27.720 --> 00:20:30.680
ability to do work trees and PRs, which

00:20:30.680 --> 00:20:32.200
you might sometimes in the past say,

00:20:32.200 --> 00:20:33.960
"Man, this this GitOps approach is so

00:20:33.960 --> 00:20:35.840
annoying, you know, cuz you have to do

00:20:35.840 --> 00:20:38.400
so much PRs and stuff just to do

00:20:38.400 --> 00:20:40.640
operations." But I think with with

00:20:40.640 --> 00:20:42.840
agents, it's actually kind of fun

00:20:42.840 --> 00:20:44.160
because they just go off in different

00:20:44.160 --> 00:20:45.720
work trees, they do the the different

00:20:45.720 --> 00:20:48.000
change I see changes and do the PR. So,

00:20:48.000 --> 00:20:49.640
what is a work tree and a branch? Sorry,

00:20:49.640 --> 00:20:50.480
I'm

00:20:50.480 --> 00:20:52.960
I kind of So, a work tree is a branch of

00:20:52.960 --> 00:20:54.360
uh is just a directory checked out

00:20:54.360 --> 00:20:57.120
against a certain branch.

00:20:57.120 --> 00:20:59.120
So, what's what's what Why not just use

00:20:59.120 --> 00:21:02.080
a branch?

00:21:02.080 --> 00:21:04.040
Because

00:21:04.040 --> 00:21:05.520
a work tree is a directory

00:21:05.520 --> 00:21:07.520
>> you're working in the same file.

00:21:07.520 --> 00:21:08.600
You're working in the same file.

00:21:08.600 --> 00:21:08.880
>> tree

00:21:08.880 --> 00:21:10.400
>> is a directory checked out of a

00:21:10.400 --> 00:21:12.280
different branch. So, let's say that you

00:21:12.280 --> 00:21:14.760
you clone the repo, you're on main, and

00:21:14.760 --> 00:21:17.160
you would launch cloud, you tell it um

00:21:17.160 --> 00:21:18.560
here's the GitHub issue I want you to

00:21:18.560 --> 00:21:20.480
work on, uh and then you do the whole

00:21:20.480 --> 00:21:22.120
thing and you say use the work tree

00:21:22.120 --> 00:21:24.480
tool, and it it creates and because the

00:21:24.480 --> 00:21:27.120
work tree tool doesn't just use Git Git

00:21:27.120 --> 00:21:29.240
work tree, which is a command, it

00:21:29.240 --> 00:21:31.360
actually uses the Git work tree in the

00:21:31.360 --> 00:21:34.080
subdirectory of the cloud uh settings

00:21:34.080 --> 00:21:35.000
like the

00:21:35.000 --> 00:21:37.200
the dot cloud folder. So, all of your

00:21:37.200 --> 00:21:39.120
work trees are managed by cloud in a

00:21:39.120 --> 00:21:41.480
subdirectory on the repo. So, when

00:21:41.480 --> 00:21:43.520
you're done with your feature, when you

00:21:43.520 --> 00:21:46.120
exit or close the session, cloud says,

00:21:46.120 --> 00:21:47.240
"Do you want me to clean up the work

00:21:47.240 --> 00:21:48.520
tree? Do you want me to clean up this

00:21:48.520 --> 00:21:50.440
branch, clean up the the directory,

00:21:50.440 --> 00:21:52.760
clean up everything? This PR is landed."

00:21:52.760 --> 00:21:53.840
Yeah.

00:21:53.840 --> 00:21:55.840
And it also cleans up the remote branch

00:21:55.840 --> 00:21:57.880
if you if you're not careful.

00:21:57.880 --> 00:22:00.000
Well, normally a merged PR should always

00:22:00.000 --> 00:22:01.640
delete the remote branch. No long-lived

00:22:01.640 --> 00:22:03.280
branches, no environments branches,

00:22:03.280 --> 00:22:04.425
please.

00:22:04.425 --> 00:22:05.735
>> [laughter]

00:22:05.735 --> 00:22:06.360
[gasps]

00:22:06.360 --> 00:22:08.480
>> I need to say don't auto delete. I can't

00:22:08.480 --> 00:22:10.000
open this banana.

00:22:10.000 --> 00:22:10.760
Um

00:22:10.760 --> 00:22:13.800
okay, so you got your P Well, okay, I

00:22:13.800 --> 00:22:15.840
got to try work trees. To be honest, I'm

00:22:15.840 --> 00:22:18.600
still a dinosaur using branches.

00:22:18.600 --> 00:22:21.640
And then what I really like to ask it

00:22:21.640 --> 00:22:24.560
in my prompt is to say

00:22:24.560 --> 00:22:26.640
um

00:22:26.640 --> 00:22:28.240
Like let's let's not talk about the more

00:22:28.240 --> 00:22:30.400
like higher-level planning type of

00:22:30.400 --> 00:22:32.000
prompts, but in this case it's very

00:22:32.000 --> 00:22:33.920
well-defined GitHub issues. The plan is

00:22:33.920 --> 00:22:36.200
kind of basic. I don't even go in plan

00:22:36.200 --> 00:22:37.840
mode sometimes.

00:22:37.840 --> 00:22:40.520
Um I just directly tell it to to like

00:22:40.520 --> 00:22:42.360
these are the things I want you to do

00:22:42.360 --> 00:22:43.760
based on what it tells me, what's the

00:22:43.760 --> 00:22:45.560
status, and what's needs to happen, and

00:22:45.560 --> 00:22:46.840
and you know, I have like now this

00:22:46.840 --> 00:22:48.440
release workflow markdown document that

00:22:48.440 --> 00:22:50.480
I pointed to. So, it tells me, "You need

00:22:50.480 --> 00:22:52.040
to do these PRs against these branches,

00:22:52.040 --> 00:22:53.360
blah blah blah."

00:22:53.360 --> 00:22:54.120
Um

00:22:54.120 --> 00:22:55.280
and

00:22:55.280 --> 00:22:56.920
then I tell it

00:22:56.920 --> 00:23:00.800
like, "Hey, uh use the to-do list items,

00:23:00.800 --> 00:23:02.360
and I want you to do these one, two,

00:23:02.360 --> 00:23:04.240
three, four five things. Like I am I'm

00:23:04.240 --> 00:23:05.640
in this case

00:23:05.640 --> 00:23:09.440
you know doing a PR against death and

00:23:09.440 --> 00:23:11.360
I

00:23:11.360 --> 00:23:13.440
It was different areas that needed to be

00:23:13.440 --> 00:23:15.240
done like in parallel. So I wanted it to

00:23:15.240 --> 00:23:17.800
create multiple PRs and I and and I

00:23:17.800 --> 00:23:19.800
didn't want them in parallel actually no

00:23:19.800 --> 00:23:21.240
in this case it wasn't in parallel. I

00:23:21.240 --> 00:23:22.920
just tell it you do this PR then you do

00:23:22.920 --> 00:23:25.160
this PR then you do this PR and I wanted

00:23:25.160 --> 00:23:27.200
him to not lose track of all of the

00:23:27.200 --> 00:23:28.480
things.

00:23:28.480 --> 00:23:30.720
And it was not in parallel. So so I

00:23:30.720 --> 00:23:32.840
actually told it use it to do this item.

00:23:32.840 --> 00:23:34.280
I wanted you to you to do deal these

00:23:34.280 --> 00:23:35.920
things because otherwise it will keep

00:23:35.920 --> 00:23:37.320
coming back to you and say like we have

00:23:37.320 --> 00:23:39.680
done this. What is the to do list item?

00:23:39.680 --> 00:23:41.440
Is that like a comment in the PR?

00:23:41.440 --> 00:23:43.840
>> a tool. So again this is a Claude Code

00:23:43.840 --> 00:23:48.720
tool that it tends to use on its own but

00:23:48.720 --> 00:23:50.560
just to be explicit.

00:23:50.560 --> 00:23:52.440
I like I like your experience and then

00:23:52.440 --> 00:23:53.720
we have to talk about your experience

00:23:53.720 --> 00:23:54.960
with spec ledger

00:23:54.960 --> 00:23:56.560
is because of the to do list tool. It

00:23:56.560 --> 00:23:58.000
doesn't come back to you and say like

00:23:58.000 --> 00:24:00.120
okay we I've done all of this

00:24:00.120 --> 00:24:02.200
should I do do this next? I find if you

00:24:02.200 --> 00:24:04.960
tell cloud to use a to do list it will

00:24:04.960 --> 00:24:06.800
keep track of everything it needs to do

00:24:06.800 --> 00:24:08.200
and it will keep going until all of

00:24:08.200 --> 00:24:09.560
those things have been done. It doesn't

00:24:09.560 --> 00:24:11.120
pause and say like I've completed one

00:24:11.120 --> 00:24:12.760
two three do you want me to go on with

00:24:12.760 --> 00:24:13.760
five?

00:24:13.760 --> 00:24:14.960
Or four.

00:24:14.960 --> 00:24:15.360
Like

00:24:15.360 --> 00:24:17.000
>> Yeah I don't think I've ever used this

00:24:17.000 --> 00:24:18.280
particular tool.

00:24:18.280 --> 00:24:20.280
>> under the hood you don't need to.

00:24:20.280 --> 00:24:22.080
So you eat the plan mode uses that. If

00:24:22.080 --> 00:24:23.760
if you go out of plan mode usually it

00:24:23.760 --> 00:24:25.680
will it will create a list of tasks and

00:24:25.680 --> 00:24:27.160
dependencies between tasks of what it

00:24:27.160 --> 00:24:28.760
needs to do.

00:24:28.760 --> 00:24:30.440
Originally these were session scoped but

00:24:30.440 --> 00:24:31.960
then they also became cross session.

00:24:31.960 --> 00:24:33.080
>> Okay.

00:24:33.080 --> 00:24:35.520
So you're not using these for obvious

00:24:35.520 --> 00:24:38.280
reasons cuz I think our every every time

00:24:38.280 --> 00:24:40.560
you mention to do I just think

00:24:40.560 --> 00:24:42.920
I mean in this case I have Jira right?

00:24:42.920 --> 00:24:44.280
And I have a Jira scale that tells it

00:24:44.280 --> 00:24:46.600
specifically to track work across sub

00:24:46.600 --> 00:24:48.640
tasks and things like that and then I

00:24:48.640 --> 00:24:50.360
can also immediately copy paste a Jira

00:24:50.360 --> 00:24:53.480
link to to to the team and and inform

00:24:53.480 --> 00:24:55.840
people also updated the conference

00:24:55.840 --> 00:24:58.520
pages with like these these things are

00:24:58.520 --> 00:25:00.520
being closed and so on and

00:25:00.520 --> 00:25:03.480
pages with like these these uh, things

00:25:03.480 --> 00:25:05.040
are being closed and so on and the

00:25:05.040 --> 00:25:06.680
status is very clear.

00:25:06.680 --> 00:25:08.920
Um, have weird Jira and workflows and

00:25:08.920 --> 00:25:11.520
all that, right?

00:25:11.520 --> 00:25:13.067
Yeah, again, this is all like not

00:25:13.067 --> 00:25:14.880
[clears throat] the type of work that I

00:25:14.880 --> 00:25:16.800
am full agentic

00:25:16.800 --> 00:25:18.120
uh, an agent team doesn't do things,

00:25:18.120 --> 00:25:20.272
right? I am the navigator.

00:25:20.272 --> 00:25:21.000
>> [laughter]

00:25:21.000 --> 00:25:23.520
>> And I am I am doing something that I

00:25:23.520 --> 00:25:25.480
know very well except I I'm just

00:25:25.480 --> 00:25:26.960
pre-planned

00:25:26.960 --> 00:25:28.240
um, a whole bunch of things because I

00:25:28.240 --> 00:25:30.320
know sometimes I ask Cloud to do the

00:25:30.320 --> 00:25:31.560
research and then it tells me what it

00:25:31.560 --> 00:25:33.200
needs to do and then I agree with it.

00:25:33.200 --> 00:25:34.680
And sometimes I completely know what it

00:25:34.680 --> 00:25:36.120
needs to do and I make like a long list

00:25:36.120 --> 00:25:37.440
of what you need to do in which order

00:25:37.440 --> 00:25:38.600
and then it goes off and does these

00:25:38.600 --> 00:25:39.920
things.

00:25:39.920 --> 00:25:41.960
And and and on auto mode in the

00:25:41.960 --> 00:25:45.960
background using to do list items and

00:25:45.960 --> 00:25:48.120
um, in parallel multiple PRs and then I

00:25:48.120 --> 00:25:50.240
have multiple Jira tickets, multiple PRs

00:25:50.240 --> 00:25:51.840
with sub sub

00:25:51.840 --> 00:25:53.840
a PR per sub child. So, one one Jira

00:25:53.840 --> 00:25:55.640
ticket actually like has like three or

00:25:55.640 --> 00:25:57.120
four PRs and they're all tracked

00:25:57.120 --> 00:25:59.760
together. Uh, and then I come back

00:25:59.760 --> 00:26:01.760
across my sessions, across my terminals

00:26:01.760 --> 00:26:03.280
and then I see a small recap. I was

00:26:03.280 --> 00:26:04.840
like, oh, we've done this. This is where

00:26:04.840 --> 00:26:06.520
we are. I need your input on this. I was

00:26:06.520 --> 00:26:09.120
like, okay.

00:26:09.120 --> 00:26:11.440
So, that makes you feel super like

00:26:11.440 --> 00:26:12.880
productive because all of the things

00:26:12.880 --> 00:26:15.040
that used to take you a day, now you

00:26:15.040 --> 00:26:16.800
have like in parallel

00:26:16.800 --> 00:26:17.960
you're doing it all and you're doing it

00:26:17.960 --> 00:26:18.120
in the

00:26:18.120 --> 00:26:20.720
>> mean. Like uh,

00:26:20.720 --> 00:26:23.040
these things would sort of break you in

00:26:23.040 --> 00:26:25.680
the past but now with Cloud

00:26:25.680 --> 00:26:27.240
taking this tedious work out of the

00:26:27.240 --> 00:26:29.240
picture, it's it's great. And another

00:26:29.240 --> 00:26:31.200
super useful thing is um,

00:26:31.200 --> 00:26:32.760
with auto mode

00:26:32.760 --> 00:26:35.120
and AWS Vault uh, which gives you

00:26:35.120 --> 00:26:37.760
temporary credentials with SSO. So, it

00:26:37.760 --> 00:26:39.640
you can you tell it and Cloud actually

00:26:39.640 --> 00:26:42.040
knows AWS Vault very well. Uh, I tell it

00:26:42.040 --> 00:26:43.960
use AWS Vault and it actually went and

00:26:43.960 --> 00:26:46.120
lists to see what are the available

00:26:46.120 --> 00:26:48.400
sessions it can create. It launches the

00:26:48.400 --> 00:26:49.240
session.

00:26:49.240 --> 00:26:50.640
>> Wait a minute. I'm getting confused.

00:26:50.640 --> 00:26:52.440
Isn't AWS [snorts] Vault

00:26:52.440 --> 00:26:55.400
What is AWS Vault? It's a a command line

00:26:55.400 --> 00:26:59.720
binary that uses your operating system

00:26:59.720 --> 00:27:03.080
key uh store. It can be OSX keychain on

00:27:03.080 --> 00:27:06.560
Mac OS or it can be pass on Ubuntu.

00:27:06.560 --> 00:27:08.840
Um if you're on Windows with WSL.

00:27:08.840 --> 00:27:10.400
Oh, it's not actually an

00:27:10.400 --> 00:27:12.120
an AWS product. It's

00:27:12.120 --> 00:27:14.880
>> No, no, it was from but I think the

00:27:14.880 --> 00:27:16.600
original company that built it, I forgot

00:27:16.600 --> 00:27:19.520
who built it. 99 designs. Yeah, now

00:27:19.520 --> 00:27:21.040
Yeah, they just stopped maintaining it,

00:27:21.040 --> 00:27:22.080
but it was forked already by the

00:27:22.080 --> 00:27:24.280
community. Um

00:27:24.280 --> 00:27:26.440
and I love it because I have like you

00:27:26.440 --> 00:27:28.880
know, for for the last almost 6 years or

00:27:28.880 --> 00:27:31.880
so, I have bootstrap scripts, bootstrap

00:27:31.880 --> 00:27:35.680
scripts that basically set up the whole

00:27:35.680 --> 00:27:39.280
team with AWS Vault. So, when they clone

00:27:39.280 --> 00:27:42.520
the repo, it says in the onboarding, run

00:27:42.520 --> 00:27:44.960
this bash script and it runs a bunch of

00:27:44.960 --> 00:27:47.000
AWS CLI commands because Vault uses the

00:27:47.000 --> 00:27:50.720
AWS CLI profiles and um you know,

00:27:50.720 --> 00:27:53.080
secrets. It just automates the the flow

00:27:53.080 --> 00:27:55.000
of SSO getting the secrets like the

00:27:55.000 --> 00:27:56.720
temporary credentials.

00:27:56.720 --> 00:27:57.760
Um

00:27:57.760 --> 00:27:59.160
but it can also run in a server mode, so

00:27:59.160 --> 00:28:01.760
you can also run it as a demon to to a

00:28:01.760 --> 00:28:02.920
Terraform process.

00:28:02.920 --> 00:28:06.080
>> the the AWS CLI V2 is a lot better for

00:28:06.080 --> 00:28:07.880
SSO management if that if that's

00:28:07.880 --> 00:28:09.680
>> Maybe. Yeah. So, I've been using Vault

00:28:09.680 --> 00:28:11.960
for since like

00:28:11.960 --> 00:28:13.960
I think you think you should give V2 a

00:28:13.960 --> 00:28:15.160
try.

00:28:15.160 --> 00:28:16.760
Well, I'm not sure.

00:28:16.760 --> 00:28:18.520
Yeah, maybe.

00:28:18.520 --> 00:28:20.760
But But like for example, because I I I

00:28:20.760 --> 00:28:24.760
know someone who used to who is an AWS

00:28:24.760 --> 00:28:25.640
uh

00:28:25.640 --> 00:28:28.760
professional service or or or um

00:28:28.760 --> 00:28:30.880
who works at AWS and

00:28:30.880 --> 00:28:33.320
he was sharing information about how do

00:28:33.320 --> 00:28:35.320
you get short-lived credentials for your

00:28:35.320 --> 00:28:37.920
your agents or your agentic sessions and

00:28:37.920 --> 00:28:39.560
he was using this really weird tool and

00:28:39.560 --> 00:28:40.800
I was like, but that's something that

00:28:40.800 --> 00:28:42.640
Vault AWS Vault does so well because

00:28:42.640 --> 00:28:45.080
it's a CLI. It's not I was an MCP. I I

00:28:45.080 --> 00:28:46.880
like, why would you use an MCP for that?

00:28:46.880 --> 00:28:48.840
Like as a human, I've been using a CLI

00:28:48.840 --> 00:28:50.720
for it and it works really well. I don't

00:28:50.720 --> 00:28:52.600
even need a scale. I just tell it one

00:28:52.600 --> 00:28:54.360
thing, to get

00:28:54.360 --> 00:28:56.960
temporary credentials, you use AWS Vault

00:28:56.960 --> 00:28:58.360
and then the environment name {dash}

00:28:58.360 --> 00:28:59.560
{dash} and then the command you want to

00:28:59.560 --> 00:29:01.720
run. And because it uses a keychain to

00:29:01.720 --> 00:29:03.320
fetch the secrets,

00:29:03.320 --> 00:29:05.200
because the credentials are are stored

00:29:05.200 --> 00:29:07.800
in in the So, it does need to re-

00:29:07.800 --> 00:29:10.800
re-prompt. So, when Cloud

00:29:10.800 --> 00:29:13.120
um wants to access an environment, the

00:29:13.120 --> 00:29:15.680
keychain will prompt me if it's more

00:29:15.680 --> 00:29:17.560
than 5 minutes between the times that it

00:29:17.560 --> 00:29:18.880
needs. And it will tell me like, do you

00:29:18.880 --> 00:29:21.480
want to allow the usage of the secret

00:29:21.480 --> 00:29:22.720
stored in the keychain? And then I have

00:29:22.720 --> 00:29:25.040
to enter my password or fingerprint. And

00:29:25.040 --> 00:29:26.680
then Cloud proceeds.

00:29:26.680 --> 00:29:30.400
Um so, this was great because I

00:29:30.400 --> 00:29:32.680
I wasn't sure if something had shipped

00:29:32.680 --> 00:29:35.880
and Cloud went and did a whole

00:29:35.880 --> 00:29:37.160
Git

00:29:37.160 --> 00:29:39.920
um you know, investigation as well as an

00:29:39.920 --> 00:29:42.120
AWS environment investigation, finding

00:29:42.120 --> 00:29:45.160
out every single tag live and giving me

00:29:45.160 --> 00:29:47.200
like this beautiful I was about to tell

00:29:47.200 --> 00:29:48.880
it like, make an HTML because that's in

00:29:48.880 --> 00:29:50.680
vogue. But I said, no to that.

00:29:50.680 --> 00:29:53.680
>> the one he uses AWS CLI.

00:29:53.680 --> 00:29:57.280
It's magical. What one I've I'm I'm sure

00:29:57.280 --> 00:29:58.680
I've mentioned this before, but one

00:29:58.680 --> 00:30:00.080
thing I've done in the past, which I

00:30:00.080 --> 00:30:01.880
thought was pretty cool,

00:30:01.880 --> 00:30:04.240
but it's got hashtag problems with it

00:30:04.240 --> 00:30:07.080
probably, is that you use the you go

00:30:07.080 --> 00:30:09.320
into the AWS console, launch a

00:30:09.320 --> 00:30:10.840
CloudShell,

00:30:10.840 --> 00:30:14.240
install Cloud or or Codex,

00:30:14.240 --> 00:30:16.960
and then set the key and you're and then

00:30:16.960 --> 00:30:18.880
inside the CloudShell,

00:30:18.880 --> 00:30:21.360
you're basically debugging a particular

00:30:21.360 --> 00:30:23.480
environment. And this is handy when you

00:30:23.480 --> 00:30:25.840
have about 50 million accounts, but I

00:30:25.840 --> 00:30:27.440
guess you could

00:30:27.440 --> 00:30:27.920
That's what Vault

00:30:27.920 --> 00:30:30.040
>> set up the AWS Vault to

00:30:30.040 --> 00:30:32.560
Yeah. Yeah, because because with Vault

00:30:32.560 --> 00:30:33.680
I have

00:30:33.680 --> 00:30:35.920
I have the script onboarding script that

00:30:35.920 --> 00:30:37.600
basically when you when you clone the

00:30:37.600 --> 00:30:40.000
repo because in my case it's like it's

00:30:40.000 --> 00:30:41.320
It's environment repo.

00:30:41.320 --> 00:30:42.920
>> a There was a good reason do it. There

00:30:42.920 --> 00:30:46.120
were some crazy VPC restrictions. So,

00:30:46.120 --> 00:30:48.600
there's no way I could get from my from

00:30:48.600 --> 00:30:51.320
my development laptop.

00:30:51.320 --> 00:30:54.360
Wait. VPC but you need the API access.

00:30:54.360 --> 00:30:56.520
You just need the AWS service. Maybe you

00:30:56.520 --> 00:30:58.600
want to explore against like

00:30:58.600 --> 00:31:00.800
uh in the network.

00:31:00.800 --> 00:31:03.040
Um Uh for me what what I have crazy

00:31:03.040 --> 00:31:06.400
crazy VPC I had SSM I had SSM and and

00:31:06.400 --> 00:31:08.640
and telling Claude that we have this

00:31:08.640 --> 00:31:11.160
error networking issue and and it goes

00:31:11.160 --> 00:31:12.640
and all have any EC2 instance in the

00:31:12.640 --> 00:31:15.640
inventory of SSM and then it goes and uh

00:31:15.640 --> 00:31:17.960
triggers a run command against that node

00:31:17.960 --> 00:31:19.520
and it does a full troubleshoot network

00:31:19.520 --> 00:31:22.040
troubleshoot, you know? Uh it's it tells

00:31:22.040 --> 00:31:22.360
you the

00:31:22.360 --> 00:31:24.360
>> that sounds good. That sounds good.

00:31:24.360 --> 00:31:25.920
I mean that sounds that sounds awesome.

00:31:25.920 --> 00:31:28.440
So, it sounds like you're you're fully

00:31:28.440 --> 00:31:30.760
AI'd your workflow and you're happy and

00:31:30.760 --> 00:31:32.840
that's and that's

00:31:32.840 --> 00:31:35.200
that's something I I think that's

00:31:35.200 --> 00:31:37.000
that's uh

00:31:37.000 --> 00:31:38.600
I mean it's my short term

00:31:38.600 --> 00:31:41.080
>> like people people like expect so much

00:31:41.080 --> 00:31:44.080
from AI. The expectations are so high.

00:31:44.080 --> 00:31:46.120
Like if like the fact that I'm happy

00:31:46.120 --> 00:31:48.240
using AI and delivering the same amount

00:31:48.240 --> 00:31:50.000
of work

00:31:50.000 --> 00:31:51.240
um

00:31:51.240 --> 00:31:52.622
or happier, sorry.

00:31:52.622 --> 00:31:52.960
>> [laughter]

00:31:52.960 --> 00:31:53.880
>> The specific

00:31:53.880 --> 00:31:55.280
Shouldn't that Shouldn't that be

00:31:55.280 --> 00:31:58.320
celebrated? Shouldn't that be um

00:31:58.320 --> 00:31:59.880
a wonderful thing?

00:31:59.880 --> 00:32:01.920
I guess it I guess it's not really in

00:32:01.920 --> 00:32:03.680
the in the scheme of things because I

00:32:03.680 --> 00:32:06.480
know in the background that token that

00:32:06.480 --> 00:32:08.880
the costs of uh of

00:32:08.880 --> 00:32:11.680
of this token expenditure are becoming

00:32:11.680 --> 00:32:13.960
realer and realer and more

00:32:13.960 --> 00:32:14.960
>> now.

00:32:14.960 --> 00:32:16.160
Okay.

00:32:16.160 --> 00:32:17.120
But

00:32:17.120 --> 00:32:20.120
ignoring the cost of tokens

00:32:20.120 --> 00:32:22.480
thanks for sharing that video about uh

00:32:22.480 --> 00:32:24.520
the artificial intelligence cuz it made

00:32:24.520 --> 00:32:26.680
me think that like Oh yeah, that that

00:32:26.680 --> 00:32:28.760
was great. It made me think if Claude

00:32:28.760 --> 00:32:32.240
went away tomorrow, I do feel

00:32:32.240 --> 00:32:34.160
I could regain

00:32:34.160 --> 00:32:36.320
I can keep my workflow because of the

00:32:36.320 --> 00:32:38.320
open source ones being so so so good

00:32:38.320 --> 00:32:39.720
nowadays. So

00:32:39.720 --> 00:32:39.960
Yeah.

00:32:39.960 --> 00:32:41.560
>> All good in the hood, man. I'm happy

00:32:41.560 --> 00:32:43.600
with that.

00:32:43.600 --> 00:32:46.360
Assuming GLM is not [ __ ] and

00:32:46.360 --> 00:32:48.760
assuming I can pick up an Nvidia

00:32:48.760 --> 00:32:51.840
um hardware. Yeah, I mean, in his

00:32:51.840 --> 00:32:54.560
pricing, he really put the price of

00:32:54.560 --> 00:32:57.640
local LLM and then because he factors in

00:32:57.640 --> 00:32:59.280
the quality, right? Based on some

00:32:59.280 --> 00:33:00.840
benchmarks.

00:33:00.840 --> 00:33:04.240
Um saying that he he multiplies by the

00:33:04.240 --> 00:33:06.440
quality, but I don't think that really

00:33:06.440 --> 00:33:08.320
because if your model is a little bit

00:33:08.320 --> 00:33:09.880
more dumb,

00:33:09.880 --> 00:33:12.120
um it can impact the results

00:33:12.120 --> 00:33:13.640
significantly, right? If you have a

00:33:13.640 --> 00:33:15.080
model like

00:33:15.080 --> 00:33:16.880
So, the the model being dumb is one

00:33:16.880 --> 00:33:18.440
thing.

00:33:18.440 --> 00:33:20.440
I I think I feel like the the last 30

00:33:20.440 --> 00:33:21.760
minutes we've been talking about how

00:33:21.760 --> 00:33:24.000
awesome Claude is. I mean, Claude with

00:33:24.000 --> 00:33:26.720
its agent support, with its tooling, the

00:33:26.720 --> 00:33:29.640
harness, the the you know, the whole

00:33:29.640 --> 00:33:32.040
vertical integration, the whole

00:33:32.040 --> 00:33:33.760
experience with Claude is pretty

00:33:33.760 --> 00:33:36.120
freaking next level, isn't it? I'm I'm

00:33:36.120 --> 00:33:38.560
probably probably criminal, but I have

00:33:38.560 --> 00:33:40.640
so much budget left.

00:33:40.640 --> 00:33:42.080
Well, actually

00:33:42.080 --> 00:33:43.520
Well, this is the first time that I'm

00:33:43.520 --> 00:33:45.760
only only have like This is on your max

00:33:45.760 --> 00:33:47.880
200 or what is it?

00:33:47.880 --> 00:33:51.160
No, only one max. So, it's 150 thing

00:33:51.160 --> 00:33:53.960
dollars. But the thing is like I'm on

00:33:53.960 --> 00:33:57.400
Opus 4.7 x high for like basic stuff.

00:33:57.400 --> 00:33:59.320
For like create a commit. That's

00:33:59.320 --> 00:34:01.003
criminal, right? I mean,

00:34:01.003 --> 00:34:01.120
>> [laughter]

00:34:01.120 --> 00:34:02.680
>> that that shouldn't be allowed.

00:34:02.680 --> 00:34:05.520
>> I can't help but think that like you

00:34:05.520 --> 00:34:07.200
I I I wonder

00:34:07.200 --> 00:34:11.320
like Anthropic uh servers,

00:34:11.320 --> 00:34:14.320
they must be loaded in in different at

00:34:14.320 --> 00:34:16.800
different times in in a day, right?

00:34:16.800 --> 00:34:17.919
Absolutely. Yeah, yeah.

00:34:17.919 --> 00:34:19.639
>> So, I reckon I reckon Asia's probably

00:34:19.639 --> 00:34:21.639
the the lightest touch point, probably.

00:34:21.639 --> 00:34:23.399
But they have reduced a lot of those

00:34:23.399 --> 00:34:25.520
restrictions since they got the compute

00:34:25.520 --> 00:34:28.159
deals with X and CCP, is it? Cuz

00:34:28.159 --> 00:34:29.840
originally they were really compute

00:34:29.840 --> 00:34:31.720
constraints. And then as soon as they

00:34:31.720 --> 00:34:33.320
got those deals announced, immediately

00:34:33.320 --> 00:34:36.159
the plans like all these like

00:34:36.159 --> 00:34:37.840
How is that even possible? Like how can

00:34:37.840 --> 00:34:39.600
they announce a deal and then lift the

00:34:39.600 --> 00:34:41.960
restraint? That's crazy.

00:34:41.960 --> 00:34:43.520
Yeah, I mean like I I I

00:34:43.520 --> 00:34:45.040
obviously yeah, a deal announcement

00:34:45.040 --> 00:34:46.480
doesn't mean that it's already deployed.

00:34:46.480 --> 00:34:47.520
Yeah, they're they're not running the

00:34:47.520 --> 00:34:50.128
servers in space now, are they?

00:34:50.128 --> 00:34:51.159
>> [laughter]

00:34:51.159 --> 00:34:53.159
>> That's true. Um maybe it's all

00:34:53.159 --> 00:34:57.000
marketing. Um Exactly. There's so much

00:34:57.000 --> 00:34:59.480
And the guy made some good points like

00:34:59.480 --> 00:35:01.440
like if you were sold

00:35:01.440 --> 00:35:03.640
uh electricity like you're being sold

00:35:03.640 --> 00:35:06.160
tokens and they change the price.

00:35:06.160 --> 00:35:07.800
Yeah, he makes very good points about

00:35:07.800 --> 00:35:09.920
that. Um this one thing which I also

00:35:09.920 --> 00:35:11.200
really like about Cloud is that it

00:35:11.200 --> 00:35:13.840
constantly gives you tips and and it

00:35:13.840 --> 00:35:16.880
gave me this tip. Um Usually it's a tip

00:35:16.880 --> 00:35:18.160
that makes you frustrated because it's

00:35:18.160 --> 00:35:19.840
something like, "Oh man, I was I just

00:35:19.840 --> 00:35:21.640
had this whole skill built around this

00:35:21.640 --> 00:35:23.240
and now there's like a in-built in

00:35:23.240 --> 00:35:25.200
feature that does it." Uh but one of

00:35:25.200 --> 00:35:26.400
them is like this /team

00:35:26.400 --> 00:35:28.440
onboarding tip that I got and I I wasn't

00:35:28.440 --> 00:35:30.080
able to take a a screenshot because I

00:35:30.080 --> 00:35:32.680
kept going into like prompts and then it

00:35:32.680 --> 00:35:34.960
hides the tips. Uh so I had to go to the

00:35:34.960 --> 00:35:36.480
/and the team onboarding which I

00:35:36.480 --> 00:35:40.240
haven't tried, supposedly um analyzes

00:35:40.240 --> 00:35:42.920
your Cloud usage and generate a guide

00:35:42.920 --> 00:35:45.160
for your team. Exactly what you've been

00:35:45.160 --> 00:35:47.000
always asking Cloud um

00:35:47.000 --> 00:35:49.040
I'm calling you Cloud now. Kai, you were

00:35:49.040 --> 00:35:50.680
always saying like I I'm using Cloud I

00:35:50.680 --> 00:35:52.354
would like I'm a human.

00:35:52.354 --> 00:35:53.040
>> [laughter]

00:35:53.040 --> 00:35:54.880
>> Um It doesn't help that I know two

00:35:54.880 --> 00:35:56.840
people that are called Cloud, so

00:35:56.840 --> 00:35:58.800
um so yeah, I mean you've been always

00:35:58.800 --> 00:36:00.880
saying like, "How do I share my

00:36:00.880 --> 00:36:03.320
experiences with Cloud?" And now there's

00:36:03.320 --> 00:36:04.920
a a command for it in Claude Code.

00:36:04.920 --> 00:36:06.400
>> Well, there there is

00:36:06.400 --> 00:36:09.480
Okay, that sounds really cool. Some Some

00:36:09.480 --> 00:36:12.080
of Some of those Anthropic features are

00:36:12.080 --> 00:36:13.360
actually

00:36:13.360 --> 00:36:17.480
I've got FOMO cuz I miss them like uh

00:36:17.480 --> 00:36:19.600
I told I told you about that one thing

00:36:19.600 --> 00:36:23.040
before. The uh hold on.

00:36:23.040 --> 00:36:25.600
The session report skill. Uh Uh, didn't

00:36:25.600 --> 00:36:27.640
know about that. Uh

00:36:27.640 --> 00:36:29.240
and I'm I enter that

00:36:29.240 --> 00:36:31.320
>> analyze or there's a there's a built-in

00:36:31.320 --> 00:36:33.720
one that goes through all of your all of

00:36:33.720 --> 00:36:35.760
your usage of Cloud and gives you tips.

00:36:35.760 --> 00:36:37.760
>> through all your sessions. There's also

00:36:37.760 --> 00:36:40.480
like like an MJS or whatever. What's an

00:36:40.480 --> 00:36:41.000
MJS?

00:36:41.000 --> 00:36:42.480
>> No, I didn't use a Cloud plugin, but

00:36:42.480 --> 00:36:44.320
there's one built-in to Cloud that's

00:36:44.320 --> 00:36:46.320
that they recommend you to run as well,

00:36:46.320 --> 00:36:48.000
which which go through all of your

00:36:48.000 --> 00:36:50.000
sessions and then says, "Hey, this is

00:36:50.000 --> 00:36:51.560
how you've been using Cloud. This is

00:36:51.560 --> 00:36:53.040
where it excels. This is where you have

00:36:53.040 --> 00:36:54.520
to correct it most."

00:36:54.520 --> 00:36:55.800
>> this one. This one I think is

00:36:55.800 --> 00:36:57.800
>> this one. It's one built-in. It's not

00:36:57.800 --> 00:36:59.480
one that you need separately. Okay, now

00:36:59.480 --> 00:37:00.480
I'm getting forward. You got to you got

00:37:00.480 --> 00:37:02.520
to tell me which one it is. Then these

00:37:02.520 --> 00:37:04.520
the other command that I only learned

00:37:04.520 --> 00:37:06.200
about

00:37:06.200 --> 00:37:08.600
>> Uh, of course the agents I have been

00:37:08.600 --> 00:37:10.560
noticing the UI enhancements with

00:37:10.560 --> 00:37:12.000
agents.

00:37:12.000 --> 00:37:14.240
And uh But I haven't been able to use

00:37:14.240 --> 00:37:15.800
that. Like where you supposed to

00:37:15.800 --> 00:37:17.560
>> Cloud agents. Like Cloud agents

00:37:17.560 --> 00:37:19.720
>> it once and then it launches me in in an

00:37:19.720 --> 00:37:21.640
in an empty cell session and says, "Any

00:37:21.640 --> 00:37:22.840
agents you create will be managed

00:37:22.840 --> 00:37:24.320
through this." And then I was like, "No,

00:37:24.320 --> 00:37:25.600
because I have a I have like three

00:37:25.600 --> 00:37:26.800
sessions open right now in this

00:37:26.800 --> 00:37:28.800
directory. Can you not see them?" And

00:37:28.800 --> 00:37:31.200
it's like No, no, it didn't work. It's

00:37:31.200 --> 00:37:32.680
like

00:37:32.680 --> 00:37:33.960
It didn't even it even refused to

00:37:33.960 --> 00:37:35.800
recommend recognize it as a command and

00:37:35.800 --> 00:37:38.080
I like kept checking. This is exactly

00:37:38.080 --> 00:37:40.560
the right version of Cloud. The agents

00:37:40.560 --> 00:37:42.640
command exists, but every time I run it,

00:37:42.640 --> 00:37:43.920
it failed.

00:37:43.920 --> 00:37:46.120
I really don't understand.

00:37:46.120 --> 00:37:47.000
I

00:37:47.000 --> 00:37:49.040
Did you see that video I sent you about

00:37:49.040 --> 00:37:52.440
the slock sensor?

00:37:52.440 --> 00:37:53.080
Uh,

00:37:53.080 --> 00:37:55.080
the video slock I I was watching it with

00:37:55.080 --> 00:37:56.760
um, at at the restaurant, so I didn't

00:37:56.760 --> 00:37:58.160
capture everything, but you finally

00:37:58.160 --> 00:38:00.880
found an answer to your um

00:38:00.880 --> 00:38:02.360
your question that you kept asking, "How

00:38:02.360 --> 00:38:05.560
do I constrain a PR doesn't go above a

00:38:05.560 --> 00:38:07.800
certain amount of of of changes?" So,

00:38:07.800 --> 00:38:10.560
this guy is the owl.

00:38:10.560 --> 00:38:12.160
>> Yeah, and I was pretty happy with the

00:38:12.160 --> 00:38:14.960
results. I mean, of course I maybe went

00:38:14.960 --> 00:38:16.880
back to front and I need to go front to

00:38:16.880 --> 00:38:19.080
back. You know, I I generated a whole

00:38:19.080 --> 00:38:22.080
bunch of code and then I got it to like

00:38:22.080 --> 00:38:25.560
make 10 PR 10 commits.

00:38:25.560 --> 00:38:29.600
I still don't like the premise though.

00:38:29.600 --> 00:38:31.440
Why?

00:38:31.440 --> 00:38:35.600
What does it matter how long a PR is?

00:38:35.600 --> 00:38:36.800
Because it's like

00:38:36.800 --> 00:38:38.560
>> You kept saying like how do you keep it

00:38:38.560 --> 00:38:40.000
small?

00:38:40.000 --> 00:38:41.320
Yeah, but if you have like a 10,000

00:38:41.320 --> 00:38:45.520
100,000 line PR

00:38:45.520 --> 00:38:46.840
but you're just going to you're just

00:38:46.840 --> 00:38:49.080
going to click viewed viewed viewed. I

00:38:49.080 --> 00:38:49.240
mean

00:38:49.240 --> 00:38:51.000
>> depends, right? I mean like if I'm doing

00:38:51.000 --> 00:38:53.040
ball, I've never had a 10,000 line PR. I

00:38:53.040 --> 00:38:54.640
usually had like five lines PRs and

00:38:54.640 --> 00:38:56.240
they're all split because I'm launching

00:38:56.240 --> 00:38:58.120
them the way that I told you. So, I

00:38:58.120 --> 00:38:59.960
never have this issue or or the need for

00:38:59.960 --> 00:39:02.040
it. And if I'm doing something that

00:39:02.040 --> 00:39:03.880
could be a big like spec-driven

00:39:03.880 --> 00:39:06.920
development, then I don't care because

00:39:06.920 --> 00:39:08.680
it's like complete shift left. I only

00:39:08.680 --> 00:39:10.080
care about the user stories. You got a

00:39:10.080 --> 00:39:11.960
point. You got a point. I guess it's

00:39:11.960 --> 00:39:13.960
more I'm guessing this

00:39:13.960 --> 00:39:16.840
I'm I'm hoping to use this. [ __ ] my

00:39:16.840 --> 00:39:19.760
Dell monitor is being misbehaving.

00:39:19.760 --> 00:39:21.480
Um

00:39:21.480 --> 00:39:23.120
I I still think it's kind of useful for

00:39:23.120 --> 00:39:25.240
for multiplayer because like if you're

00:39:25.240 --> 00:39:27.920
working with someone Mhm. I think it's a

00:39:27.920 --> 00:39:30.440
great great approach, honestly. I think

00:39:30.440 --> 00:39:32.320
um this is something that that they

00:39:32.320 --> 00:39:34.440
recommend to have like hooks and and and

00:39:34.440 --> 00:39:36.600
basically silently guide the model with

00:39:36.600 --> 00:39:38.440
like injection of messages based on

00:39:38.440 --> 00:39:40.320
hooks saying like hey, you know, PR is

00:39:40.320 --> 00:39:42.080
getting big or whatever. I think it's

00:39:42.080 --> 00:39:45.480
really nice um nice um use case for

00:39:45.480 --> 00:39:46.400
this.

00:39:46.400 --> 00:39:48.157
Although I don't agree with the premise.

00:39:48.157 --> 00:39:48.720
>> [laughter]

00:39:48.720 --> 00:39:51.000
>> Yeah, yeah. I mean I mean I haven't

00:39:51.000 --> 00:39:52.600
really

00:39:52.600 --> 00:39:55.760
Uh you know, it's an idea. It's an idea.

00:39:55.760 --> 00:39:57.560
That's That's where I'm at with it. I

00:39:57.560 --> 00:39:59.120
think it's a really good idea and I

00:39:59.120 --> 00:40:01.360
think some people might really like it.

00:40:01.360 --> 00:40:03.800
I'm probably not that audience.

00:40:03.800 --> 00:40:06.160
Then um I think someone

00:40:06.160 --> 00:40:08.360
I I will think it like I had a comment

00:40:08.360 --> 00:40:10.040
yesterday on the video which is kind of

00:40:10.040 --> 00:40:12.680
like the same comment I get a lot from

00:40:12.680 --> 00:40:14.960
my viewers in a way like let me just

00:40:14.960 --> 00:40:19.040
show you.

00:40:19.040 --> 00:40:20.360
He says,

00:40:20.360 --> 00:40:22.280
it's kind of like

00:40:22.280 --> 00:40:23.960
are you still inspecting the commits and

00:40:23.960 --> 00:40:25.760
committed messages on on the work you're

00:40:25.760 --> 00:40:27.400
reviewing?

00:40:27.400 --> 00:40:29.160
On one of the podcasts you mentioned

00:40:29.160 --> 00:40:31.240
that um I wasn't reading the code or

00:40:31.240 --> 00:40:32.840
something.

00:40:32.840 --> 00:40:34.480
But But of course I would read the code

00:40:34.480 --> 00:40:35.840
on the client part. This is just to be

00:40:35.840 --> 00:40:37.880
clear, I would read the client.

00:40:37.880 --> 00:40:39.400
On a on a professional project I would

00:40:39.400 --> 00:40:42.600
read the code, I like to think.

00:40:42.600 --> 00:40:44.720
But of course a lot of the There's two

00:40:44.720 --> 00:40:45.720
parts.

00:40:45.720 --> 00:40:46.560
There's a part of There's the

00:40:46.560 --> 00:40:48.440
professional Kai and there's the playing

00:40:48.440 --> 00:40:49.960
around Kai.

00:40:49.960 --> 00:40:51.680
I'm playing around right now. You are

00:40:51.680 --> 00:40:53.320
speaking a lot about guardrails, which

00:40:53.320 --> 00:40:56.160
is more important than ever, but

00:40:56.160 --> 00:40:58.080
and do you review the pro

00:40:58.080 --> 00:40:59.840
Anyone build a feature now is but great

00:40:59.840 --> 00:41:01.000
would understand the business to be

00:41:01.000 --> 00:41:02.200
there. I mean,

00:41:02.200 --> 00:41:03.960
I would be on top of it. But this I I

00:41:03.960 --> 00:41:05.200
I'm just pointing this out cuz this is a

00:41:05.200 --> 00:41:07.040
very typical question I get is like,

00:41:07.040 --> 00:41:08.400
you're not reading the code anymore. And

00:41:08.400 --> 00:41:11.040
I'm like, no, I'm I'm on it for for for

00:41:11.040 --> 00:41:12.360
work, for sure.

00:41:12.360 --> 00:41:14.160
>> it it it really depends on where you're

00:41:14.160 --> 00:41:15.880
using the agent like we just discussed

00:41:15.880 --> 00:41:17.000
with the

00:41:17.000 --> 00:41:19.760
the one that I I control, but and and

00:41:19.760 --> 00:41:21.240
like you said, there's different types

00:41:21.240 --> 00:41:23.000
of projects.

00:41:23.000 --> 00:41:23.640
Um

00:41:23.640 --> 00:41:26.240
there's also situations where we are

00:41:26.240 --> 00:41:28.160
trying to migrate a project from a more

00:41:28.160 --> 00:41:30.720
hands-on, every line of code is human

00:41:30.720 --> 00:41:33.200
written, towards uh

00:41:33.200 --> 00:41:34.960
uh a project that is more AI written,

00:41:34.960 --> 00:41:36.520
where where the first step is to

00:41:36.520 --> 00:41:37.880
probably

00:41:37.880 --> 00:41:39.920
put in the validation and checklists, uh

00:41:39.920 --> 00:41:42.520
check like for the for agents to to to

00:41:42.520 --> 00:41:44.480
be controlled so that you can worry less

00:41:44.480 --> 00:41:46.360
about the code. But to the second part

00:41:46.360 --> 00:41:49.800
of the comment saying that um

00:41:49.800 --> 00:41:51.960
like he was focused on like product

00:41:51.960 --> 00:41:54.080
feature and design and architecture. I

00:41:54.080 --> 00:41:55.320
think maybe now you should share a

00:41:55.320 --> 00:41:56.680
little bit about your experience with

00:41:56.680 --> 00:41:58.840
spec-driven development frameworks,

00:41:58.840 --> 00:42:00.240
because that's exactly what That's the

00:42:00.240 --> 00:42:01.680
complete shift left, where you are

00:42:01.680 --> 00:42:05.320
focused 100% on the architecture, right?

00:42:05.320 --> 00:42:06.880
And and you define what the agent should

00:42:06.880 --> 00:42:08.440
be doing. Uh

00:42:08.440 --> 00:42:10.080
I mean, at least in my case, a lot of

00:42:10.080 --> 00:42:11.120
the

00:42:11.120 --> 00:42:13.080
the second part So, the first phase is

00:42:13.080 --> 00:42:14.800
the user stories, the second part is the

00:42:14.800 --> 00:42:16.560
plan and research where you do the

00:42:16.560 --> 00:42:18.760
technical design and the architecture. A

00:42:18.760 --> 00:42:21.440
lot of that in my case is focused around

00:42:21.440 --> 00:42:24.040
how do I organize my code? Do I follow

00:42:24.040 --> 00:42:27.280
the repository pattern? Yeah. I like the

00:42:27.280 --> 00:42:30.280
way that I I use Spigot the the

00:42:30.280 --> 00:42:32.840
development is probably not a great

00:42:32.840 --> 00:42:34.600
example because like

00:42:34.600 --> 00:42:37.160
I'm creating a Go lang CLI.

00:42:37.160 --> 00:42:38.600
Like the architecture with the Go lang

00:42:38.600 --> 00:42:40.560
CLI when you're using standard lib is

00:42:40.560 --> 00:42:44.120
pretty much already decided, right?

00:42:44.120 --> 00:42:45.200
Uh

00:42:45.200 --> 00:42:48.560
the only thing that perhaps

00:42:48.560 --> 00:42:50.280
is not

00:42:50.280 --> 00:42:53.120
super clear when I'm uh working with

00:42:53.120 --> 00:42:54.760
Spigot development

00:42:54.760 --> 00:42:57.280
is the the guardrails that I want to

00:42:57.280 --> 00:43:00.640
implement, the nuances around them.

00:43:00.640 --> 00:43:02.480
Documentation,

00:43:02.480 --> 00:43:04.840
how that's going to work.

00:43:04.840 --> 00:43:07.680
Uh because because Go doc is designed

00:43:07.680 --> 00:43:09.760
for uh

00:43:09.760 --> 00:43:11.680
for developer documentation.

00:43:11.680 --> 00:43:15.040
Uh for example, and then like maybe an

00:43:15.040 --> 00:43:18.360
architecture around how the results are

00:43:18.360 --> 00:43:20.280
posted back to

00:43:20.280 --> 00:43:21.920
some sort of

00:43:21.920 --> 00:43:23.680
logging endpoint.

00:43:23.680 --> 00:43:25.200
So,

00:43:25.200 --> 00:43:26.440
Well, that's that's I mean, that's a

00:43:26.440 --> 00:43:29.000
very important part about the language

00:43:29.000 --> 00:43:30.640
that you're using, right? Because the

00:43:30.640 --> 00:43:32.200
the language in this case, Go lang has a

00:43:32.200 --> 00:43:34.280
lot of developer tooling. I love Go doc.

00:43:34.280 --> 00:43:35.920
I love the fact I mean, the agent uses

00:43:35.920 --> 00:43:38.280
it really well. The agent will go and

00:43:38.280 --> 00:43:40.400
say uh run the Go doc command, run the

00:43:40.400 --> 00:43:42.000
Go format command, run the Go test

00:43:42.000 --> 00:43:43.840
command. Everything that's in this is

00:43:43.840 --> 00:43:46.400
within the the language framework and

00:43:46.400 --> 00:43:48.440
the agents are aware of it. Even I I've

00:43:48.440 --> 00:43:50.800
only contributed, never wrote Rust

00:43:50.800 --> 00:43:53.200
myself, contributed to one Rust project

00:43:53.200 --> 00:43:55.280
and the agent knew how to do everything

00:43:55.280 --> 00:43:58.800
and the guys accepted my PR, so I assume

00:43:58.800 --> 00:44:01.200
I assume it's um it's decent. Uh it

00:44:01.200 --> 00:44:01.880
wasn't that big.

00:44:01.880 --> 00:44:03.680
>> a humble brag that you got something in

00:44:03.680 --> 00:44:05.280
the Rust um

00:44:05.280 --> 00:44:06.720
No, but it's not the humble brag. It's

00:44:06.720 --> 00:44:09.000
just a uh uh um

00:44:09.000 --> 00:44:12.200
an illustration of how a language modern

00:44:12.200 --> 00:44:14.320
languages and and because you know, if

00:44:14.320 --> 00:44:16.040
you talk about node.js, there's so many

00:44:16.040 --> 00:44:18.520
flavors. You know, is it still just? Are

00:44:18.520 --> 00:44:20.520
you on the latest TypeScript? Are you

00:44:20.520 --> 00:44:22.800
using V test biome for linting or

00:44:22.800 --> 00:44:23.960
ESLint?

00:44:23.960 --> 00:44:26.280
>> Like if you like I think

00:44:26.280 --> 00:44:29.360
I SSH to an old machine and

00:44:29.360 --> 00:44:31.840
for some reason one of the depends like

00:44:31.840 --> 00:44:33.520
one of the go mods had a newer version

00:44:33.520 --> 00:44:35.360
of go if I remember correctly and it

00:44:35.360 --> 00:44:37.880
just downloaded the new version. Like it

00:44:37.880 --> 00:44:40.280
didn't even didn't even like

00:44:40.280 --> 00:44:42.400
complain that it was like a out of date

00:44:42.400 --> 00:44:44.160
or a new too newer version. It just

00:44:44.160 --> 00:44:46.000
downloaded it and got it running. I was

00:44:46.000 --> 00:44:49.160
like, "Holy moly, this is nice."

00:44:49.160 --> 00:44:53.400
So yeah, going back to STD like um

00:44:53.400 --> 00:44:55.080
I'm kind of still on the wall about it

00:44:55.080 --> 00:44:56.600
really like

00:44:56.600 --> 00:44:58.160
I'm still on the wall about it. I I

00:44:58.160 --> 00:44:59.941
guess I'm going to

00:44:59.941 --> 00:45:01.080
>> [laughter]

00:45:01.080 --> 00:45:04.160
>> Boo. Like for example

00:45:04.160 --> 00:45:08.880
maybe you're familiar with open spec.

00:45:08.880 --> 00:45:10.440
I still haven't tried it. So you're

00:45:10.440 --> 00:45:13.160
ahead of me there.

00:45:13.160 --> 00:45:14.280
But like

00:45:14.280 --> 00:45:16.040
I have to say reading this blog post

00:45:16.040 --> 00:45:18.000
watching your spec it video, it was very

00:45:18.000 --> 00:45:20.920
frustrating for me because I spent so

00:45:20.920 --> 00:45:24.520
much time with spec

00:45:24.520 --> 00:45:27.200
it and modifying it to my wishes and a

00:45:27.200 --> 00:45:28.680
lot of the things that you bring up I

00:45:28.680 --> 00:45:30.840
feel like I've already solved.

00:45:30.840 --> 00:45:32.520
I've I've maybe had these issues and

00:45:32.520 --> 00:45:35.000
I've solved it or I found another way of

00:45:35.000 --> 00:45:37.120
doing it. And then you did a video where

00:45:37.120 --> 00:45:38.640
you spec ledger

00:45:38.640 --> 00:45:41.280
and you were using sonae. I'm you mostly

00:45:41.280 --> 00:45:44.760
using opus and I'm also always stopping

00:45:44.760 --> 00:45:46.400
the model when I know it shouldn't be

00:45:46.400 --> 00:45:48.360
doing something and in the video that

00:45:48.360 --> 00:45:49.800
you were doing it

00:45:49.800 --> 00:45:53.120
it just it it went like on a high it was

00:45:53.120 --> 00:45:55.520
on drugs. It was like it was on

00:45:55.520 --> 00:45:57.640
ketamine. It just keep going. It's like,

00:45:57.640 --> 00:46:00.760
"What is going on?"

00:46:00.760 --> 00:46:01.400
I mean this

00:46:01.400 --> 00:46:02.880
>> You were completely lost. You totally

00:46:02.880 --> 00:46:05.440
didn't know like it's supposed to

00:46:05.440 --> 00:46:07.920
um you know stop there because it

00:46:07.920 --> 00:46:10.280
suggested Okay, so what happens is

00:46:10.280 --> 00:46:12.920
speckit Sorry, speck ledger.

00:46:12.920 --> 00:46:14.160
Like I mentioned to you with the to-do

00:46:14.160 --> 00:46:16.120
list item with the with the hand-offs

00:46:16.120 --> 00:46:17.720
between the different commands and now

00:46:17.720 --> 00:46:19.520
that commands became skills so they are

00:46:19.520 --> 00:46:21.320
automatically loaded, discovered, and

00:46:21.320 --> 00:46:23.000
loaded by the model. I think that

00:46:23.000 --> 00:46:25.200
changed a lot uh compared to very

00:46:25.200 --> 00:46:26.560
beginning where slash commands were

00:46:26.560 --> 00:46:29.120
human initiated. So right now with the

00:46:29.120 --> 00:46:30.720
way that the prompts are structured in

00:46:30.720 --> 00:46:32.200
speck ledger, when you did the

00:46:32.200 --> 00:46:34.360
onboarding flow, it kickstarted the

00:46:34.360 --> 00:46:36.520
constitution. It asks you Look, this is

00:46:36.520 --> 00:46:38.600
an empty project. These are some good

00:46:38.600 --> 00:46:40.560
constitution rules based on your project

00:46:40.560 --> 00:46:42.800
name because it was around security. So

00:46:42.800 --> 00:46:44.560
it says like you probably want very

00:46:44.560 --> 00:46:46.240
strong security principles in this

00:46:46.240 --> 00:46:49.080
project. And and then it you you didn't

00:46:49.080 --> 00:46:50.680
realize that you were defining your

00:46:50.680 --> 00:46:52.840
constitution principles. And then

00:46:52.840 --> 00:46:53.560
>> Did I

00:46:53.560 --> 00:46:55.240
Did I commit

00:46:55.240 --> 00:46:57.240
what I was working on?

00:46:57.240 --> 00:46:59.000
So so so it it flew through the

00:46:59.000 --> 00:47:02.040
constitution as a project initiation and

00:47:02.040 --> 00:47:03.160
discover knowing that this was a

00:47:03.160 --> 00:47:05.040
complete new project and knowing that

00:47:05.040 --> 00:47:06.680
the workflow should be to set up the

00:47:06.680 --> 00:47:08.600
constitution. Then it asked you what do

00:47:08.600 --> 00:47:09.960
you want to work on? It immediately

00:47:09.960 --> 00:47:12.760
loaded the specified skill and asked you

00:47:12.760 --> 00:47:14.880
like what do you want to work on? And

00:47:14.880 --> 00:47:17.920
and then you didn't have the um

00:47:17.920 --> 00:47:19.760
clarification phase. I mean it it

00:47:19.760 --> 00:47:22.080
assumed that it needed to clarify things

00:47:22.080 --> 00:47:24.240
by reading the the user stories, but it

00:47:24.240 --> 00:47:25.920
never gave you the opportunity to read

00:47:25.920 --> 00:47:28.000
the user stories and verify them and

00:47:28.000 --> 00:47:29.160
decide what you want to keep, what you

00:47:29.160 --> 00:47:29.920
want to score power.

00:47:29.920 --> 00:47:31.840
>> Exactly. And normally get from other

00:47:31.840 --> 00:47:34.160
people if you work with other people.

00:47:34.160 --> 00:47:36.040
Um so it went into the clarify, it says

00:47:36.040 --> 00:47:37.760
I'm going to get the the comments left

00:47:37.760 --> 00:47:39.680
by other people which is failed because

00:47:39.680 --> 00:47:41.400
you didn't share it, you didn't

00:47:41.400 --> 00:47:43.160
communicate it. And then it went

00:47:43.160 --> 00:47:45.240
straight into um

00:47:45.240 --> 00:47:47.840
into task No, into research phase,

00:47:47.840 --> 00:47:50.880
right? And and No, and it it did a skill

00:47:50.880 --> 00:47:52.280
search. It said like, "Okay, this is a

00:47:52.280 --> 00:47:54.800
Go lang CLI at some point." And it found

00:47:54.800 --> 00:47:56.880
a whole bunch of Go lang skills and it's

00:47:56.880 --> 00:47:58.480
supposed to ask you like which one do

00:47:58.480 --> 00:47:59.720
you want to install? And for whatever

00:47:59.720 --> 00:48:00.920
reason I couldn't see it in the in the

00:48:00.920 --> 00:48:03.200
YouTube recording, it decided not to ask

00:48:03.200 --> 00:48:05.320
you to install any skills, and it just

00:48:05.320 --> 00:48:06.800
went straight ahead into like task

00:48:06.800 --> 00:48:07.360
generation.

00:48:07.360 --> 00:48:08.760
>> No, there there was there was a phase

00:48:08.760 --> 00:48:10.840
where it was asking me to discover new

00:48:10.840 --> 00:48:13.720
new skills using some discovery tool,

00:48:13.720 --> 00:48:14.600
but like I was like

00:48:14.600 --> 00:48:16.240
>> It did. Like it did search for skills

00:48:16.240 --> 00:48:17.800
based on what we knew about the project,

00:48:17.800 --> 00:48:19.160
but it never asked you which one you

00:48:19.160 --> 00:48:20.840
want to install. It just went on. It

00:48:20.840 --> 00:48:22.840
never installed anything as far as I

00:48:22.840 --> 00:48:24.600
could see from the YouTube.

00:48:24.600 --> 00:48:25.880
Because it's supposed to ask you like,

00:48:25.880 --> 00:48:27.160
"Okay, I found these skills. These seem

00:48:27.160 --> 00:48:28.480
relevant. Do you want to install them?"

00:48:28.480 --> 00:48:31.240
And it does do multi multi-select but at

00:48:31.240 --> 00:48:32.680
that point I was thinking

00:48:32.680 --> 00:48:34.160
>> your skills or just like skills that are

00:48:34.160 --> 00:48:35.680
SSH skills?

00:48:35.680 --> 00:48:37.800
This is the Vercel skills registry. So,

00:48:37.800 --> 00:48:39.840
it it it it queries the Vercel skills

00:48:39.840 --> 00:48:42.600
registry and and it copied So, this was

00:48:42.600 --> 00:48:44.080
one binary

00:48:44.080 --> 00:48:45.600
that does it that that allows you to do

00:48:45.600 --> 00:48:47.240
all of that stuff.

00:48:47.240 --> 00:48:48.120
Um

00:48:48.120 --> 00:48:49.680
you know, it bootstraps your repo with

00:48:49.680 --> 00:48:51.560
the the the skills to to manage a spec

00:48:51.560 --> 00:48:54.480
driven development um workflow, and then

00:48:54.480 --> 00:48:56.640
it just went haywire all the way. And

00:48:56.640 --> 00:48:58.680
then one of my biggest

00:48:58.680 --> 00:49:00.280
you know, problems I have with what

00:49:00.280 --> 00:49:02.240
happening there was that you didn't

00:49:02.240 --> 00:49:04.400
verify the user stories. You didn't give

00:49:04.400 --> 00:49:07.600
it any feedback. Um you

00:49:07.600 --> 00:49:09.200
because it didn't give you an option,

00:49:09.200 --> 00:49:10.280
right? It just kept going, and you

00:49:10.280 --> 00:49:12.080
didn't realize, "Hey, we're skipping the

00:49:12.080 --> 00:49:13.360
phases here. We need to slow down."

00:49:13.360 --> 00:49:15.160
>> Yeah, I mean

00:49:15.160 --> 00:49:17.080
but like I suspect

00:49:17.080 --> 00:49:19.840
>> on the in the in the in the right window

00:49:19.840 --> 00:49:21.880
it was generating so many files. I

00:49:21.880 --> 00:49:22.240
thought

00:49:22.240 --> 00:49:23.600
>> no. You were getting caught up on the

00:49:23.600 --> 00:49:25.760
files, which I was like, "Who cares?"

00:49:25.760 --> 00:49:27.520
You keep looking, "Oh my god, files." I

00:49:27.520 --> 00:49:28.720
was like, "Yes, of course. There's

00:49:28.720 --> 00:49:31.320
prompt files, skills files, spec files,

00:49:31.320 --> 00:49:32.480
configuration files."

00:49:32.480 --> 00:49:33.920
>> it's just a more it's a relatively

00:49:33.920 --> 00:49:35.840
trivial project in a way.

00:49:35.840 --> 00:49:38.440
And it was like like 80 files worth of

00:49:38.440 --> 00:49:40.000
bureaucracy. I mean, it's a bit

00:49:40.000 --> 00:49:40.800
excessive to me.

00:49:40.800 --> 00:49:43.840
>> no, no, no. Spec driven development

00:49:43.840 --> 00:49:47.760
is a self-contained workflow for

00:49:47.760 --> 00:49:49.000
defining

00:49:49.000 --> 00:49:51.280
the user stories, buying and like like

00:49:51.280 --> 00:49:53.200
buying stakeholder alignment on those

00:49:53.200 --> 00:49:54.800
user stories. Like you said, it's a

00:49:54.800 --> 00:49:56.200
planning tool and you call it

00:49:56.200 --> 00:49:58.560
bureaucracy. You just said like I'm

00:49:58.560 --> 00:50:00.680
going to use a planning tool for a for a

00:50:00.680 --> 00:50:03.000
CLI, a trivial CLI, and then you say,

00:50:03.000 --> 00:50:04.520
"Why is a planning tool for a trivial

00:50:04.520 --> 00:50:06.880
CLI generating so much bureaucracy?"

00:50:06.880 --> 00:50:10.840
Well,

00:50:10.840 --> 00:50:13.320
this is this is what I wanted to like, I

00:50:13.320 --> 00:50:16.040
guess I'm left thinking

00:50:16.040 --> 00:50:18.040
um

00:50:18.040 --> 00:50:20.960
Like I'm guessing you with SpecLedger,

00:50:20.960 --> 00:50:23.280
you've obviously focused on

00:50:23.280 --> 00:50:24.600
I mean

00:50:24.600 --> 00:50:26.880
or may or

00:50:26.880 --> 00:50:28.680
What I focused on is to capture the

00:50:28.680 --> 00:50:30.880
spec-driven development workflow, making

00:50:30.880 --> 00:50:32.360
it more

00:50:32.360 --> 00:50:34.520
um visible by creating a web app backend

00:50:34.520 --> 00:50:35.920
that shows you these are the steps

00:50:35.920 --> 00:50:37.360
because the problem is people don't know

00:50:37.360 --> 00:50:38.920
what's the next step. Your biggest

00:50:38.920 --> 00:50:40.920
problem with SpecIt was what's my next

00:50:40.920 --> 00:50:42.680
step. Now, the problem with SpecLedger

00:50:42.680 --> 00:50:45.240
was it flew through every step without

00:50:45.240 --> 00:50:46.520
you knowing what was the next step. It

00:50:46.520 --> 00:50:47.920
just went, "Oh, now the next step is

00:50:47.920 --> 00:50:49.480
this. Oh, now the next step is that."

00:50:49.480 --> 00:50:51.080
But I also think that it was running out

00:50:51.080 --> 00:50:53.200
of context. And I really don't like that

00:50:53.200 --> 00:50:54.800
I couldn't see the context window

00:50:54.800 --> 00:50:57.080
because I think Sonar at some point ran

00:50:57.080 --> 00:50:58.840
out because I think this is a a 200

00:50:58.840 --> 00:50:59.840
token

00:50:59.840 --> 00:51:01.280
uh context window with Sonar that we

00:51:01.280 --> 00:51:03.640
were using, and I think it just went

00:51:03.640 --> 00:51:05.280
even more off the rails because it was

00:51:05.280 --> 00:51:07.480
completely out of context and you were

00:51:07.480 --> 00:51:10.840
in what they call it, the [ __ ] window.

00:51:10.840 --> 00:51:12.480
The the part

00:51:12.480 --> 00:51:14.560
Yeah, so so I think that there's

00:51:14.560 --> 00:51:16.040
obviously a lot of failings on the

00:51:16.040 --> 00:51:17.960
SpecLedger side. I think because of the

00:51:17.960 --> 00:51:19.880
way that uh models have a you know,

00:51:19.880 --> 00:51:21.480
started loading skills and definitely on

00:51:21.480 --> 00:51:24.160
my side

00:51:24.160 --> 00:51:25.680
Test.

00:51:25.680 --> 00:51:27.160
Yeah, yeah, I'm listening.

00:51:27.160 --> 00:51:28.440
>> Trying to reconnect. Make sure you have

00:51:28.440 --> 00:51:30.000
a stable connection. I don't know. But

00:51:30.000 --> 00:51:32.240
like on on my side because I keep I keep

00:51:32.240 --> 00:51:34.760
stopping the model and I've never tried

00:51:34.760 --> 00:51:37.120
to let see how far it goes uh and and I

00:51:37.120 --> 00:51:38.520
definitely need to put that more in in

00:51:38.520 --> 00:51:40.520
the prompts now like you need to buy in

00:51:40.520 --> 00:51:41.400
with the user.

00:51:41.400 --> 00:51:43.160
>> I'm not allowed to use Opus by the way

00:51:43.160 --> 00:51:44.760
because I've been spending too much

00:51:44.760 --> 00:51:46.720
money on that.

00:51:46.720 --> 00:51:49.000
Um

00:51:49.000 --> 00:51:50.600
I yeah, I need to drop because I told

00:51:50.600 --> 00:51:52.720
you I had 15 minutes and it's

00:51:52.720 --> 00:51:54.680
I have another call and they're being

00:51:54.680 --> 00:51:56.400
waiting. I just wondering what the next

00:51:56.400 --> 00:51:57.920
steps are here with the my STD

00:51:57.920 --> 00:52:00.280
exploration cuz we're still I'm still

00:52:00.280 --> 00:52:02.720
like

00:52:02.720 --> 00:52:05.000
I think we should do and I know that

00:52:05.000 --> 00:52:06.640
that today was supposed to be like a

00:52:06.640 --> 00:52:08.120
little recap on the spec driven

00:52:08.120 --> 00:52:09.840
development, but I had so much fun in

00:52:09.840 --> 00:52:11.520
the last hour on my business as usual

00:52:11.520 --> 00:52:13.280
work.

00:52:13.280 --> 00:52:15.320
Yeah, that needs to be celebrated. Like

00:52:15.320 --> 00:52:17.400
it or not

00:52:17.400 --> 00:52:20.960
making BAU tolerable is is actually an

00:52:20.960 --> 00:52:23.920
important step here.

00:52:23.920 --> 00:52:25.400
Yeah, so sorry I I I really need to

00:52:25.400 --> 00:52:26.760
drop.

00:52:26.760 --> 00:52:29.040
Okay, no worries. See you, man.

00:52:29.040 --> 00:52:30.280
Bye.

00:52:30.280 --> 00:52:32.760
Bye-bye.

