Full Transcript

·YouTLDR

Everything You Need to Know About Coding with AI // NOT vibe coding

13:152,336 words · ~12 min readEnglishTranscribed Apr 19, 2026
0:00

I just had a tweet blow up and reading

0:01

the replies, one thing became clear.

0:04

Everyone's using AI to code now. But

0:06

there's a huge difference between

0:08

software developers strategically

0:10

guiding AI and vibe coders who just let

0:12

it take the wheel. So today I'm showing

0:14

you how to actually code with AI, not

0:17

Vibe Code. And I'm going to be using

0:19

Warp Code to showcase everything as they

0:21

are the sponsor of today's video. But

0:23

these principles apply across the board.

0:26

Regardless if you use warp code or claw

0:28

code or cursor whatever

0:32

first stop repeating yourself. You want

0:35

to set your foundation once. That is

0:38

have your AI index your codebase so it

0:41

actually has context of your full

0:43

codebase. Warp code does this with

0:45

codebase context. Then set up your

0:48

rules. Rules are important and you have

0:50

two different types global rules and

0:52

project specific rules. Global rules in

0:55

warp code go in warp drive. These are

0:58

your coding standards, preferred

1:00

libraries, common bash commands, testing

1:02

philosophy, whatever you want to apply

1:05

to every single project you open in that

1:08

tool. Project specific tools goes in a

1:10

repo file like warp.md or claw.mmd or

1:14

cursor rules. that is your text stack

1:16

and versions and database schema API

1:19

patterns branch naming conventions and

1:21

you can have more than one if you want

1:23

to specify something different based on

1:25

where you are within your codebase. So

1:27

different subm modules may need

1:29

different rules. So have a specific

1:31

rules file for that subm module. Now

1:33

with rules every AI interaction knows

1:36

your preferences and starts with guard

1:38

rails without you typing use TypeScript

1:41

and Postgress for the millionth time in

1:43

every single prompt. Now, let's talk

1:46

about prompts. The number one rule is be

1:49

specific. Here's the difference between

1:51

amateurs and professionals. A prompt

1:53

that says make the edit button toggle is

1:56

lazy. I mean, that can mean 50 different

1:58

things and a bunch of different

1:59

implementations of how to achieve that

2:01

thing. Instead, say something like add a

2:04

boolean field editable to the users

2:06

table, expose it through API users ID

2:09

endpoint, and conditionally render the

2:10

edit button component based on that

2:12

field. See, that's concrete. It's

2:15

testable and removes margin for error

2:18

and hallucination. It's also where your

2:21

software engineering skills come into

2:22

play. You already know what needs to be

2:24

done. So, be specific in telling the AI

2:27

what exactly to do. Here's a template

2:29

you can steal. It's not perfect for

2:31

everything, of course, but it'll point

2:32

you in the right direction. And to be

2:34

even more specific than just what you

2:36

say in your prompt, add context.

2:38

reference what file to add this to or

2:41

what file you need to read in order to

2:43

implement a specific function or what

2:45

code you want refactored or changed. And

2:48

sure, you might say, well, it already

2:49

knows my entire codebase. I don't need

2:50

to specify it. While that's true, it

2:52

allows the task to be more specific and

2:54

also saves you a lot of money and tokens

2:57

because your AI doesn't have to search

2:59

throughout the entire codebase. In Warp,

3:00

I use at context or I just highlight

3:03

whatever code and then rightclick and

3:04

add it to the prompt because now Warp

3:06

does finally have a solid built-in rich

3:09

text editor, which is one of my main

3:11

complaints to them. But they fixed it,

3:13

or should I say added it. And sometimes

3:16

you're facing an issue with the UI or a

3:19

bug, something that you would need to

3:21

take a screenshot of. You can also

3:22

upload images to give more context to

3:25

the AI. In the past, I would let my

3:26

prompt be a little open-ended for the

3:28

AI. I don't do that anymore. Don't ask

3:30

the AI to guess. And to save even more

3:32

money, specify what models to use, not

3:36

just autopick whatever model, because as

3:38

you may know, Opus 4 is going to cost a

3:41

whole lot more than well, basically

3:43

every single other model. And don't

3:45

switch models mid-con conversation

3:47

unless it makes sense. Like if you're

3:49

going to plan with a specific model

3:51

that's better at planning, let's say

3:53

it's GPT5 and then you want to code

3:54

using Opus 4 or Sonnet 4, that makes

3:57

sense. But if you're just switching it

3:59

willy-nilly, well, switching models

4:01

doesn't transfer over the cash. So when

4:04

you switch, more requests are going to

4:06

be consumed, more money is going to be

4:08

spent. Also, keep the conversations

4:10

