diff --git a/.github/PULL_REQUEST_TEMPLATE/PLUGIN-UPDATE.md b/.github/PULL_REQUEST_TEMPLATE/PLUGIN-UPDATE.md
index e06e854e..8baa8c88 100644
--- a/.github/PULL_REQUEST_TEMPLATE/PLUGIN-UPDATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE/PLUGIN-UPDATE.md
@@ -1,7 +1,7 @@
-
REPLACE_WITH_UPDATE_SUMMARY
-
-
## Task Checklist
### Developer
+- [ ] My plugin complies with the [plugin submission guidelines](https://docs.steambrew.app/developers/submitting-plugins#guidelines)
- [ ] I am the original author or an authorized maintainer of this plugin.
- [ ] I have complied with all license requirements for the libraries used, including providing appropriate notices where necessary.
- [ ] My plugin is fully open source and does not depend on any external paid services, except for widely trusted and well-known platforms. Additionally, neither I nor anyone associated with me profits from any such services.
+- [ ] Generative AI was used for most of the plugin's code.
### Plugin Functionality
@@ -35,14 +35,14 @@ REPLACE_WITH_UPDATE_SUMMARY
### Backend Configuration
-* **Yes/No**: I use a standard Millennium python backend in my plugin.
-* **Yes/No**: I use **custom binaries** that or rely on other FOSS projects that aren't written directly using Millennium's python backend.
+- [ ] I use a standard Millennium Lua backend in my plugin.
+- [ ] I use **custom binaries** that or rely on other FOSS projects that aren't written directly using Millennium's Lua backend.
### Community Contribution
-
- [ ] I have tested and left feedback on **two** other plugin pull requests.
@@ -52,8 +52,8 @@ REPLACE_WITH_UPDATE_SUMMARY
## Testing Instructions
-
diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md
index 245274fc..45b5caf5 100644
--- a/.github/pull_request_template.md
+++ b/.github/pull_request_template.md
@@ -1,13 +1,13 @@
-
-
REPLACE_WITH_SUMMARY
-
-
## Task Checklist
### Developer
+- [ ] My plugin complies with the [plugin submission guidelines](https://docs.steambrew.app/developers/submitting-plugins#guidelines)
- [ ] I am the original author or an authorized maintainer of this plugin.
- [ ] I have complied with all license requirements for the libraries used, including providing appropriate notices where necessary.
- [ ] My plugin is fully open source and does not depend on any external paid services, except for widely trusted and well-known platforms. Additionally, neither I nor anyone associated with me profits from any such services.
+- [ ] Generative AI was used for most of the plugin's code.
### Plugin Functionality
@@ -43,14 +43,14 @@ REPLACE_WITH_SUMMARY
### Backend Configuration
-* **Yes/No**: I use a standard Millennium python backend in my plugin.
-* **Yes/No**: I use **custom binaries** that or rely on other FOSS projects that aren't written directly using Millennium's python backend.
+- [ ] I use a standard Millennium Lua backend in my plugin.
+- [ ] I use **custom binaries** that or rely on other FOSS projects that aren't written directly using Millennium's Lua backend.
### Community Contribution
-
- [ ] I have tested and left feedback on **two** other plugin pull requests.
@@ -60,8 +60,8 @@ REPLACE_WITH_SUMMARY
## Testing Instructions
-
diff --git a/CLAUDE.md b/CLAUDE.md
index e912f91e..863025f7 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -62,17 +62,19 @@ Clearly label these as **Breaking Change** in your review.
Plugins must use the component library from `@steambrew/client` and Steam's built-in components. Review settings panels and UI for compliance:
**Settings panels** are defined in `definePlugin()`'s return object via the `content` prop (in the plugin's `index.tsx`):
+
```tsx
export default definePlugin(() => {
- return {
- title: "Plugin Name",
- icon: ,
- content: ,
- };
+ return {
+ title: "Plugin Name",
+ icon: ,
+ content: ,
+ };
});
```
**Required component usage:**
+
- Use `Field` for settings rows (with `label`, `description`, and `bottomSeparator` props).
- Use `Toggle`, `TextField`, `Dropdown`, `Slider` for input controls inside `Field`.
- Use `DialogButton` or `Button` for actions.
@@ -82,6 +84,7 @@ export default definePlugin(() => {
- Use `Spinner` for loading states.
**Flag these anti-patterns:**
+
- Raw HTML elements (``, `