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

@star-setup/star-setup

v0.1.0

Published

Lightweight CLI to clone, configure, and wire single or multi-repo CMake ecosystems

Downloads

151

Readme

Star Setup

A lightweight CLI to clone, configure, and wire single or multi-repo CMake ecosystems.

CI License: MIT

Quick Start

# Interactive mode
star-setup

# Single-repo mode
star-setup username/repo

# Mono-repo mode
star-setup username/repo --repos user/lib1 user/lib2

Prerequisites

  • Git
  • CMake

Installation

Download the latest binary from Releases, or build from source:

cargo install --git https://github.com/star-setup/core

Usage

Interactive Mode

Running star-setup without arguments launches interactive mode, guiding you through all options.

Star Setup Interactive Mode
Enter repository (user/repo or URL): user/repo
Use SSH? (y/n) [N]:
Verbose? (y/n) [N]:
Clean build directory if exists? (y/n) [N]:
Select mode: (1) Single Repo (2) Mono-Repo: 1
Build type [Debug]:
Build directory [build]:
Additional CMake args (space separated):
Configure only (skip build)? (y/n) [N]:

Interactive mode complete

Single Repository Mode

# Clone and build via HTTPS
star-setup username/repo

# Clone and build via SSH
star-setup username/repo --ssh

# Common flags
star-setup username/repo --build-type Release
star-setup username/repo --build-dir out
star-setup username/repo --no-build
star-setup username/repo --clean
star-setup username/repo --verbose
star-setup username/repo --cmake-arg=-DCMAKE_CXX_COMPILER=clang++

Mono-Repo Mode

Clones multiple repositories into a single workspace and generates a root CMakeLists.txt that wires them together as subdirectories.

# Manual repo list
star-setup username/repo --repos user/lib1 user/lib2

# Use a saved profile
star-setup username/repo --profile myprofile

# With SSH and custom directory
star-setup username/repo --repos user/lib1 user/lib2 --ssh --mono-dir my-workspace

Workspace Structure

build-mono/
├── CMakeLists.txt # Auto-generated root project
├── lib1/
├── lib2/
├── my-repo/       # Test repository
└── build/         # Build output

BUILD_LOCAL

Mono-repo mode sets -DBUILD_LOCAL=ON when configuring CMake. This flag tells your test repository to link against local module directories instead of fetching them remotely via FetchContent:

# In your test repo's CMakeLists.txt
if(NOT BUILD_LOCAL)
    FetchContent_Declare(mylib
        GIT_REPOSITORY https://github.com/user/mylib.git
        GIT_TAG main
    )
endif()

This allows the same repository to work both standalone (fetching dependencies automatically) and inside a mono-repo workspace (linking locally for full cross-module debugging).

Profile Mode

Profiles represent a saved ecosystem of libraries commonly used together.

# Add a profile
star-setup --profile-add myprofile user/lib1 user/lib2

# List profiles
star-setup --list-profiles

# Remove a profile
star-setup --profile-remove myprofile

# Use a profile
star-setup username/repo --profile myprofile

Config Mode

Config files are checked in this order:

  • ./.star-setup.json (current directory)
  • ~/.star-setup.json (home directory)
# Initialize a default config file
star-setup --init-config

# Add a named config
star-setup --config-add myconfig --ssh --build-type Release

# List configs
star-setup --list-configs

# Remove a config
star-setup --config-remove myconfig

# Use a config
star-setup username/repo --config myconfig

Development

git clone https://github.com/star-setup/core
cd core
cargo test
cargo clippy --all-targets -- -D warnings

License

MIT License — see LICENSE for details.