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": "Any OpenID Connect provider, plus GitHub and Google"
},
{
"type": "added",
"text": "More than one provider, each with its own login button"
},
{
"type": "added",
"text": "Make members of an admin group Termix admins"
},
{
"type": "added",
"text": "Limit sign in to certain users"
},
{
"type": "added",
"text": "Back-channel logout"
}
]
}
]
}
-7
View File
@@ -1,7 +0,0 @@
# Changelog
## 1.0.0
First release, bundled with Termix 2.9.0.
Lets users sign in with an OpenID Connect provider, GitHub or Google. Each provider gets its own login button, and group claims can make users admins.
+22
View File
@@ -0,0 +1,22 @@
# Contributing to Single sign-on
## 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
- **Providers:** add a provider, then register the redirect URI it shows with your identity provider. The client secret is stored encrypted. Providers set up before 2.9 keep the old redirect URI until you turn it off
- **Sign in with SSO automatically:** skip the login form and go to the first provider. The `OIDC_SILENT_LOGIN_DEFAULT` environment variable overrides this
## Permissions
- `sso.manage`: add, edit and remove SSO providers. Only admins have it by default.
+28 -17
View File
@@ -1,28 +1,39 @@
# Single sign-on
<div align="center">
Sign in with an OpenID Connect provider, GitHub or Google. Each provider gets its own button on the login screen.
<img src="https://raw.githubusercontent.com/Termix-SSH/Termix/main/public/icon.svg" width="120" height="120" alt="Termix Logo" />
<h1>Single sign-on</h1>
<p>Sign in with OpenID Connect, GitHub or Google</p>
</div>
<br />
## Overview
Single sign-on lets people sign in to Termix with an identity provider instead of a password.
<br />
## Features
- Sign in with any OpenID Connect provider, GitHub or Google.
- Each provider gets its own button on the login screen.
- Make members of an admin group Termix admins, read from a group claim.
- Supports back-channel logout.
- Any OpenID Connect provider, plus GitHub and Google
- More than one provider, each with its own login button
- Make members of an admin group Termix admins
- Limit sign in to certain users
- Back-channel logout
## Settings
<br />
### Admin
## Support
- Providers: add a provider, then register the redirect URI it shows with your identity provider. Providers set up before 2.9 keep the old redirect URI until you turn it 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.
## Permissions
For discussions and questions, join the [Discord](https://discord.gg/jVQGdvHDrf) server.
- `sso.manage`: Add, edit and remove SSO providers. Only admins have it by default.
<br />
## Development
## License
```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": "sso",
"name": "Single sign-on",
"version": "1.0.0",
"description": "Sign in with an OpenID Connect provider, GitHub or Google. Each provider gets its own button on the login screen.",
"description": "Sign in with any OpenID Connect provider, GitHub or Google.",
"author": {
"name": "Termix"
},
"license": "MIT",
"license": "Apache-2.0",
"repository": "https://github.com/Termix-SSH/Termix",
"category": "Access & Security",
"icon": "KeyRound",
"engine": {
"termix": ">=2.9.0",
"termix": ">=26.10.0",
"api": "1"
},
"capabilities": [
+14 -1
View File
@@ -7,7 +7,10 @@
"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": {
"jose": "^6.2.12",
@@ -15,6 +18,8 @@
"undici": "^8.10.2"
},
"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",
@@ -22,7 +27,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": {
@@ -31,5 +39,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"
]
}
}