You are viewing v1 of 1. Go to the current version · All versions

Write a README that gets people running

Generate a practical README for a project: what it is, quick start, usage examples and contribution notes.

Change note: Initial version

Prompt

Write a README.md for this project.

Project name: {{name}}
What it does and who it is for: {{purpose}}
Language and tooling: {{language}}
Install and run steps as I know them: {{setup}}
Key features or API surface:
{{features}}
Tone: {{tone}}

Structure:
1. Title and a one-sentence description a stranger could understand in five seconds.
2. Why it exists: the problem and how this differs from the obvious alternatives, in at most four sentences. No marketing language.
3. Quick start: the shortest path from zero to a working result, as copy-pasteable commands, with expected output.
4. Usage: two or three realistic examples, from simple to more advanced, each with a code block.
5. Configuration: a table of options with defaults.
6. Project layout, only if it helps a newcomer.
7. Development: how to run tests and the linter, and how to contribute.
8. License and support section placeholders.

Only document what I have told you or what is evident from the input. Where information is missing, insert a clearly marked TODO rather than inventing commands, flags or badges. Verify that each step in the quick start follows from the one before it.

Variables

  • {{name}}Project nametext

    Default: tinyqueue

  • {{purpose}}What it doestext

    Default: A small job queue for Node.js apps backed by SQLite, for side projects that do not want to run Redis

  • {{language}}Language and toolingtext

    Default: TypeScript, npm, Node 20+

  • {{setup}}Install and run stepslong

    Default: npm install tinyqueue; create a Queue with a file path; call queue.add and queue.process

  • {{features}}Key featureslong

    Default: Delayed jobs, retries with backoff, concurrency limit, graceful shutdown

  • {{tone}}Toneselect

    Options: Friendly and concise, Formal and precise, Playful

    Default: Friendly and concise

Example output

# tinyqueue

A small, durable job queue for Node.js that stores jobs in SQLite.

## Why

Most queues need Redis. For a side project or a single-server app that is one more service to run and pay for. tinyqueue keeps jobs in a local file, survives restarts, and has no other dependencies.

## Quick start

```bash
npm install tinyqueue
```

```ts
import { Queue } from "tinyqueue";

const queue = new Queue("./jobs.db");
queue.process("email", async (job) => {
  console.log("sending to", job.data.to);
});
await queue.add("email", { to: "ada@example.com" });
```
Expected output: `sending to ada@example.com`

## Usage
- Delay: `queue.add("email", data, { delayMs: 60_000 })`
- Retries: `{ retries: 5, backoff: "exponential" }`

## Configuration
| Option | Default | Description |
|---|---|---|
| `concurrency` | 1 | Jobs run at once |
| `retries` | 3 | Attempts before a job is marked failed |

## Development
`npm test` and `npm run lint`. TODO: contribution guidelines.

## License
TODO

Notes

The no-invention rule with TODO markers keeps the README accurate rather than confidently wrong. Paste your package manifest or main file as features for a more precise result.