Skip to content

Add support for package homepage sync#289

Merged
trueberryless merged 4 commits intomainfrom
feat/package-homepage
Apr 14, 2026
Merged

Add support for package homepage sync#289
trueberryless merged 4 commits intomainfrom
feat/package-homepage

Conversation

@trueberryless
Copy link
Copy Markdown
Member

@trueberryless trueberryless commented Apr 14, 2026

Summary by CodeRabbit

  • New Features
    • Added package homepage support. Package templates now include configurable homepage fields to improve discoverability and provide direct links to documentation and repositories. Homepage configuration has been expanded across multiple package definitions for consistent metadata.

@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Apr 14, 2026

🦋 Changeset detected

Latest commit: c99b6e6

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
template-files Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Apr 14, 2026

Walkthrough

A changeset entry marks a minor version release for template-files with homepage support. The repos.json configuration expands to inject homepage fields into package.json definitions for 14+ repositories. The template-files package.json definition is updated to use a homepage template parameter instead of a hardcoded GitHub URL.

Changes

Cohort / File(s) Summary
Changeset Entry
.changeset/tiny-cats-wait.md
Added minor version changeset documenting support for package homepages in the template-files package.
Package Definition Template
template-files/package.json/definition.package.json
Updated homepage field to use template parameter <%= homepage %> instead of hardcoded GitHub URL pattern.
Repository Configuration
repos.json
Expanded to inject homepage fields into package.json definitions across 14+ repositories, including new mappings for docs packages and package-specific targets (e.g., packages/<package>/package.json).

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Poem

🐰 Hoppy through homepages, a hop and a bound,
Templates parameterized, config-wise found!
Repos multiply wide, like carrots in rows,
Where package.json definitions now flows! 🥕
What a wonderful template update to see,
Homepage support—happy as can be! ✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Add support for package homepage sync' directly and accurately reflects the main changes: adding homepage field support to the template system and syncing it across multiple repositories.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/package-homepage

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions bot added the 📝 changeset Contains changeset files label Apr 14, 2026
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (8)
repos.json (8)

3335-3363: 🧹 Nitpick | 🔵 Trivial

Duplicate entries for implications-trainer package.json.

Lines 3335-3344 add homepage, while Lines 3355-3363 exist without it for the same package.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@repos.json` around lines 3335 - 3363, There are duplicate entries for the
same package.json template
("template-files/package.json/definition.package.json") that create conflicting
props (one includes "homepage" and one does not); remove or consolidate the
duplicate so only a single definition.package.json entry exists with the
intended props (ensure the properties include "packageName":
"implications-trainer", "repositoryName": "implications-trainer" and add
"homepage" if required), updating the JSON array to eliminate the redundant
object and keep a single authoritative entry for the package.

3487-3515: 🧹 Nitpick | 🔵 Trivial

Duplicate entries for nxjt package.json.

Lines 3487-3496 add homepage, while Lines 3507-3515 exist without it.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@repos.json` around lines 3487 - 3515, There are duplicate entries adding the
same template "template-files/package.json/definition.package.json" to
targetPath "package.json": one includes props {packageName, homepage,
repositoryName} and the other repeats with only {packageName, repositoryName};
remove or consolidate the duplicate so only one entry remains for that template
(merge the props to include homepage if needed), ensuring the unique keys
"path": "template-files/package.json/definition.package.json" and "props"
(packageName, homepage, repositoryName) are preserved and no duplicate
targetPath "package.json" entries exist.

2917-2935: 🧹 Nitpick | 🔵 Trivial

Duplicate entries for starlight-subtle-top-level-items root package.json.

Same pattern of duplicate entries - one without homepage (Lines 2917-2925) and one with (Lines 2926-2935).

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@repos.json` around lines 2917 - 2935, The repos.json contains two duplicate
package entry objects for packageName
"starlight-subtle-top-level-items-monorepo" / repositoryName
"starlight-subtle-top-level-items"; remove or consolidate them so only a single
object remains (keep the one that includes the homepage property
"https://github.com/trueberryless-org/starlight-subtle-top-level-items" or merge
the homepage into the remaining entry) to eliminate the duplicated root
package.json definition.

1874-1892: 🧹 Nitpick | 🔵 Trivial

Duplicate entries for starlight-theme-rose-pine root package.json.

Lines 1874-1882 define starlight-theme-rose-pine-monorepo without homepage, and Lines 1883-1892 add a duplicate entry with the same packageName but including homepage. Same consolidation consideration applies as noted for starlight-plugins-docs-components.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@repos.json` around lines 1874 - 1892, There are duplicate entries for the
same packageName "starlight-theme-rose-pine-monorepo" that differ only by the
presence of a "homepage" prop; remove the duplicate by merging the two objects
into one so the single entry for targetPath "package.json" / special
"package.json" includes the "homepage":
"https://github.com/trueberryless-org/starlight-theme-rose-pine" property along
with the existing "repositoryName" and "packageName" props.

