Contract-Driven Requirement Coverage for JavaScript & TypeScript
Prathya brings formal requirement traceability to your test suite. Define requirements in a CONTRACT.yaml, link tests to those requirements via annotations, and measure requirement coverage — whether your tests verify what the software is supposed to do.
# Vitest
npm install -D @intrigsoft/pratya-vitest @intrigsoft/pratya-core @intrigsoft/pratya
# Playwright
npm install -D @intrigsoft/pratya-playwright @intrigsoft/pratya-core @intrigsoft/pratya
# Jest
npm install -D @intrigsoft/pratya-jest @intrigsoft/pratya-core @intrigsoft/pratyamodule:
id: AUTH
name: Auth Service
description: Handles user authentication
requirements:
- id: AUTH-001
version: 1.0.0
status: approved
title: User login with valid credentials
description: The system must authenticate a user given valid credentials.
acceptance_criteria:
- Returns HTTP 200 with a JWT
corner_cases:
- id: AUTH-001-CC-001
description: Invalid password returns 401
changelog:
- version: 1.0.0
date: "2026-01-01"
note: Initial definition// Vitest
import { test, expect } from '@intrigsoft/pratya-vitest';
test('login returns JWT', ({ requirement }) => {
requirement('AUTH-001');
// ...
});// Playwright
import { test, expect } from '@intrigsoft/pratya-playwright';
test('login flow', async ({ page, requirement }) => {
requirement('AUTH-001');
// ...
});// Jest
const { requirement } = require('@intrigsoft/pratya-jest');
test('login returns JWT', () => {
requirement('AUTH-001');
// ...
});pratya run --runner vitest --coverage| Package | Description |
|---|---|
@intrigsoft/pratya-core |
Parser, coverage engine, audit rules, report generation |
@intrigsoft/pratya |
CLI for validation, audit, and test execution |
@intrigsoft/pratya-vitest |
Vitest integration — fixture and reporter |
@intrigsoft/pratya-playwright |
Playwright integration — fixture and reporter |
@intrigsoft/pratya-jest |
Jest integration — annotation helper, setup, and reporter |
@intrigsoft/pratya-mcp-server |
MCP server for AI agent integration |
Full documentation is available at intrigsoft.github.io/prathya-js.
Apache 2.0