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

tagsidecar

v1.1.0

Published

Sidecar metadata file management for developers who work in frenzies

Readme

tagsidecar

Sidecar metadata file management for developers who work in frenzies.

What is tagsidecar?

tagsidecar is a CLI tool that helps you manage metadata for your experimental projects using special Greek-character-prefixed markdown files:

  • ∑ship.md - Project metadata (tags, fleets, purpose)
  • ∫terminal.md - Terminal session configurations
  • ∆captainslog.md - Developer insights and discoveries

Perfect for developers who create multiple experimental folders and need to track, tag, and organize them.

Installation

npm install -g tagsidecar

Quick Start

1. Initialize a Ship (Project)

cd my-project
tagsidecar ship init

This creates a ∑ship.md file with metadata.

2. Add Tags

tagsidecar add nodejs cli experimental

3. Organize into Fleets

tagsidecar fleet ai-experiments --rank 5 --star "⭐"

4. Discover All Ships

cd ~/projects
tagsidecar discover

Commands

Ship Commands

# Initialize ship
tagsidecar ship init

# Add tags (shortcut: tagsidecar add <tags...>)
tagsidecar ship add-tag nodejs cli experimental

# Remove tags (shortcut: tagsidecar remove <tags...>)
tagsidecar ship remove-tag experimental

# Add to fleet
tagsidecar ship fleet-add ai-experiments --rank 5 --star "⭐" --role leader
# Shortcut: tagsidecar fleet <fleet> --rank 5 --star "⭐"

# Remove from fleet
tagsidecar ship fleet-remove ai-experiments

# Update ship info
tagsidecar ship update --shipname "uss-enterprise" --purpose "Production API" --status active

Captain's Log Commands

# Initialize captain's log
tagsidecar captainslog init

# Add log entry
tagsidecar captainslog add "Discovered ripgrep performance fix" --type breakthrough --impact high

# Types: breakthrough, discovery, fix, refactor, learning
# Impact: critical, high, medium, low

Terminal Commands

# Initialize terminal session
tagsidecar terminal init

# Add room with command
tagsidecar terminal add dev --command "npm run dev"
tagsidecar terminal add test --command "npm test" --folder ./tests

# Restore terminal session (shows commands to run)
tagsidecar terminal restore

Search & Discovery

# Search across all Greek-char .md files
tagsidecar search nodejs
tagsidecar search "performance fix"

# Discover all ships in subdirectories
tagsidecar discover

File Formats

∑ship.md

---
shipname: my-project
purpose: Experimental API wrapper
tech_stack: [nodejs, express]
status: active
created: '2025-10-07'
tags:
  - api
  - experimental
fleets:
  - name: ai-fleet
    rank: 5
    star: ⭐
    role: member
commands: {}
---
# my-project

Project documentation here.

∆captainslog.md

---
ship: my-project
topics: [performance, optimization]
entries:
  - date: '2025-10-07'
    stardate: '2025.279'
    type: breakthrough
    impact: high
    title: Discovered ripgrep fix
---

## 2025-10-07 - Discovered ripgrep fix [HIGH IMPACT]

**Type:** breakthrough

Details about the discovery...

---
# Captain's Log: my-project

∫terminal.md

---
session_name: default
last_active: '2025-10-07T01:27:59.147Z'
rooms:
  - name: dev
    description: ''
    folder: .
    command: npm run dev
    autostart: true
  - name: test
    description: ''
    folder: ./tests
    command: npm test
    autostart: true
---
# Terminal Session: default

Use Cases

Scenario A: Frenzy Development

You create 5 experimental folders trying different approaches. Use tagsidecar to:

  1. Tag each with relevant keywords
  2. Group related experiments into fleets
  3. Search across all to find "that project where you tried X"
  4. Capture insights in captain's log

Scenario B: Terminal Session Management

You have a project with multiple terminal tabs:

  1. tagsidecar terminal init
  2. tagsidecar terminal add dev --command "npm run dev"
  3. tagsidecar terminal add api --command "npm run api" --folder ./api
  4. When switching contexts: tagsidecar terminal restore

Scenario C: Knowledge Capture

You discover something important while coding:

tagsidecar captainslog add "Ripgrep needs --glob=!Pictures/ to avoid macOS errors" \
  --type breakthrough --impact high

Later, search for it:

tagsidecar search ripgrep

Fleet System

  • Rank: 0 to ∞ (higher = more important, 0 = default)
  • Star: Single emoji (⭐ 💫 🌟 etc.)
  • Role: member, leader, contributor, etc.

Ships can belong to multiple fleets with different ranks.

Greek Characters

The tool uses Greek characters to make metadata files visually distinct:

  • (Sigma) - Sum/Collection → Ship metadata
  • (Integral) - Integration → Terminal integration
  • (Delta) - Change → Captain's log of changes/discoveries

Type them with:

  • Mac: Character Viewer (Ctrl+Cmd+Space)
  • Or use the init commands which create the files automatically

Library Usage

You can also import tagsidecar as a library:

const { shipInit, shipAddTag, searchAll } = require('tagsidecar');

// Initialize ship
await shipInit({ shipname: 'my-project', purpose: 'Testing' });

// Add tags
await shipAddTag(['nodejs', 'cli']);

// Search
const results = await searchAll('nodejs');

License

MIT

Author

starshipagentic