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

@grazulex/contextmark

v2.0.0

Published

Your Claude Code context, versioned and portable. Stop copying CLAUDE.md. Start composing it.

Readme

ContextMark

Your Claude Code Context, Versioned and Portable

Stop copying CLAUDE.md. Start syncing it.

npm version License: MIT Documentation PRs Welcome

Synchronize your Claude Code contexts (CLAUDE.md, rules, skills) across all your projects and machines - like EnvMark for your AI contexts.

Quick StartDocumentationWhy ContextMark?


🚀 The Problem

Managing Claude Code contexts across 20+ repositories and 2 machines:

~/projects/
├── reposentinel/
│   └── CLAUDE.md  ← copied from backmark, modified since
├── backmark/
│   └── CLAUDE.md  ← "original" version but which one?
├── shipmark/
│   └── CLAUDE.md  ← outdated, forgot to update
├── new-project/
│   └── ???        ← start from scratch again
└── ~/.claude/
    ├── CLAUDE.md  ← global config, only on this machine
    └── rules/     ← lost if machine dies

Daily frustrations:

  • Global config (~/.claude/) only exists on this machine
  • Copy-paste between repos = inevitable divergence
  • Two machines = double maintenance, guaranteed drift
  • No backup of your carefully crafted Claude instructions

⚡ Quick Start

# Install globally
npm install -g @grazulex/contextmark

# Initialize your context library
contextmark init-library

# Save your global Claude config to the library
contextmark push --global

# Register and save a project
cd ~/projects/my-project
contextmark init
contextmark push

# Sync to Git remote (backup + cross-machine sync)
contextmark sync setup [email protected]:user/claude-configs.git
contextmark sync push

On another machine:

contextmark init-library
contextmark sync setup [email protected]:user/claude-configs.git
contextmark sync pull
contextmark pull --global   # Restore your global config

Complete Getting Started Guide


✨ Why ContextMark?

🔄 Simple Push/Pull

Like EnvMark for your Claude configs:

  • push saves to library
  • pull restores from library
  • diff shows changes

🌐 Cross-Machine Sync

Git-based synchronization keeps your library in sync across all your development machines.

📁 Complete Backup

Back up everything:

  • ~/.claude/CLAUDE.md
  • ~/.claude/rules/*
  • ~/.claude/skills/*
  • Per-project configs

📝 Zero Lock-in

Standard Markdown and YAML files. No proprietary formats. Your context will be readable forever.


🛠 Commands

Simple Mode (Recommended)

# Global config (~/.claude/)
contextmark push --global       # Save to library
contextmark pull --global       # Restore from library
contextmark diff --global       # Compare

# Per-project config
cd ~/projects/my-project
contextmark init                # Register project
contextmark push                # Save to library
contextmark pull                # Restore from library
contextmark diff                # Compare
contextmark status              # Check sync status

# Sync with Git remote
contextmark sync setup <url>    # Configure remote
contextmark sync push           # Push to remote
contextmark sync pull           # Pull from remote
contextmark sync status         # Check remote status

Advanced Mode (Optional)

For power users managing 50+ projects with shared conventions:

# Create reusable blocks
contextmark block create laravel/base
contextmark blocks

# Create profiles (combinations of blocks)
contextmark profile create my-stack
contextmark profiles

# Initialize project with profile (generates CLAUDE.md)
contextmark init --profile my-stack
contextmark status              # Check for block updates
contextmark update              # Update from blocks

📁 Library Structure

~/.contextmark/
├── config.yml              # Global configuration
├── global/                 # Your ~/.claude/ backup
│   ├── CLAUDE.md
│   ├── rules/
│   │   ├── backmark.md
│   │   └── git-commits.md
│   └── skills/
│       └── backmark/
├── projects/               # Per-project configs
│   ├── my-app/
│   │   └── CLAUDE.md
│   └── another-project/
│       └── CLAUDE.md
├── blocks/                 # [Advanced] Reusable blocks
├── profiles/               # [Advanced] Block combinations
├── agents/                 # [Advanced] Reusable agents
└── commands/               # [Advanced] Custom commands

🔧 Configuration

Global Config (~/.contextmark/config.yml)

default_profile: default

sync:
  method: git
  remote: [email protected]:user/claude-configs.git
  auto_pull: true
  auto_push: false

cli:
  colors: true
  confirm_destructive: true

global:
  enabled: true

Project Config (.contextmark.yml)

project: my-project
profile: null              # null = simple mode, or profile name
blocks: []
generated_at: 2025-01-15T10:30:00Z
last_push: 2025-01-15T10:35:00Z

🌟 Part of the Mark Ecosystem

| Tool | Purpose | |------|---------| | Backmark | AI-powered task management | | Stackmark | Docker environment management | | Shipmark | Release and versioning automation | | EnvMark | Environment variable management | | ContextMark | Claude Code context management |


📄 License

MIT © Jean-Marc Strauven


DocumentationReport BugRequest Feature

Made with 💜 for the Claude Code community