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

claude-config-sync

v1.1.0

Published

Sync your Claude Code configuration across machines using GitHub Gists

Downloads

268

Readme

claude-config-sync

Sync your Claude Code configuration across machines using GitHub Gists.

npm version npm downloads CI License: MIT Node.js Version


✨ Features

  • 🔄 Sync config across machines using GitHub Gists
  • 🔐 Secure — never syncs OAuth tokens or secrets
  • 💾 Automatic backups before overwriting files
  • 🎯 Selective import — choose what to import from shared configs
  • 🚀 Fast — minimal dependencies, small bundle size
  • 📦 Zero setup — works out of the box with GitHub CLI

📦 Installation

npm install -g claude-config-sync

Requirements: Node.js 18+

🚀 Quick Start

# First machine — initialize
ccs init

# Push your config to GitHub Gist
ccs push

# Second machine — sync from gist
ccs link <gist-id>
ccs pull

💡 Tip: ccs is a short alias for claude-config-sync

📚 Usage

Initialize sync

ccs init

Creates a secret gist and syncs your current config.

Push changes

ccs push          # with confirmation
ccs push --force  # skip confirmation

Upload local changes to your gist.

Pull changes

ccs pull          # interactive conflict resolution
ccs pull --force  # accept all remote changes

Download changes from your gist.

Check status

ccs status

See what's different between local and remote.

Share your config

ccs share

Create a public gist to share with others. You choose which files to include.

Import from others

ccs import https://gist.github.com/user/abc123
ccs import abc123def456

Selectively import config from a shared gist.

Link existing gist

ccs link <gist-id>

Connect to an existing gist on a new machine.

Unlink

ccs unlink

Remove local connection (doesn't delete the gist).

🔐 Authentication

The tool looks for a GitHub token in this order:

  1. GitHub CLIgh auth token (automatic if installed)
  2. EnvironmentGITHUB_TOKEN variable
  3. Saved token~/.claude-config-sync/config.json
  4. Interactive prompt — asks once, saves for future use

Create a token: github.com/settings/tokens/new?scopes=gist (needs gist scope only)

📁 What Gets Synced

| ✅ Synced | ❌ Never Synced | |-----------|-----------------| | settings.json | ~/.claude.json (OAuth tokens) | | keybindings.json | *.local.json, *.local.md | | CLAUDE.md | agent-memory/ | | agents/ (all files) | ide/ | | skills/ (all files) | statsig/, todo/, tmp/ | | rules/*.md | *.bak files |

💾 Backups

Before overwriting any file during pull or import, automatic backups are created in:

~/.claude-config-sync/backups/

The last 5 backups per file are kept automatically.

🗂️ Storage Format

Gists don't support directories, so paths are encoded with __:

settings.json                         ← ~/.claude/settings.json
agents__code-reviewer__AGENT.md       ← ~/.claude/agents/code-reviewer/AGENT.md
skills__commit__SKILL.md              ← ~/.claude/skills/commit/SKILL.md

🤝 Contributing

Contributions are welcome! Here's how:

  1. Fork the repository: github.com/mariopaglia/claude-config-sync/fork
  2. Clone your fork: git clone https://github.com/YOUR-USERNAME/claude-config-sync.git
  3. Create a branch: git checkout -b feature/my-feature
  4. Make changes and add tests
  5. Run tests: npm test
  6. Commit: git commit -m "feat: add amazing feature"
  7. Push: git push origin feature/my-feature
  8. Open a PR: github.com/mariopaglia/claude-config-sync/compare

See CONTRIBUTING.md for development setup and guidelines.

Development

# Clone and install
git clone https://github.com/mariopaglia/claude-config-sync.git
cd claude-config-sync
npm install

# Build
npm run build

# Run tests
npm test

# Link locally for testing
npm link
ccs --version

📄 License

MIT © Mario Paglia

🔗 Links


Made with ❤️ for the Claude Code community

⭐ Star on GitHub📦 View on npm