Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Minimal interactive command-line prompts library
| Date | Stars |
|---|---|
| 2026-07-30 | 2052 |
| 2026-08-18 | 2051 |
| 2026-09-06 | 2052 |
| 2026-09-09 | 2050 |
| 2026-09-10 | 2049 |
| 2026-09-12 | 2048 |
| 2026-09-13 | 2049 |
| 2026-09-15 | 2048 |
| 2026-09-21 | 2047 |
| 2026-10-05 | 2046 |
| 2026-10-10 | 2045 |
| 2026-10-13 | 2046 |
| 2026-10-14 | 2047 |
| 2026-10-30 | 2046 |
| 2026-11-04 | 2046 |
Today
— stars today
This week
-1 stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
<h1 align="center">
Qoa
</h1>
<h4 align="center">
Minimal interactive command-line prompts
</h4>
<div align="center">
<img alt="Header" src="media/header.gif" width="85%">
</div>
<div align="center">
<sup><b>Sponsored by:</b></sup>
<br>
<a href="https://betterstack.com">
<div>
<img src="https://github.com/Seldaek/monolog/assets/183678/7de58ce0-2fa2-45c0-b3e8-e60cebb3c4cf" width="200" alt="Better Stack">
</div>
<sup>
Spot, Resolve, and Prevent Downtime.
</sup>
</a>
</div>
## Description
Lightweight and without any external dependencies qoa enables you to receive various types of user input through a set of intuitive, interactive & verbose command-line prompts. The library utilizes a simple & minimal usage syntax and contains 7 configurable console interfaces, such as plain text, confirmation & password/secret prompts as well as single keypress, quiz & multiple-choice navigable menus.
Read this document in: [Albanian - Shqip](https://github.com/klaudiosinani/qoa/blob/master/docs/readme.AL.md).
You can now support the development process through [GitHub Sponsors](https://github.com/sponsors/klaudiosinani).
Visit the [contributing guidelines](https://github.com/klaudiosinani/qoa/blob/master/contributing.md#translating-documentation) to learn more on how to translate this document into more languages.
## Highlights
- 7 out-of-the-box interactive prompts
- Zero dependencies
- Lightweight & fast [8.8kB / 71ms](https://bundlephobia.com/result?p=qoa)
- Clean & concise output
- Simple & minimal usage syntax
- Navigation, quiz & keypress menus
- Secure & hidden input interfaces
- Utilizes async/await expressions
- Configurable & customizable
## Contents
- [Description](#description)
- [Highlights](#highlights)
- [Install](#install)
- [Usage](#usage)
- [Prompts](#prompts)
- [Configuration](#configuration)
- [API](#api)
- [Development](#development)
- [Related](#related)
- [Team](#team)
- [Sponsors](#sponsors)
- [License](#license)
## Install
### Yarn
```bash
yarn add qoa
```
### NPM
```bash
npm install qoa
```
## Usage
Import qoa and start using any of the available prompts:
- `confirm`
- `hidden`
- `input`
- `interactive`
- `keypress`
- `quiz`
- `secure`
In order to sequentially create & display a series of prompts, the asynchronous unary `qoa.prompt` function can be used. The function accepts as input an array of objects, where each object contains the configuration of its corresponding prompt. The display order of the prompts is based on the order in which the configuration objects are defined inside the array. A new object containing the user's response to each prompt is finally returned by the function.
```js
const qoa = require('qoa');
const {log} = console;
const ps = [
{
type: 'input',
query: 'Type your username:',
handle: 'username'
},
{
type: 'secure',
query: 'Type your password:',
handle: 'password'
}
];
qoa.prompt(ps).then(log);
//=> { username: 'klaudiosinani', password: 'token' }
```
<div align="center">
<img alt="Usage" src="media/usage.gif" width="75%">
</div>
Alternatively, for non sequential use-cases, each prompt can be individually initialized through its respective asynchronous unary function, where each function accepts as input an object containing the prompt's properties/configuration.
```js
const qoa = require('qoa');
const {log} = console;
const login = async () => {
const username = await qoa.input({
query: 'Type your username:',
handle: 'username'
});
const password = await qoa.secure({
query: 'Type your password:',
handle: 'password'
});
return Object.assign({}, username, password);
}
login().then(log);
//=> { username: 'klaudiosinani', password: 'token' }
```
## Prompts
### Confirm Prompt
Initializes a text based input prompt with two `accept` & `deny` options. Based on the input provided by the user, the query displayed by the prompt is confirmed or rejected. In order for Excerpt of 19,330 characters
Read on GitHub16
2
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:99f48c3df09ae4b2, topic:prompts