For TaskPaper-style plaintext users

Keep the outline.
Add the day.

Plainlist keeps everything you care about — projects, tasks, notes, indentation, and @tags — and adds what TaskPaper never had: a real planning loop with Plan, Focus, Goals, Habits, and Review. No import ceremony, no new format: your existing TaskPaper files open as-is.

No import ceremony. A readable .todo file remains the source.

plainlist · tasks.todo
⌕ filter… EditorPlanFocusDone
Work:
	- draft Q3 report @brain @est(2h) Anytime Jun 17
		notes for finance section
	- reply to client emails @ai @est(30m) 14:00
	- prep standup notes @me @due(Jun 19) @p1

Home:
	- book dentist @me @every(month)
	- renew domain @done(2026-06-12)

TaskPaper gives you the outline grammar; Plainlist gives you real day planning, focus, goals, habits, and recurrence on top of the same syntax. If you are a TaskPaper user, your files already open in Plainlist as-is — the grammar is identical (projects end in a colon, tasks start with a dash, tags are @words). What TaskPaper itself does not give you is a planning surface: it is an outliner, not a planner. Plainlist adds the Plan calendar, Focus view, Goals, Habits, and a weekly Done log — all reading and writing the same TaskPaper-style file. TaskPaper is cheaper on paper and works on more platforms, but it stops where planning starts. If you have been pushing TaskPaper to plan your day with scripts and hacks, Plainlist is the native version of what you were building.

Compatibility

TaskPaper-style where it matters.

The grammar is TaskPaper-compatible where it counts — projects end in a colon, tasks start with -, subtasks are indented, and metadata is inline @tags. If you've been writing TaskPaper for years, your muscle memory carries over unchanged. Plainlist extends the vocabulary in the same spirit — @start for scheduling, @every(mon/wed/fri) or @quota(3/week) for habits, 🎯 + @span for goals — all still plain text, all still readable in any editor. New to the format? See what plain-text task management is.

Projects
Supported. Lines ending with :.
Example: Work:
Tasks
Supported. Indented lines beginning with - .
Example: - reply to client @ai
Notes
Supported. Indented child lines without a task bullet.
Notes stay editor-first context and follow their parent task.
@tags
Supported. Plain custom tags, labels, categories, and values.
Plainlist reserves a few tags for behavior.
Planning tags
Plainlist additions. Stored as normal text.
@start, @due, @est, @every, @p1, @done, @archived.
Search language
Different. Plainlist has its own practical filters.
Examples: project:"Work", is:attention, @brain.

What Plainlist adds

A planner around the text file, not instead of it.

Plainlist is a surface over your file — the app and the text never disagree, because the text is the state. There's no hidden database behind the UI. What you see in Plan, Focus, or Done is exactly what's in the .todo file. You can edit the file in Vim, commit it to Git, or process it with scripts, and the app reflects it. If the app ever disappears, the plan doesn't — it's a text file you own.

Plan by day or time

Use @start(2026-06-17) for Anytime work, or @start(2026-06-17T14:00) for a timed block.

Focus on today

Work from a clean Today view with quick capture, Add to today, Done, Later, Tomorrow, and metadata edits.

Review what shipped

Done view groups completed tasks by day and project, includes archive history, and copies clean Markdown status updates.

Recurring tasks

@every(week), weekdays, intervals, and from-completion repeats remain visible in the line.

Quick Capture

Global capture routes work into the right project, adds metadata, and can plan today without opening the full app.

BYO sync

Use iCloud Drive, Dropbox, Drive, OneDrive, Syncthing, or Git. Plainlist watches the same file.

Migration path

Start with the file you already trust.

No migration — open your existing TaskPaper file and the planning views work immediately. Your current TaskPaper file is already a Plainlist file. Point Plainlist at it, and projects, tasks, and @tags appear in the Plan grid and Focus view as-is. You can keep editing in TaskPaper, Vim, or VS Code — the file stays the source. The only thing to learn is the few extra tags Plainlist uses for scheduling, habits, and goals, and those are optional until you want them.

Safe first step

  • Duplicate your existing file.
  • Open the copy in Plainlist.
  • Verify projects, notes, and tags render correctly.

Then add planning

  • Drag tasks into Plan.
  • Use Focus for today.
  • Let Done become the weekly log.
before / after
# Your old outline can stay ordinary
Work:
	- write launch copy @brain
	- email beta users @ai

# Plainlist only adds tags when you plan
Work:
	- write launch copy @brain @start(2026-06-17) @est(1h)
	- email beta users @ai @start(2026-06-17T14:00) @est(30m)

Questions, answered

Compatibility & migration FAQ.

Will my TaskPaper file open in Plainlist?

Yes — TaskPaper-compatible grammar is the format, so existing files open as-is. Projects, tasks, notes, indentation, and @tags all carry over.

Do I have to stop using TaskPaper?

No — the file is shared; you can keep editing it in any tool and use Plainlist for the planning views.

What tags does Plainlist add?

@start (schedule), @est (estimate), @due, @p1 (priority), @every/@quota (habits), 🎯+@span (goals) — all optional, all plain text.

Is there a hidden database?

No — the .todo file is the entire state. The app reads and writes the file, nothing else.