Neovim plugin for NvimBlast activity tracking.
- Neovim 0.9+
- glaze.nvim manages the
blastdbinary automatically (which itself depends ongo)
{
"taigrr/blast.nvim",
dependencies = { "taigrr/glaze.nvim" },
event = "VeryLazy",
opts = {
-- socket_path = vim.fn.expand("~/.local/share/blastd/blastd.sock"),
-- idle_timeout = 120,
-- debug = false,
},
}:Rocks install blast.nvimAfter installing, run :GlazeInstall blastd to install the daemon (or it will be installed automatically on first use if glaze.nvim is configured with auto_install = true).
Alternatively, install blastd manually:
go install github.com/taigrr/blastd@latest:BlastPing- Ping the blastd daemon:BlastStatus- Show current tracking status:BlastSync- Trigger immediate sync to Blast server:BlastStop- Stop activity tracking:BlastStart- Resume activity tracking
Create a .blast.toml anywhere in your project tree:
# Override the project name (default: git directory name)
name = "my-project"
# Mark as private — activity is still synced, but project name and git branch/remote
# are replaced with "private" so the server only sees time, filetype, and metrics
private = trueThe file is discovered by walking up from the current buffer's directory to the nearest git root. Both fields are optional.
In a monorepo, you can place .blast.toml in any subdirectory to give it a distinct project name or mark it as private.
The closest .blast.toml between the file and the git root wins:
monorepo/ ← git root
├── .blast.toml ← name = "monorepo" (fallback)
├── apps/
│ ├── web/
│ │ └── .blast.toml ← name = "web"
│ └── api/
│ └── .blast.toml ← name = "api", private = true
└── packages/
└── shared/ ← inherits "monorepo" from root .blast.toml
For global privacy (all projects), set metrics_only = true in your blastd config or BLAST_METRICS_ONLY=true.
- The plugin tracks buffer activity and text changes
- Sessions are created per-project (detected via git or
.blast.toml) - Activity is sent to the local blastd daemon via Unix socket
- blastd syncs to the Blast server every 10 minutes
- Time spent per project
- Filetype breakdown
- Actions per minute (commands, edits)
- Words per minute
Run :checkhealth blast to verify your setup:
- Neovim version
- glaze.nvim availability
- blastd binary installation
- Socket connection status
- blastd - Local daemon
- glaze.nvim - Go binary manager for Neovim