[codex] Add open source projects page#97
Conversation
📝 WalkthroughWalkthroughAdds an "Open Source" header link to ChangesOpen Source Page Addition
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
508-dynamic | d179db5 | Commit Preview URL Branch Preview URL |
Jul 05 2026, 02:31 AM |
There was a problem hiding this comment.
🧹 Nitpick comments (2)
src/pages/open-source.astro (2)
131-148: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueStructured-data URL is hardcoded instead of derived from the site config.
url: "https://508.dev/open-source"is hardcoded, whileLayout.astroalready derives a canonical URL dynamically fromAstro.site/Astro.url.pathnamefor the same purpose. Deriving this value the same way would keep the JSON-LD consistent with the rest of the site if the domain or path ever changes (e.g., staging/preview builds).♻️ Suggested consistency fix
+const siteUrl = Astro.site ?? new URL("https://508.dev"); const openSourceStructuredData = { "`@context`": "https://schema.org", "`@type`": "CollectionPage", name: "508.dev Open Source", - url: "https://508.dev/open-source", + url: new URL("/open-source", siteUrl).toString(),🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/pages/open-source.astro` around lines 131 - 148, The structured-data URL in openSourceStructuredData is hardcoded and should be derived dynamically to match the site’s canonical URL logic. Update the CollectionPage JSON-LD in open-source.astro to compute url from Astro.site/Astro.url.pathname the same way Layout.astro does, so the schema stays correct across domain or path changes. Use the existing openSourceStructuredData object as the place to make this change and keep it consistent with the rest of the site.
15-125: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueConsider extracting the
projectsdataset out of the page component.Hardcoding all project entries inline in the
.astrofrontmatter works, but as the catalog grows, movingProject/projectsinto a dedicated data file (or content collection) would separate content from presentation and ease future updates.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/pages/open-source.astro` around lines 15 - 125, The `projects` dataset is still hardcoded inside the `open-source.astro` page frontmatter, which mixes content with presentation. Move the `Project` type and `projects` array into a dedicated data module (or content collection) and import them into the page component. Keep the existing page rendering logic in `open-source.astro` unchanged except for consuming the imported `projects` data.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@src/pages/open-source.astro`:
- Around line 131-148: The structured-data URL in openSourceStructuredData is
hardcoded and should be derived dynamically to match the site’s canonical URL
logic. Update the CollectionPage JSON-LD in open-source.astro to compute url
from Astro.site/Astro.url.pathname the same way Layout.astro does, so the schema
stays correct across domain or path changes. Use the existing
openSourceStructuredData object as the place to make this change and keep it
consistent with the rest of the site.
- Around line 15-125: The `projects` dataset is still hardcoded inside the
`open-source.astro` page frontmatter, which mixes content with presentation.
Move the `Project` type and `projects` array into a dedicated data module (or
content collection) and import them into the page component. Keep the existing
page rendering logic in `open-source.astro` unchanged except for consuming the
imported `projects` data.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 6c833217-0d7c-4917-b03c-35e934a7de7d
⛔ Files ignored due to path filters (3)
public/open-source/favorite-places.pngis excluded by!**/*.pngpublic/open-source/house-calendar.pngis excluded by!**/*.pngpublic/open-source/interview-as-a-service.pngis excluded by!**/*.png
📒 Files selected for processing (2)
src/components/Header.astrosrc/pages/open-source.astro
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4d14330d33
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Summary
/open-sourcepage that highlights 508-dev open source projects.Validation
bun run build/open-sourcewith the dev server at127.0.0.1:4802Notes
package-lock.jsonhad pre-existing unstaged changes and is intentionally not included in this PR.Note
Low Risk
Static content and navigation only; no auth, APIs, or data handling changes.
Overview
Adds a new
/open-sourcemarketing page that catalogs 508-dev public repos in featured and more projects sections, with tags, GitHub Source links, optional Live site URLs, notes, and lazy-loaded screenshots on select featured cards.The page uses the shared
Layoutwith SEO metadata and schema.orgCollectionPage/ItemListstructured data. Site discovery is updated via an Open Source item inHeader.astronavigation and ahttps://508.dev/open-sourceentry insitemap.xml.Reviewed by Cursor Bugbot for commit d179db5. Bugbot is set up for automated code reviews on this repo. Configure here.
Summary by CodeRabbit