# Daily notes

Keep one note per day in a folder you choose, started from a template, and read or append to any day from the CLI.

A daily note is one Markdown note per day, such as `Daily/2026-10-28.md`. Use it for a journal, a plan or a log. Press **Cmd+D** to open today's note.

## Open a day

- Press **Cmd+D** to open today's note.
- Move to the previous or next day from the daily note.
- A month calendar opens as a tab, or in the Calendar panel.

## Set the folder and template

- Folder: `Daily` by default, from the vault root. An empty folder means the root.
- Template: `.loam/templates/daily.md` by default. `{{date}}` becomes the day, as `YYYY-MM-DD`.
- Without a template, a day gets a file when you add its first text.

**.loam/templates/daily.md**

```markdown
# {{date}}

## Plan
-
```

## Write from the CLI

1. Append a line to today's note.
2. Append to another day with `date`.
3. Add text at the top, below the title.
4. Read the note back.

```bash
loam --vault ~/Notes daily.append text="Met Bob"
loam --vault ~/Notes daily.append text="Went running" date=2026-10-27
loam --vault ~/Notes daily.prepend text="Launch day" date=2026-10-27
loam --vault ~/Notes daily.read date=2026-10-27
```

## Commands

| Command | Arguments | What it does |
| --- | --- | --- |
| daily.append | text, date (optional) | Appends text to the note, creating it from the template. |
| daily.prepend | text, date (optional) | Adds text below the title of the note. |
| daily.read | date (optional) | Returns the note's text. Empty when there is no note. |
| daily.path | date (optional) | Returns the note's path, even if the note does not exist yet. |
| daily.ensure | date (optional) | Creates the note from the template, if it does not exist. |
| daily.list | month (optional, YYYY-MM) | Lists the days that have a note, oldest first. |

> **Tip:** For AI agents: `loam list` shows the `daily.*` commands with their arguments.
