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

lifeops

v0.3.7

Published

Primary public Life Ops CLI for agenda composition, project-share drafting, and starter scaffolds.

Readme

lifeops

lifeops is the main public npm package for Life Ops.

Maintained by Fractal Research Group (frg.earth).

It is designed for teams and codebases that want a lightweight, installable command line for:

  • scaffolding Life Ops starter files
  • keeping persistent local tasks and weekly routines visible until they are actually completed
  • composing a week agenda from structured JSON feeds
  • drafting structured project-share emails and follow-up queues
  • controlling the local managed CMAIL inbox service

This package is the main install path for Life Ops. The sibling @lifeops/core package remains available as a secondary SDK layer for builders who want the reusable primitives directly.

If you are trying Life Ops for the first time, start here.

Self-hosted CMAIL

CMAIL is a self-hosted mail surface for Life Ops.

That means:

  • you bring your own domain
  • you bring your own Cloudflare setup
  • you bring your own Resend setup
  • you bring your own local secrets and API keys

Life Ops does not ship any FRG credentials, tokens, domains, or provider billing. Each user/operator sets up and pays for their own mail infrastructure.

lifeops cmail install bootstraps the bundled Python backend into a local user-owned environment and installs the managed mailbox service for that user.

Install

npm install -g lifeops

For local development from this repo:

npm install
npm install -g ./packages/lifeops-cli

Commands

lifeops init

Create starter files in the current directory:

lifeops init

Or scaffold another folder:

lifeops init ./my-lifeops

This writes:

  • lifeops.items.json
  • lifeops.project.json
  • lifeops.recipients.json

lifeops item

Create and manage persistent local commitments:

lifeops item add \
  --list professional \
  --title "Write and publish weekly FRG blog post" \
  --notes "Do not mark done until the post is published and verified live."

lifeops item list --list professional
lifeops item done 1

Items live in the local Life Ops store under LIFE_OPS_HOME or ~/.lifeops. Open items stay visible until they are explicitly completed.

lifeops routine

Create recurring local routines:

lifeops routine add \
  --name "Weekly FRG blog post" \
  --cadence weekly \
  --day Wednesday \
  --time 09:00 \
  --duration 60 \
  --task-title "Write and publish weekly FRG blog post" \
  --task-notes "Do not mark done until the post is published and verified live."

lifeops routine list

Routines are expanded into agenda output. When a routine has --task-title, LifeOps also materializes a durable task instance for each occurrence in the agenda window. If that week's task already exists, including as a completed item, LifeOps does not duplicate it.

Existing routines can be connected to a task template:

lifeops routine update 1 \
  --task-title "Write and publish weekly FRG blog post" \
  --task-notes "Do not mark done until the post is published and verified live."

lifeops agenda

Render a week agenda from the persistent local Life Ops store:

lifeops agenda --days 7 --timezone America/Chicago
lifeops agenda --format json

Or render from an explicit item feed:

lifeops agenda --input ./lifeops.items.json --days 7 --timezone America/Chicago
lifeops agenda --input ./lifeops.items.json --format json

The input can be either:

  • a JSON array of Life Ops items
  • an object with an items array

lifeops share

Create structured share drafts and follow-up items:

lifeops share \
  --project ./lifeops.project.json \
  --recipients ./lifeops.recipients.json \
  --sender-name Cody

To write packet artifacts to disk:

lifeops share \
  --project ./lifeops.project.json \
  --recipients ./lifeops.recipients.json \
  --output-dir ./outreach-packet

This writes:

  • packet.json
  • one .txt draft per recipient
  • one .html draft per recipient

lifeops cmail

Control the local managed CMAIL service:

lifeops cmail install
lifeops cmail status
lifeops cmail restart
lifeops cmail open
lifeops cmail tailscale

The package also installs a dedicated cmail shortcut:

cmail status
cmail restart
cmail open
cmail tailscale

For iPhone or other private mobile access, install Tailscale on the computer running CMAIL and on the phone, sign into the same tailnet, then run:

cmail tailscale-status
cmail secure-doctor

This deployment's canonical private phone URL is:

https://cmail.tail649edd.ts.net

CMAIL itself still stays bound to 127.0.0.1:4311. The shared Tailscale live-app-host routes cmail.tail649edd.ts.net:443 to that local listener, so mobile users should save the no-port canonical URL to the iPhone Home Screen and keep the Tailscale app connected. Do not expose CMAIL with public Tailscale Funnel.

CMAIL is independent from Clawdad. Updating or publishing Clawdad does not update CMAIL; NPM/package users need a separate LifeOps/CMAIL release.

Drafts can also be created from anywhere on the machine, including attachments:

cmail new-draft --to [email protected] --subject "A note" --body-file ./note.txt --attach ./paper.pdf --format json
cmail draft-save --id 74222 --attach ./figure.png --format json

This is intended for a self-hosted local mailbox running on your machine. The install flow bootstraps the bundled backend into your local Life Ops home before starting the service.

Support

Everything here is released for public use. If LifeOps saved you time or you want to keep the work moving, you can support public FRG releases.