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

genzlang

v1.0.1

Published

A Gen Z-themed programming language.

Downloads

373

Readme

genZLang

genzlang is a fun, quirky, and modular programming language inspired by Gen Z slang! It allows you to write code in a way that's both easy to learn and entertaining to use. Whether you're printing "yap", declaring variables with "skibidi", or running conditional checks with "vibeCheck", genzlang brings a fresh, humorous approach to coding.

Table of Contents


Installation

To install genzlang, use npm:

npm install -g genzlang

Usage

Once installed, you can run a .genzl file using the genzlang command:

genzlang <filename.genzl>

For example:

genzlang mycode.genzl

Syntax and Features

Printing Output

To print a message to the console, use the yap command:

yap "Hello, world!"

You can also print variables:

skibidi a = 42
yap a // Output: 42

Variables

Declare variables using the skibidi command:

skibidi a = 10
skibidi b = "Gen Z rocks!"

Supported variable types:

  • Numbers (e.g., 42)
  • Strings (e.g., "Hello")
  • Booleans:
    • noCap for true
    • cap for false
skibidi isCool = noCap // true
skibidi isLying = cap   // false

Conditionals

Use vibeCheck, moreVibeCheck, and slaps for conditional logic. The language supports both compact and spaced styles:

skibidi age = 20

vibeCheck(age > 18) {
    yap "You're an adult!"
}
moreVibeCheck(age == 18) {
    yap "You just became an adult!"
}
slaps {
    yap "You're not an adult yet!"
}

Loops

GenZ Lang supports while loops using the yessir keyword. The syntax is:

yessir(condition) {
    // code block
}

The condition can be any valid expression that evaluates to a boolean value. You can use:

  • Comparison operators: ==, !=, <, >, <=, >=
  • Boolean operators: && (and), || (or)
  • Boolean literals: noCap (true), cap (false)

Example:

// Basic counting loop
skibidi count = 0
yessir(count < 3) {
    yap "Count is: " + count
    count = count + 1
}

// Loop with boolean condition
skibidi isRunning = noCap
skibidi counter = 0
yessir(isRunning == noCap && counter < 2) {
    yap "Counter is: " + counter
    counter = counter + 1
    isRunning = counter < 2
}

Rules:

  • vibeCheck is equivalent to if
  • moreVibeCheck is equivalent to else if
  • slaps is equivalent to else
  • yessir is equivalent to while
  • You can use either compact style (all on one line) or spaced style (each part on its own line)
  • The language supports both styles interchangeably

Examples

Example 1: Basic Program

skibidi name = "Gen Z"
yap "Hello, " + name + "!"

Output:

Hello, Gen Z!

Example 2: Complex Conditions

skibidi x = 5
skibidi y = 3
skibidi isTrue = noCap

vibeCheck(x > y && isTrue == noCap) {
    yap "x is greater than y and isTrue is noCap"
}
slaps {
    yap "Conditions not met"
}

Output:

x is greater than y and isTrue is noCap

Example 3: Loop

skibidi count = 0

yessir(count < 3) {
    yap "Count is: " + count
    count = count + 1
}

Output:

Count is: 0
Count is: 1
Count is: 2

Contributing

We welcome contributions! If you'd like to add features, fix bugs, or improve the documentation, feel free to open an issue or a pull request.

Steps to Contribute:

  1. Fork the repository
  2. Clone your forked repository:
    git clone https://github.com/your-username/genzlang.git
  3. Install dependencies:
    npm install
  4. Make your changes and test them
  5. Submit a pull request with a detailed description of your changes

License

This project is licensed under the MIT License. See the LICENSE file for more details.