heyvm 1.0.0 → 1.0.2
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 +62 -28
- package/bin/heyvm-core +0 -0
- package/core/go.mod +3 -0
- package/core/go.sum +6 -0
- package/package.json +1 -1
- package/ui/dist/index.js +50698 -5449
- package/ui/dist/screens/VMDetailScreen.d.ts.map +1 -1
- package/ui/dist/screens/VMDetailScreen.js +10 -4
- package/ui/dist/screens/VMDetailScreen.js.map +1 -1
- package/ui/dist/screens/tabs/FilesTab.d.ts +2 -2
- package/ui/dist/screens/tabs/FilesTab.d.ts.map +1 -1
- package/ui/dist/screens/tabs/FilesTab.ink-original.d.ts +10 -0
- package/ui/dist/screens/tabs/FilesTab.ink-original.d.ts.map +1 -0
- package/ui/dist/screens/tabs/FilesTab.ink-original.js +420 -0
- package/ui/dist/screens/tabs/FilesTab.ink-original.js.map +1 -0
- package/ui/dist/screens/tabs/FilesTab.js +289 -311
- package/ui/dist/screens/tabs/FilesTab.js.map +1 -1
- package/ui/package.json +5 -2
- package/ui/scripts/build.js +56 -0
- package/bin/file-browser +0 -0
- package/bin/heyvm +0 -0
package/README.md
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# heyvm
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/heyvm)
|
|
4
|
-
[](https://opensource.org/licenses/MIT)
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
A zero-config, interactive terminal UI to connect, manage, and transfer files to VMs over SSH
|
|
7
7
|
|
|
8
8
|
## Overview
|
|
9
9
|
|
|
@@ -66,7 +66,7 @@ These components communicate via **JSON-RPC over stdio**, providing process isol
|
|
|
66
66
|
Install heyvm globally via npm:
|
|
67
67
|
|
|
68
68
|
```bash
|
|
69
|
-
npm install -g heyvm
|
|
69
|
+
npm install -g heyvm@latest
|
|
70
70
|
```
|
|
71
71
|
|
|
72
72
|
Then run from anywhere:
|
|
@@ -81,7 +81,7 @@ For development or contributing:
|
|
|
81
81
|
|
|
82
82
|
```bash
|
|
83
83
|
# Clone the repository
|
|
84
|
-
git clone https://github.com/
|
|
84
|
+
git clone https://github.com/adishM98/heyvm.git
|
|
85
85
|
cd heyvm
|
|
86
86
|
|
|
87
87
|
# Install dependencies for both UI and Core backend
|
|
@@ -106,6 +106,45 @@ make run
|
|
|
106
106
|
|
|
107
107
|
The UI will start in your terminal, and the Go backend will run as a background process communicating via stdio.
|
|
108
108
|
|
|
109
|
+
### Uninstalling heyvm
|
|
110
|
+
|
|
111
|
+
To completely remove heyvm from your system:
|
|
112
|
+
|
|
113
|
+
**1. Uninstall the package**
|
|
114
|
+
|
|
115
|
+
If installed globally via npm:
|
|
116
|
+
```bash
|
|
117
|
+
npm uninstall -g heyvm
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
If installed from source:
|
|
121
|
+
```bash
|
|
122
|
+
# Simply delete the cloned repository
|
|
123
|
+
rm -rf /path/to/heyvm
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
**2. Remove configuration and data**
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
# Remove all heyvm configuration, state, and logs
|
|
130
|
+
rm -rf ~/.heyvm
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
This removes:
|
|
134
|
+
- VM definitions (`config.yaml`)
|
|
135
|
+
- Runtime state (`state.json`)
|
|
136
|
+
- SSH known hosts (`known_hosts`)
|
|
137
|
+
- Application logs (`logs/`)
|
|
138
|
+
|
|
139
|
+
**3. Remove stored passwords (optional)**
|
|
140
|
+
|
|
141
|
+
Passwords stored in the OS keychain need to be removed manually:
|
|
142
|
+
|
|
143
|
+
- **macOS**: Open "Keychain Access" app → Search for "heyvm" → Delete entries
|
|
144
|
+
- **Linux**: Use your keyring manager (GNOME Keyring, KWallet, etc.)
|
|
145
|
+
|
|
146
|
+
**Note**: SSH keys are never copied or stored by heyvm, so no additional cleanup is needed for key-based authentication.
|
|
147
|
+
|
|
109
148
|
## Usage
|
|
110
149
|
|
|
111
150
|
### Interface Layout
|
|
@@ -304,8 +343,7 @@ heyvm/
|
|
|
304
343
|
├── core/ # Backend - Go
|
|
305
344
|
│ ├── cmd/
|
|
306
345
|
│ │ ├── heyvm-core/ # Main backend entry point
|
|
307
|
-
│ │
|
|
308
|
-
│ │ └── file-browser/ # Standalone file browser
|
|
346
|
+
│ │ └── heyvm/ # CLI wrapper
|
|
309
347
|
│ ├── internal/
|
|
310
348
|
│ │ ├── auth/ # Authentication providers
|
|
311
349
|
│ │ │ ├── provider.go
|
|
@@ -324,11 +362,10 @@ heyvm/
|
|
|
324
362
|
│ │ │ ├── manager.go
|
|
325
363
|
│ │ │ ├── session.go
|
|
326
364
|
│ │ │ └── errors.go
|
|
327
|
-
│ │
|
|
328
|
-
│ │
|
|
329
|
-
│ │
|
|
330
|
-
│ │
|
|
331
|
-
│ │ └── tui/ # Terminal UI utilities
|
|
365
|
+
│ │ └── vm/ # VM models and registry
|
|
366
|
+
│ │ ├── registry.go
|
|
367
|
+
│ │ ├── models.go
|
|
368
|
+
│ │ └── errors.go
|
|
332
369
|
│ └── go.mod
|
|
333
370
|
├── docs/ # Documentation
|
|
334
371
|
│ ├── PRD.md # Product requirements
|
|
@@ -336,9 +373,7 @@ heyvm/
|
|
|
336
373
|
│ ├── development.md # Development guide
|
|
337
374
|
│ └── exploration/ # Development notes
|
|
338
375
|
├── bin/ # Compiled binaries (generated)
|
|
339
|
-
│
|
|
340
|
-
│ ├── heyvm
|
|
341
|
-
│ └── file-browser
|
|
376
|
+
│ └── heyvm-core
|
|
342
377
|
├── build/ # Build artifacts (generated)
|
|
343
378
|
├── Makefile # Build automation
|
|
344
379
|
├── README.md # This file
|
|
@@ -534,7 +569,7 @@ While heyvm is designed to work without manual configuration, you can directly e
|
|
|
534
569
|
If you encounter issues:
|
|
535
570
|
|
|
536
571
|
1. Check the logs: `cat ~/.heyvm/logs/heyvm-core.log`
|
|
537
|
-
2. Review existing [GitHub Issues](https://github.com/
|
|
572
|
+
2. Review existing [GitHub Issues](https://github.com/adishm98/heyvm/issues)
|
|
538
573
|
3. Open a new issue with:
|
|
539
574
|
- heyvm version
|
|
540
575
|
- Operating system
|
|
@@ -543,16 +578,6 @@ If you encounter issues:
|
|
|
543
578
|
|
|
544
579
|
## Roadmap
|
|
545
580
|
|
|
546
|
-
### Current Features (Phase 1)
|
|
547
|
-
- ✅ VM management and storage
|
|
548
|
-
- ✅ SSH key and password authentication
|
|
549
|
-
- ✅ Split-pane TUI interface
|
|
550
|
-
- ✅ Full terminal emulator (xterm.js with ANSI/VT100 support)
|
|
551
|
-
- ✅ Terminal scrollback (1000 lines)
|
|
552
|
-
- ✅ Interactive programs support (vim, nano, htop, sudo)
|
|
553
|
-
- ✅ File browser with dual-pane view
|
|
554
|
-
- ✅ Secure credential storage
|
|
555
|
-
|
|
556
581
|
### Planned Features (Future Phases)
|
|
557
582
|
- 🔄 Cloud provider integration (AWS, Azure, GCP)
|
|
558
583
|
- 🔄 Bastion/jump host support
|
|
@@ -563,6 +588,17 @@ If you encounter issues:
|
|
|
563
588
|
- 🔄 Multi-VM command execution
|
|
564
589
|
- 🔄 SSH config import
|
|
565
590
|
|
|
591
|
+
## Project Maturity
|
|
592
|
+
|
|
593
|
+
heyvm is still in its early stages. While it solves real problems and is actively used, it hasn't been battle-tested across every edge case or environment.
|
|
594
|
+
|
|
595
|
+
If you encounter issues or have ideas for improvements:
|
|
596
|
+
- **Found a bug?** [Open an issue](https://github.com/adishM98/heyvm/issues) - detailed bug reports help immensely
|
|
597
|
+
- **Want a feature?** [Request it](https://github.com/adishM98/heyvm/issues) - I'd love to hear how heyvm can better fit your workflow
|
|
598
|
+
- **Want to customize it?** Fork the repository and make it your own! Add features, change behaviors, experiment freely
|
|
599
|
+
|
|
600
|
+
The beauty of open source is that you don't have to wait. If you need something now, fork it, build it, and if you think others might benefit, send a PR back. The project welcomes contributions of all kinds.
|
|
601
|
+
|
|
566
602
|
## Contributing
|
|
567
603
|
|
|
568
604
|
Contributions are welcome! Here's how you can help:
|
|
@@ -612,9 +648,7 @@ Built with:
|
|
|
612
648
|
|
|
613
649
|
## Support & Community
|
|
614
650
|
|
|
615
|
-
- **Issues**: [GitHub Issues](https://github.com/
|
|
616
|
-
- **Discussions**: [GitHub Discussions](https://github.com/adishm/heyvm/discussions)
|
|
617
|
-
- **Documentation**: [docs/](docs/)
|
|
651
|
+
- **Issues**: [GitHub Issues](https://github.com/adishM98/heyvm/issues)
|
|
618
652
|
|
|
619
653
|
---
|
|
620
654
|
|
package/bin/heyvm-core
CHANGED
|
Binary file
|
package/core/go.mod
CHANGED
|
@@ -17,8 +17,11 @@ require (
|
|
|
17
17
|
github.com/dvsekhvalnov/jose2go v1.5.0 // indirect
|
|
18
18
|
github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect
|
|
19
19
|
github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c // indirect
|
|
20
|
+
github.com/jesseduffield/gocui v0.3.0 // indirect
|
|
20
21
|
github.com/kr/fs v0.1.0 // indirect
|
|
22
|
+
github.com/mattn/go-runewidth v0.0.9 // indirect
|
|
21
23
|
github.com/mtibben/percent v0.2.1 // indirect
|
|
24
|
+
github.com/nsf/termbox-go v1.1.1 // indirect
|
|
22
25
|
github.com/stretchr/objx v0.5.2 // indirect
|
|
23
26
|
golang.org/x/sys v0.40.0 // indirect
|
|
24
27
|
golang.org/x/term v0.39.0 // indirect
|
package/core/go.sum
CHANGED
|
@@ -13,15 +13,21 @@ github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+
|
|
|
13
13
|
github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4=
|
|
14
14
|
github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c h1:6rhixN/i8ZofjG1Y75iExal34USq5p+wiN1tpie8IrU=
|
|
15
15
|
github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c/go.mod h1:NMPJylDgVpX0MLRlPy15sqSwOFv/U1GZ2m21JhFfek0=
|
|
16
|
+
github.com/jesseduffield/gocui v0.3.0 h1:l7wH8MKR2p+ozuZdtdhQiX7szILbv50vkMk1tg2+xow=
|
|
17
|
+
github.com/jesseduffield/gocui v0.3.0/go.mod h1:2RtZznzYKt8RLRwvFiSkXjU0Ei8WwHdubgnlaYH47dw=
|
|
16
18
|
github.com/kr/fs v0.1.0 h1:Jskdu9ieNAYnjxsi0LbQp1ulIKZV1LAFgK1tWhpZgl8=
|
|
17
19
|
github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
|
|
18
20
|
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
|
19
21
|
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
|
|
20
22
|
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
|
23
|
+
github.com/mattn/go-runewidth v0.0.9 h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/QdE+0=
|
|
24
|
+
github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
|
|
21
25
|
github.com/mtibben/percent v0.2.1 h1:5gssi8Nqo8QU/r2pynCm+hBQHpkB/uNK7BJCFogWdzs=
|
|
22
26
|
github.com/mtibben/percent v0.2.1/go.mod h1:KG9uO+SZkUp+VkRHsCdYQV3XSZrrSpR3O9ibNBTZrns=
|
|
23
27
|
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs=
|
|
24
28
|
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
|
|
29
|
+
github.com/nsf/termbox-go v1.1.1 h1:nksUPLCb73Q++DwbYUBEglYBRPZyoXJdrj5L+TkjyZY=
|
|
30
|
+
github.com/nsf/termbox-go v1.1.1/go.mod h1:T0cTdVuOwf7pHQNtfhnEbzHbcNyCEcVU4YPpouCbVxo=
|
|
25
31
|
github.com/pkg/sftp v1.13.10 h1:+5FbKNTe5Z9aspU88DPIKJ9z2KZoaGCu6Sr6kKR/5mU=
|
|
26
32
|
github.com/pkg/sftp v1.13.10/go.mod h1:bJ1a7uDhrX/4OII+agvy28lzRvQrmIQuaHrcI1HbeGA=
|
|
27
33
|
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|