Markdown basics
The simple format AI understands best
Markdown is a simple way to format text using a few symbols. You'll use it for every planning document in this course, and you'll see it in almost every AI answer.
What is Markdown?
Think of Markdown as writing notes with a few shortcuts. A # means "this is a heading". A - means "this is a list item". Apps then show it nicely, with big headings and neat bullets.
- It's plain text, so any app can open it.
- Markdown files end in
.md, likeREADME.md. - AI models read and write Markdown very well. ChatGPT, Claude, and Gemini use it in their answers.
- GitHub, VS Code, and many note apps show it formatted automatically.
The text with symbols is called the source. The nicely formatted version is called the rendered result.
Headings
Start a line with # and a space. More # symbols make a smaller heading.
# Habit Tracker
## Features
### StreaksThis renders as a big title "Habit Tracker", a smaller section heading "Features", and an even smaller sub-heading "Streaks". Use one # for the page title, then ## for sections.
Lists
Use - for bullet points and 1. for numbered steps. Indent with two spaces to make a sub-item.
- Add a habit
- Check off a habit
- Only once per day
1. Plan the app
2. Build the app
3. Publish the appThis renders as a bullet list (with an indented sub-bullet) followed by a numbered list from 1 to 3.
Bold, italic, and links
This is **bold** and this is *italic*.
Read the [Lovable docs](https://docs.lovable.dev) for help.Let's break this down:
**text**renders as bold.*text*renders as italic.[words](url)renders as a clickable link showing "Lovable docs".
Code blocks
Wrap code, commands, or prompts in three backticks (```). The text inside is shown exactly as typed, in a special font. You can add a language name after the first backticks.
To start the app, run:
```bash
npm run dev
```
Use `single backticks` for short code inside a sentence.This renders as a gray box containing npm run dev, and the words "single backticks" shown in code font inside the sentence.
Tables
Use | to separate columns. The second line, with dashes, separates the header from the rows.
| Habit | Goal | Streak |
|------------|------------|--------|
| Read | 10 pages | 5 |
| Walk | 20 minutes | 12 |This renders as a neat table with three columns and two rows. The spaces don't have to line up perfectly. It still works.
Checklists
A checklist is a list item with [ ] (not done) or [x] (done). They're perfect for build plans.
- [x] Write the PRD
- [x] Create the project in Lovable
- [ ] Add the habit list screen
- [ ] Add streaksOn GitHub and in many apps, this renders as checkboxes, with the first two ticked.
| Feature | You type | You get |
|---|---|---|
| Heading | # Title | A big heading |
| Bullet | - item | A bullet point |
| Numbered | 1. step | A numbered step |
| Bold | **word** | Bold text |
| Link | [text](url) | A clickable link |
| Inline code | `code` | Code font |
| Checklist | - [ ] task | A checkbox |
Asking AI for Markdown
You can ask any AI to give you Markdown source you can save as a file.
Turn my notes below into a clean Markdown document with a title,
sections with ## headings, and a checklist of next steps.
Put the whole thing in one Markdown code block so I can copy it.
[paste your notes]Common mistakes
- Forgetting the space after
#or-.#Titlemay not become a heading. - Using one
#for every heading. Use##and###for sections. - Forgetting to close a code block with three backticks. Everything after it becomes code.
- Missing the dash line in a table, so it shows as plain text.
Practice
Try these exercises to lock in what you just learned.
- [x] Write the PRD
- [ ] Add streaksWhat's next?
Now that you can write Markdown, let's use it to create the first file every project needs: a README.