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

ninesh

v2.1.7

Published

Ajiu9's daily shell

Readme

Ninesh

npm version License

Ajiu9's daily shell companion — a CLI toolkit that supercharges your terminal workflow with Obsidian template generation, shell configuration, and structured repository management.

Features

  • Obsidian Integration — Generate daily/weekly/task templates for Obsidian
  • Shell Bootstrap — One-command setup for zsh/bash plugins (oh-my-zsh, starship, syntax highlighting, etc.)
  • Repository Manager — Clone repos into a clean host/user/repo directory structure
  • Shell Manager — Detect, list, switch, and configure shells (bash/zsh/fish)
  • Self-update — Built-in update checker with one-command upgrade

Install

npm install -g ninesh

Commands

ninesh <command> [options]

| Command | Description | |---------|-------------| | obsidian | Generate Obsidian templates (daily, weekly, task, empty) | | init | Bootstrap zsh/bash with common plugins and aliases | | add | Clone a repository into a structured directory layout | | shell | Detect, list, switch, or configure your terminal shell | | update | Check for and install the latest version |


ninesh obsidian

Generate Obsidian note templates from the command line.

ninesh obsidian [options]

| Option | Alias | Description | |--------|-------|-------------| | --daily | -d | Generate daily plan template | | --weekly | -w | Generate weekly plan template | | --empty | -e | Generate blank template | | --task | -t | Generate task report (choices: weekly, yearly) | | --next | -n | Generate for the next period (next day / next week) |

Examples:

# Daily note
ninesh obsidian -d

# Weekly plan
ninesh obsidian -w

# Task report (weekly)
ninesh obsidian -t weekly -w

# Next day's daily note
ninesh obsidian -d -n

Screenshots:

| Daily | Weekly | Task Report | |-------|--------|-------------| | daily | weekly | task |

On first run, a config file is created at ~/.config/ninesh/.obsidian/config.json where you can customize template paths and target directories.


ninesh init

Bootstrap your shell environment with common plugins and handy aliases.

ninesh init [options]

| Option | Alias | Description | |--------|-------|-------------| | --zsh | -z | Add custom zsh plugins to ~/.zshrc | | --bash | -b | Add custom bash plugins to ~/.bashrc | | --omz | -o | Install oh-my-zsh plugins (autosuggestions, completions, syntax highlighting) | | --starship | -s | Add Starship prompt to ~/.zshrc | | --ninesh | -n | Add ninesh shortcut aliases (n, na, no, ni) |

Examples:

# Full zsh setup: custom plugins + omz + starship + shortcuts
ninesh init -z -o -s -n

# Bash setup
ninesh init -b -n

# Just add ninesh aliases
ninesh init -n

What gets installed:

| Flag | Installs | |------|----------| | -z | Custom ninesh zsh plugin (aliases, git helpers, etc.) | | -b | Custom ninesh bash plugin | | -o | zsh-autosuggestions, zsh-completions, fast-syntax-highlighting | | -s | Starship prompt via eval "$(starship init zsh)" | | -n | Shortcuts: n → ninesh, na → ninesh add, no → ninesh obsidian, ni → ninesh init |


ninesh add

Clone a repository into an organized directory structure.

ninesh add <repository-url> [options]

| Option | Alias | Description | |--------|-------|-------------| | --base | -b | Set base directory (skips interactive prompt) |

What it does:

Clones https://github.com/ajiu9/ninesh into:

$BASE
└── github.com
    └── ajiu9
        └── ninesh

Examples:

# Clone with interactive base directory selection
ninesh add https://github.com/user/repo.git

# Clone using a shorthand alias (configurable)
ninesh add github://user/repo

# Clone with explicit base directory
ninesh add https://github.com/user/repo.git -b ~/Projects

The target directory path is automatically copied to your clipboard after cloning.


ninesh shell

Inspect and manage your terminal shells.

ninesh shell [action] [target]

| Action | Description | |--------|-------------| | info | Show current shell details (name, path, version, config file) | | list | List all installed shells and available ones to install | | switch | Change your default shell (interactive or by name) | | install | Show install commands for zsh/fish on your platform | | config | Configure shell plugins interactively (bash/fish supported) |

Examples:

# Show current shell info
ninesh shell

# List all installed shells
ninesh shell list

# Switch to zsh
ninesh shell switch zsh

# Show how to install fish
ninesh shell install fish

# Configure current shell interactively
ninesh shell config

ninesh update

Check for and install updates.

ninesh update [options]

| Option | Alias | Description | |--------|-------|-------------| | --check | -c | Only check for updates (don't install) |

Examples:

# Check and install latest version
ninesh update

# Only check (no install)
ninesh update -c

Ninesh also checks for updates automatically in the background when you run any command.

Configuration

Configuration files are stored under ~/.config/ninesh/:

| File | Purpose | |------|---------| | config.json | Base directories, URL aliases, hooks | | .obsidian/config.json | Obsidian template paths and target directories |

Development

# Clone and install
git clone https://github.com/ajiu9/ninesh.git
cd ninesh
pnpm install

# Build
pnpm build

# Link for local development
pnpm dev

License

MIT