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

@modunet/devtrack

v1.0.13

Published

CLI wrapper that automatically records ModuNet time-tracking when starting a dev server

Downloads

37

Readme

@modunet/devtrack

Time tracking for developers—designed for freelancers and independents who want to capture their effective project time accurately. This CLI attaches your dev server (Nuxt, Vue, NestJS, etc.) to ModuNet: when you start your dev command, a session starts automatically, pings are sent while it runs, and time stops when the process exits.

ModuNet:
Find more information at: https://modunet.app


Features

Create a modunet.json in your project root or use environment variables. The configuration can be generated via ModuNet — log in to ModuNet and use the configuration generator to obtain your token, projectId, and optional orgaId.

  • Optional fields: comment, repoUrl, branch, noTracking, modunetUrl
  • Default endpoint: https://modunet.app
  • Configurable via modunet.json or environment variables (MODUNET_TOKEN, MODUNET_PROJECT_ID, MODUNET_ORGA_ID, ...)
  • Detailed warnings when requests fail (e.g., wrong endpoint or invalid token)

Installation

npm install --global @modunet/devtrack
# or
pnpm add --global @modunet/devtrack

If you prefer a project-local installation instead:

npm install --save-dev @modunet/devtrack
# or
pnpm add -D @modunet/devtrack

Usage

Start your dev server through the wrapper:

export MODUNET_ORGA_ID=YOUR_ORGA_ID_OPTIONAL
modunet-devtrack -- npm run dev
# or
modunet-devtrack -- pnpm dev

If you installed the package locally in the project, use npx modunet-devtrack -- npm run dev or reference it through your package scripts.

To start the wrapper automatically every time, configure your package.json scripts so the original dev command is wrapped once:

{
  "scripts": {
    "dev": "modunet-devtrack -- nest start --watch"
  }
}

If you want to keep the original command available as well, split it into a base script and a tracked script:

{
  "scripts": {
    "dev:raw": "nest start --watch",
    "dev": "modunet-devtrack -- npm run dev:raw"
  }
}

Commands are executed directly without an intermediate shell. Standard commands such as npm run dev, pnpm dev, node server.js, or nest start --watch work as expected.

If you need shell features such as &&, ||, pipes, redirects, or environment expansion, wrap the command explicitly:

modunet-devtrack -- sh -lc "npm run dev && npm run lint"

Configuration

  • On first run, a modunet.json file is created in your project root with sensible defaults.
  • Required fields: token => Get it from https://modunet.app/profile projectId => Define it on your own, projects are grouped by this id (Can be changed on every startup)
  • Optional fields: comment, repoUrl, branch, noTracking, modunetUrl.
  • Possible environment overrides (take precedence over the file):
    • MODUNET_TOKEN, MODUNET_PROJECT_ID, MODUNET_ORGA_ID
    • MODUNET_URL, MODUNET_COMMENT, MODUNET_REPO_URL, MODUNET_BRANCH
    • MODUNET_NO_TRACKING (true/false)
  • Branch and repository URL are auto-detected from git when not provided.
  • Tracking is skipped automatically when CI=true or noTracking=true.

Programmatic use

The package also exports the API client and types if you need to integrate manually:

import { ModuNetClient } from '@modunet/devtrack';

const client = new ModuNetClient({
  modunetUrl: 'https://modunet.app',
  token: 'token-from-modunet',
  projectId: 'project-id',
  orgaId: 'optional-orga-id'
});

await client.startSession({
  tool: 'custom-script'
});