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

gymlang

v1.0.1

Published

A programming language for gym bros, by gym bros. Where every program is a gains program! ๐Ÿ’ช

Readme

GymLang ๐Ÿ’ช

A programming language for gym bros, by gym bros. Where every program is a gains program!

npm version License: MIT

๐Ÿ‹๏ธ Installation

npm install -g gymlang

๐Ÿš€ Quick Start

# Run a program
gymlang program.gym

# Or use Node.js directly
node gymlang.js program.gym

๐Ÿ“ Syntax

GymLang uses a simple, bro-friendly syntax. One command per line:

# Set up your starting weights
BRO bench 135
BRO squat 185
BRO deadlift 225

# Progressive overload (bulking season)
BULK bench 10
BULK squat 15

# Get those gains!
GAINS bench 1.5
WHEY bench 2

# Show off your progress
FLEX bench
FLEX squat

# Some motivation
FLEX "No pain, no gain"

๐Ÿ‹๏ธ Core Commands

Variable Management

  • BRO <name> <value> - Declare variable with bro energy
  • BULK <name> <value> - Add to variable (bulking season)
  • SHRED <name> <value> - Subtract from variable (shredding)
  • GAINS <name> <value> - Multiply variable (muscle gains)
  • CARDIO <name> <value> - Divide variable (cardio kills gains)

Math Operations

  • REPS <vals...> - Sum values
  • CREATINE <vals...> - Multiply values
  • PR <high/low> <vals...> - Find maximum/minimum (pump it up!)

Transformations

  • YOLO <name> - Random value (you only live once)
  • WHEY <name> <value> - Exponentiation (get whey!)
  • LEGDAY <name> - Set to 0 (skip leg day)
  • HUSTLE <up/down> <name> - Round up/down (hustle harder)

Output

  • FLEX <value|name|"str"> - Print value (show off)

๐Ÿ“š Examples

Basic Workout Program

# Starting weights
BRO bench 135
BRO squat 185

# Progressive overload
BULK bench 5
BULK squat 10

# Get swole
WHEY bench 2
GAINS squat 1.5

# Show results
FLEX bench
FLEX squat

Advanced Bro Math

BRO x 10
BRO y 5

# Bro math operations
REPS x y 15
CREATINE x y 3
PR high x y 20
PR low x y 5

# Transformations
WHEY x 3
YOLO random

Complex Workout Tracking

# Initialize workout variables
BRO bench_press 225
BRO squat_weight 315
BRO deadlift_max 405

# Progressive overload
BULK bench_press 10
BULK squat_weight 15
SHRED deadlift_max 20

# Calculate total volume
REPS bench_press squat_weight deadlift_max

# Get those gains
GAINS bench_press 1.1
WHEY squat_weight 2

# Round up for next session
HUSTLE up bench_press

# Show off results
FLEX "=== WORKOUT COMPLETE ==="
FLEX bench_press
FLEX squat_weight
FLEX deadlift_max

๐ŸŽฏ Features

  • Bro-friendly syntax - Easy to learn, hard to master
  • Built-in motivation - Every command has personality
  • Gym culture integration - Real gym bro terminology
  • Error handling - Helpful error messages with bro energy
  • Cross-platform - Works on any system with Node.js

๐Ÿค Contributing

Want to add more gym bro commands? Fork this repo and submit a pull request!

Adding New Commands

  1. Fork the repository
  2. Add your command to the interpreter in src/interpreter.js
  3. Update the documentation
  4. Submit a pull request

๐Ÿ“„ License

MIT License - feel free to use this for your gains!

๐Ÿ™ Acknowledgments

  • All the gym bros who inspired this language
  • The bro code that keeps us together
  • Protein shakes and creatine for the gains

Remember: Pain is temporary, gains are forever! ๐Ÿ’ช