short and focused for each individual

4:13

task because each conversation's history

4:15

is going to be prepended as context. So

4:17

the longer the convo, the more each

4:20

prompt costs. And when it comes to your

4:22

workflow, treat it like an actual

4:24

software development workflow. Treat

4:26

each AI task like a real task you would

4:29

have in a sprint. Small, iterative,

4:32

testable, and approach them like a real

4:35

software engineer, not a vibe coder. You

4:37

understand architecture, you understand

4:39

patterns and logic, and you know the

4:42

codebase, so use that knowledge. And

4:44

there are a few different approaches in

4:45

how we tackle a task. Typically, we plan

4:48

first. So, have the AI help you plan it

4:51

first. So, first in plain English, I

4:53

tell the AI what I want to do, like

4:56

create a tool favorites or bookmarks

4:58

feature for the developer tool

5:00

directory. That's what this app is. And

5:02

then I say create a detailed

5:04

implementation plan that breaks down

5:06

exactly what needs to be built in what

5:07

order and how the pieces connect

5:09

together. Consider the data flow, the

5:12

key functions or classes, the potential

5:14

challenges, and the integration with

5:16

other components. And you can see the

5:18

other specifics that we have here. And

5:20

focus on practical steps to make this

5:22

feature work smoothly. Don't write any

5:25

code yet. I'll do this with GPT5 high

5:30

reasoning because it's good at planning

5:31

and let it roll.

5:33

And then you can take a look at the

5:34

plan. Ensure that it's exactly what you

5:37

were thinking of and give any

5:39

restrictions in your next prompt when

5:42

you say implement exactly this plan with

5:45

the following restrictions. Only edit

5:47

these specific files, constraints like

5:50

no new dependencies and preserve

5:52

existing filters, deliverables, the code

5:55

and how to test the code. And then if

5:57

anything in the plan is ambiguous, stop

5:59

and output two options with trade-offs

6:01

instead of guessing cuz you don't want

6:03

your AI to guess. And what I'll do is

6:05

come over here, claude 4.5 sonnet, and

6:10

let it roll. Or what I can do instead of

6:12

manually changing the model every single

6:14

time is come over to settings to AI and

6:18

create an agent profile. So I can have

6:21

the base model be clawed 4.5 sonnet and

6:24

then the planning model is GPT5 high

6:28

reasoning. I can also specify it to

6:30

create plan at any time. Oh, and it

6:33

looks like this agent is done. And as we

6:35

told it to, it gave us two concrete

6:38

options of how to move forward. We can

6:40

pick one of those and have it actually

6:42

code the feature. And when code comes

6:44

back, review it like you're pair

6:46

programming with a junior developer.

6:48

Don't just blindly trust it like many

6:50

juniors do to their seniors. Ask

6:53

questions like why did you choose this

6:55

pattern or what are the error cases or

6:58

how does this impact performance?

7:00

Question its decisions. Get an

7:02

understanding of why it implemented

7:05

anything that is confusing to you. And

7:07

most importantly, jump in, look at the

7:11

code, review the code, and don't be

7:13

afraid to edit the code. and then have

7:16

the AI refactor around your changes if

7:19

you want. You don't always need to do

7:20

that, but it's an option if you're a

7:22

little uncertain on something. You have

7:23

to view this as collaboration between

7:26

you and the AI, not delegation. The only

7:29

thing that's different between pair

7:30

programming with an AI and pair

7:32

programming with another dev, is that

7:35

the AI is not going to judge your

7:37

variable names and eat your lunch.

7:39

Sorry, that's the overall gist of

7:41

things, but nowhere near all an AI can

7:44

do to help you code. Because once you

7:47

get used to that flow, working pair

7:49

programming with the AI, using the right

7:51

prompts and actually doing things

7:54

correctly, because prompting, whether

7:56

you want to believe it or not, is a

7:58

skill. Once you get used to that flow,

8:00

you could start implementing multiple

8:02

agents at once in various different

8:04

ways. And your first thought is, yeah,

8:06

you can have three agents working on

8:08

independent tasks, but you can also have

8:10

three agents working on the same task.

8:14

Agent one writes the code. Agent two

8:17

reviews the code and provides feedback,

8:19

and agent three writes tests for the

8:22

code. The reason you'd want to do that

8:24

is because having different context

8:26

oftent times helps. Just like with

8:28

anything, having a new set of eyes on a

8:31

problem can help. and you're not just

8:32

affirming the work that you already did.

8:35

You could even have a fourth agent uh

8:37

read the code and the feedback and the

8:40

tests and then refactor it from there.

8:42

You just got to always make sure that

8:44

you, the human agent, are also doing

8:47

that. You're also reading the code and

