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

geenius-xli

v0.19.1

Published

geenius-xli - Internal CLI for Geenius ecosystem operations, code generation, and cross-package maintenance

Readme

geenius-xli

Internal operations CLI for cross-workspace Geenius maintenance.

geenius-xli is the internal operations CLI for the Geenius ecosystem. It is published to npm for easy installation and self-updates. Use it for commands that operate across geenius-apps/, geenius-boilerplates/, and geenius-packages/: batch installs and builds, golden-standard audits, Convex codegen, analytics, boilerplate runtime control, and guarded publish planning.

Installation

pnpm add -g geenius-xli

This installs both geenius-xli and gxli globally:

gxli --version
gxli --help

Updating

gxli update

This checks the npm registry for the latest version and installs it automatically.

Development

pnpm install
cp .env.example .env
pnpm build
node dist/index.js --help

Architecture

  • src/index.ts: Commander entrypoint and command registration
  • src/commands/: one module per command family
  • src/lib/env.ts: validated environment variables
  • src/config.ts: .geenius-xli/config.json inference and validation
  • src/lib/workspace.ts: apps/packages/boilerplates discovery across the workspace
  • src/lib/output.ts: human and JSON rendering with a stable automation envelope

geenius-xli auto-creates .geenius-xli/config.json at the workspace root on first run. When config is missing, it infers sane defaults for:

  • geenius-apps
  • geenius-boilerplates
  • geenius-packages

Environment Variables

All xli-specific environment variables are optional and validated through Zod.

| Variable | Required | Description | | --- | --- | --- | | GEENIUS_XLI_ROOT | No | Override workspace-root detection. Use when running xli from outside the Geenius workspace. | | GEENIUS_XLI_CONFIG_DIR | No | Override the config directory location. Resolved relative to the workspace root. | | GEENIUS_XLI_NONINTERACTIVE | No | Force non-interactive behavior for scripts and tests. Accepts true/false, 1/0, yes/no, on/off. | | GEENIUS_XLI_SKIP_GITIGNORE_UPDATE | No | Prevent xli from adding .geenius-xli/ to the workspace .gitignore. Useful for smoke tests. | | GEENIUS_XLI_JSON | No | Default all command output to the JSON envelope used by automation. |

Command Reference

Every command supports --json and returns the stable envelope:

{
  "ok": true,
  "command": "list packages",
  "summary": "Listed 42 package(s).",
  "data": {}
}

Discovery

gxli greet
gxli info
gxli list packages
gxli list apps
gxli list boilerplates

Install, Update, Build

gxli install packages admin
gxli install apps cloud
gxli install boilerplates react-convex --tier studio
gxli install all

gxli update packages admin
gxli update apps gtm
gxli update boilerplates solidjs-convex --tier studio
gxli update all

gxli build packages alpha
gxli build apps cloud
gxli build boilerplates react-convex --tier studio
gxli build all

Audits

gxli audit
gxli audit --package admin teams --detailed
gxli audit --format markdown --output reports/packages.md
gxli audit parity
gxli audit pis

gxli audit supports:

  • --package <names...>
  • --detailed
  • --format table|json|markdown
  • --strict
  • --output <file>

Testing

gxli test packages
gxli test packages --task lint:pub test:types
gxli test packages --package alpha beta

Publishing

gxli publish
gxli publish --package alpha beta
gxli publish --mode publish --yes

Default mode is dry-run. Live publishing requires both --mode publish and --yes, and later publish phases are aborted if an earlier phase fails.

Benchmarking And Analytics

gxli benchmark
gxli benchmark http://127.0.0.1:4173
gxli analytics loc
gxli analytics loc --output reports/loc.md
gxli analytics reports
gxli analytics reports --output reports/summary.md

gxli analytics reports scans the workspace for .gap-*-report.json, .fix-*-report.json, and .phase-*-report.json files and writes a consolidated Markdown summary.

Convex Codegen

gxli codegen generate
gxli codegen generate geenius-ai-workflow
gxli codegen check
gxli codegen clean geenius-ai-workflow
gxli codegen list
gxli codegen version

Self-Update

gxli update               # Check for updates and install if available
gxli update --check       # Only check, don't install
gxli self-update          # Alias for the above
gxli self-update --check

Boilerplate Runtime Control

gxli run studio react convex
gxli run all tailwind --attach
gxli stop
gxli stop all
gxli stop ports

gxli run launches runnable Node-based boilerplates in tmux sessions. Use --attach when you want the CLI to attach immediately after creating the session.

Scripts

| Script | Description | | --- | --- | | pnpm dev | Rebuild the CLI in watch mode with tsup. | | pnpm build | Build the ESM CLI into dist/. | | pnpm start | Run the built CLI from dist/. | | pnpm typecheck | Run TypeScript checks without emitting files. | | pnpm lint | Run Biome across the package sources, configs, and docs. | | pnpm format | Apply Biome formatting to the checked package files. | | pnpm test | Run the Vitest suite. | | pnpm test:coverage | Run the Vitest suite with the required coverage thresholds. | | pnpm test:smoke | Smoke test the built CLI help/version and core --json commands. | | pnpm smoke | Backward-compatible alias for pnpm test:smoke. | | pnpm clean | Remove build output and generated local caches. |

Verification

From the package root:

pnpm typecheck
pnpm lint
pnpm test
pnpm test:coverage
pnpm build
pnpm test:smoke

From the workspace root:

pnpm --dir geenius-apps/geenius-xli typecheck
pnpm --dir geenius-apps/geenius-xli lint
pnpm --dir geenius-apps/geenius-xli test
pnpm --dir geenius-apps/geenius-xli build