GraphCanon updated 3w · GitHub synced 3w
Decision brief
Prompty is specifically designed for managing and evaluating large language model prompts in TypeScript.
Good fit when
- When working with LLM prompts in AI applications that require enhanced observability and debugging capabilities directly within TypeScript projects.
- If you are looking to improve the portability of your prompts across different environments as a developer.
Avoid when
- For developers not using TypeScript, consider alternative solutions more aligned with their programming language preferences.
- When the primary need is for real-time collaboration on prompt creation, Prompty focuses more on individual management and evaluation rather than collaborative editing features.
Observed Jul 17, 2026 · Source: enrich:decision_facts
Verify the decision
Adoption
Package downloads where a registry match exists. GitHub stars (1,237) are secondary evidence.
- npm downloads (30d)
- 22·npm downloads API·3w
Maintenance and security
Full trust report- Maintenance
- Very active (0d since push)
- As of 3w
- Provenance
- Not a fork · Organization account
- As of 3w
- Security (OSV)
- No lockfile
- As of 1mo
Public GitHub metadata and optional OSV scans. Signals, not a guarantee. Trust methodology.
Backing
Company context for Microsoft. Display-only - separate from trust and ranking.
- Company
- Microsoft·GitHub org profile·1mo
- Employees
- 221,000·Wikidata (P1128 employees)·1mo
- Commercial model
- Pure OSS·GitHub org profile (public repos)·1mo
Install
npm install prompty npmSimilar tools
Same-category neighbours. No typed graph edges are catalogued for this tool yet.
Evidence and technical details
Sourced facts, taxonomy, compatibility claims, README excerpt, and machine-readable endpoints.
Overview
Prompty simplifies creating and evaluating large language model prompts to improve observability and portability for developers.
Capability facts
- Languages
- typescript
Source: github.language · Jul 28, 2026
Categories
Graph entities
Compatibility
Sourced claims from the README excerpt - not unsourced marketing copy.
Source: README excerpt (regex_v1, Jul 28, 2026)
npm install @prompty/core @prompty/openaiSource link
Source: README excerpt (regex_v1, Jul 28, 2026)
endpoint: ${env:OPENAI_BASE_URL:https://api.openai.com/v1}Source link
Source: README excerpt (regex_v1, Jul 28, 2026)
t** (`.prompty`) for LLM prompts. Write your prompt once — run it from VS Code, Python, or TypeScript.Source link
Source: README excerpt (regex_v1, Jul 28, 2026)
ile format** (`.prompty`) for LLM prompts. Write your prompt once — run it from VS Code, Python, or TypeScript.Source link
Tags
README
Prompty
⚠️ v2 Alpha — This is the v2 branch of Prompty, currently in alpha. The API, file format, and tooling are under active development and may change. Feedback welcome via Issues.
Prompty is a markdown file format (.prompty) for LLM prompts. Write your prompt once — run it from VS Code, Python, or TypeScript.
Quick Start
1. Write a .prompty file
---
name: greeting
model:
id: gpt-4o-mini
provider: openai
connection:
kind: key
apiKey: ${env:OPENAI_API_KEY}
template:
format:
kind: jinja2
parser:
kind: prompty
---
system:
You are a friendly assistant.
user:
Say hello to {{name}}.
2. Run it
Python
pip install "prompty[jinja2,openai]"
import prompty
result = prompty.invoke("greeting.prompty", inputs={"name": "Jane"})
print(result)
TypeScript
npm install @prompty/core @prompty/openai
import { invoke } from "@prompty/core";
import "@prompty/openai";
const result = await invoke("greeting.prompty", { name: "Jane" });
console.log(result);
VS Code — open the .prompty file and press F5.
Use an OpenAI-compatible endpoint
Prompty's openai provider can also target OpenAI-compatible control planes,
gateways, or self-hosted model servers by setting model.connection.endpoint.
The prompt asset stays portable: switch the endpoint and key at runtime without
changing the prompt body.
---
name: governed-greeting
model:
id: gpt-4o-mini
provider: openai
connection:
kind: key
endpoint: ${env:OPENAI_BASE_URL:https://api.openai.com/v1}
apiKey: ${env:OPENAI_API_KEY}
template:
format:
kind: jinja2
parser:
kind: prompty
---
system:
You are a careful assistant.
user:
Say hello to {{name}}.
For example, to route through Tuning Engines:
export OPENAI_BASE_URL=https://api.tuningengines.com/v1
export OPENAI_API_KEY=sk-te-your-inference-key
This keeps the .prompty file unchanged while the endpoint provides routing,
policy, usage tracking, or trace correlation around OpenAI-compatible calls.
Contributor hygiene
Prompty normalizes text files to LF line endings via .gitattributes. Enable the
repo hook once per clone so staged files are normalized before each commit and
whitespace errors are blocked locally:
git config core.hooksPath .githooks
Before opening a PR, you can run the same core hygiene checks directly:
git diff --check
git ls-files --eol | grep 'w/crlf'
VS Code Extension
The v2 extension includes a connections sidebar, live preview, chat mode, and a redesigned trace viewer.
Create
Right-click in the explorer → New Prompty to scaffold a new prompt file.
Preview
See the rendered prompt with live markdown rendering and template interpolation as you type.
Connections
Manage model connections from the sidebar — add OpenAI, Microsoft Foundry, or Anthropic endpoints, set a default, and browse available models.
Chat Mode
Thread-enabled prompts automatically open an interactive chat panel with tool calling support.
Tracing
Every execution generates a .tracy trace file. Click to inspect the full pipeline — render, parse, execute, process — with timing and payloads.
Runtimes
Python
pip install "prompty[all]" # everything
pip install "prompty[jinja2,openai]" # just OpenAI
pip install "prompty[jinja2,foundry]" # Microsoft Foundry
pip install "prompty[jinja2,anthropic]" # Anthropic
import prompty
# Full pipeline: load → render → parse → execute → process
result = prompty.invoke("my-prompt.prompty", inputs={...})
# Step-by-step
agent = prompty.load("my-prompt.prompty")
messages = prompty.prepare(agent, inputs={...})
result = prom
For agents
This page has a .md twin and JSON over the API.