Wright AI reads your TypeScript call graph and writes complete JSDoc comments for every undocumented function — then watches for drift when your types change.
See it in action
Wright AI reads the function body, its callers, and its callees — generating documentation that reflects real intent, not just syntax.
export async function refreshAuthToken(
token: string,
options?: { force?: boolean; audience?: string }
): Promise<AuthToken> {
const decoded = verifyToken(token);
if (!options?.force && !isNearExpiry(decoded)) return { token, refreshed: false };
const newToken = await issueToken(decoded.userId, options?.audience);
await invalidateToken(token);
return { token: newToken, refreshed: true };
}/**
* Refreshes a JWT token if near expiry or forced.
*
* @param token - The existing JWT to evaluate for refresh.
* @param options - Optional refresh configuration.
* @param options.force - If true, refresh unconditionally.
* @param options.audience - OAuth audience for the new token.
* @returns Resolves to an AuthToken with a refreshed flag.
*/
export async function refreshAuthToken(
token: string,
options?: { force?: boolean; audience?: string }
): Promise<AuthToken> {How it works
WrightAI generates, verifies and maintains documentation — so docs stay accurate as your TypeScript codebase evolves.
Comparison
Most tools for TypeScript documentation either render what exists or suggest one comment at a time. Wright does neither.
JSDoc for a complex generic function takes 10+ min. Types drift as signatures evolve.
Generates an HTML site from existing JSDoc — it doesn't write the comments for you.
One suggestion at a time. No project-wide coverage, no CI enforcement, no drift alerts.
Batch-generates JSDoc documentation across your entire TypeScript codebase. Tracks coverage. Detects drift on every commit. Feeds live docs to AI tools via MCP. Free to start.
Free VS Code extension · CLI · GitHub Action · MCP server.
No credit card required.