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-electrand

v1.1.1

Published

Create a new Electrand app

Readme

Electrand

A modern desktop application for managing projects, built with Electron and React.

Electron React TypeScript License

Features

  • Project Management -- Create, open, and organize projects with persistent metadata
  • Custom Titlebar -- Native-feeling window controls with platform-aware styling (macOS traffic lights, Windows controls)
  • Command Palette -- Quick navigation and actions via Cmd/Ctrl+K
  • Preferences -- Theme switching (dark/light), font size, configurable data directory
  • Local Storage -- Projects stored as JSON files, app state in SQLite (WAL mode)
  • Resizable Panels -- Flexible sidebar and content layout

Tech Stack

| Layer | Tools | |-------|-------| | Desktop | Electron 41, Electron Forge | | Frontend | React 19, TanStack Router (file-based), TanStack Query | | Styling | Tailwind CSS 4, shadcn/ui, Radix UI | | Database | better-sqlite3 | | Validation | Zod | | Build | Vite 8 | | Quality | oxlint, oxfmt, Vitest |

Quick Start

Scaffold a new Electrand app with create-electrand:

# with pnpm
pnpm create electrand my-app

# with npx
npx create-electrand@latest my-app

# with pnpx
pnpx create-electrand@latest my-app

cd my-app
pnpm install
pnpm start

That's it -- the app window should open with the project ready to hack on.

Getting Started (from source)

Prerequisites

  • Node.js (LTS recommended)
  • pnpm

Install & Run

pnpm install
pnpm start

Build

pnpm make       # Create distributable packages
pnpm package    # Create unpacked app directory

Code Quality

pnpm lint           # Lint with oxlint
pnpm format         # Format with oxfmt
pnpm format:check   # Check formatting
pnpm test           # Run tests

Project Structure

src/
  main/              Electron main process
    handlers/        IPC handlers (projects, preferences, app state, window)
    db.ts            SQLite database operations
    projects.ts      File system project management
  renderer/          React frontend
    components/      UI components (titlebar, sidebar, command palette)
    hooks/           Custom hooks (projects, preferences, IPC invalidation)
    routes/          File-based routes (TanStack Router)
  shared/            Shared Zod schemas and types

Architecture

IPC Bridge -- Type-safe communication between main and renderer processes with typed invoke/push payloads.

Data Layer -- Projects are stored as JSON files in the user's home directory (one UUID-named folder per project). App state and preferences live in a SQLite database with WAL mode enabled.

Query Invalidation -- React Query caches are invalidated via IPC push events from the main process, keeping UI in sync across windows.

Security -- Electron Fuses enabled for cookie encryption and ASAR integrity.

License

MIT