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

@husic/setly

v1.0.0

Published

Guided UI for describing and setting app configuration (JSON appsettings, .env, and more)

Downloads

409

Readme

Setly — Guided UI for app settings, env vars, and config files

CI Release Publish to npm npm version npm downloads Node.js License: MIT GitHub release PRs welcome set config with clarity

Guided UI for describing and setting application configuration across projects.

Setly scans a project folder for known config files, turns them into guided forms with metadata (describe-config*.json), and writes updates back through providers (JSON / DotEnv today).

Quick start

npm install
npm run dev

Open http://127.0.0.1:5173. The API runs on port 3847 and is proxied from the UI.

On the home page, Add project and point at examples (absolute path).

Install from npm

npm install -g @husic/setly
setly

Production / local CLI

npm run build
npm start
# or
npm link
setly

Open a folder or config file directly:

setly .
setly ./examples
setly ./examples/appsettings.json

Flags:

  • --port <n> — listen on a fixed port (default: ephemeral)
  • --no-open — do not launch the browser
  • -h, --help — show usage

How it works

  1. Add a project — scan a folder (recursive, sensible depth) for supported configs.
  2. Open a config from the project page or sidebar sub-item.
  3. If describe metadata is missing beside the target, it is generated automatically.
  4. Configure — fill the typed form (session values until you generate).
  5. Describe — edit labels, types, defaults, required; add parameters.
  6. Preview / Generate — preview output, overwrite the file, or copy to clipboard.

Providers

| Provider | Discovers | |----------|-----------| | JSON | appsettings.json, appsettings.*.json | | DotEnv | .env, .env.* (skips .env.example / .env.sample) |

When generating, pick any output format: preview, copy to clipboard, or write to a chosen path. Nested JSON keys flatten to DotEnv with __ (e.g. Host.NameHost__Name). Overwrite only updates the opened file in its native format.

Storage

Projects (root path, editable label, discovered configs) live in browser localStorage (setly:projects:v2). Removing a project only forgets it in the UI.

describe metadata

Sibling files next to each config, e.g.:

  • appsettings.jsondescribe-config.json
  • appsettings.Development.jsondescribe-config.appsettings.Development.json
  • .envdescribe-config.env.json

Supported field types: string, number, boolean, json, dropdown (with Options: [{ Label, Value }, …] for quick environment presets).

Publishing to npm

Publishing uses npm Trusted Publishing (OIDC) from GitHub Actions — no NPM_TOKEN secret.

  1. On npmjs.com/package/@husic/setlySettings → Trusted Publisher: GitHub Actions, AjdinHusic / setly, workflow filename publish-npm.yml (no environment unless the job sets one).
  2. Bump "version" in package.json and push to main.
  3. Release from package version creates tag vX.Y.Z + a GitHub Release if that tag does not exist yet.
  4. Publish to npm runs on that release and publishes via OIDC (permissions: id-token: write, npm CLI ≥ 11.5.1).