-
Notifications
You must be signed in to change notification settings - Fork 528
feat(manifest): add optional icon field supporting emoji, octicon, and SVG resources #58047
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
1b15fb9
a6a3cc7
ff79eaf
f48bf0e
ac9d766
de3e412
56b8ef0
c8c36e0
5fee0ec
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -45,6 +45,7 @@ The manifest document MUST be a YAML mapping. Unknown top-level fields MUST be r | |
| | `min-version` | string | No | Minimum supported `gh-aw` version. | | ||
| | `name` | string | Yes | Human-readable package name. | | ||
| | `emoji` | string | No | Optional package emoji for display in package metadata. | | ||
| | `icon` | string | No | Optional package icon: an emoji, a GitHub primer octicon name (`:...:`), or an SVG resource path. | | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📝 The icon field specification looks good! It would be helpful to mention validation rules — for example, does the SVG path need to be relative to the package root? Clarifying constraints in the spec would prevent implementation ambiguity. |
||
| | `description` | string | No | Human-readable package description. | | ||
| | `license` | string | No | SPDX license identifier or license name for the package. | | ||
| | `private` | boolean | No | Whether the package is unavailable for installation. Defaults to `false`. | | ||
|
|
@@ -75,6 +76,14 @@ If the running compiler version is lower than `min-version`, validation MUST fai | |
|
|
||
| If present, `emoji` MUST be a string. | ||
|
|
||
| ### 4.5.1 `icon` | ||
|
|
||
| If present, `icon` MUST be a non-empty string that matches one of the following formats: | ||
|
|
||
| 1. **Emoji**: A single or sequence of Unicode emoji characters. | ||
| 2. **GitHub Primer Octicon**: A GitHub Primer octicon name enclosed in colons using `:name:` format (for example, `:check-circle:`). | ||
| 3. **SVG Package Resource**: A path to an `.svg` file that is declared as a package resource in the `resources` section of `aw.yml`. | ||
|
|
||
| ### 4.6 `description` | ||
|
|
||
| If present, `description` MUST be a string. | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
✅ Good addition! Consider adding an example value to make the icon format clearer for end users. Something like:
emoji: "🚀" or octicon: ":rocket:" or svg: "assets/icon.svg".