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

mdbase-cli

v0.1.0

Published

CLI tool for mdbase collections — validate, query, CRUD, and execute Obsidian .base files

Readme

mdbase-cli

Command-line tool for working with mdbase collections. Validates, queries, and performs CRUD operations on markdown document collections. Can also execute Obsidian .base files.

Install

Requires Node.js 22+ and the mdbase library.

git clone https://github.com/callumalpass/mdbase.git
git clone https://github.com/callumalpass/mdbase-cli.git
cd mdbase && npm ci && cd ..
cd mdbase-cli && npm ci && npm run build

The CLI is available as mdbase via the bin entry, or run directly with:

node dist/cli.js

Usage

mdbase <command> [options]

Global option:

  • -C, --collection <alias> Run a command against a registered collection alias (from mdbase collections add).

Core commands

| Command | Description | |------------|--------------------------------------------------| | validate | Validate documents against their type schemas | | query | Query documents with filters and sorting | | read | Read a single document by path or ID | | create | Create a new document | | update | Update an existing document | | delete | Delete a document | | rename | Rename a document | | types | List or inspect registered types |

Obsidian Bases

| Command | Description | |------------|--------------------------------------------------| | base run | Execute an Obsidian .base file |

Additional commands

| Command | Description | |------------|--------------------------------------------------| | init | Initialize a new mdbase collection | | lint | Lint documents for common issues | | fmt | Format document frontmatter | | export | Export documents to CSV or JSON | | import | Import documents from CSV or JSON | | graph | Show link graph between documents | | stats | Print collection statistics | | watch | Watch for file changes and re-validate | | diff | Show differences between document versions | | schema | Generate or inspect type schemas | | collections | Manage named collection registry entries |

Fuzzy picker

mdbase-fzf provides an interactive two-step picker powered by fzf:

  1. Choose a type (includes untype for files without a type).
  2. Browse matching files with key fields (display/title-style fields are prioritized), preview, then open in your editor.

Requirements: fzf and jq on PATH.

mdbase-fzf

Examples

Validate all documents in the current directory:

mdbase validate .

Query documents of a given type:

mdbase query "status = published" --types note --sort created --limit 10

Execute an Obsidian .base file:

mdbase base run my-view.base

Export to CSV:

mdbase export . --type note --format csv -o notes.csv

Initialize and register a collection alias:

mdbase init --register work

List markdown files from all registered collections:

mdbase collections files --format paths

Example applications

| Project | Description | |---------|-------------| | mdbase-workouts | Workout tracker with chat interface, built on mdbase |

Spec

mdbase-cli implements the mdbase specification.

License

MIT