53d4e92dda
Removed the releases page’s runtime dependency on `fs` and `process.cwd()` by introducing a build-time manifest generator: release notes still live as markdown under `src/content/releases`, but a new script now parses their frontmatter/content, validates that each note has a release, title, and preview image (and that the image actually exists), sorts the notes, and emits a typed `generated-release-notes.ts` file that the app imports at runtime. Updated the releases loader to return that generated data, changed the menu releases preview and release JSON-LD to use explicit typed fields (`title`, `previewImage`) instead of scraping markdown with regex at runtime, wired the generator into Nx so it runs automatically before `dev`, `build`, and `typecheck`, and fixed two stale image references in the release MDX files that the new validation exposed. --------- Co-authored-by: prastoin <paul@twenty.com>