Organizing notes

Tags, branch scoping, reminders, starring and archiving. The tools that keep a note list useful once it stops being a note list of three.

Tags

Tags are coloured pills you attach to a note, and the main way you filter the sidebar. Five ship by default:

TagColourIcon
IdeaYellowLightbulb
TodoBlueListTodo
BugRedBug
MeetingLavenderPresentation
ReferenceGreenBookMarked

None of them are fixed. You can rename them, recolour them with any hex value, swap the icon for a different Lucide one, delete the ones you do not use, reorder them, and add your own.

Your tag set lives in .devnotes/tags.json, and unlike your notes it is committed to git — so a team working in the same repo shares one vocabulary rather than five personal ones. See sharing with your team.

Branch scoping

A note can be scoped to a git branch, in which case it only appears in the sidebar while you are on that branch. Notes with no branch set are visible everywhere.

This is the feature that stops a long-lived project's note list turning into an archaeological dig. Notes about the refactor you are halfway through belong to that branch; notes about the project as a whole do not.

Note

Branch scoping is a display filter, not a storage mechanism. The note file stays in .devnotes/ regardless of which branch you are on, and the branch name is recorded in the note's frontmatter. Switching branches does not move or delete anything.

Reminders

Set a due date on any note and DevNotes+ will nudge you when it comes round. Overdue notes are flagged in the status bar, and a VS Code notification fires when the time arrives, offering four choices:

ActionEffect
OpenOpens the note in the editor. The reminder stays set.
Snooze 1hPushes the reminder forward one hour.
Snooze tomorrowMoves it to 9:00 AM the next day.
DismissClears the reminder entirely.

Closing the notification without choosing anything snoozes it for an hour, so a reminder you ignore does not re-fire a minute later.

Reminders need VS Code open

The check runs once a minute inside the extension. If VS Code is closed when a reminder comes due, it fires the next time you open the workspace — it is not a background service and cannot notify you when the editor is not running.

Starring and archiving

Starring pins a note to your attention — it is a personal marker you can filter by, useful for the two or three things you are actually working on today.

Archiving hides a note from the main list without deleting it. Archived notes stop being counted in the status bar's notes here total and are excluded from Claude Code's default queries, but the file stays on disk and you can filter them back into view whenever you want.

Archive is the right answer for a note that is finished but worth keeping. Deleting is for notes that were a mistake.

Search and filter

The sidebar's search box matches note titles and body text. Alongside it you can filter by tag, by branch scope, and by starred or archived state, and combine those with the search term.

Templates

Six templates ship with DevNotes+, each pre-tagged so a new note lands in the right filter straight away:

TemplateSectionsTag
Bug ReportSteps to Reproduce, Expected Behavior, Actual Behavior, EnvironmentBug
ADRContext, Decision, ConsequencesReference
Meeting NotesAttendees, Decisions, Action ItemsMeeting
StandupDone, Doing, BlockedTodo
Feature SpecGoal, Acceptance Criteria, Notes, Open QuestionsIdea
Code ReviewWhat to Check, Findings, DecisionReference

You can add your own templates too. Custom templates are stored in .devnotes/templates.json.

Linking notes to each other

Notes can reference other notes, which is how a spec ends up connected to the bug that prompted it. The links are stored on the note and are followed from the card.

GitHub issues and pull requests

Connect a GitHub account from the Set up integrations banner in the sidebar, or later from Integrations in the overflow menu beside the search box. DevNotes+ uses VS Code's built-in GitHub authentication, so there is no personal access token to create or paste. The same row disconnects the account once it is linked.

Once connected you can:

Getting notes out

Two export routes, both available for a single note or for everything at once:

Both are on the DevNotes: Export Note and DevNotes: Export All Notes commands. And because notes are already plain Markdown on disk, exporting is a convenience rather than an escape hatch — see the file format.