devsh 0.1.0 → 0.1.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/.agents/skills/devsh/SKILL.md +150 -0
- package/package.json +7 -6
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: devsh
|
|
3
|
+
description: CLI for cloud dev VMs. Install via npm for production, or build from local source for development/testing.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# devsh - Cloud VMs for Development
|
|
7
|
+
|
|
8
|
+
> **Note**: `devsh` can be installed via npm for production use, or built from local source (`packages/devsh`) when developing or testing the CLI itself.
|
|
9
|
+
|
|
10
|
+
| Install | Purpose | Command |
|
|
11
|
+
|--------|---------|--------------|
|
|
12
|
+
| npm | Production CLI | `npm install -g devsh` |
|
|
13
|
+
| source | Development build | `make install-devsh-dev` |
|
|
14
|
+
|
|
15
|
+
## Pre-flight Check
|
|
16
|
+
|
|
17
|
+
Before using `devsh` commands, verify installation:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
which devsh || ~/.local/bin/devsh --version
|
|
21
|
+
|
|
22
|
+
# If not found, build and install from source:
|
|
23
|
+
make install-devsh-dev
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Quick Start
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
devsh auth login # Authenticate (opens browser)
|
|
30
|
+
devsh start ./my-project # Create VM, sync directory
|
|
31
|
+
devsh start -p pve-lxc . # Create VM with PVE LXC provider
|
|
32
|
+
devsh code <id> # Open VS Code in browser
|
|
33
|
+
devsh ssh <id> # SSH into VM
|
|
34
|
+
devsh exec <id> "npm run dev" # Run commands
|
|
35
|
+
devsh pause <id> # Pause VM
|
|
36
|
+
devsh resume <id> # Resume VM
|
|
37
|
+
devsh delete <id> # Delete VM
|
|
38
|
+
devsh ls # List all VMs
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Provider Selection
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
# Explicit provider
|
|
45
|
+
devsh start -p morph . # Use Morph
|
|
46
|
+
devsh start -p pve-lxc . # Use PVE LXC (self-hosted)
|
|
47
|
+
|
|
48
|
+
# Auto-detect from environment
|
|
49
|
+
export PVE_API_URL=https://pve.example.com
|
|
50
|
+
export PVE_API_TOKEN=root@pam!token=secret
|
|
51
|
+
devsh start . # Auto-selects pve-lxc when PVE env vars are set
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Commands
|
|
55
|
+
|
|
56
|
+
### Authentication
|
|
57
|
+
- `devsh auth login` - Login via browser
|
|
58
|
+
- `devsh auth logout` - Clear credentials
|
|
59
|
+
- `devsh auth status` - Show authentication status
|
|
60
|
+
- `devsh auth whoami` - Show current user
|
|
61
|
+
- `devsh login` - Shorthand for `auth login`
|
|
62
|
+
- `devsh logout` - Shorthand for `auth logout`
|
|
63
|
+
- `devsh whoami` - Shorthand for `auth whoami`
|
|
64
|
+
|
|
65
|
+
### VM Lifecycle
|
|
66
|
+
- `devsh start [path]` - Create VM, optionally sync directory
|
|
67
|
+
- `devsh start -p <provider>` - Specify provider (`morph`, `pve-lxc`)
|
|
68
|
+
- `devsh pause <id>` - Pause VM
|
|
69
|
+
- `devsh resume <id>` - Resume VM
|
|
70
|
+
- `devsh delete <id>` - Delete VM
|
|
71
|
+
- `devsh ls` - List VMs
|
|
72
|
+
- `devsh status <id>` - Show VM status and URLs
|
|
73
|
+
|
|
74
|
+
### Access VM
|
|
75
|
+
- `devsh code <id>` - Open VS Code in browser
|
|
76
|
+
- `devsh vnc <id>` - Open VNC desktop
|
|
77
|
+
- `devsh ssh <id>` - SSH into VM
|
|
78
|
+
|
|
79
|
+
### Work with VM
|
|
80
|
+
- `devsh exec <id> "<cmd>"` - Run command
|
|
81
|
+
- `devsh sync <id> <path>` - Sync files to VM
|
|
82
|
+
- `devsh sync <id> <path> --pull` - Pull files from VM
|
|
83
|
+
|
|
84
|
+
### Task Management
|
|
85
|
+
Tasks are the same as in the web app dashboard. CLI and web sync through Convex.
|
|
86
|
+
|
|
87
|
+
- `devsh task list` - List active tasks
|
|
88
|
+
- `devsh task list --archived` - List archived tasks
|
|
89
|
+
- `devsh task create --repo owner/repo --agent claude-code "prompt"` - Create task
|
|
90
|
+
- `devsh task show <task-id>` - Get task details and runs
|
|
91
|
+
- `devsh task stop <task-id>` - Stop/archive task
|
|
92
|
+
- `devsh task memory <task-run-id>` - View agent memory for a task run
|
|
93
|
+
|
|
94
|
+
### Agent Memory
|
|
95
|
+
View agent memory snapshots synced from sandboxes when agents complete.
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
devsh task memory <task-id> # View memory (uses latest run)
|
|
99
|
+
devsh task memory <task-run-id> # View specific run's memory
|
|
100
|
+
devsh task memory <task-id> -t knowledge # Filter by type
|
|
101
|
+
devsh task memory <task-id> -t daily # Daily logs only
|
|
102
|
+
devsh task memory <task-id> --json # JSON output
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
Accepts either task ID (`p17...`) or task run ID (`ns7...`).
|
|
106
|
+
Memory types: `knowledge`, `daily`, `tasks`, `mailbox`
|
|
107
|
+
|
|
108
|
+
### Team Management
|
|
109
|
+
- `devsh team list` - List your teams
|
|
110
|
+
- `devsh team switch <team-slug>` - Switch to a different team
|
|
111
|
+
|
|
112
|
+
### Agent Management
|
|
113
|
+
- `devsh agent list` - List available coding agents
|
|
114
|
+
|
|
115
|
+
### Browser Automation
|
|
116
|
+
- `devsh computer snapshot <id>` - Get accessibility tree
|
|
117
|
+
- `devsh computer open <id> <url>` - Navigate browser
|
|
118
|
+
- `devsh computer click <id> @e1` - Click element
|
|
119
|
+
- `devsh computer screenshot <id>` - Take screenshot
|
|
120
|
+
|
|
121
|
+
## Building from Source
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
# From repo root
|
|
125
|
+
make install-devsh-dev
|
|
126
|
+
|
|
127
|
+
# Or manually
|
|
128
|
+
cd packages/devsh
|
|
129
|
+
make build-dev
|
|
130
|
+
cp bin/devsh ~/.local/bin/
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
## Environment Variables
|
|
134
|
+
|
|
135
|
+
| Variable | Description |
|
|
136
|
+
| --- | --- |
|
|
137
|
+
| `PVE_API_URL` | Proxmox VE API URL |
|
|
138
|
+
| `PVE_API_TOKEN` | Proxmox VE API token |
|
|
139
|
+
| `PVE_PUBLIC_DOMAIN` | Public domain for Cloudflare Tunnel (optional) |
|
|
140
|
+
| `PVE_NODE` | Proxmox node name (optional, auto-detected) |
|
|
141
|
+
| `PVE_VERIFY_TLS` | Set to `1` to verify PVE TLS certs (optional) |
|
|
142
|
+
| `MORPH_API_KEY` | Morph Cloud API key |
|
|
143
|
+
| `DEVSH_DEV=1` | Use development backend defaults |
|
|
144
|
+
|
|
145
|
+
## Create Symlinks for Other Agents
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
mkdir -p .claude/skills
|
|
149
|
+
ln -s ../../.agents/skills/devsh .claude/skills/devsh
|
|
150
|
+
```
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "devsh",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "Cloud VMs for development - spawn isolated dev environments instantly",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cli",
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
"files": [
|
|
27
27
|
"bin",
|
|
28
28
|
"lib",
|
|
29
|
+
".agents",
|
|
29
30
|
"AGENTS.md",
|
|
30
31
|
"llms.txt"
|
|
31
32
|
],
|
|
@@ -33,11 +34,11 @@
|
|
|
33
34
|
"postinstall": "node lib/postinstall.js"
|
|
34
35
|
},
|
|
35
36
|
"optionalDependencies": {
|
|
36
|
-
"devsh-darwin-arm64": "0.1.
|
|
37
|
-
"devsh-darwin-x64": "0.1.
|
|
38
|
-
"devsh-linux-arm64": "0.1.
|
|
39
|
-
"devsh-linux-x64": "0.1.
|
|
40
|
-
"devsh-win32-x64": "0.1.
|
|
37
|
+
"devsh-darwin-arm64": "0.1.1",
|
|
38
|
+
"devsh-darwin-x64": "0.1.1",
|
|
39
|
+
"devsh-linux-arm64": "0.1.1",
|
|
40
|
+
"devsh-linux-x64": "0.1.1",
|
|
41
|
+
"devsh-win32-x64": "0.1.1"
|
|
41
42
|
},
|
|
42
43
|
"engines": {
|
|
43
44
|
"node": ">=16"
|