# @retrogen/generate

> A tool that generates Markdown retros for GitHub users and organizaations. This is the all-in-one solution for retrogen that incorporates both the [`@retrogen/core`](../core/) and [`@retrogen/templates`](../templates/) modules.

Latest version **0.1.0** (published 2026-02-13) · MIT license · 0 weekly downloads

## Install

```sh
npm install @retrogen/generate
pnpm add @retrogen/generate
yarn add @retrogen/generate
bun add @retrogen/generate
```

## Health

**Score 45/100 (D)** — status: stable.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

## Facts

| | |
|---|---|
| Version | 0.1.0 |
| Published | 2026-02-13 |
| First published | 2022-04-18 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 2 |
| Unpacked size | 29.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 19 |
| Author | Tierney Cyren |
| Maintainers | bnb |

## Links

- npm: https://www.npmjs.com/package/@retrogen/generate
- Repository: https://github.com/cutenode/retrogen
- Homepage: https://github.com/cutenode/retrogen#readme
- Issues: https://github.com/cutenode/retrogen/issues
- npm.io page: https://npm.io/package/@retrogen/generate

## Dependencies (2)

- [@retrogen/core](https://npm.io/package/@retrogen/core.md) ^0.0.2
- [@retrogen/templates](https://npm.io/package/@retrogen/templates.md) ^0.0.2

## Recent versions

- 0.1.0 (latest) — 2026-02-13
- 0.0.2 — 2022-04-18
- 0.0.1 — 2022-04-18

## README

# @retrogen/generate

A tool that generates Markdown retros for GitHub users and organizaations. This is the all-in-one solution for retrogen that incorporates both the [`@retrogen/core`](../core/) and [`@retrogen/templates`](../templates/) modules.

## Prerequisites

To run this project, it's assumed that you have a GitHub Personal Access Token configured in your environment under the `GITHUB_TOKEN` environment variable. You can either do this manually, automatically with your own tooling, or by adding an appropriately configured `.env` file to your project.

## Usage

```js
// source: ./examples/default.js

const generate = require('@retrogen/generate')

async function markdown () {
  // the date range we want to get information for
  const dates = {
    start: '2022-03-27',
    end: '2022-04-02'
  }

  // this will generate markdown for the Node.js GitHub organization that includes data for Issues, PRs, and Discussions from 2022-03-27 to 2022-04-02
  await generate('nodejs', dates, { log: true })
}

markdown()
```

### API

Assuming you've required this module as `generate`:

* `owner` String (required): The GitHub name of the owner of the repository. This can be a user or an organization.
* `dates` Object (required):
  * `start` String (required): The start date of the query we'll send to GitHub. Should be formatted as `YYYY-MM-DD`.
    - Example: `'2022-01-01'`
  * `end` String (required): The end date of the query we'll send to GitHub.Should be formatted as `YYYY-MM-DD`.
    - Example: `'2022-01-31'`
* `options` Object (optional):
  * `sort` String (optional): The sort order of the query we'll send to GitHub. You can find the valid options on [GitHub's Docs](https://docs.github.com/en/enterprise-cloud@latest/search-github/getting-started-with-searching-on-github/sorting-search-results).
    * Examples: `stars`, `interactions`, `updated`
    * Default: `'updated'`
  * `per_page` Number (optional): The number of results to return per page.
    * Default: `100`
  * `heading` String (optional): the heading to use for the output Markdown.
    * Default: `# Retrospective for ${data.meta.owner}`.
  * `preface` String (optional): the preface to use for the output Markdown.
    * Default: `Reporting on ${data.meta.issues.count} Issues from ${data.meta.issues.authors.count} authors, ${data.meta.pullRequests.count} Pull Requests from ${data.meta.pullRequests.authors.count} authors, and ${data.meta.discussions.count} Discussions from ${data.meta.discussions.authors.count} authors.`.
  * `headerDates` Boolean (optional): Boolean that tells the template whether to include the dates in the headings if both `options.start` and `options.end` have non-undefined values.
    * Default: `false`.


The goal with these API docs is to have a consistent style of documentation for each module in the monorepo. If there's inconsistencies, please feel free to open an issue to let the maintainers know.

---
_Source: https://npm.io/package/@retrogen/generate · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
