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 🙏

© 2024 – Pkg Stats / Ryan Hefner

create-decent-app

v1.0.1

Published

Creates a new web app project that follows "decent" sensibilities.

Downloads

124

Readme

Overview

This package includes the global command for Create Decent App.

You will get the following:

  • Static-content, single-page web app with Vite-built bundles.
  • Typescript/React codebase.
  • Jest-based test runner for unit tests.
  • Use local LLMs via WebLLM (post-deployment) or Ollama (during development)
  • Common look and feel via widgets and design system from shared libraries.
  • A working web app with UI to pleasantly handle local LLM access in development and production.

The code created by create-decent-app follows the Decent Sensibilities (described below).

Usage

npx create-decent-app YOUR-PROJECT-NAME

But...

Did You Know NPX is Kinda Dangerous?

npx literally just downloads a package and executes whatever is in it on your personal device. I promise I put nothing malicious or unsafe into create-decent-app, but why should you trust me?

Here are some ways to protect yourself from me (and worse people) providing NPX-ecutables:

  • Read through the install script at the Create Decent App git repo before running the npx command. I wrote the script to be free of any dependencies other than Node.js built-in packages, and to have all the code that executes be easy to understand. You can spend 5 minutes checking, and you'll see I'm not doing anything sneaky.
  • OR... you could manually clone the template yourself and rename it to match your project. The template is right over here. No execution of scripts via npx need happen if you decide to clone the template yourself.
  • OR... you could run npx inside of Docker or some other virtualization.

Decent Sensibilities

Decent apps seek to do right by their users by keeping their data off of the cloud. This template is based on certain "decent" sensibilities:

  • THINK LOCAL - the project template is designed to avoid use of services and give you enough to do things without them, including local LLM and persistent storage.
  • ASK BEFORE CALLING - if you do call services, ask the user for permission and never call services beyond those for which you have permission.
  • LOW-DEPENDENCY - packages should be imported with reluctance as they increase risk of supply chain attacks and other problems. There's an article I wrote about this sensibility called "Write More, Reuse Less".
  • NO SNEAKINESS - "Sneaky" means unexpected by the user. An example would be creating a link to a website that sends user data in the querystring.

Decent apps allow users to trust certain kinds of use cases in web apps that they might not otherwise. Some examples:

  • Track your medical history and ask an LLM questions about it.
  • Record meetings and generate notes for them.
  • Keep a travelogue of all the places you've been in your life.
  • Talk to an LLM about how much you hate your boss.
  • Create web apps that can process company data without worrying about the data leaving a company-issued device.

Users can do these kinds of things without fear of insurance companies, government agencies, marketeers, research harvesters, doxxers, hackers, scammers, and spammers exploiting them.

Licensing

My code and other files in this repository are licensed under the MIT open source license.

But if you see a LICENSE file in a sub-directory of the repository, that license will apply to all files found in that directory.

Contributing

The project isn't open to contributions at this point. But that could change. Contact me if you'd like to collaborate.

Contacting

You can reach me via my LinkedIn profile. I'll accept connections if you will just mention "decent apps" or some other shared interest in your connection request.