vps-hybrid-networking 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -5
- package/bin/install.mjs +17 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -19,7 +19,7 @@ The skill lives in [`skills/vps-hybrid-networking/`](skills/vps-hybrid-networkin
|
|
|
19
19
|
npx skills add AnandaAp/vps-hybrid-networking
|
|
20
20
|
```
|
|
21
21
|
|
|
22
|
-
The [skills CLI](https://skills.sh) auto-detects 75+ agents (Claude Code, Codex, Cursor, OpenCode, Gemini CLI, Antigravity, Windsurf, …) and installs the skill into the right folder for each. Add `-g` for a global install, or `--agent <name>` to target one agent.
|
|
22
|
+
The [skills CLI](https://skills.sh) auto-detects 75+ agents (Claude Code, Codex, Cursor, OpenCode, Gemini CLI, Antigravity, Hermes Agent, Windsurf, Cline, …) and installs the skill into the right folder for each. Add `-g` for a global install, or `--agent <name>` to target one agent.
|
|
23
23
|
|
|
24
24
|
### Claude Code — plugin marketplace
|
|
25
25
|
|
|
@@ -57,17 +57,27 @@ Or as an extension (bundles the same skill):
|
|
|
57
57
|
gemini extensions install https://github.com/AnandaAp/vps-hybrid-networking
|
|
58
58
|
```
|
|
59
59
|
|
|
60
|
+
### Hermes Agent (Nous Research)
|
|
61
|
+
|
|
62
|
+
Hermes installs skills straight from GitHub — the identifier is the repo-relative path to the skill folder:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
hermes skills install AnandaAp/vps-hybrid-networking/skills/vps-hybrid-networking
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Hermes security-scans skills on install. You can also register this repo as a reusable source once with `hermes skills tap add AnandaAp/vps-hybrid-networking`.
|
|
69
|
+
|
|
60
70
|
### npm / npx installer (this repo's own package)
|
|
61
71
|
|
|
62
72
|
```bash
|
|
63
|
-
npx vps-hybrid-networking@1.0.
|
|
73
|
+
npx vps-hybrid-networking@1.0.1
|
|
64
74
|
```
|
|
65
75
|
|
|
66
|
-
Auto-detects your installed agents and copies the skill into each one's skills folder. Useful flags: `--all`, `--agent claude-code,antigravity`, `--list`, `--dry-run`. (If the npm package is not yet published, clone this repo and run `node bin/install.mjs --all` — it is the same code with the same result.)
|
|
76
|
+
Auto-detects your installed agents and copies the skill into each one's skills folder. Targets: Claude Code, Antigravity, Codex / agents standard, Gemini CLI, OpenCode, Cursor, Hermes Agent, Cline, Roo Code, Goose, Amp, Windsurf, Kiro CLI, Qwen Code, GitHub Copilot, Trae, and Continue. Useful flags: `--all`, `--agent claude-code,antigravity`, `--list`, `--dry-run`. (If the npm package is not yet published, clone this repo and run `node bin/install.mjs --all` — it is the same code with the same result.)
|
|
67
77
|
|
|
68
78
|
### Manual
|
|
69
79
|
|
|
70
|
-
Copy the `skills/vps-hybrid-networking/` folder into your agent's skills directory (e.g. `~/.claude/skills/`, `~/.agents/skills/`, `~/.gemini/config/skills/`). Done — the skill is just files.
|
|
80
|
+
Copy the `skills/vps-hybrid-networking/` folder into your agent's skills directory (e.g. `~/.claude/skills/`, `~/.agents/skills/`, `~/.gemini/config/skills/`, `~/.hermes/skills/` — on Windows, Hermes uses `%LOCALAPPDATA%\hermes\skills\`). Done — the skill is just files.
|
|
71
81
|
|
|
72
82
|
## Installer security
|
|
73
83
|
|
|
@@ -76,7 +86,7 @@ The npm installer is built to be boring and auditable:
|
|
|
76
86
|
- **Zero dependencies** — Node.js standard library only; there is no dependency tree to compromise.
|
|
77
87
|
- **No install hooks** — `package.json` defines no lifecycle scripts, so nothing runs implicitly on `npm install`/`npx`. The installer runs only when you invoke it.
|
|
78
88
|
- **No network, no execution** — the installer never downloads anything and never spawns a process. It only copies the skill files bundled inside the package into a fixed allow-list of well-known agent folders, and it verifies every destination stays inside its allow-listed folder before copying.
|
|
79
|
-
- **Pin the version** (`npx vps-hybrid-networking@1.0.
|
|
89
|
+
- **Pin the version** (`npx vps-hybrid-networking@1.0.1`) if you want reproducible installs, and read [`bin/install.mjs`](bin/install.mjs) — it is short on purpose.
|
|
80
90
|
- Prefer not to run third-party installers at all? Use `npx skills add` (which pulls straight from GitHub) or the manual copy above.
|
|
81
91
|
|
|
82
92
|
## What's inside
|
package/bin/install.mjs
CHANGED
|
@@ -42,6 +42,12 @@ if (!existsSync(join(source, 'SKILL.md'))) {
|
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
const home = homedir();
|
|
45
|
+
// Hermes Agent keeps its home in ~/.hermes on POSIX, but a native Windows
|
|
46
|
+
// install lives in %LOCALAPPDATA%\hermes — resolve per platform.
|
|
47
|
+
const hermesHome = process.platform === 'win32'
|
|
48
|
+
? join(process.env.LOCALAPPDATA ?? join(home, 'AppData', 'Local'), 'hermes')
|
|
49
|
+
: join(home, '.hermes');
|
|
50
|
+
|
|
45
51
|
const TARGETS = {
|
|
46
52
|
'claude-code': { label: 'Claude Code', skillsDir: join(home, '.claude', 'skills'), detectDir: join(home, '.claude') },
|
|
47
53
|
'antigravity': { label: 'Antigravity', skillsDir: join(home, '.gemini', 'config', 'skills'), detectDir: join(home, '.gemini') },
|
|
@@ -49,6 +55,17 @@ const TARGETS = {
|
|
|
49
55
|
'gemini-cli': { label: 'Gemini CLI', skillsDir: join(home, '.gemini', 'skills'), detectDir: join(home, '.gemini') },
|
|
50
56
|
'opencode': { label: 'OpenCode', skillsDir: join(home, '.config', 'opencode', 'skills'), detectDir: join(home, '.config', 'opencode') },
|
|
51
57
|
'cursor': { label: 'Cursor', skillsDir: join(home, '.cursor', 'skills'), detectDir: join(home, '.cursor') },
|
|
58
|
+
'hermes': { label: 'Hermes Agent', skillsDir: join(hermesHome, 'skills'), detectDir: hermesHome },
|
|
59
|
+
'cline': { label: 'Cline', skillsDir: join(home, '.agents', 'skills'), detectDir: join(home, '.cline') },
|
|
60
|
+
'roo': { label: 'Roo Code', skillsDir: join(home, '.roo', 'skills'), detectDir: join(home, '.roo') },
|
|
61
|
+
'goose': { label: 'Goose', skillsDir: join(home, '.config', 'goose', 'skills'), detectDir: join(home, '.config', 'goose') },
|
|
62
|
+
'amp': { label: 'Amp', skillsDir: join(home, '.config', 'agents', 'skills'), detectDir: join(home, '.config', 'amp') },
|
|
63
|
+
'windsurf': { label: 'Windsurf', skillsDir: join(home, '.codeium', 'windsurf', 'skills'), detectDir: join(home, '.codeium') },
|
|
64
|
+
'kiro-cli': { label: 'Kiro CLI', skillsDir: join(home, '.kiro', 'skills'), detectDir: join(home, '.kiro') },
|
|
65
|
+
'qwen-code': { label: 'Qwen Code', skillsDir: join(home, '.qwen', 'skills'), detectDir: join(home, '.qwen') },
|
|
66
|
+
'github-copilot': { label: 'GitHub Copilot', skillsDir: join(home, '.copilot', 'skills'), detectDir: join(home, '.copilot') },
|
|
67
|
+
'trae': { label: 'Trae', skillsDir: join(home, '.trae', 'skills'), detectDir: join(home, '.trae') },
|
|
68
|
+
'continue': { label: 'Continue', skillsDir: join(home, '.continue', 'skills'), detectDir: join(home, '.continue') },
|
|
52
69
|
};
|
|
53
70
|
|
|
54
71
|
function parseArgs(argv) {
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"author":"Ananda Apriliansyah Cahya Utama","bin":{"vps-hybrid-networking":"bin/install.mjs"},"description":"Installer for the vps-hybrid-networking agent skill
|
|
1
|
+
{"author":"Ananda Apriliansyah Cahya Utama","bin":{"vps-hybrid-networking":"bin/install.mjs"},"description":"Installer for the vps-hybrid-networking agent skill \u2014 serves a NAT-blocked VPS via Tailscale + Cloudflare Tunnel + Caddy (DNS-01). Zero dependencies, no install hooks, no network access.","engines":{"node":">=18"},"files":["bin/install.mjs","skills","README.md","LICENSE"],"homepage":"https://github.com/AnandaAp/vps-hybrid-networking#readme","keywords":["agent-skill","claude-code","antigravity","codex","gemini-cli","opencode","cursor","hermes-agent","cline","roo-code","goose","amp","windsurf","kiro-cli","qwen-code","github-copilot","trae","continue","vps","caddy","cloudflare-tunnel","tailscale"],"license":"MIT","name":"vps-hybrid-networking","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/AnandaAp/vps-hybrid-networking.git"},"type":"module","version":"1.0.1"}
|