Shared

This directory contains code shared between the frontend and backend.

Files

  • types.ts - TypeScript interfaces and types
  • utils.ts - Utility functions for parsing commits and generating markdown

Key Components

Types

  • GitHubCommit - GitHub API commit structure
  • ReleaseNotesRequest - Request format for generating release notes
  • ReleaseNotesResponse - Response format with generated release notes
  • ReleaseNoteSection - Section of categorized commits
  • ReleaseNoteItem - Individual commit entry in release notes
  • COMMIT_TYPES - Mapping of conventional commit types to human-readable titles

Utilities

  • parseCommitMessage - Parse a commit message according to conventional commit format
  • groupCommitsByType - Group commits by type for structured release notes
  • generateMarkdown - Generate markdown for release notes
  • formatDate - Format date to YYYY-MM-DD