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

vibe-ideas

v1.0.0

Published

Random coding project ideas for AI agents and developers

Readme

vibe-ideas

Random coding project ideas for AI agents and developers. 298 curated ideas, delivered instantly.

npx vibe-ideas random     # Get a random project (JSON for agents)
npx vibe-ideas random --format human  # Human-readable output

Install

No install (via npx):

npx vibe-ideas random

Global install:

npm install -g vibe-ideas
vibe random

Requires Node.js ≥ 18.

Quick Start

# Get any random project
npx vibe-ideas random

# Reproducible result (for testing)
npx vibe-ideas random --seed 42

# Browse as a human
npx vibe-ideas random --format human

Commands

vibe random

Return random project idea(s). This is the default command.

# Single random project (default)
npx vibe-ideas random

# Multiple ideas
npx vibe-ideas random --count 3

# Filtered random
npx vibe-ideas random --level beginner --category web

# Reproducible (same seed = same result)
npx vibe-ideas random --seed 42

Example output:

$ npx vibe-ideas random --seed 42
{
  "id": "c_mcbdv98cxda9fipfliwq9b4gtxox",
  "title": "Space Invaders using OpenGL",
  "description": "No description available",
  "level": "intermediate",
  "category": "game dev",
  "language": "JavaScript",
  "techStack": [],
  "source": "Xtremilicious/projectlearn-project-based-learning"
}

Human format:

$ npx vibe-ideas random --seed 42 --format human
📦 Space Invaders using OpenGL
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Level:    intermediate
Category: game dev
Language: JavaScript
Source:   Xtremilicious/projectlearn-project-based-learning

No description available

Multiple results:

$ npx vibe-ideas random --count 3 --seed 99
[
  {
    "id": "fp_mcbdv9865l23ah7zzih7sp7u7zad0a",
    "title": "Simple Online Store",
    "level": "intermediate",
    "category": "general",
    "language": "JavaScript",
    "techStack": [],
    "source": "florinpop17/app-ideas"
  },
  {
    "id": "c_mcbdv98d4igovdv3pu5zblpopm2sid",
    "title": "Facial Landmark Detection",
    "level": "intermediate",
    "category": "data science",
    "language": "JavaScript",
    "techStack": [],
    "source": "Xtremilicious/projectlearn-project-based-learning"
  },
  {
    "id": "c_mcbdv98ct2cxjmmwwt8awe6b1qp9ib",
    "title": "Flipping UNO Cards using only CSS",
    "level": "intermediate",
    "category": "web",
    "language": "JavaScript",
    "techStack": ["CSS"],
    "source": "Xtremilicious/projectlearn-project-based-learning"
  }
]

vibe list

List all projects matching your filters.

# All beginner projects
npx vibe-ideas list --level beginner

# First 5 web projects
npx vibe-ideas list --category web --count 5

# All Python projects (human-readable)
npx vibe-ideas list --language Python --format human

vibe get <id>

Get a specific project by ID.

$ npx vibe-ideas get fp_mcbdv984s6vis732zik4la17lr3isc
{
  "id": "fp_mcbdv984s6vis732zik4la17lr3isc",
  "title": "Calculator CLI",
  "description": "Create a basic calculator with addition feature.",
  "level": "intermediate",
  "category": "general",
  "language": "JavaScript",
  "techStack": [],
  "source": "florinpop17/app-ideas"
}

vibe filters

Show all valid filter values. Use this to discover what's available.

$ npx vibe-ideas filters
{
  "level": ["advanced", "beginner", "intermediate"],
  "category": ["data science", "game dev", "general", "mobile", "web"],
  "language": ["C#", "Go", "JavaScript", "PHP", "Python", "Ruby", "Rust", "Swift", "TypeScript"]
}

Output Schema

JSON (default)

{
  "id": "fp_mcbdv984s6vis732zik4la17lr3isc",
  "title": "Calculator CLI",
  "description": "Create a basic calculator with addition feature.",
  "level": "intermediate",
  "category": "general",
  "language": "JavaScript",
  "techStack": [],
  "source": "florinpop17/app-ideas"
}

Error Response

{
  "error": "No projects match filters",
  "code": "ERR_NO_MATCH",
  "filters": { "level": "advanced", "category": "mobile" }
}

Exit Codes

| Code | Meaning | |------|---------| | 0 | Success | | 1 | No results match filters | | 2 | Invalid input |

AI Agent Integration

Built for programmatic use. Pipe-friendly, deterministic, schema-stable.

# Get a title for your next build
TITLE=$(npx vibe-ideas random --seed $RANDOM | jq -r .title)
echo "Building: $TITLE"

# Check available languages before filtering
LANGUAGES=$(npx vibe-ideas filters | jq -r '.language | join(", ")')
echo "Supported languages: $LANGUAGES"

# Filter and validate
npx vibe-ideas random --level beginner --language Python --format json | jq .

# Reproducible builds (same seed = same project for testing)
npx vibe-ideas random --seed 12345 --format json

Filter Reference

| Filter | Valid Values | |--------|--------------| | --level | beginner, intermediate, advanced | | --category | data science, game dev, general, mobile, web | | --language | C#, Go, JavaScript, PHP, Python, Ruby, Rust, Swift, TypeScript |

Flags Reference

| Flag | Description | Default | |------|-------------|---------| | --level | Filter by difficulty | — | | --category | Filter by category | — | | --language | Filter by language | — | | --format | Output format: json, human, text | json | | --count | Number of results | 1 (random), 0 (list = all) | | --seed | Reproducible randomization | — |

Data Attribution

298 project ideas curated from the following open-source repositories (all MIT licensed):

| Source | Projects | License | Link | |--------|----------|---------|------| | florinpop17/app-ideas | 88 | MIT | GitHub | | Xtremilicious/projectlearn-project-based-learning | 202 | MIT | GitHub | | karan/Projects | 15 | MIT | GitHub | | jaypancholi94/spellbook | 1 | MIT | GitHub |

Each project in the dataset includes a source field attributing it to its original repository.

Contributing

PRs welcome for new project ideas or CLI improvements.

License

MIT - see LICENSE for details.