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

@onboarding-diagnostics-lab/onboarding-diagnostics

v0.1.0

Published

Implementation repo for the Onboarding Diagnostics Lab

Readme

IDOA - Infrastructure for Deterministic Onboarding & Analysis

Onboarding Diagnostics is the implementation repository for the Onboarding Diagnostics Lab workstream. Its purpose is to make onboarding failures deterministic, interpretable, and actionable before developers lose time chasing ambiguous local setup issues.

Part of LF Decentralized Trust Labs – Onboarding Diagnostics Lab

This repository tracks the implementation side of the lab effort that was merged into LF Decentralized Trust Labs. It is intentionally focused on practical diagnostics and onboarding readiness rather than network services, dashboards, or broader platform orchestration.

The lab is listed in the LF Decentralized Trust Labs catalog: Onboarding Diagnostics Lab.

Problem Statement

Developer onboarding for decentralized systems often fails before application logic even starts. Missing runtimes, PATH issues, inconsistent shells, incomplete local configuration, and toolchain drift can all produce noisy errors that are difficult to interpret.

Those failures are costly because they are often:

  • nondeterministic across machines
  • hard to classify from raw tool output
  • difficult to remediate consistently

Project Goal

Onboarding Diagnostics provides a small diagnostics-oriented implementation track for onboarding readiness:

  • a zero-dependency preflight layer for first-run environment validation
  • a Node.js CLI diagnostics layer via onboarding-diagnostics doctor
  • a minimal adapter model for system-specific checks

The current target direction is Hyperledger Fabric, but Fabric support is not presented here as complete.

Layered Architecture

Onboarding Diagnostics is organized as three layers:

  1. scripts/preflight.sh A zero-dependency shell layer for baseline readiness checks before relying on Node.js tooling.
  2. onboarding-diagnostics doctor A TypeScript CLI diagnostics layer for deterministic human-readable and JSON reports.
  3. src/adapters/* A small adapter layer for target-specific checks that reuse the shared result model.

This separation keeps baseline environment validation lightweight while leaving room for deeper diagnostics once prerequisites are available.

See architecture.md for the detailed design notes.

Current Status

The repository currently includes:

  • a zero-dependency preflight script for baseline environment readiness
  • a minimal onboarding-diagnostics doctor command with deterministic PASS/WARN/FAIL output
  • JSON output support via onboarding-diagnostics doctor --json
  • a shared result model for future adapter checks
  • a lightweight Fabric-oriented adapter path as an initial direction, not a finished integration

Current doctor checks stay intentionally small and implementation-aligned:

  • Node.js version compatibility
  • npm availability
  • OS and architecture detection
  • PATH visibility
  • working-directory sanity

Near-Term Roadmap

  • stabilize the repository foundation and CLI entrypoint
  • expand zero-dependency preflight coverage for common onboarding failures
  • formalize the adapter contract and add first Fabric-oriented checks
  • improve remediation guidance and report shaping without widening scope

A compact project roadmap is in ROADMAP.md.

Usage

Bootstrap from a release

The npm package is named @onboarding-diagnostics-lab/onboarding-diagnostics; it exposes the onboarding-diagnostics CLI command.

On macOS or Linux, download and run the zero-dependency preflight before invoking the package:

curl -fsSLo onboarding-diagnostics-preflight.sh https://raw.githubusercontent.com/LF-Decentralized-Trust-labs/onboard-diagnostics/main/scripts/preflight.sh
sh onboarding-diagnostics-preflight.sh
npx --yes @onboarding-diagnostics-lab/onboarding-diagnostics doctor

On Windows PowerShell:

Invoke-WebRequest https://raw.githubusercontent.com/LF-Decentralized-Trust-labs/onboard-diagnostics/main/scripts/preflight.ps1 -OutFile onboarding-diagnostics-preflight.ps1
powershell -ExecutionPolicy Bypass -File .\onboarding-diagnostics-preflight.ps1
npx --yes @onboarding-diagnostics-lab/onboarding-diagnostics doctor

Both preflight scripts validate Node.js 20 or newer, npm, npx, PATH, shell availability, and working-directory access. Each run ends with an actionable NEXT STEP.

Work from a local checkout

Run the local zero-dependency preflight first:

sh scripts/preflight.sh

Build the CLI:

npm install
npm run build

Run diagnostics locally:

node dist/index.js doctor
node dist/index.js doctor --json
node dist/index.js doctor --adapter fabric

Optional local linking after build:

npm link
onboarding-diagnostics doctor

Validate the exact npm tarball contents and a clean temporary install:

npm run test:distribution

Output Model

Each diagnostic finding uses a deterministic status:

  • PASS for a satisfied prerequisite or expected condition
  • WARN for a non-blocking issue that reduces confidence or completeness
  • FAIL for a blocking prerequisite that should be fixed before deeper onboarding steps

Human-readable output is intended for direct operator use. JSON output is intended for later automation, CI shaping, or lab analysis workflows.

Exit Code Behavior

Both diagnostics layers use the same process exit behavior so they can be used safely in CI and scripted onboarding flows:

  • exit 0 when all checks are PASS, or when the run contains only PASS and WARN
  • exit non-zero when at least one check is FAIL

This applies to:

  • sh scripts/preflight.sh
  • node dist/index.js doctor
  • node dist/index.js doctor --json
  • node dist/index.js doctor --adapter fabric

In practice, WARN keeps the run actionable without failing automation, while FAIL is reserved for blocking prerequisites that should stop deeper onboarding steps.

Examples are available in examples.md and sample-output.json.