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

promptflowx

v0.1.9

Published

promptflowx is a simple and powerful tool for building prompt-driven workflows.

Readme

promptflowx

NPM version NPM version NPM version chrome-version

Doc Issue Discussions License: MIT discord chrome-user


This is the Typescript version of promptflow. join us to make prompt flow better by participating discussions, opening issues, submitting PRs.

Prompt flow is a suite of development tools designed to streamline the end-to-end development cycle of LLM-based AI applications, from ideation, prototyping, testing, evaluation to production deployment and monitoring. It makes prompt engineering much easier and enables you to build LLM apps with production quality.

The letter X denotes its support for the Context. Each node will as the Global scope within the flow operates in JavaScript.

JavaScript objects exhibit remarkable flexibility; they can encompass various entities such as functions, arrays, dates, regular expressions, and more. This inherent flexibility empowers JavaScript objects to aptly represent data structures and logic, enabling dynamic creation and modification of their structures as necessitated.

With prompt flow, you will be able to:

  • Create and iteratively develop flow
    • Create executable flows that link LLMs, prompts, JavaScript code and other together.
    • Debug and iterate your flows, especially the interaction with LLMs with ease.
  • Evaluate flow quality and performance
    • Evaluate your flow's quality and performance with larger datasets.
  • Streamlined development cycle for production
    • Deploy your flow to the serving platform you choose or integrate into your app's code base easily.

Feature comparison


Installation

To get started quickly, you can use a pre-built development environment. Click the button below to edit your promptflowx in the Extension, and then continue the readme!

more detail: https://github.com/10cl/chatdev?tab=readme-ov-file#-installation

If you want to get started in your local environment, first install the packages:

Ensure you have a node environment.

npm install promptflowx

Quick Start ⚡

Create a chatbot with prompt flow

creates folder named my_chatbot and initiate a prompt flow(flow.dag.yaml) from a chat template like:

desc: "ChatBot Template"

outputs:
  reference: ${ChatBot_Template}

nodes:
  - name: ChatBot_Template
    source:
      code: "{intro}, we are chatting. I say to you: {prompt}. what you might say?"
    inputs:
      prompt: ${inputs.input_text}
      intro: "I want you to play a text-based adventure game. I play a character in this text-based adventure game."

Setup a connection for your LLM API

For LLM request, establish a connection by your define, each node will request the api, you can change the node Context or other things here:

export async function nodeRequest(node: PromptFlowNode, prompt: string): Promise<string> {
  try {
    console.log("\n>>>>>>>>>>> Prompt START >>>>>>>>>>>>>>>>\n" + prompt + "\n>>>>>>>>>>> Prompt END >>>>>>>>>>>>>>>>\n");
    const response = await axios.get('https://api.example.com/data');
    return response.data.data;
  } catch (error) {
    // Handle errors that occur during fetching
    console.error('Error fetching data from LLM API:', error);
    throw error; // You can choose to throw the error or return a default value
  }
}

Chat with your flow

In the my_chatbot folder, there's a flow.dag.yaml file that outlines the flow, including inputs/outputs, nodes, connection, and the LLM model, etc Interact with your chatbot by execute the code:

const yaml = fs.readFileSync(path.join(__dirname, "flow.dag.yaml"), "utf8");
const context = {
  /* for defined your own api*/
  promptflowx: {
    libs: await promptflowx.buildLib(yaml, __dirname),
    request: nodeRequest,
  }
} as Context

await promptflowx.execute(context, yaml, 'Hello.');

Next Step! Continue with the Tutorial 👇 section to delve deeper into prompt flow.

Tutorial 🏃‍♂️

Prompt flow is a tool designed to build high quality LLM apps, the development process in prompt flow follows these steps: develop a flow, improve the flow quality, deploy the flow to production.

Develop your own LLM apps

Browser Extension

We also offer a Browser extension (a flow designer) for an interactive flow development experience with UI.

quick_start_chatdev.png

You can install it from the chrome store.

Contributing

If you would like to contribute to this project, follow these steps:

  1. Fork the repository.
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request 😄

Author

promptflowx is authored and maintained by 10cl and released under the MIT License. Special thanks to all the contributors (list) who have helped improve this