Skip to content

Your First Session

You’ve picked a tool and set up your environment. Let’s write some code.

  • in an IDE or extension, open the chat, command palette, or edit panel
  • in a CLI tool, start the tool in your terminal and type your prompt directly

If you need product-specific shortcuts, use the vendor pages in the Reference Appendix.

Do not start by commanding. Start by exploring. Your first prompt should be something you can verify:

Look at this codebase and explain:
1. What is the main entry point?
2. How is the code organized?
3. What patterns and conventions are used?

Why this works: you are asking about something you already know, or can check quickly. That is how you learn when the AI is helping and when it is bluffing.

Pick something simple that you know how to do manually:

Add a utility function to src/utils.ts that validates email addresses.
Use the same style as the other functions in that file.

Good first tasks:

  • Add a utility function
  • Write a test for an existing function
  • Add TypeScript types to an untyped function
  • Refactor a function to be more readable

Bad first tasks:

  • “Build me a login system”
  • “Refactor the entire codebase”
  • Anything you couldn’t do yourself

Before accepting any changes:

  1. Read the diff: understand what changed
  2. Check for errors: does the LSP show problems?
  3. Run tests: do existing tests still pass?
  4. Verify behavior: does it do what you asked?

If something’s wrong, be specific:

The email validation doesn't handle plus signs in the local part.
Update it to allow addresses like user+tag@example.com.

Good correction:

“The function doesn’t handle X. Fix it by doing Y.”

Bad correction:

“Fix it” (too vague) “That’s wrong” (not actionable)

You asked for email validation because you know what correct email validation looks like. This lets you:

  • Spot if the regex is wrong
  • Notice if edge cases are missing
  • Verify the code actually works

Once you can reliably spot mistakes on familiar tasks, you’re ready for unfamiliar territory.

MistakeFix
Too big a first askStart smaller, one function, not a feature
Accepting without readingAlways review diffs before accepting
No verificationRun linter/tests after every change
Giving up too fastTry 2-3 iterations before abandoning

You’ve completed your first AI-assisted coding session. To work more effectively: