Write logs based on conventional commits and templates.
85
Build a tool that generates formatted release notes from a list of commits. The tool should produce markdown output with proper repository links and version information.
Your tool should accept a list of commits and configuration data, then generate release notes that include:
The configuration should specify:
The generated release notes should be in markdown format with:
@generates
/**
* Configuration for repository metadata
*/
export interface RepositoryConfig {
version: string;
previousVersion?: string;
host: string;
owner: string;
repository: string;
date: string;
enableLinking: boolean;
}
/**
* Commit data structure
*/
export interface CommitData {
hash: string;
type: string;
scope?: string;
subject: string;
body?: string;
footer?: string;
notes: Array<{ title: string; text: string }>;
}
/**
* Generates formatted release notes from commits
*
* @param commits - Array of commit data
* @param config - Repository and version configuration
* @returns Promise resolving to formatted markdown string
*/
export async function generateReleaseNotes(
commits: CommitData[],
config: RepositoryConfig
): Promise<string>;Provides changelog generation with template-based rendering and context variables for repository metadata.
Install with Tessl CLI
npx tessl i tessl/npm-conventional-changelog-writerevals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10