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

@jalasem/dss

v1.1.2

Published

Dev Spaces Switcher (DSS) - Seamlessly manage isolated development environments with separate SSH keys and Git configurations. Enhanced UI with beautiful tables and improved documentation.

Downloads

27

Readme

🚀 Dev Spaces Switcher (DSS)

Seamlessly manage isolated development environments with separate SSH keys and Git configurations

npm version License: MIT TypeScript


Stop manually managing SSH keys and Git configs when switching between projects, clients, or companies.

DSS provides isolated development environments that automatically handle SSH authentication and Git configuration, letting you focus on what matters most: your code.

✨ Features

| Feature | Description | |---------|-------------| | 🏗️ Space Management | Create and manage isolated workspaces for different projects | | 🔐 SSH Key Automation | Automatically generate and switch SSH keys when changing spaces | | 📝 Git Configuration | Streamlined GitHub user configuration for each space | | 🎨 Rich CLI Interface | Beautiful command-line interface with colors and progress indicators | | 🔍 Fuzzy Search | Intelligent search functionality for quick space discovery | | 📦 Batch Operations | Perform operations on multiple spaces efficiently | | 💾 Import/Export | Backup and restore space configurations | | ⚡ Performance | Fast operations with comprehensive test coverage |

🚀 Quick Start

Installation

Install DSS globally using your preferred package manager:

npm

npm install -g @jalasem/dss

yarn

yarn global add @jalasem/dss

pnpm

pnpm add -g @jalasem/dss

Verify Installation

dss --version

📖 Usage Guide

After installation, use the dss command to manage your development spaces:

Core Commands

dss add

Interactive wizard to create a new development space:

  • Enter space name (auto-slugified)
  • Provide email and username
  • Automatically generates SSH keys
  • Sets up Git configuration
dss list

Displays a beautiful table of all your spaces showing:

  • Space names with active indicators
  • Associated email addresses
  • Usernames
  • Current status (active/inactive)
dss switch [spaceName]

Switch to a different development space:

  • Without spaceName: Interactive selection menu
  • With spaceName: Direct switch to specified space
  • Updates Git config and SSH agent automatically
dss remove [spaceName]

Safely remove a development space:

  • Interactive confirmation required
  • Cannot remove active space
  • Cleans up SSH keys and configurations
dss edit [spaceName]

Modify existing space settings:

  • Update email and username
  • Regenerate SSH keys if needed
  • Interactive editing workflow

Advanced Features

dss search [query]

Quickly find spaces using intelligent search:

  • Search by name, email, or username
  • Fuzzy matching for typos
  • Fast results display
dss batch

Perform operations on multiple spaces:

  • Quick switching between spaces
  • Bulk configuration updates
  • Efficient workflow management

Export your configuration:

dss export [--output config.json]

Import from backup:

dss import [--file config.json]

Perfect for:

  • Moving between machines
  • Backup strategies
  • Team configuration sharing
dss inspect [spaceName]

View detailed information about a space:

  • SSH key paths and fingerprints
  • Git configuration details
  • GitHub access status
  • Configuration history
dss test [spaceName]

Verify GitHub SSH connectivity:

  • Tests SSH key authentication
  • Validates GitHub access
  • Provides troubleshooting tips

🎯 Use Cases

🏢 Freelancers & Consultants

  • Separate spaces for each client
  • Isolated SSH keys and Git configs
  • Quick switching between projects
  • Professional identity management

🏭 Enterprise Developers

  • Work and personal GitHub accounts
  • Different SSH keys for security
  • Project-specific configurations
  • Compliance with company policies

👥 Open Source Contributors

  • Personal vs. professional identities
  • Multiple GitHub accounts
  • Easy context switching
  • Organized contribution workflow

🎓 Students & Educators

  • School vs. personal projects
  • Different email addresses
  • Learning environment isolation
  • Portfolio organization

🆕 What's New in v1.1.0

| Feature | Description | Impact | |---------|-------------|---------| | 🎨 Enhanced UI | Rich colored output with progress indicators | Better user experience | | 🔍 Fuzzy Search | Intelligent search functionality | Faster space discovery | | 📦 Batch Operations | Multi-space switching and operations | Improved workflow efficiency | | 🔄 Import/Export | Backup and restore configurations | Data portability | | ⚡ Performance | Optimized operations and memory usage | Faster execution | | 🧪 Testing | Comprehensive test coverage (90%+) | Higher reliability | | 📚 Documentation | Improved help text and guides | Better onboarding |

🛠️ Development

Contributing

We welcome contributions! Here's how to get started:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes with tests
  4. Run the test suite: npm test
  5. Submit a pull request

Local Development

# Clone and setup
git clone https://github.com/jalasem/dss.git
cd dss
npm install

# Development workflow
npm run dev          # Run in development mode
npm run build        # Build for production
npm run lint         # Check code style
npm test             # Run test suite
npm run test:watch   # Run tests in watch mode
npm run test:coverage # Generate coverage report

Project Structure

src/
├── index.ts              # CLI entry point
├── utils/
│   ├── SpaceManager.ts   # Core business logic
│   ├── ui.ts            # Rich UI components
│   ├── sshKeyGen.ts     # SSH key generation
│   ├── fuzzySearch.ts   # Search functionality
│   └── batchOperations.ts # Bulk operations
└── __tests__/           # Test suites

🙏 Acknowledgments

  • Contributors: Thank you to all developers who've contributed to this project
  • Open Source Community: For the amazing tools and libraries that make this possible
  • Users: For feedback, bug reports, and feature requests that help improve DSS

Made with ❤️ by developers, for developers

Report Bug · Request Feature · Documentation