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

@flexiberry/cli

v0.1.4

Published

The official CLI shell for the FlexiBerry API Testing Framework, enabling keyboard-driven interactive creation, parsing, validation, and execution of Berry DSL scripts.

Readme

@flexiberry/cli

The official zero-dependency CLI shell for the FlexiBerry API Testing Framework, bringing keyboard-driven interactive creation, parsing, validation, and execution of .berry DSL scripts straight to your terminal.

@flexiberry/cli eliminates the need for heavy API clients and constant context switching. It features a rich terminal-based wizard to generate tasks, steps, endpoints, and environment variables interactively, converts cURL and Swagger definitions into Berry DSL, and executes scripts locally with live execution metrics powered by @flexiberry/berrycore.

NPM Package NPM Package


npm version License: MIT


✨ What is FlexiBerry CLI?

The FlexiBerry CLI brings the power of the FlexiBerry API Testing Framework directly into your terminal. It offers a fully interactive, keyboard-driven menu system that allows you to effortlessly design, test, and manage .berry domain-specific language files.

No context switching, no heavy browsers—just pure, frictionless API engineering.


⚡ Features

  • Interactive Wizards: Generate Task, Step, Api, and Env blocks interactively—no need to memorize syntax.
  • cURL & Swagger Imports: Instantly parse complex cURL commands or OpenAPI/Postman schemas straight into .berry DSL.
  • Local AST Engine: Powered natively by @flexiberry/berrycore to perform real-time parsing, formatting, and validation.
  • Stateful Execution: The CLI dynamically remembers your working directory and recent files to speed up your workflow.
  • Zero Third-Party Clutter: Designed to be extremely lightweight and lightning-fast.

📦 Installation

Install the CLI globally via NPM to make the flexiberry command accessible anywhere:

npm install -g @flexiberry/cli

🚀 Quick Start

The quickest way to get started is by launching the interactive wizard! Just run:

flexiberry cli

This will launch a rich, terminal UI guiding you through creating files, running tests, and managing your API suites.


🛠️ CLI Commands

If you prefer passing arguments directly, the CLI supports a robust set of standard commands.

flexiberry create

Create a new .berry script with an optional template.

flexiberry create my-test.berry

Flags:

  • -f, --force : Overwrite if the file already exists
  • -s, --secret : Creates a secured .berry template

flexiberry select

Sets your active/target script file for the current session.

flexiberry select ./my-test.berry

flexiberry add

Programmatically add elements like APIs, Tasks, Steps, or Environments to your active .berry script.

# Add an API from a raw cURL command
flexiberry add api LoginEndpoint -c "curl -X POST https://api.example.com/login"

# Add a new Task block interactively
flexiberry add task "User Onboarding Flow"

flexiberry run

Execute your script locally using the berrycore interpreter.

flexiberry run my-test.berry

Data Iteration Options: If your script contains an Input statement linking to external data (CSV/JSON), the CLI provides flexible execution options:

  • Interactive Prompt: By default, you'll be asked whether to run All iterations or a Custom range.
  • CLI Flags:
    • --iter <all|custom> : Set the iteration mode directly.
    • --start <index> : 1-based index to start from (requires --iter custom).
    • --end <index> : 1-based index to end at (requires --iter custom).

Example: flexiberry run script.berry --iter custom --start 1 --end 10


🤝 Contributing & Source

The CLI is part of the broader FlexiBerry monorepo. We warmly welcome contributions!

  1. Fork the main repository.
  2. Ask questions or share feedback in GitHub Discussions.
  3. Read our contribution guidelines.
  4. Submit a PR!

📄 License

This project is licensed under the MIT License.