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

@sym-bot/sym

v0.2.4

Published

Local AI mesh — every agent is a sovereign node, the mesh is the agents

Readme

SYM

Make Claude Code aware of your whole self — not just your codebase.

Type "I'm exhausted" in Claude Code. MeloTune starts playing spa music on your iPhone. MeloMove generates a gentle recovery workout. You didn't switch apps, configure anything, or ask for it. Claude Code detected your mood, broadcast it to the mesh, and both agents responded autonomously.

SYM connects Claude Code to your other AI-powered tools so they respond to you as a whole person. Your mood drives your music and your movement. Your context flows between agents. The mesh decides what's relevant — you just work.

npm License MMP

What You Get Today

| You type in Claude Code | What happens | |------------------------|-------------| | "I'm stressed from debugging" | MeloTune plays stress relief music + MeloMove generates Stress-Busting Home HIIT | | "feeling calm, deep work session" | MeloTune plays lo-fi beats + MeloMove suggests Smart Recovery (meditation, yoga) | | "I'm exhausted" | MeloTune plays spa music + MeloMove suggests gentle recovery exercises | | "Let's go, feeling pumped" | MeloTune plays high-energy music + MeloMove generates a high-intensity workout | | "I need to focus" | MeloTune plays deep focus beats + MeloMove suggests a movement break when you surface |

MeloMove synthesizes an assessment from the mesh mood signal — deriving mood, energy level, and environment context. At nighttime (10pm-6am), it forces indoor/home exercises only. A 10-minute debounce prevents recommendation spam, and mesh mood persists across app restarts.

Also works from Telegram — message @sym_mesh_bot:

| You type in Telegram | What happens | |---------------------|-------------| | "Play solo cello" | MeloTune plays solo cello on your iPhone | | "I'm stressed" | MeloTune plays stress relief music + MeloMove generates a stress-busting workout | | /recall last AI news | Get today's AI news digest from 28 curated builders |

All of this works when MeloTune and MeloMove are in the background. SYM wakes them up.

Requirements

  • Node.js 18+ (install)
  • macOS 13+ (for sym-daemon)
  • Claude Code (install)
  • MeloTune on iPhone (App Store) — for music playback
  • MeloMove on iPhone (App Store) — for fitness/wellness

Install

npm install @sym-bot/sym
cd node_modules/@sym-bot/sym
./bin/setup-claude.sh

This installs everything:

  1. sym-daemon — persistent background service (auto-starts on login)
  2. MCP server — connects Claude Code to the mesh
  3. CLAUDE.md — instructions for autonomous mood detection

Restart Claude Code. Done.

How It Works

You: "I'm exhausted"
  │
Claude Code: detects mood → sym_mood("exhausted, need rest")
  │
sym-daemon (always running on your Mac)
  │
  ├── Relay (internet) ──→ MeloTune (iPhone)
  │                    │     → coupling engine: relevant ✓
  │                    │     → plays spa music
  │                    │
  │                    └──→ MeloMove (iPhone)
  │                          → coupling engine: relevant ✓
  │                          → generates recovery workout
  │
  └── Bonjour (local) ──→ MeloTune (Mac, if running)

sym-daemon runs as a background service on your Mac. It's your device's persistent mesh presence — it stays connected even when Claude Code restarts. Apps connect to it as virtual nodes:

MacBook (sym-daemon, always running)
├── Claude Code (virtual node, via IPC)
├── MeloTune Mac (virtual node, via IPC)
│
├── Bonjour (LAN peers)
└── Relay (internet peers)
    ├── MeloTune iPhone (music)
    ├── MeloMove iPhone (fitness)
    └── Telegram bot

When MeloTune or MeloMove is backgrounded on your iPhone, the daemon wakes it via push notification, delivers the mood, and the agent responds — music plays, a workout generates — all without you touching your phone.

Claude Code MCP Tools

These tools are available automatically after install:

| Tool | What it does | |------|-------------| | sym_mood | Broadcasts detected mood — called automatically, no prompting needed | | sym_recall | Search mesh memories + AI news feed from 28 curated builders | | sym_digest | Store a summarised AI news digest | | sym_remember | Store a memory in the mesh | | sym_send | Send a message to all peers | | sym_peers | Show connected peers | | sym_status | Full mesh node status |

Claude Code calls sym_mood silently when it detects mood signals in your conversation. You don't need to do anything — it just works. MeloTune and MeloMove each evaluate the mood independently through their own coupling engines.

Telegram Bot

Message @sym_mesh_bot on Telegram:

  • /start — connect to the mesh
  • /recall last AI news — today's AI digest from 28 curated X/Twitter builders
  • Type anything — sent as a command to MeloTune (e.g. "Play jazz")
  • /mood <text> — broadcast mood signal
  • /peers — see who's connected

AI Knowledge Feed

SYM curates AI news from 28 top builders on X/Twitter (Karpathy, Swyx, Sam Altman, Garry Tan, etc.) every 6 hours. Ask Claude Code "what's new in AI?" or type /recall last AI news in Telegram.

Feeds are stored in Supabase. Digests are generated by Claude Code on first recall and cached. No API cost for subsequent reads.

Coming Next

SYM is built on the Mesh Memory Protocol (MMP) — a P2P protocol for collective intelligence. Proactive curation is live — Claude Code detects a debugging session, MeloTune switches to focus music, MeloMove suggests a movement break, all without you asking. Planned:

  • Cross-session memory — what you worked on yesterday influences today's mesh context
  • Multi-agent workflows — Claude Code requests a digest, mesh cognition invokes a Claude session to generate it
  • Health data integration — Apple Health feeding sleep, HRV, and activity data into the coupling engine
  • More agents — calendar, home automation, and third-party agents joining the mesh

For Developers

Connect to the daemon as a virtual node

const { connectToDaemon } = require('@sym-bot/sym/lib/ipc-client');

const node = await connectToDaemon({ name: 'my-agent' });

node.broadcastMood('focused, deep work');
node.remember('user prefers dark mode', { tags: ['preference'] });
const results = await node.recall('preference');
node.send('task complete');

node.on('mood-accepted', ({ from, mood }) => { /* respond to mood */ });
node.on('message', (from, content) => { /* handle message */ });

node.stop();

Deploy your own relay

cd sym-relay && npm install
SYM_RELAY_TOKEN=your-secret node server.js

Configure in ~/.sym/relay.env:

SYM_RELAY_URL=wss://your-relay.example.com
SYM_RELAY_TOKEN=your-secret

Daemon management

node bin/sym-daemon.js --install    # Install as launchd LaunchAgent
node bin/sym-daemon.js --status     # Check daemon status
node bin/sym-daemon.js --uninstall  # Remove daemon

The Protocol

SYM implements the Mesh Memory Protocol (MMP) — a peer-to-peer protocol where autonomous agents share memory, mood, and cognitive state through coupled continuous-time neural networks. The coupling engine evaluates drift between agents and autonomously decides what to share. No routing tables, no pub/sub topics — the math decides.

Privacy

  • All coupling decisions on-device
  • The relay never inspects payloads
  • The daemon runs locally — no cloud
  • No account. No telemetry. No cloud AI.
  • APNs wake is a signal only — no user data in the push
  • Rejected peers never receive your data

Platforms

License

Apache 2.0 — see LICENSE

SYM.BOT Ltd — Pioneering Collective Intelligence