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

create-nosdav

v0.0.9

Published

Create NosDav profiles and apps with ease

Readme

create-nosdav

Create NosDav profiles and apps with unlimited templates from the community ecosystem.

Quick Start

# Create a new profile
npx create-nosdav init my-profile

# Create apps with built-in templates
cd my-profile
npx create-nosdav app todo --template preact-todo
npx create-nosdav app dashboard --template dashboard

# Use community templates from GitHub
npx create-nosdav app auth-app --template github:nosdav/preact-auth-starter
npx create-nosdav app blog --template gh:user/[email protected]

Features

🚀 Unlimited Templates - Access thousands of community templates from any Git repository ⚛️ Modern Development - Preact, HTM, and ES modules with no build step required
📁 Multi-File Support - Templates can include multiple components, utilities, and assets 💾 Smart Caching - Templates cached locally for fast repeated use 🎯 Simple Workflow - No transpilers, bundlers, or complex tooling 🔗 NosDav Integration - Apps automatically register in your profile's type index

Template Sources

Built-in Templates

npx create-nosdav list
  • basic - Simple static HTML app
  • crud - CRUD operations with localStorage
  • dashboard - Analytics dashboard with live stats
  • preact-todo - Modern todo app with Preact & HTM

Community Templates (Git Repositories)

GitHub Shortcuts:

# GitHub shorthand
npx create-nosdav app my-app --template github:user/template-repo
npx create-nosdav app my-app --template gh:user/repo

# With specific version/branch
npx create-nosdav app my-app --template github:user/[email protected]
npx create-nosdav app my-app --template github:user/repo@main

Full Git URLs:

# Any Git repository
npx create-nosdav app my-app --template https://github.com/user/template.git
npx create-nosdav app my-app --template https://gitlab.com/user/template.git
npx create-nosdav app my-app --template [email protected]:user/repo.git

Commands

init [name]

Initialize a new NosDav profile with decentralized identity structure.

npx create-nosdav init my-profile
cd my-profile

Options:

  • -d, --dir <directory> - Target directory (default: current)

Creates:

  • Profile metadata (index.json)
  • Public type index (settings/publicTypeIndex.json)
  • Directory structure for apps and data
  • Crypto-secure identity keys

app <name>

Create a new app from any template source.

# Built-in templates
npx create-nosdav app todo --template preact-todo
npx create-nosdav app dashboard --template dashboard

# Community templates  
npx create-nosdav app auth --template github:nosdav/auth-starter
npx create-nosdav app blog --template https://github.com/user/blog.git@v2

Options:

  • -t, --template <template> - Template source (local name, github:user/repo, git URL)
  • -d, --dir <directory> - Profile directory (default: current)

list

List available built-in templates.

npx create-nosdav list

Multi-File Templates

Templates can include multiple files for complex applications:

templates/preact-todo/
├── index.html          # Entry point with imports
├── components.js       # Preact components  
├── utils.js           # Utilities and helpers
└── styles.css         # Optional styles

Example multi-file app:

npx create-nosdav app todos --template preact-todo

Creates:

public/apps/todos/
├── app.json           # App metadata
├── index.html         # HTML entry point
├── components.js      # TodoApp component
├── utils.js          # Storage utilities
└── assets/           # Static resources

Profile Structure

my-profile/
├── index.json              # Profile identity & metadata
├── index.html              # Profile homepage  
├── public/
│   ├── apps/               # Your applications
│   │   ├── todo/           # Multi-file app
│   │   │   ├── index.html
│   │   │   ├── components.js
│   │   │   └── utils.js
│   │   └── dashboard/      # Single-file app
│   │       └── index.html
│   ├── images/             # Profile assets
│   └── todo/               # Default data storage
└── settings/
    └── publicTypeIndex.json # App & data registry

App Registration

Apps are automatically registered in your profile's type index for discoverability:

{
  "type": "TypeRegistration",
  "forClass": "WebApp", 
  "instance": "../public/apps/todo/app.json",
  "registeredWith": "../public/apps/todo/"
}

Template Caching

Git templates are cached locally for performance:

~/.create-nosdav/cache/
├── a1b2c3d4e5f6.../     # github:user/repo@main
└── f6e5d4c3b2a1.../     # github:user/[email protected]

Cache behavior:

  • First use: Clone from Git repository
  • Subsequent uses: "Using cached template"
  • Different branches/tags create separate cache entries
  • Automatic cleanup removes .git directories

Creating Templates

Simple Template (Single File)

my-template/
└── index.html          # Template with {{variables}}

Advanced Template (Multi-File)

my-template/
├── index.html          # Entry point
├── components.js       # Reusable components
├── utils.js           # Shared utilities  
├── styles.css         # Styling
└── assets/            # Static resources
    └── logo.png

Variable substitution:

<title>{{title}}</title>
<h1>Welcome to {{name}}</h1>

Template Repository

Share templates by creating a Git repository:

# Create template repo
git init my-awesome-template
# Add template files
git add .
git commit -m "Initial template"
git push origin main

# Others can use it
npx create-nosdav app cool-app --template github:yourname/my-awesome-template

Community Ecosystem

Discover Templates:

  • Browse GitHub topics: nosdav-template, create-nosdav-template
  • Check community showcases and examples
  • Share your own templates with the community

Template Ideas:

  • Authentication systems with various providers
  • Dashboard templates for different use cases
  • E-commerce storefronts
  • Blog and content management
  • Real-time chat applications
  • Data visualization tools

Development

Local Development:

git clone https://github.com/nosdav/create-nosdav.git
cd create-nosdav
npm install
npm link

# Test locally
create-nosdav init test-profile
cd test-profile
create-nosdav app demo --template preact-todo

Template Testing:

# Test local template
create-nosdav app test --template ./path/to/template

# Test Git template  
create-nosdav app test --template github:user/repo@branch

Advanced Usage

Template with specific branch:

npx create-nosdav app app1 --template github:user/repo@feature-branch
npx create-nosdav app app2 --template github:user/[email protected]

Private repositories:

# Using SSH (requires Git credentials)
npx create-nosdav app private --template [email protected]:user/private-template.git

# Using HTTPS with token (set in Git config)  
npx create-nosdav app private --template https://github.com/user/private-repo.git

Multiple profiles:

npx create-nosdav init work-profile --dir ~/work
npx create-nosdav init personal-profile --dir ~/personal

# Create apps in specific profiles
npx create-nosdav app project --template github:company/template --dir ~/work/work-profile

Requirements

  • Node.js 16+
  • Git (for community templates)
  • Modern web browser (for running apps)

License

MIT


Ready to build the decentralized web? 🚀

Start with npx create-nosdav init my-profile and explore the unlimited template ecosystem!