npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

flavor-grenade-lsp

v0.7.3

Published

Language Server Protocol server for Obsidian Flavored Markdown

Readme

Flavor Grenade LSP

Language Server Protocol support for Obsidian-style Markdown vaults and flavor-aware Markdown projects.

Flavor Grenade indexes local Markdown workspaces and provides editor features for wiki-links, embeds, headings, block references, tags, frontmatter, attachments, Markdown links, and structured documents such as changelogs and MADR decision records.

Install

Most users should install the VS Code extension:

The npm package is the language server for LSP-capable editors and extension integrations:

npm install -g flavor-grenade-lsp
flavor-grenade-lsp

The server speaks LSP over stdio. Editors should launch the command and perform the standard initialize handshake over stdin/stdout.

What It Supports

Core Obsidian-style Markdown support:

  • Wiki-links: [[Note]], [[Note|Alias]], [[Note#Heading]], and [[Note#^block-id]]
  • Embeds for notes, headings, blocks, and local attachments
  • Tags, nested tag paths, callouts, YAML frontmatter, aliases, and block anchors
  • Markdown inline links, image links, reference labels, and heading anchors
  • Opaque-region handling for code, math, comments, and Templater blocks

Flavor-aware Markdown support:

  • Auto-detection from Obsidian vault markers, file syntax, and CommonMark fallback whenever no concrete .mdfattributes flavor rule applies
  • Explicit base flavors for Original Markdown, CommonMark, Obsidian, GFM, GLFM, Pandoc, MultiMarkdown, MDX, kramdown, Markdown Extra, R Markdown, Reddit, and Stack Overflow Markdown
  • Structured profile flags for Keep a Changelog, Common Changelog, and MADR layered over any base flavor

Editor Features

  • Completions for notes, headings, block anchors, tags, callouts, embeds, attachments, Markdown flavor snippets, and structured-profile headings
  • Diagnostics for broken links, ambiguous targets, malformed wiki-links, broken embeds or attachments, missing block anchors, non-breaking spaces, malformed frontmatter, and structured-profile issues
  • Go to definition, find references, document highlights, document links, document symbols, workspace symbols, folding ranges, selection ranges, semantic tokens, hovers, code lens, and rename
  • Code actions for creating missing notes, fixing non-breaking spaces, generating tables of contents, and moving inline tags to frontmatter
  • Vault-confined file-operation planning for safe rename workflows

Vault And Project Detection

Flavor Grenade detects a project by walking upward from an opened Markdown file. The strongest signals are:

  • .obsidian/
  • .mdfignore
  • .mdfattributes

.mdfignore hides matching Markdown from Flavor Grenade entirely. Hidden files are not processed, indexed, completed, diagnosed, navigated, renamed, or used as references unless a later negated rule re-includes them.

.mdfattributes stores repository-tracked flavor and structured-profile rules using Git-style pattern matching. Rules cascade through subdirectories; later matching rules win; !flavor clears the effective flavor selected so far; and flavor=auto explicitly asks Auto Detect to run.

Example .mdfattributes:

*.md flavor=auto
docs/github/*.md flavor=gfm
docs/decisions/*.md flavor=commonmark structured_profiles=madr
CHANGELOG.md flavor=auto structured_profiles=keep-a-changelog

Example .mdfignore:

generated/
private/
!private/README.md

When no .mdfignore or .mdfattributes applies, Auto Detect remains the default for the opened directory and all subdirectories. It uses Obsidian vault evidence and syntax signals, then falls back to CommonMark for generic Markdown.

Security Model

Flavor Grenade treats workspace files as local user data.

  • It does not make network calls during indexing, diagnostics, completion, or navigation.
  • It returns LSP workspace edits for client approval instead of directly editing vault files.
  • It rejects non-file root URIs, unsupported URI schemes, prototype-polluting JSON-RPC payloads, and paths outside the detected vault boundary.
  • It applies parser and scan limits for large or adversarial local files.

Develop

Install root dependencies:

bun install

Run server checks:

bun run build
bun run typecheck
bun run lint
bun test
bun run bdd

Run VS Code extension checks:

cd extension
npm install
npm run compile
npm test
npm run test:host

Repository Layout

  • src/: TypeScript language server
  • extension/: VS Code extension client and Marketplace package
  • docs/: server requirements, design, BDD, DDD, ADRs, research, and plans
  • extension/docs/: extension-specific docs
  • website/: public documentation website

License

MIT