8:49

the tests and diving into the code and

8:51

coding. I know I already said this, but

8:53

it is the most important part of all of

8:56

this. That's the difference between

8:58

using AI to help you code and vibe

9:01

coding. And frankly, while you can have

9:03

all of these agents running at once, it

9:06

it I don't do that very often, at least

9:09

for coding, if at all. I'll have one

9:12

coding, one exploring the code base, one

9:14

maybe refactoring some code because

9:16

those are more manageable than, you

9:18

know, building a whole new feature and

9:19

maybe another for testing or something

9:21

along those lines. I maybe I'll have

9:23

two, three max. But if you do want to

9:26

have three all running on independent

9:29

tasks, what you would want to do is

9:31

create multiple git work trees or

9:33

checkouts and you can run different AI

9:36

sessions in parallel. And you go from AI

9:38

session to AI session approving and

9:40

denying operations as they go. Or you

9:44

can have it run autonomously and you

9:45

review the code and feedback and tests

9:48

as each one completes it like you're

9:50

Magnus Carlson playing chess against 20

9:52

people at the same time. and then you

9:54

give them the next step. But again, this

9:57

can get very overwhelming. You can also

9:59

operate git in natural language like

10:01

just saying create a release branch and

10:03

cherrypick the aux fixes. Warp code

10:05

handles the git operations without you

10:07

memorizing command and flags and all

10:09

that. And again, uploading images. If

10:11

you can't describe a UI bug or

10:13

something, screenshot it, upload it with

10:15

a prompt to fix it. Or if you need to

10:17

implement an API, drop in the docs URL.

10:19

But something to remember, the full page

10:22

typically gets sent to the model, then

10:25

extracts the information you need. So it

10:28

may increase usage, increase costs. I

10:30

made a whole video on this, but you can

10:32

use AI to explore unfamiliar code bases,

10:34

whether you're contributing to

10:36

open-source or joining a new team. A lot

10:38

of dev teams nowadays that I'm familiar

10:41

with actually use this heavily as a part

10:44

of the onboarding process. Just think of

10:46

this as conversing with the codebase.

10:49

Ask it to summarize component

10:50

responsibilities or trace data flow.

10:52

Explain architectural decisions and have

10:55

it create a whole entire flowchart for

10:58

you so you understand how things are

11:00

connected and well anything you can

11:02

imagine and anything you're curious

11:04

about. And something that's important is

11:06

you should also set up permission

11:09

checks. Some tasks need approval. Others

11:13

can run autonomously because you don't

11:15

want to have to approve every single

11:16

task there is. And again, some need

11:18

approval, so make sure that is set. And

11:21

you know how I said it can get

11:22

overwhelming? Well, you need to know

11:24

when to pull the plug. If you're losing

11:26

control, have a bunch of agents running

11:28

and it's generating chaos. Stop. Revert

11:31

the task work completely or to a

11:34

previous checkpoint that you were like,

11:36

"Hey, it kind of works right here, but I

11:37

didn't commit it." Or maybe you did and

11:39

revert to that commit and do it. And

11:42

look, just to reiterate this, the goal

11:44

is not to replace your engineering

11:47

judgment. It's to amplify it. AI is not

11:50

here to replace you. It's here to help

11:54

you. At least that's the current state

11:56

of things. So, take advantage of it. AI

11:59

won't magically make you a 10x

12:01

developer, but it will help you with

12:04

some pain points and code faster while

12:07

maintaining the quality and explore new

12:10

code bases without existential dread and

12:13

write tests without questioning your

12:15

life choices. The key is to treat it

12:17

like a very capable intern. You don't

12:20

just say, "Hey, go make this button

12:23

toggleable." You you you guide them a

12:25

little bit more than that. You be

12:26

specific. And that intern, think of them

12:28

as having brilliant potential, but you

12:31

still need to know what good code looks

12:34

like and understand the why behind it

12:37

where you're just letting your intern do

12:40

everything for you. You see how that

12:42

that wouldn't really make sense with an

12:43

intern. So why would you treat AI like

12:45

that? You see? So, that is how you code

12:49

with AI, not vibe coding some way to

12:53

some production disaster, cuz we've

12:55

never seen that before. Oh, yeah. And

12:56

right now, you can try Warp Pro free for

12:59

7 days with 2500 AI credits with no card

13:03

required. Just click the link in the

13:05

description. Now, if you'll excuse me, I

13:07

have to go explain to the AI why we

13:09

can't use blockchain to fix a CSS bug.

13:11

Y'all have a good one.

Get the TLDR of any YouTube video

Transcribe, summarize, and repurpose videos in 125+ languages — free, no signup required.

Try YouTLDR Free