Exploding Notes

unlisted

by bpurgaso

Forced-writing sprints: keep typing or the draft is destroyed; survive and it becomes a note.

β˜… 1 starsUpdated 28d agoMIT
View on GitHub

Exploding Notes πŸ’₯

Forced-writing sprints for Obsidian: keep typing or the draft is destroyed.

CI Latest release

The rules

  • Start a sprint and the timer arms on your first keystroke β€” thinking of an opening line is free.
  • Stop typing for more than a few seconds and the text begins to visibly decay.
  • Type anything and the decay fully resets. Idle through it and the draft is destroyed. Gone. No undo, no recovery.
  • Survive the session (default: five minutes) and the draft becomes a real note in your vault, opened in a normal editor tab.

If losing a stalled draft sounds terrible to you, this is not your plugin. You don't have time to over-think. You don't have time to revise. That's the whole point: you can't stop so your only option is to dump your ideas to paper.

Your vault is safe

The sprint buffer lives only in memory, in a separate view β€” never in your notes.

  • The plugin only ever creates new files, and only when a sprint succeeds.
  • Existing notes are never modified, deleted, or even read.
  • It never touches your normal editing experience.
  • Nothing leaves your machine: no network requests, no telemetry, and the buffer is never logged.

The only thing at risk is the draft you're currently writing β€” and only if you stop.

Installation

Not yet in the Obsidian community directory; install via BRAT or manually.

Via BRAT (recommended)

  1. Install BRAT from the community plugin browser (Settings β†’ Community plugins β†’ Browse β†’ search "BRAT") and enable it.
  2. Open Settings β†’ BRAT β†’ click Add beta plugin.
  3. Paste https://github.com/bpurgaso/exploding_notes, pick the latest release, and click Add plugin.
  4. Go to Settings β†’ Community plugins and enable Exploding Notes.

BRAT will keep the plugin updated as new releases are tagged.

Manual

  1. Download main.js, manifest.json, and styles.css from the latest release.
  2. Create the folder <your vault>/.obsidian/plugins/exploding-notes/ and place the three files in it.
  3. Reload Obsidian and enable Exploding Notes under Settings β†’ Community plugins.

Settings

SettingDefaultWhat it does
Session length5Minutes of writing required to survive (1–60).
Idle grace5Seconds you may pause before the decay begins (2–30).
Decay duration3Seconds the decay lasts before the wipe (0–10). 0 wipes instantly.
Output folderInboxWhere survived sprints are saved; created if missing. Nested paths allowed.
Filename templateSprint {{date}} {{time}}{{date}} β†’ YYYY-MM-DD, {{time}} β†’ HHmm. Collisions get a numeric suffix instead of overwriting.
Show timeronOff hides the countdown (zen mode).
Show word countonOff hides the live word count.
Danger stylefade-textHow the decay is drawn: the text fades out, or a vignette closes in.
Ribbon icononShow the start-sprint icon in the ribbon.

Timing settings apply to the next session β€” a sprint already running keeps the rules it started with.

Development

git clone https://github.com/bpurgaso/exploding_notes
cd exploding_notes
npm install
npm run dev    # esbuild watch, outputs into a local dev vault
npm test       # vitest unit suite
npm run build  # production build + typecheck
npm run lint

Development runs against a throwaway dev vault with the Hot Reload plugin β€” npm run dev writes the build output there directly (override the target with EXN_DEV_PLUGIN_DIR). Never point the dev loop at a real vault.

Contributors: SPEC.md defines behavior, ROADMAP.md defines sequencing, and CLAUDE.md lists the project invariants β€” most importantly, never soften the wipe, and never add a second vault write path.

License

MIT

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.