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"
}
+38
View File
@@ -0,0 +1,38 @@
{
"$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": "Ask about your hosts, snippets, fleets, alerts, automations and more"
},
{
"type": "added",
"text": "Proposes changes instead of making them, and nothing runs until you approve it"
},
{
"type": "added",
"text": "Can run safe read-only commands like `df` and `uptime` if you allow it"
},
{
"type": "added",
"text": "Ask about a host right from its terminal"
},
{
"type": "added",
"text": "Works with Ollama, Anthropic, OpenAI, Google Gemini and any OpenAI compatible endpoint"
},
{
"type": "added",
"text": "AI Agents: run Pi, OpenCode, Claude Code or Codex on an SSH host using one of your Termix providers, with tool approvals, queued messages, attachments, Git diffs and worktrees"
},
{
"type": "added",
"text": "One-click install of the selected agent and Node.js, and a button to set up SSH loopback forwarding"
}
]
}
]
}
-7
View File
@@ -1,7 +0,0 @@
# Changelog
## 1.0.0
First release, bundled with Termix 2.9.0.
Adds an AI assistant that can read your hosts, snippets, fleets, alerts and automations and suggest changes for you to approve. Works with Ollama, Anthropic, OpenAI, Google Gemini and any OpenAI compatible provider.
+37
View File
@@ -0,0 +1,37 @@
# Contributing to AI Assistant
## 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
- **AI assistant:** let users turn the assistant on. While this is off it is hidden and blocked for everyone
- **Allowed private AI hosts:** hosts on your private network a provider may point at, such as a self-hosted Ollama
### User
- **Enable the AI assistant:** turn the assistant on for yourself
- **Allow read-only diagnostic commands:** let the assistant run safe commands without asking
- **Providers:** your AI providers, models and API keys
### Host
- **Enable AI Assistant:** let the assistant help in this host's terminal. Off by default
## Permissions
- `ai.use`: use the assistant. Admins and users have it by default.
- `ai.manage_providers`: add, edit and remove AI providers and their API keys. Admins and users have it by default.
- `ai.apply_proposals`: let the assistant carry out the changes it suggests. Admins and users have it by default.
- `ai.services.use`: let other features call the assistant for you. Admins and users have it by default.
- `ai.secrets.share`: let other features use the stored API key without seeing it. Admins and users have it by default.
- `ai.agents`: run coding agents on SSH hosts. Only admins have it by default.
+37 -39
View File
@@ -1,50 +1,48 @@
# AI Assistant
<div align="center">
An AI assistant that can read your hosts, snippets, fleets, alerts and automations, and suggest changes for you to approve.
<img src="https://raw.githubusercontent.com/Termix-SSH/Termix/main/public/icon.svg" width="120" height="120" alt="Termix Logo" />
<h1>AI Assistant</h1>
<p>An optional AI assistant that knows your servers</p>
</div>
<br />
## Overview
AI Assistant is a chat that can read your Termix setup and propose changes for you to approve. It can also run coding agents on your SSH hosts.
<br />
## Features
- Chat with an assistant that can read your hosts, snippets, fleets, alerts, automations, workspaces, network graph and homepage.
- The assistant suggests changes, and nothing is applied until you approve it.
- Can run read-only diagnostic commands on a host if you allow it.
- Open the assistant from the terminal toolbar with the current session as context.
- Works with Ollama, Anthropic, OpenAI, Google Gemini and any OpenAI compatible provider.
- Ask about your hosts, snippets, fleets, alerts, automations and more
- Proposes changes instead of making them, and nothing runs until you approve it
- Can run safe read-only commands like `df` and `uptime` if you allow it
- Ask about a host right from its terminal
- Works with Ollama, Anthropic, OpenAI, Google Gemini and any OpenAI compatible endpoint
- Run Pi, OpenCode, Claude Code or Codex as a coding agent on an SSH host, using your own provider
## Settings
### Admin
- AI assistant: let users turn the assistant on. While this is off it is hidden for everyone.
- Allowed private AI hosts: hosts on your private network a provider may point at, such as a self-hosted Ollama.
### User
- Enable the AI assistant: turn the assistant on for yourself.
- Allow read-only diagnostic commands: let the assistant run safe commands on your hosts.
- Providers: the AI providers, models and API keys you use.
### Host
- Enable AI Assistant: allow the assistant to work with this host.
## Permissions
- `ai.use`: Open the assistant and ask it things. Admins and users have it by default.
- `ai.manage_providers`: Add, edit and remove AI providers and their API keys. Admins and users have it by default.
- `ai.apply_proposals`: Let the assistant carry out the changes it suggests. Admins and users have it by default.
- `ai.services.use`: Let other features call the assistant for you. Admins and users have it by default.
- `ai.secrets.share`: Let other features use the stored AI API key without seeing it. Admins and users have it by default.
<br />
## Services
Uses from other plugins:
Uses from other plugins, each one optional:
- `workspaces.saved`, `network-topology.graph`, `snippets.access`, `fleets.access`, `terminal.history`, `automations.access` and `homepage.items` to read your data. Each one is optional.
- `workspaces.saved`, `network-topology.graph`, `snippets.access`, `fleets.access`, `terminal.history`, `automations.access` and `homepage.items` to read your data
## 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": "ai",
"name": "AI Assistant",
"version": "1.0.0",
"description": "An AI assistant that can read your hosts, snippets, fleets, alerts and automations, and suggest changes for you to approve.",
"description": "An optional AI assistant that reads your setup and proposes changes for you to approve.",
"author": {
"name": "Termix"
},
"license": "MIT",
"license": "Apache-2.0",
"repository": "https://github.com/Termix-SSH/Termix",
"category": "Productivity",
"icon": "Sparkles",
"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": {
"@anthropic-ai/sdk": "^0.120.0",
@@ -16,6 +19,8 @@
"remark-gfm": "^4.0.1"
},
"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",
@@ -23,7 +28,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": {
@@ -33,5 +41,10 @@
"react": "^19.2.8",
"sonner": "^2.0.8",
"ssh2": "^1.17.0"
},
"lint-staged": {
"*.{ts,tsx,js,jsx,mjs,cjs,json,css,md}": [
"prettier --write"
]
}
}