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

ono-cli

v0.3.0

Published

A CLI tool for ono template

Readme

ono-cli - Project Scaffolding Tool

A powerful project scaffolding tool that provides two working modes: Dependency Selection Mode (Recommended) and Template Selection Mode (Advanced), meeting project creation needs for different scenarios.

✨ Features

  • 🎯 Dual Mode Support: Dependency Selection Mode + Template Selection Mode
  • 🚀 Zero Configuration Out-of-the-Box: The recommended mode can be used without any configuration
  • 📦 Rich Technology Stack: Vue/React, TypeScript, ESLint, Routing, State Management, etc.
  • 🔧 Highly Extensible: Advanced mode supports custom template repositories
  • 🌿 Lightweight and Efficient: Uses shallow clone to speed up project creation

🚀 Quick Start (Recommended) ✨

No global installation required! Use any of the following commands to create a project:

npm users:

npm create ono-cli [YOUR PROJECT NAME]

pnpm users:

pnpm create ono-cli [YOUR PROJECT NAME]

yarn users:

yarn create ono-cli [YOUR PROJECT NAME]

bun users:

bun create ono-cli [YOUR PROJECT NAME]

📦 Global Installation (Optional)

If you want to install the CLI globally, you can also choose this way:

npm install -g ono-cli

Then use:

ono-cli create [YOUR PROJECT NAME]

📖 Getting Started - Dependency Selection Mode (Recommended) ✨

No configuration required, works out of the box! Select the technology stack you need through interactive prompts and quickly create your project.

Create Project

ono-cli create [YOUR PROJECT NAME]

Optional Parameters:

  • -f, --force: Force overwrite existing directory

Configurable Technology Stack

Dependency Selection Mode supports flexible configuration of the following options:

  • Framework: Vue / React
  • Language: JavaScript / TypeScript
  • Code Linting: ESLint
  • Routing: Vue Router / React Router
  • Automatic Routing: Optional
  • State Management:
    • Vue: Pinia / Vuex
    • React: Redux / Zustand
  • Atomic CSS: Tailwind CSS / Uno CSS

Examples

Using the create command (recommended):

# Create a project named my-vue-app
npm create ono-cli my-vue-app

# Follow the prompts to select your tech stack!

Or use the global installed version:

ono-cli create my-vue-app

🔧 Advanced Usage - Template Selection Mode

If you have your own template repository, you can use Template Selection Mode to pull templates from your GitHub/Gitee organization.

1. Configure the Scaffold

Before using Template Selection Mode, you need to first configure the code hosting platform, organization, access token, and other information:

Interactive Configuration:

Using the zero-install method:

npx ono-cli@latest config -s

Or using the global installation method:

ono-cli config -s

Configurable items:

  • User name
  • Organization name
  • Access token
  • Code hosting platform (GitHub/Gitee)
  • Work mode: Select "Template Selection Mode"

2. Create Project

After configuration, you can use the scaffold to create a new project:

Using the zero-install method:

npm create ono-cli [YOUR PROJECT NAME]

Or using the global installation method:

ono-cli create [YOUR PROJECT NAME]

Then select a template from your organization repository list, and select a branch or tag to clone.

3. Other Configuration Commands

View Configuration:

ono-cli config -g

Delete Configuration Item:

ono-cli config -d

Clear Configuration:

ono-cli config -c

This command will clear all configuration items and restore the configuration file to its default state.


📦 Updating the CLI

When a new version is available, you can update using:

Create command users (recommended): Every time you run npm create ono-cli, it will automatically use the latest version!

Global install users:

ono-cli update [version]

If no version is specified, it will automatically detect and update to the latest version.


💡 Work Mode Comparison

| Feature | Dependency Selection Mode (Recommended) | Template Selection Mode (Advanced) | | -------------------------- | --------------------------------------- | ---------------------------------- | | Configuration Required | None required | Organization and token required | | Flexibility | High, can freely combine tech stack | Low, uses fixed templates | | Use Case | Quickly start new projects | Use team custom templates | | Template Source | Official template repository | Your own organization repository | | Learning Curve | Simple | Medium |


🔧 How to Create Organization and Access Token

(Only required for Template Selection Mode)

GitHub

Create Organization

  1. Log in to your GitHub account
  2. Click your avatar in the upper right corner, select "Your organizations"
  3. Click the "New organization" button
  4. Select organization type (Free or Team)
  5. Enter organization name and contact information
  6. Click "Create an organization" to complete creation

Create Access Token

  1. Log in to your GitHub account
  2. Click your avatar in the upper right corner, select "Settings"
  3. In the left sidebar, click "Developer settings"
  4. On the "Developer settings" page, click "Personal access tokens" → "Tokens (classic)"
  5. Click the "Generate new token" button
  6. Enter a token description (Note)
  7. Set expiration time (Expiration)
  8. Assign permissions to the token:
    • For accessing private repositories, at least the repo permission is required
    • For accessing organization repositories, the read:org permission is also required
  9. Click the "Generate token" button
  10. Copy the generated token and save it securely (you won't be able to see it again after leaving the page)

Gitee

Create Organization

  1. Log in to your Gitee account
  2. Click your avatar in the upper right corner, select "组织" (Organization)
  3. Click "创建组织" (Create organization)
  4. Enter organization name, introduction, and other information
  5. Select organization type (Public or Private)
  6. Click "创建组织" (Create organization) to complete creation

Create Access Token

  1. Log in to your Gitee account
  2. Click your avatar in the upper right corner, select "设置" (Settings)
  3. In the left sidebar, click "私人令牌" (Personal access token)
  4. Click "生成新令牌" (Generate new token) button
  5. Enter token name and expiration time
  6. Assign permissions to the token:
    • For accessing repositories, select the projects permission
    • For accessing organization information, select the organizations permission
  7. Click "生成令牌" (Generate token) button
  8. Copy the generated token and save it securely (you won't be able to see it again after leaving the page)

🔧 Troubleshooting

If you encounter problems, please check:

Dependency Selection Mode

  1. Check if the network connection is normal
  2. Ensure you can access gitee.com

Template Selection Mode

  1. Ensure the organization name and access token are correctly configured
  2. Ensure the template repository name matches the configured organization
  3. Check if the network connection is normal
  4. If using a private repository, ensure the access token has the required permissions

📦 Technology Stack

  • Node.js + TypeScript
  • Commander.js - Command line framework
  • Inquirer.js - Interactive prompts
  • Chalk - Terminal colored output
  • Ora - Terminal loading animation
  • FS-Extra - File system enhancement
  • Ono-fetch - HTTP request

📄 License

MIT