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

@glw907/cairn-cms

v0.96.0

Published

Embedded, magic-link, GitHub-committing CMS for SvelteKit/Cloudflare sites.

Readme

cairn

cairn is an embedded, magic-link, GitHub-committing CMS for SvelteKit sites on Cloudflare.

npx create-cairn-site

Where to start

  • Deciding whether cairn fits? Why cairn covers the reasoning, the stack, and the honest trade-offs.
  • Writing for a site built on cairn? Welcome, editors starts with signing in.
  • Setting up a site and won't be writing code? The admin track takes you from nothing to a live, running site with zero code. Most sites finish here.
  • A Svelte developer extending a site? Set the site up with the admin track first, then come back to the extend track for custom content, admin screens, and everything else past the default.
  • Working on cairn itself? CONTRIBUTING maps the repository and how a change lands.

What cairn is

cairn is two things built as one: an editor-first, git-backed content management system, and a SvelteKit toolkit a developer extends for their own organization. The premise is that the people who write an organization's content are often the same people who know what the organization needs next, and that a developer who builds directly on the editors' own admin surface, rather than a separate app bolted onto a headless CMS, ships those ideas faster. The admin is a UI toolkit as much as an editor: a developer's own screen, a member roster, an event calendar, a reservation form, mounts inside the same admin and shares its components and its sign-in, so what gets added reads as one product to the people using it, not a second app beside cairn.

A developer builds those extras on cairn's seams: member signups, rosters, event and program registration, reservations, whatever a small organization's own site needs beyond content. cairn ships none of it. It ships the frame, the editor, and the documented seams a developer builds on.

Content and storage

Content is markdown, committed to the site's own GitHub repository, organized as a fixed set of concepts you declare (Posts and Pages are available out of the box, and you can add your own). A save holds on a per-entry branch; publishing copies it to the main branch with the editor as commit author, through a GitHub App created for the site, and the site deploys the way any push already does. Editors sign in from an emailed link, with no GitHub account and no password, write in a markdown editor with a live preview rendered through the exact function the public site uses, and never see any of the branch or commit mechanics underneath.

Why this stack

cairn commits fully to SvelteKit, Cloudflare, and GitHub, with no layer trying to hide any of the three, and the admin itself is built in DaisyUI and Tailwind, the idiom a developer's own screens extend it in. Why cairn has the full reasoning and the trade-offs a fixed stack makes.

Getting started

create-cairn-site scaffolds a complete starter, Waymark: a working site with a component library already wired in, built to be restyled or replaced rather than started from a blank page. A second, documentation-focused template, Topo, is planned but not shipped yet.

Already have a SvelteKit app and want to add cairn to it instead? Add cairn to a SvelteKit app starts from npm install @glw907/cairn-cms.

Where cairn stands

cairn is pre-1.0 and runs in production on two sites today, ecxc.ski and 907.life. Content stays yours regardless of what happens to cairn: it's markdown in your own repository, and leaving is a matter of cloning it.

The docs are where every track above lives in full. History is in the CHANGELOG, security reporting goes through the policy, and the license is MIT.