# kriskowal/q

A promise library for JavaScript

Repository: https://github.com/kriskowal/q
Canonical: https://ross.abutalabs.com/products/q
Language: JavaScript
License: MIT
License Family: permissive
Archived: true
Last push: 2023-11-08T10:50:34+00:00

## Health v2 (maintenance only)
Score: 10/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 0, release rhythm 35, longevity 100
- inputs: {"age_days": 5843, "days_push": 1029, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases, archived
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 15011, forks 1179 (observed 2026-08-28T04:11:09.057645+00:00)

## What it is
Q is a JavaScript promise library implementing the Promises/A+ specification for asynchronous flow control in Node.js and browsers. It predates native ES6 promises and is now in maintenance mode, with the README recommending native Promise instead.

## Use cases
- flatten callback pyramids in async javascript code
- manage promise chains with error propagation
- convert node.js callback functions to promises
- support promises in environments without native Promise
- learn how promises work historically

## When to choose
- maintaining a legacy codebase already using Q
- targeting very old JavaScript environments without native promises
- studying promise library design and history

## When to avoid
- starting a new project - use native JavaScript promises
- you need maximum performance or modern tooling support
- you need async/await with native promise integration

## Facets
- artifact type: library
- maturity: maintenance
- function: concurrency, error-handling
- domain: developer-tools, web-development
- platform: browser, cross-platform
- tags: promises, async, promises-aplus, deferred, flow-control, legacy, javascript, nodejs

## Member repositories
- kriskowal/q (main) score 10

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:11:09.057645+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:06:46.653944+00:00, confidence not recorded.
  - readme: https://github.com/kriskowal/q (fetched 2026-08-28T04:11:09.057645+00:00, sha b2ad436f655e)
  - registry_npm: https://registry.npmjs.org/q (fetched 2026-08-29T08:04:57.160332+00:00, sha 40aad6e2e6f7)
- Data as of 2026-08-30T08:39:29.467469+00:00.
