WEBVTT

00:00:00.060 --> 00:00:04.019
So now with the Claude.md file set up,
it's finally time to get

00:00:04.059 --> 00:00:07.100
our hands dirty and start working on the
actual code and

00:00:07.260 --> 00:00:10.980
project. And, therefore,
I cleared my session here again

00:00:11.040 --> 00:00:14.760
with /clear to make sure
that we got an empty context

00:00:14.840 --> 00:00:18.660
window again,
and here's the first prompt I'll send to

00:00:18.700 --> 00:00:22.600
Claude Code.
And it's up to you how complex your tasks

00:00:22.660 --> 00:00:26.620
be. In my experience, having smaller,
focused tasks can

00:00:26.660 --> 00:00:30.460
lead to better results, but that
is up to you, and you can, of course,

00:00:30.500 --> 00:00:34.420
run multiple Claude Code instances in
parallel if you wanna work on multiple

00:00:34.460 --> 00:00:38.100
tasks at the same time. But here,
I'll start with one simple

00:00:38.180 --> 00:00:41.740
task,
which is to set up the core route

00:00:41.750 --> 00:00:45.640
the pages that make up this project,
and I tell it to

00:00:46.120 --> 00:00:49.900
not implement authentication yet,
and I also tell

00:00:49.920 --> 00:00:53.720
it to not actually include the actual page
content yet, but just

00:00:53.760 --> 00:00:56.560
some, uh, dummy message on each page.

00:00:56.600 --> 00:01:00.370
And then I'll switch to plan mode.
Plan mode is

00:01:00.420 --> 00:01:04.340
another mode supported by Claude Code,
and you switch between modes by

00:01:04.379 --> 00:01:07.580
hitting shift tab. And here's a simple

00:01:07.620 --> 00:01:11.600
recommendation.
For the vast majority of tasks, you

00:01:11.620 --> 00:01:15.120
should start in plan mode, even
if they seem simple.

00:01:15.160 --> 00:01:19.080
Plan mode is a mode where Claude Code will
first gather

00:01:19.120 --> 00:01:22.400
some relevant information before starting
work,

00:01:22.880 --> 00:01:26.660
and it will ask you for clarification
questions if more

00:01:26.800 --> 00:01:30.500
clarification is needed.
It can help you turn

00:01:30.580 --> 00:01:34.440
average prompts into good prompts,
essentially, and it

00:01:34.500 --> 00:01:38.460
allows you to be a bit more lazy,
though ideally you're

00:01:38.500 --> 00:01:42.340
not lazy,
but you're turning good prompts into

00:01:42.460 --> 00:01:46.440
Either way, using plan mode
is a pretty good default, and

00:01:46.480 --> 00:01:50.140
indeed my default for most prompts I send
to Claude Code.

00:01:50.220 --> 00:01:53.500
If you send a task in plan mode to Claude
Code, it

00:01:53.580 --> 00:01:57.460
can't edit files yet.
It doesn't have the permissions for

00:01:57.500 --> 00:02:01.460
when using that mode. Instead,
it starts by exploring

00:02:01.540 --> 00:02:05.440
your project and by then creating a plan
on

00:02:05.480 --> 00:02:09.160
how to tackle the task you gave it,
and it may

00:02:09.280 --> 00:02:11.940
also ask for further clarification

00:02:12.520 --> 00:02:16.360
depending on your prompt
and the task you gave

00:02:16.420 --> 00:02:19.840
it. It also saves those plans locally

00:02:19.880 --> 00:02:23.450
temporarily so that it always has access
to them even in

00:02:23.460 --> 00:02:26.970
situations where your context window
should clutter up and needs to be

00:02:27.000 --> 00:02:30.500
cleared. Even then,
it would still be able to refer back to

00:02:30.520 --> 00:02:34.420
But we'll get back to full context windows
a little bit later.

00:02:34.440 --> 00:02:37.140
Now,
it will then tell you about the plan it

00:02:37.160 --> 00:02:40.540
So here it describes
which routes it wants to set up,

00:02:41.220 --> 00:02:45.140
and it then gives you more details here,
and then

00:02:45.220 --> 00:02:48.800
gives you a couple of options.
It may also ask some questions here

00:02:49.080 --> 00:02:52.680
depending on how well-written your prompt
was, how

00:02:52.720 --> 00:02:56.660
complex the task was,
and simply also some randomness.

00:02:56.700 --> 00:02:59.980
Now,
at the point of time where I'm recording

00:03:00.080 --> 00:03:03.820
I can accept that plan, clear the context,
and auto-accept

00:03:03.880 --> 00:03:07.780
edits, which is the first option.
Clearing the context, of course, does

00:03:07.800 --> 00:03:10.420
not mean that the plan gets thrown away.

00:03:10.460 --> 00:03:14.280
That is remembered,
but everything before the plan gets thrown

00:03:14.320 --> 00:03:18.269
case you had a longer conversation here,
you would start with an

00:03:18.340 --> 00:03:21.180
almost empty context window again,
which only includes the

00:03:21.220 --> 00:03:24.700
plan.
You can also not clear the context window

00:03:24.760 --> 00:03:28.640
and, uh,
continue by manually approving edits

00:03:28.740 --> 00:03:31.820
clear the context window
and auto-accept edits.

00:03:31.860 --> 00:03:34.090
I'm not sure what
that option should be about.

00:03:34.200 --> 00:03:36.560
Sounds similar to the second one to me.

00:03:36.600 --> 00:03:40.320
But then you also got a fifth option where
you can give Claude more

00:03:40.360 --> 00:03:43.540
information. And, for example,
here I'm not happy about that.

00:03:43.640 --> 00:03:46.560
I want one single authentication route.

00:03:46.620 --> 00:03:50.450
And I also noticed
that I wanna be clear about the fact that

00:03:50.560 --> 00:03:53.860
in my authentication setup,
I only want a single

00:03:53.920 --> 00:03:57.820
authentication route.
So I'll say I only want a single slash

00:03:57.940 --> 00:04:01.540
authenticate route which supports

00:04:01.640 --> 00:04:05.500
only email plus password auth.
And I'll submit this, and

00:04:05.560 --> 00:04:09.460
this does then not start the
implementation, but instead Claude goes

00:04:09.560 --> 00:04:12.950
back into planning mode and revises
and updates its plan.

00:04:12.980 --> 00:04:16.120
The same would happen
if it asked you some questions.

00:04:16.130 --> 00:04:19.750
And now with that,
I'll indeed then clear the context and

00:04:19.820 --> 00:04:23.600
auto-accept all edits to let it do
that route setup work.

00:04:23.620 --> 00:04:26.790
Now here it then wants to run linting to
check for linting errors.

00:04:26.840 --> 00:04:30.710
I'm happy with that, so I'll allow
that and tell it to not ask me for

00:04:30.800 --> 00:04:34.640
again.
And then it wants to build to check

00:04:34.650 --> 00:04:37.450
I'll also let it do that. And here we go.

00:04:37.500 --> 00:04:41.300
It's done, and now, of course,
I can start my development server with

00:04:41.400 --> 00:04:44.930
dev command here,
and actually I'll need to switch the port

00:04:45.240 --> 00:04:49.210
I have something else running on this
port, but that's just my personal setup

00:04:49.260 --> 00:04:53.170
here. If I visit this site here, I

00:04:53.220 --> 00:04:57.160
can navigate between different routes,
I can go

00:04:57.200 --> 00:05:01.100
to the dashboard page here, and I got
that dummy content on

00:05:01.140 --> 00:05:04.380
these pages, which
is exactly what I asked for.
