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": "Drag, resize and arrange widgets on a canvas"
},
{
"type": "added",
"text": "Widgets for host status, pings, service links, bookmarks, search, clocks, calendars, weather, RSS, notes, images, iframes, custom APIs and a live terminal"
},
{
"type": "added",
"text": "Other features add their own widgets, like Docker, Tunnels and Host Metrics"
},
{
"type": "added",
"text": "Service links and a homepage preview on the dashboard"
},
{
"type": "added",
"text": "Syncs between the desktop app and a Termix server"
}
]
}
]
}
-7
View File
@@ -1,7 +0,0 @@
# Changelog
## 1.0.0
First release, bundled with Termix 2.9.0.
Adds a custom page of widgets, like clocks, notes, host status, RSS feeds and an embedded terminal. Also adds service link buttons to the dashboard.
+22
View File
@@ -0,0 +1,22 @@
# Contributing to Homepage
## 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
- **Allowed private hosts:** private or loopback addresses the Ping Status and Custom API widgets may reach. Empty blocks every private address
- **Private certificate authority (PEM):** an optional CA bundle trusted for those hosts
## Permissions
- `homepage.use`: view and edit the homepage and dashboard service links. Admins and users have it by default.
+35 -17
View File
@@ -1,29 +1,47 @@
# Homepage
<div align="center">
A custom widget page and service links for your servers and services.
<img src="https://raw.githubusercontent.com/Termix-SSH/Termix/main/public/icon.svg" width="120" height="120" alt="Termix Logo" />
<h1>Homepage</h1>
<p>A widget page you build yourself</p>
</div>
<br />
## Overview
Homepage is a drag and drop page of widgets for your servers, services and anything else you want to keep an eye on.
<br />
## Features
- A page of widgets you can move, resize, pan and zoom. Open it from the command palette.
- Widgets for clocks, notes, folders, host status, bookmarks, weather, RSS feeds, ping checks, calendars, countdowns, search, images, custom APIs, an embedded terminal and more.
- Other features can add their own widgets, like Docker, Tunnels, File Manager and Host Metrics.
- Service link buttons and a homepage preview for the dashboard.
- Widgets and service links sync between the desktop app and a server.
- Drag, resize and arrange widgets on a canvas
- Widgets for host status, pings, service links, bookmarks, search, clocks, calendars, weather, RSS, notes, images, iframes, custom APIs and a live terminal
- Other features add their own widgets, like Docker, Tunnels and Host Metrics
- Service links and a homepage preview on the dashboard
- Syncs between the desktop app and a Termix server
## Permissions
- `homepage.use`: Use the homepage. Admins and users have it by default.
<br />
## Services
Provides to other plugins:
- `homepage.items`: list a user's homepage widgets.
- `homepage.items`: list a user's homepage widgets
## Development
<br />
```bash
npm run build # build into dist/
npm run test # run this plugin's tests
npm run typecheck # type-check this plugin
```
## Support
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.
For discussions and questions, join the [Discord](https://discord.gg/jVQGdvHDrf) server.
<br />
## License
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": "homepage",
"name": "Homepage",
"version": "1.0.0",
"description": "A custom widget page and service links for your servers and services.",
"description": "A drag and drop widget page for your servers and services, plus service links for the dashboard.",
"author": {
"name": "Termix"
},
"license": "MIT",
"license": "Apache-2.0",
"repository": "https://github.com/Termix-SSH/Termix",
"category": "Productivity",
"icon": "LayoutGrid",
"engine": {
"termix": ">=2.9.0",
"termix": ">=26.10.0",
"api": "1"
},
"capabilities": ["db:own", "network:serve", "network:outbound", "ui:surface"],
+14 -1
View File
@@ -7,12 +7,17 @@
"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"
},
"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",
@@ -20,7 +25,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": {
@@ -28,5 +36,10 @@
"drizzle-orm": "^0.45.2",
"express": "^5.2.1",
"react": "^19.2.8"
},
"lint-staged": {
"*.{ts,tsx,js,jsx,mjs,cjs,json,css,md}": [
"prettier --write"
]
}
}