To create a complete local mirror of the project's history, we need to synchronize the release notes from GitHub to local Markdown files. This provides valuable context for the AI knowledge base and for developers working offline.
Acceptance Criteria
- A new private method,
#syncReleaseNotes(), is created in SyncService.mjs.
- This method is orchestrated by the main
runFullSync() method.
- It uses
gh release list --json tagName,publishedAt to get all releases.
- It filters this list to include only releases published on or after the
syncStartDate.
- For each relevant release, it calls
gh release view <tagName> to fetch the full, rendered release notes.
- The body of each release note is saved as a local Markdown file in the
.github/RELEASE_NOTES/ directory (e.g., .github/RELEASE_NOTES/v10.9.0.md).
Benefits
- Provides a complete, local, and queryable archive of all project release notes.
- Enriches the AI knowledge base with high-level summaries of changes and new features for each version.
- Improves the agent's ability to understand the evolution of the codebase over time.
To create a complete local mirror of the project's history, we need to synchronize the release notes from GitHub to local Markdown files. This provides valuable context for the AI knowledge base and for developers working offline.
Acceptance Criteria
#syncReleaseNotes(), is created inSyncService.mjs.runFullSync()method.gh release list --json tagName,publishedAtto get all releases.syncStartDate.gh release view <tagName>to fetch the full, rendered release notes..github/RELEASE_NOTES/directory (e.g.,.github/RELEASE_NOTES/v10.9.0.md).Benefits