chore: rework plugin readmes, json changelogs and standalone repo setup

This commit is contained in:
LukeGus committed 2026-10-04 21:25:16 -05:00
1 parent a8f383d2b3
commit 29a946d02e
500 files changed
+6729 -1250

No files matched your search

+21
View File
@@ -0,0 +1,21 @@
{
"extends": ["@commitlint/config-conventional"],
"rules": {
"type-enum": [
2,
"always",
[
"feat",
"fix",
"docs",
"style",
"refactor",
"perf",
"test",
"chore",
"revert"
]
],
"subject-case": [0]
}
}
+1
View File
@@ -0,0 +1 @@
custom: https://donate.termix.site/
+34
View File
@@ -0,0 +1,34 @@
# Overview
_Short summary of what this PR does_
- [ ] Added: ...
- [ ] Updated: ...
- [ ] Removed: ...
- [ ] Fixed: ...
# Changes Made
_Detailed explanation of changes (if needed)_
- ...
# Related Issues
_Link any issues this PR addresses_
- Closes #ISSUE_NUMBER
- Related to #ISSUE_NUMBER
# Screenshots / Demos
_(Optional: add before/after screenshots, GIFs, or console output)_
# Checklist
- [ ] Code follows project style guidelines
- [ ] Supports mobile and desktop UI/app (if applicable)
- [ ] Added the change to `CHANGELOG.json`
- [ ] `npm run test`, `npm run typecheck` and `npm run validate` pass
- [ ] I have read `CONTRIBUTING.md`
- [ ] This is not a translation request. See [docs](https://docs.termix.site/translations)
+9
View File
@@ -0,0 +1,9 @@
node_modules
dist
coverage
*.log
.env
*.tmxplug
*.tmxplug.sig
termix-plugin-signing.key
.termix-tables-*
+1
View File
@@ -0,0 +1 @@
npx --no -- commitlint --edit "$1"
+1
View File
@@ -0,0 +1 @@
npx lint-staged
+4
View File
@@ -0,0 +1,4 @@
dist
coverage
node_modules
package-lock.json
+9
View File
@@ -0,0 +1,9 @@
{
"semi": true,
"singleQuote": false,
"tabWidth": 2,
"trailingComma": "all",
"printWidth": 80,
"arrowParens": "always",
"endOfLine": "lf"
}
+30
View File
@@ -0,0 +1,30 @@
{
"$schema": "https://raw.githubusercontent.com/Termix-SSH/Termix/main/packages/plugin-sdk/schema/changelog.schema.json",
"releases": [
{
"version": "1.0.0",
"changes": [
{
"type": "added",
"text": "One inbox for alerts from every part of Termix"
},
{
"type": "added",
"text": "Popups for new alerts"
},
{
"type": "added",
"text": "Send alerts to Discord, ntfy, email or a webhook"
},
{
"type": "added",
"text": "Rules that pick which alerts go where"
},
{
"type": "added",
"text": "Optional news from the Termix team, like security notices and releases"
}
]
}
]
}
-7
View File
@@ -1,7 +0,0 @@
# Changelog
## 1.0.0
First release, bundled with Termix 2.9.0.
Adds one inbox for every alert in Termix. Alerts can also be sent to webhooks, ntfy, Discord and email, with delivery rules to pick what goes where.
+27
View File
@@ -0,0 +1,27 @@
# Contributing to Alerts
## Development
```bash
npm run build # build into dist/
npm run test # run this plugin's tests
npm run typecheck # type-check this plugin
npm run validate # check manifest.json
npm run format # format the code with Prettier
```
## Settings
### Admin
- **Termix announcements:** show news from the Termix team in everyone's inbox
- **Keep alerts for (days):** older alerts are removed from every inbox
- **SMTP server, port, TLS, username, password and from address:** needed for email channels. Leave the server empty to turn email off
### User
- **Alert popups:** all alerts, warnings and critical, critical only, or none
## Permissions
- `alerts.use`: get alerts in the inbox and send them to your own channels. Admins and users have it by default.
+28 -28
View File
@@ -1,39 +1,39 @@
# Alerts
<div align="center">
One inbox for every alert, with delivery to webhooks, ntfy, Discord and email.
<img src="https://raw.githubusercontent.com/Termix-SSH/Termix/main/public/icon.svg" width="120" height="120" alt="Termix Logo" />
<h1>Alerts</h1>
<p>One inbox for every alert in Termix</p>
</div>
<br />
## Overview
Alerts is the inbox every Termix alert lands in, with delivery to Discord, ntfy, email or a webhook.
<br />
## Features
- One inbox for alerts from every part of Termix.
- Popups for new alerts, filtered by severity.
- Channels that send alerts to webhooks, ntfy, Discord and email.
- Delivery rules that pick which alerts go to which channel.
- Optional news from the Termix team, like security notices and new releases.
- One inbox for alerts from every part of Termix
- Popups for new alerts
- Send alerts to Discord, ntfy, email or a webhook
- Rules that pick which alerts go where
- Optional news from the Termix team, like security notices and releases
## Settings
<br />
### Admin
## Support
- Termix announcements: show news from the Termix team in everyone's inbox.
- Keep alerts for (days): older alerts are removed from every inbox.
- SMTP server, port, TLS, username, password and from address: needed for email channels. Leave the server empty to turn email off.
To report a bug or request a feature, open a [support ticket](https://github.com/Termix-SSH/Support/issues/new/choose). You need to be logged in to GitHub. Please be as detailed as possible, preferably in English.
### User
For discussions and questions, join the [Discord](https://discord.gg/jVQGdvHDrf) server.
- Alert popups: all alerts, warnings and critical, critical only, or none.
<br />
## Permissions
## License
- `alerts.use`: Get alerts in the inbox and send them to your own channels. Admins and users have it by default.
## For plugin authors
Send an alert from any plugin with `ctx.notify.send()`. This plugin stores it and delivers it. Do not build a separate notification system into a plugin.
## Development
```bash
npm run build # build into dist/
npm run test # run this plugin's tests
npm run typecheck # type-check this plugin
```
Distributed under the Apache License Version 2.0. See [LICENSE](https://github.com/Termix-SSH/Termix/blob/main/LICENSE) for more information.
+3 -3
View File
@@ -2,16 +2,16 @@
"id": "alerts",
"name": "Alerts",
"version": "1.0.0",
"description": "One inbox for every alert, with delivery to webhooks, ntfy, Discord and email.",
"description": "One inbox for every alert in Termix, with delivery to webhooks, ntfy, Discord and email.",
"author": {
"name": "Termix"
},
"license": "MIT",
"license": "Apache-2.0",
"repository": "https://github.com/Termix-SSH/Termix",
"category": "Monitoring",
"icon": "Bell",
"engine": {
"termix": ">=2.9.0",
"termix": ">=26.10.0",
"api": "1"
},
"capabilities": [
+14 -1
View File
@@ -7,13 +7,18 @@
"build": "termix-plugin build",
"test": "termix-plugin test",
"typecheck": "tsc -p .",
"validate": "termix-plugin validate"
"validate": "termix-plugin validate",
"format": "prettier --write .",
"format:check": "prettier --check .",
"prepare": "husky || true"
},
"dependencies": {
"lucide-react": "^1.33.0",
"nodemailer": "^10.0.10"
},
"devDependencies": {
"@commitlint/cli": "^21.2.2",
"@commitlint/config-conventional": "^21.2.0",
"@termix/plugin-sdk": "^1.0.0",
"@testing-library/dom": "^10.4.2",
"@testing-library/react": "^16.3.3",
@@ -21,7 +26,10 @@
"@types/react": "^19.2.18",
"@types/react-dom": "^19.2.4",
"better-sqlite3": "^13.0.3",
"husky": "^9.1.7",
"jsdom": "^30.0.1",
"lint-staged": "^17.2.0",
"prettier": "3.9.9",
"vitest": "^4.1.11"
},
"peerDependencies": {
@@ -30,5 +38,10 @@
"express": "^5.2.1",
"react": "^19.2.8",
"sonner": "^2.0.8"
},
"lint-staged": {
"*.{ts,tsx,js,jsx,mjs,cjs,json,css,md}": [
"prettier --write"
]
}
}