Write logs based on conventional commits and templates.
85
Build a tool that generates a changelog entry with properly formatted reference links for commits, issues, and pull requests.
Your tool should accept commit data and repository context, then generate a changelog entry where references to issues, pull requests, and commit hashes are automatically converted to clickable links.
[abc123d](https://github.com/myorg/myrepo/commit/abc123d) @test{action: "Closes", issue: "42"}, and repository context with linkReferences enabled, the generated changelog includes a markdown link [#42](https://github.com/myorg/myrepo/issues/42) @test[{action: "Fixes", issue: "10"}, {action: "Closes", issue: "20"}], the generated changelog includes links for both issues @testlinkReferences: false, the changelog output contains commit subjects and reference numbers as plain text without any markdown links @test@generates
/**
* Generates a changelog entry with automatic reference linking.
*
* @param {Array<Object>} commits - Array of commit objects with structure:
* - hash: commit hash string
* - type: commit type (e.g., "feat", "fix")
* - subject: commit subject line
* - references: array of issue/PR references (e.g., [{action: "Closes", issue: "42"}])
* @param {Object} context - Context object with repository information:
* - host: repository host URL (e.g., "https://github.com")
* - owner: repository owner
* - repository: repository name
* - linkReferences: boolean to enable/disable automatic linking (default: true)
* - commit: URL path segment for commits (default: "commit")
* - issue: URL path segment for issues (default: "issues")
* @returns {Promise<string>} Formatted changelog string with reference links
*/
async function generateChangelog(commits, context) {
// IMPLEMENTATION HERE
}
module.exports = {
generateChangelog
};Provides changelog generation with automatic reference linking support.
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