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

prophit

v0.1.1

Published

πŸ’° Frictionless invoicing CLI. Past, present, future profit.

Downloads

84

Readme

πŸ’° prophit

Frictionless invoicing CLI. Past, present, future profit.

Philosophy

Invoicing doesn't have to feel adversarial. Prophit replaces "pay me" energy with "here's the value I delivered" energy. It turns billing into a game with income goals, streaks, and celebrations, while keeping the relationship with your clients front and center.

Not "Invoice" but "Investment Summary." Not "Hours Worked" but "Value Delivered." Not "Your payment is late" but "Quick check-in on the value we delivered."

For freelancers, agencies, solopreneurs, and anyone who sends invoices.

Install

npm install -g prophit

Quick Start

# Initialize
prophit status

# Add a client
prophit client add "Acme Corp" --email [email protected] --rate 50 --terms 30

# Create an invoice
prophit invoice create --client "Acme Corp" \
  --items '[{"description":"Web development","quantity":10,"rate":50},{"description":"Design review","quantity":2,"rate":75}]'

# Mark as sent
prophit invoice send INV-001

# Record a payment
prophit pay INV-001 650

# Check your revenue dashboard
prophit status

Commands

Revenue Dashboard

prophit status              # Pipeline, goals, reminders at a glance

Client Management

prophit client add <name>   # Add client (--email, --rate, --terms, --company)
prophit client list         # List all clients
prophit client show <name>  # Client details + invoice history
prophit client delete <name>

Invoice Lifecycle

prophit invoice create      # Create invoice (--client, --items, --tax, --discount, --notes)
prophit invoice list        # List invoices (--client, --status, --limit)
prophit invoice show <num>  # Full invoice details + payment history
prophit invoice send <num>  # Mark as sent
prophit invoice void <num>  # Void an invoice
prophit invoice export <num> # Export as HTML (-o output.html)
prophit invoice delete <num> # Delete (draft/void only)

Payments

prophit pay <num> <amount>  # Record payment (--method, --reference, --date, --notes)

Reports

prophit aging               # Aging report (0-30, 31-60, 61-90, 90+ days)
prophit remind              # Follow-up reminders (empathy-first messaging)

Follow-Up Cadence (v0.1.1)

prophit followup list       # All pending follow-ups, priority-sorted
prophit followup next       # Top 3 with copy-paste ready messages
prophit followup log INV-001 --method email --note "Sent check-in" --response "Said next week"
prophit followup history "Client Name"  # Full contact timeline
prophit followup escalate INV-001       # Bump to next tier

4 Escalation Tiers (empathy-first):

  1. Friendly check-in (day 3-13): "Just making sure this landed..."
  2. Warm follow-up (day 14-29): "Know things get busy, wanted to circle back..."
  3. Direct ask (day 30-59): "Want to make sure we're squared away..."
  4. Final notice (day 60+): "Last note before I close the books..."

Priority scoring: balance x days overdue x tier weight. Highest money+age = #1 every time.

Income Goals

prophit goal add            # Set a goal (-n name, -t target, -p weekly/monthly/quarterly/yearly)
prophit goal list           # Progress bars, streaks, celebrations

Database Backup

prophit backup create       # Manual backup (-r "reason")
prophit backup list         # List all backups
prophit backup restore <path> # Restore from backup

All commands support --json for scripting and -d <dir> for custom data directories.

Invoice Status Lifecycle

draft β†’ sent β†’ viewed β†’ partial β†’ paid βœ…
                  ↓         ↓
               overdue    overdue
                  ↓
                void 🚫
  • draft β€” created, not yet sent
  • sent β€” delivered to client
  • viewed β€” client acknowledged
  • partial β€” some payment received
  • paid β€” fully paid πŸŽ‰
  • overdue β€” past due date (auto-detected)
  • void β€” cancelled

Reminders (Relationship-First)

Prophit generates follow-up reminders with empathy, not aggression:

❌ "Your invoice #1042 is 15 days overdue. Please remit payment immediately."
βœ… "Quick check-in: INV-001 for Acme Corp has been outstanding for 7 days ($650.00).
    Want to send a friendly follow-up?"

Configurable reminder windows: before due date, day-of, and at intervals after.

Income Goals (The Game Layer)

Turn invoicing into a game:

prophit goal add -n "Monthly Revenue" -t 5000 -p monthly
prophit goal list

# Output:
# 🎯 Income Goals
#   πŸ“ˆ Monthly Revenue (monthly)
#      [β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘] 40%
#      $2,000.00 / $5,000.00 β€” $3,000.00 to go
#      πŸ”₯ 3-week streak!

Backup System

Prophit automatically backs up your database before schema migrations. You can also create manual backups:

prophit backup create -r "before big import"
prophit backup list
prophit backup restore ./backups/prophit-2026-03-09.db
  • Auto-backup before every migration
  • VACUUM INTO for WAL-safe copies
  • Manifest tracking with reasons
  • Auto-prune (keeps last 10)
  • Safety backup before restore

Library Usage

import { Prophit } from 'prophit';

const p = new Prophit({ data_dir: '.prophit' });

// Create client + invoice
const client = p.createClient({ name: 'Acme Corp', default_rate: 50 });
const invoice = p.createInvoice({
  client_id: client.id,
  items: [{ description: 'Consulting', quantity: 8, rate: 50 }],
});

// Record payment
p.updateStatus(invoice.number, 'sent');
p.recordPayment({ invoice_id: invoice.id, amount: 400 });

// Check goal progress
const goal = p.createGoal({ name: 'Q1 Revenue', target_amount: 10000, period: 'quarterly' });
const progress = p.getGoalProgress(goal.id);
console.log(`${progress.percent}% toward ${goal.name}`);

p.close();

Environment Variables

| Variable | Default | Description | |----------|---------|-------------| | PROPHIT_DIR | .prophit | Data directory |

Data Storage

SQLite database at $PROPHIT_DIR/prophit.db. Versioned migrations with auto-backup before each schema change.

Future Integrations

  • clawck β€” Import timesheets as invoice line items
  • purprose β€” Proposal to invoice pipeline
  • pruuf β€” Attach proof-of-work to invoices
  • ledgeyour β€” Full accounting ledger

AI Agent Support

prophit is designed to be used directly by AI coding and workflow agents as well as humans at the terminal.

  • AGENTS.md ships with the package so agents can align to the invoicing workflow and tone rules
  • SKILL.md ships with the package so agent runtimes can load a concise operational guide
  • --json is supported across commands for scripting, automation, and agent orchestration

License

MIT

Author

Vince Quarles β€” CubiCrew