To improve the structure and utility of the locally synchronized release notes, we should add YAML frontmatter containing key metadata. This change also standardizes the frontmatter convention across the entire sync service.
During implementation, a broader strategic decision was made to align all frontmatter keys with the camelCase format used by the source GitHub API (gh CLI). This improves maintainability and reduces transformation logic.
Acceptance Criteria
- The
#syncReleaseNotes method in SyncService.mjs is updated to fetch tagName, name, and publishedAt and save them as camelCase YAML frontmatter.
- The
#formatIssueMarkdown method is refactored to use camelCase for all its frontmatter keys (e.g., createdAt, commentsCount) instead of snake_case, ensuring consistency.
- The
gray-matter library is used to stringify the content with the fetched metadata as YAML frontmatter for both issues and release notes.
- The filename convention for release notes is confirmed to be clean and predictable (e.g.,
v10.9.0.md from a v10.9.0 tag).
To improve the structure and utility of the locally synchronized release notes, we should add YAML frontmatter containing key metadata. This change also standardizes the frontmatter convention across the entire sync service.
During implementation, a broader strategic decision was made to align all frontmatter keys with the
camelCaseformat used by the source GitHub API (ghCLI). This improves maintainability and reduces transformation logic.Acceptance Criteria
#syncReleaseNotesmethod inSyncService.mjsis updated to fetchtagName,name, andpublishedAtand save them ascamelCaseYAML frontmatter.#formatIssueMarkdownmethod is refactored to usecamelCasefor all its frontmatter keys (e.g.,createdAt,commentsCount) instead ofsnake_case, ensuring consistency.gray-matterlibrary is used to stringify the content with the fetched metadata as YAML frontmatter for both issues and release notes.v10.9.0.mdfrom av10.9.0tag).