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 🙏

© 2025 – Pkg Stats / Ryan Hefner

sandhill-road

v1.1.2

Published

A narrative-driven startup simulation game where you guide a founder from garage to exit

Readme

Sandhill Road

npm version License: MIT PRs Welcome

Sandhill Road Title Screen

A narrative-driven startup simulation game where you guide a founder from garage to exit, making high-stakes decisions across a branching storyline.

Description

Sandhill Road is a text-based survival strategy game inspired by Oregon Trail, but set in the high-stakes world of startups. You'll manage resources, make critical decisions, and try to navigate the challenges of startup life. Each decision you make simulates one in-game week, affecting your startup's momentum, resources, and progress.

Features

  • Text-based adventure with ASCII graphics
  • Resource management (burn rate, morale, stamina, etc.)
  • Branching narrative with different outcomes
  • Stat-based decision outcomes
  • Multiple game stages: Garage, Demo Day, Fundraising, PMF, Scaling, Crisis, Exit
  • Save/load game progress
  • 20+ unique narrative events

Installation

Global Installation (Recommended)

npm install -g sandhill-road

Then run the game from anywhere:

sandhill-road

Local Installation

git clone https://github.com/yourusername/sandhill-road.git
cd sandhill-road
npm install
npm start

How to Play

  • Choose your founder's name and company name
  • Start with a certain amount of personal cash
  • Make strategic decisions that affect your company's success
  • Manage your resources wisely
  • Try to reach a successful exit

Game Stages

  1. Garage - Working from your garage to build an MVP
  2. Demo Day - Presenting your startup at a demo day
  3. Fundraising - Meeting with investors to raise your seed round
  4. PMF - Iterating on your product to find product-market fit
  5. Scaling - Growing your product and team
  6. Crisis - Facing a major challenge that threatens your company
  7. Exit - Exploring exit opportunities for your startup

Adding New Events

The game is designed to be easily extensible. To add new events:

  1. Fork the repository
  2. Open src/data/events.json
  3. Add a new event object following this structure:
{
  "id": "E0XX",
  "title": "Event Title",
  "description": "Event description text",
  "choices": [
    {
      "id": "C001",
      "text": "Choice text",
      "result": {
        "founderStats.morale": -1,
        "companyStats.productProgress": 5
      },
      "resultText": "The outcome of your choice"
    }
  ],
  "stage": "Garage",
  "weight": 1
}
  1. Submit a pull request

See CONTRIBUTING.md for more details.

Development

Build the project

npm run build

Running in development mode

npm run dev

Release Process

We follow semantic versioning (SemVer) for releases. Here's the complete workflow for publishing new versions:

Automated Release (Recommended)

For most releases, use npm's built-in version commands:

# For bug fixes (1.0.1 → 1.0.2)
npm version patch
git push origin main --tags
npm publish

# For new features (1.0.1 → 1.1.0)
npm version minor
git push origin main --tags
npm publish

# For breaking changes (1.0.1 → 2.0.0)
npm version major
git push origin main --tags
npm publish

Manual Release Process

If you need more control over the release:

# 1. Update version in package.json manually
# 2. Commit the version change
git add package.json
git commit -m "v1.0.2: Description of changes"

# 3. Create and push git tag
git tag v1.0.2
git push origin main --tags

# 4. Build and publish to npm
npm run build
npm publish

Important Notes

  • Always include assets: The package.json files array includes the assets folder to ensure screenshots and images are included in npm packages
  • Test before publishing: Run npm run build and test locally before publishing
  • Follow commit conventions: Use descriptive commit messages for version bumps
  • Check npm package: After publishing, verify the package includes all necessary files

Release Checklist

  • [ ] Update version in package.json
  • [ ] Update CHANGELOG.md if applicable
  • [ ] Commit version changes
  • [ ] Create git tag
  • [ ] Push to GitHub with tags
  • [ ] Build the project (npm run build)
  • [ ] Publish to npm (npm publish)
  • [ ] Verify the published package contains all files

Contributing

Contributions are welcome! Please read CONTRIBUTING.md for details on the process for submitting pull requests.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Inspired by Oregon Trail and the incredible adventures of Nick Julian and Bobby
  • Built with Node.js, TypeScript, and Inquirer