3411-3439: 🧹 Nitpick | 🔵 Trivial

Duplicate entries for npmx-digest package.json.

Lines 3411-3420 add homepage, while Lines 3431-3439 exist without it.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@repos.json` around lines 3411 - 3439, The repos.json contains duplicate
entries for the same template
"template-files/package.json/definition.package.json" targeting "package.json"
(both having "special": "package.json")—one includes a "homepage" prop and the
other does not; remove the redundant entry or merge them so there is a single
entry for packageName "npmx-digest" and repositoryName "npmx-digest" that also
includes the "homepage" property (locate the duplicated blocks by the "path":
"template-files/package.json/definition.package.json" and the "props": {
"packageName": "npmx-digest" } to identify which to edit).

3216-3254: 🧹 Nitpick | 🔵 Trivial

Duplicate entries for release-image-generator root package.json.

Lines 3216-3225 add homepage for release-image-generator-monorepo, while Lines 3246-3254 have an entry without it for release-image-generator targeting the same file.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@repos.json` around lines 3216 - 3254, There are duplicate template entries
targeting the same package.json; consolidate them by removing the redundant
record and merging the correct props into a single entry for the root
package.json: locate the objects referencing "path":
"template-files/package.json/definition.package.json" and "path":
"template-files/package.json/package.manager.package.json" that both have
"targetPath": "package.json", and ensure only one definition entry remains with
props.packageName set to the intended package ("release-image-generator" or
"release-image-generator-monorepo") and include the homepage and repositoryName
only on the correct package's entry; delete or deduplicate any extra entries so
there is a single canonical template entry per targetPath "package.json".

3028-3061: 🧹 Nitpick | 🔵 Trivial

Duplicate entries for recent-releases package.json.

Entry at Lines 3028-3037 adds homepage, while Lines 3053-3061 has the same packageName without it.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@repos.json` around lines 3028 - 3061, There are duplicate mapping objects for
"template-files/package.json/definition.package.json" with props.packageName
"recent-releases": one includes a "homepage" and the other does not; remove or
consolidate the duplicate so only a single mapping for packageName
"recent-releases" remains (keep the "homepage" property), i.e., merge the two
JSON entries into one object (the one with "path":
"template-files/package.json/definition.package.json" and "props": {
"packageName": "recent-releases", "homepage": "...", "repositoryName":
"recent-releases" }) and delete the redundant entry.

1564-1601: 🧹 Nitpick | 🔵 Trivial

Duplicate entries for the same targetPath may cause confusion or unexpected behavior.

For starlight-plugins-docs-components, there are duplicate entries targeting both package.json (Lines 1564-1572 and 1573-1582) and packages/starlight-plugins-docs-components/package.json (Lines 1583-1591 and 1592-1601). The old entries lack homepage while the new entries include it.

If the template system merges props from multiple entries, this works but creates redundant configuration. If only the last entry wins, the old entries are dead code. Consider consolidating these into single entries with the homepage prop added.

♻️ Example consolidation for root package.json
         {
           "path": "template-files/package.json/definition.package.json",
           "targetPath": "package.json",
           "special": "package.json",
           "props": {
-            "packageName": "@trueberryless-org/starlight-plugins-docs-components-monorepo",
-            "repositoryName": "starlight-plugins-docs-components"
-          }
-        },
-        {
-          "path": "template-files/package.json/definition.package.json",
-          "targetPath": "package.json",
-          "special": "package.json",
-          "props": {
             "packageName": "starlight-plugins-docs-components-monorepo",
             "homepage": "https://github.com/trueberryless-org/starlight-plugins-docs-components",
             "repositoryName": "starlight-plugins-docs-components"
           }
         },
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@repos.json` around lines 1564 - 1601, There are duplicate entries in
repos.json for the same package definitions (entries with packageName values
"@trueberryless-org/starlight-plugins-docs-components" and
"starlight-plugins-docs-components") that differ only by the presence of a
homepage prop; remove or consolidate the duplicates so only a single entry per
packageName/special="package.json" remains and ensure the consolidated entry
includes the homepage value (merge props such as packageName, repositoryName and
homepage) to avoid redundant or dead configurations.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Outside diff comments:
In `@repos.json`:
- Around line 3335-3363: There are duplicate entries for the same package.json
template ("template-files/package.json/definition.package.json") that create
conflicting props (one includes "homepage" and one does not); remove or
consolidate the duplicate so only a single definition.package.json entry exists
with the intended props (ensure the properties include "packageName":
"implications-trainer", "repositoryName": "implications-trainer" and add
"homepage" if required), updating the JSON array to eliminate the redundant
object and keep a single authoritative entry for the package.
- Around line 3487-3515: There are duplicate entries adding the same template
"template-files/package.json/definition.package.json" to targetPath
"package.json": one includes props {packageName, homepage, repositoryName} and
the other repeats with only {packageName, repositoryName}; remove or consolidate
the duplicate so only one entry remains for that template (merge the props to
include homepage if needed), ensuring the unique keys "path":
"template-files/package.json/definition.package.json" and "props" (packageName,
homepage, repositoryName) are preserved and no duplicate targetPath
"package.json" entries exist.
- Around line 2917-2935: The repos.json contains two duplicate package entry
objects for packageName "starlight-subtle-top-level-items-monorepo" /
repositoryName "starlight-subtle-top-level-items"; remove or consolidate them so
only a single object remains (keep the one that includes the homepage property
"https://github.com/trueberryless-org/starlight-subtle-top-level-items" or merge
the homepage into the remaining entry) to eliminate the duplicated root
package.json definition.
- Around line 1874-1892: There are duplicate entries for the same packageName
"starlight-theme-rose-pine-monorepo" that differ only by the presence of a
"homepage" prop; remove the duplicate by merging the two objects into one so the
single entry for targetPath "package.json" / special "package.json" includes the
"homepage": "https://github.com/trueberryless-org/starlight-theme-rose-pine"
property along with the existing "repositoryName" and "packageName" props.
- Around line 3411-3439: The repos.json contains duplicate entries for the same
template "template-files/package.json/definition.package.json" targeting
"package.json" (both having "special": "package.json")—one includes a "homepage"
prop and the other does not; remove the redundant entry or merge them so there
is a single entry for packageName "npmx-digest" and repositoryName "npmx-digest"
that also includes the "homepage" property (locate the duplicated blocks by the
"path": "template-files/package.json/definition.package.json" and the "props": {
"packageName": "npmx-digest" } to identify which to edit).
- Around line 3216-3254: There are duplicate template entries targeting the same
package.json; consolidate them by removing the redundant record and merging the
correct props into a single entry for the root package.json: locate the objects
referencing "path": "template-files/package.json/definition.package.json" and
"path": "template-files/package.json/package.manager.package.json" that both
have "targetPath": "package.json", and ensure only one definition entry remains
with props.packageName set to the intended package ("release-image-generator" or
"release-image-generator-monorepo") and include the homepage and repositoryName
only on the correct package's entry; delete or deduplicate any extra entries so
there is a single canonical template entry per targetPath "package.json".
- Around line 3028-3061: There are duplicate mapping objects for
"template-files/package.json/definition.package.json" with props.packageName
"recent-releases": one includes a "homepage" and the other does not; remove or
consolidate the duplicate so only a single mapping for packageName
"recent-releases" remains (keep the "homepage" property), i.e., merge the two
JSON entries into one object (the one with "path":
"template-files/package.json/definition.package.json" and "props": {
"packageName": "recent-releases", "homepage": "...", "repositoryName":
"recent-releases" }) and delete the redundant entry.
- Around line 1564-1601: There are duplicate entries in repos.json for the same
package definitions (entries with packageName values
"@trueberryless-org/starlight-plugins-docs-components" and
"starlight-plugins-docs-components") that differ only by the presence of a
homepage prop; remove or consolidate the duplicates so only a single entry per
packageName/special="package.json" remains and ensure the consolidated entry
includes the homepage value (merge props such as packageName, repositoryName and
homepage) to avoid redundant or dead configurations.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: ecb561cc-b172-4f03-ba8c-aa1beb3e0cb2

📥 Commits

Reviewing files that changed from the base of the PR and between f0f5d9a and c99b6e6.

📒 Files selected for processing (3)
  • .changeset/tiny-cats-wait.md
  • repos.json
  • template-files/package.json/definition.package.json

@trueberryless trueberryless merged commit aa2af9d into main Apr 14, 2026
4 checks passed
@trueberryless trueberryless deleted the feat/package-homepage branch April 14, 2026 11:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

📝 changeset Contains changeset files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant