Nudge

Getting Started

Install Nudge and generate your first prompt.

Install

npm i @nudge/core @nudge/cli
pnpm add @nudge/core @nudge/cli
bun add @nudge/core @nudge/cli

Setup

1. Define a prompt

Create a file ending in .prompt.ts:

src/summarizer.prompt.ts
import { prompt } from "@nudge/core";

export const summarizer = prompt("summarizer", (p) =>
  p
    .persona("expert summarizer")
    .input("text to summarize")
    .output("concise summary")
    .do("preserve key facts")
    .constraint("max 3 paragraphs")
);

The CLI only discovers *.prompt.ts files.

2. Add config

nudge.config.json
{
  "ai": {
    "provider": "openrouter",
    "apiKeyEnvVar": "OPENROUTER_API_KEY",
    "model": "anthropic/claude-sonnet-4"
  }
}

Set provider to "openrouter" or "openai", and point apiKeyEnvVar to your environment variable. Medium to large models are recommended for best results.

3. Generate

npx @nudge/cli generate

Creates src/prompts.gen.ts with your AI-generated system prompts.

4. Use

src/index.ts
import "./prompts.gen";
import { summarizer } from "./summarizer.prompt";

summarizer.toString(); // → AI-generated prompt

On this page