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

mindcontext-cli

v0.1.1

Published

Git-based project progress tracker CLI for Claude Code

Readme

mindcontext

Git-based project progress tracker for Claude Code. Track progress across multiple projects and machines without merge conflicts.

Features

  • Zero merge conflicts - Machine-unique timestamped files, not a single state file
  • Multi-project dashboard - See all your projects in one place
  • Offline-first - Works locally, syncs when online
  • OpenSpec integration - Auto-detects tasks and progress from openspec/changes/
  • Claude Code integration - Generated commands for session context loading

Installation

npm install -g mindcontext

Requires Node.js 18+.

Quick Start

One-time setup

# Initialize mindcontext
mc init

# When prompted, enter your dashboard repo URL
# (Create one from https://github.com/tmsjngx0/mindcontext-template)

This creates ~/.mindcontext/ with your configuration and clones the dashboard repo.

Per-project setup

cd my-project
mc connect

# Or with category and auto-sync hooks
mc connect --category work --with-hooks

This:

  1. Registers the project in your config
  2. Detects OpenSpec if present
  3. Creates .claude/commands/mc/ with Claude Code commands

Daily usage

mc sync              # Create progress update and push
mc progress          # View progress in terminal
mc progress --web    # Open dashboard in browser
mc pull              # Get updates from other machines

Commands

mc init

Initialize mindcontext on your machine.

mc init

Creates ~/.mindcontext/ directory with:

  • config.json - Settings and project registry
  • repo/ - Git repository for progress updates

Options:

  • --quiet, -q - Suppress output

mc connect

Connect current project to mindcontext.

mc connect
mc connect --category work
mc connect my-custom-name --category personal
mc connect --with-hooks

Options:

  • --category <name> - Categorize the project (default: "default")
  • --with-hooks - Generate .claude/hooks/session-end.js for auto-sync
  • --quiet, -q - Suppress output

Generated files in .claude/commands/mc/:

  • prime.md - Load context at session start
  • update.md - Save context at session end
  • progress.md - Show progress
  • context.md - Output raw context

mc sync

Create a progress update and push to remote.

mc sync
mc sync --dry-run
mc sync --notes "Fixed auth bug
Added unit tests" --next "Deploy to staging
Write docs"

Options:

  • --notes <text> - Session notes (newline-separated)
  • --next <text> - Next tasks (newline-separated)
  • --dry-run - Show what would be created without writing
  • --quiet, -q - Suppress output

Creates a timestamped JSON file in the dashboard repo:

~/.mindcontext/repo/projects/{project}/updates/{timestamp}_{machine}_{hash}.json

mc pull

Pull latest updates from remote.

mc pull

Fetches updates from all machines and team members.

mc context

Output current project context.

mc context
mc context --json

Options:

  • --json - Output as JSON (for scripting/integration)
  • --quiet, -q - Suppress headers

Shows:

  • Project connection status
  • Current OpenSpec change and progress
  • Last update details

mc progress

Show progress across all projects.

mc progress
mc progress --web

Options:

  • --web - Open the web dashboard in your browser
  • --quiet, -q - Suppress decorations

mc config

View or update configuration.

mc config                              # Show all config
mc config --get dashboard-repo         # Get specific value
mc config --dashboard-repo [email protected]:user/repo.git
mc config --dashboard-url https://user.github.io/repo

Options:

  • --get <key> - Get a specific config value
  • --dashboard-repo <url> - Set dashboard git repository
  • --dashboard-url <url> - Set dashboard web URL
  • --quiet, -q - Suppress output

mc migrate

Migrate from legacy .project/ and focus.json.

mc migrate
mc migrate --dry-run
mc migrate --yes
mc migrate --skip-project --skip-focus

Options:

  • --dry-run - Show what would be migrated
  • --yes, -y - Auto-confirm (required for actual migration)
  • --skip-project - Skip .project/ directory migration
  • --skip-focus - Skip focus.json migration
  • --quiet, -q - Suppress output

mc cleanup

Remove old update files.

mc cleanup
mc cleanup --older-than 60
mc cleanup --dry-run

Options:

  • --older-than <days> - Days threshold (default: 30)
  • --dry-run - Show what would be deleted
  • --quiet, -q - Suppress output

mc reset

Remove mindcontext completely and start fresh.

mc reset --force
mc reset --force --dry-run

Options:

  • --force - Required to confirm destructive action
  • --dry-run - Show what would be deleted
  • --quiet, -q - Suppress output

OpenSpec Integration

MindContext automatically detects and reads OpenSpec changes:

my-project/
├── openspec/
│   └── changes/
│       └── add-feature/
│           └── tasks.md    ← Auto-parsed for progress

The mc sync command:

  1. Finds the active change (not in archive/)
  2. Counts checked - [x] vs unchecked - [ ] tasks
  3. Includes progress in the update file

Claude Code Integration

After mc connect, use these commands in Claude Code:

| Command | Purpose | |---------|---------| | /mc:prime | Load context at session start | | /mc:update | Save context at session end | | /mc:progress | Show current progress | | /mc:context | Output raw context JSON |

Auto-sync with hooks

With --with-hooks, a session-end hook automatically syncs:

// .claude/hooks/session-end.js
module.exports = async function() {
  execSync('mc sync --quiet', { timeout: 10000 });
};

Update File Format

Each sync creates a JSON file:

{
  "timestamp": "2025-01-08T10:30:00Z",
  "machine": "thomas-mac",
  "project": "my-project",
  "progress": {
    "change": "add-feature",
    "tasks_done": 3,
    "tasks_total": 7,
    "source": "openspec"
  },
  "context": {
    "current_task": "Working on add-feature",
    "status": "in_progress",
    "notes": ["Fixed auth bug", "Added tests"],
    "next": ["Deploy to staging"]
  },
  "recent_commits": [
    "abc1234 feat: add login endpoint"
  ]
}

Directory Structure

~/.mindcontext/
├── config.json          # Settings + project registry
├── repo/                # Dashboard git clone
│   └── projects/
│       └── my-project/
│           └── updates/
│               └── 2025-01-08T10-30-00Z_thomas-mac_abc123.json
└── pending.json         # Offline queue (auto-managed)

Configuration File

{
  "dashboard_repo": "[email protected]:user/dashboard.git",
  "dashboard_url": "https://user.github.io/dashboard",
  "machine": {
    "id": "abc123def456",
    "name": "thomas-mac"
  },
  "projects": {
    "my-project": {
      "path": "/home/user/my-project",
      "category": "work",
      "openspec": true
    }
  }
}

Team Collaboration

Multiple team members can use the same dashboard repository:

  1. Each member runs mc init with the same dashboard repo URL
  2. Each mc sync creates a unique file (no conflicts!)
  3. mc pull fetches everyone's updates
  4. Dashboard shows who's working on what

Offline Support

  • mc sync always commits locally
  • Push only happens when online (failure is OK)
  • Run mc sync again when back online to push pending changes

License

MIT