Skip to content

Commit 75ff17a

Browse files
peterschmidt85Andrey Cheptsovclaude
authored
Add AI agent skills to README; keep termy cursor on trailing prompt (#3703)
- Add "Install AI agent skills" section to README - Align README headers with docs (Launch the server, Install the CLI) - Mention agent skills as a first-class way to apply configurations - Simplify README installation section (consolidate uv/pip) - Fix termynal.js to keep blinking cursor on last input line when no output follows it Co-authored-by: Andrey Cheptsov <andrey.cheptsov@github.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent a61cc26 commit 75ff17a

File tree

3 files changed

+69
-48
lines changed

3 files changed

+69
-48
lines changed

README.md

Lines changed: 20 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -38,43 +38,21 @@ It streamlines development, training, and inference, and is compatible with any
3838
<img src="https://dstack.ai/static-assets/static-assets/images/dstack-architecture-diagram-v11.svg" width="750" />
3939
</picture>
4040

41-
### Installation
41+
### Launch the server
4242

43-
> Before using `dstack` through CLI or API, set up a `dstack` server. If you already have a running `dstack` server, you only need to [set up the CLI](#set-up-the-cli).
43+
> Before using `dstack` through CLI or API, set up a `dstack` server. If you already have a running `dstack` server, you only need to [install the CLI](#install-the-cli).
4444
45-
#### Set up the server
46-
47-
##### Configure backends
48-
49-
To orchestrate compute across GPU clouds or Kubernetes clusters, you need to configure backends.
50-
51-
Backends can be set up in `~/.dstack/server/config.yml` or through the [project settings page](https://dstack.ai/docs/concepts/projects#backends) in the UI.
52-
53-
For more details, see [Backends](https://dstack.ai/docs/concepts/backends).
45+
To orchestrate compute across GPU clouds or Kubernetes clusters, you need to [configure backends](https://dstack.ai/docs/concepts/backends).
5446

5547
> When using `dstack` with on-prem servers, backend configuration isn’t required. Simply create [SSH fleets](https://dstack.ai/docs/concepts/fleets#ssh-fleets) once the server is up.
5648
57-
##### Start the server
58-
59-
You can install the server on Linux, macOS, and Windows (via WSL 2). It requires Git and
49+
The server can be installed on Linux, macOS, and Windows (via WSL 2). It requires Git and
6050
OpenSSH.
6151

62-
##### uv
63-
6452
```shell
6553
$ uv tool install "dstack[all]" -U
66-
```
67-
68-
##### pip
69-
70-
```shell
71-
$ pip install "dstack[all]" -U
72-
```
73-
74-
Once it's installed, go ahead and start the server.
75-
76-
```shell
7754
$ dstack server
55+
7856
Applying ~/.dstack/server/config.yml...
7957

8058
The admin token is "bbae0f28-d3dd-4820-bf61-8f4bb40815da"
@@ -84,27 +62,18 @@ The server is running at http://127.0.0.1:3000/
8462
> For more details on server configuration options, see the
8563
[Server deployment](https://dstack.ai/docs/guides/server-deployment) guide.
8664

65+
### Install the CLI
8766

88-
<details><summary>Set up the CLI</summary>
89-
90-
#### Set up the CLI
67+
<details><summary>If the CLI is not installed with the server</summary>
9168

92-
Once the server is up, you can access it via the `dstack` CLI.
69+
Once the server is up, you can access it via the `dstack` CLI.
9370

9471
The CLI can be installed on Linux, macOS, and Windows. It requires Git and OpenSSH.
9572

96-
##### uv
97-
9873
```shell
9974
$ uv tool install dstack -U
10075
```
10176

102-
##### pip
103-
104-
```shell
105-
$ pip install dstack -U
106-
```
107-
10877
To point the CLI to the `dstack` server, configure it
10978
with the server address, user token, and project name:
11079

@@ -113,12 +82,22 @@ $ dstack project add \
11382
--name main \
11483
--url http://127.0.0.1:3000 \
11584
--token bbae0f28-d3dd-4820-bf61-8f4bb40815da
116-
85+
11786
Configuration is updated at ~/.dstack/config.yml
11887
```
11988

12089
</details>
12190

91+
### Install AI agent skills
92+
93+
Install [skills](https://skills.sh/dstackai/dstack/dstack) to help AI agents use the `dstack` CLI and edit configuration files.
94+
95+
```shell
96+
$ npx skills add dstackai/dstack
97+
```
98+
99+
AI agents like Claude, Codex, and Cursor can now create and manage fleets and submit workloads on your behalf.
100+
122101
### Define configurations
123102

124103
`dstack` supports the following configurations:
@@ -133,7 +112,7 @@ Configuration can be defined as YAML files within your repo.
133112

134113
### Apply configurations
135114

136-
Apply the configuration either via the `dstack apply` CLI command or through a programmatic API.
115+
Apply the configuration via the `dstack apply` CLI command, a programmatic API, or through [AI agent skills](#install-ai-agent-skills).
137116

138117
`dstack` automatically manages provisioning, job queuing, auto-scaling, networking, volumes, run failures,
139118
out-of-capacity errors, port-forwarding, and more &mdash; across clouds and on-prem clusters.

docs/assets/javascripts/termynal.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,21 @@ class Termynal {
119119

120120
line.removeAttribute(`${this.pfx}-cursor`);
121121
}
122+
// Keep cursor visible if the last input has no output after it
123+
let lastInputIdx = -1;
124+
let hasOutputAfter = false;
125+
for (let i = this.lines.length - 1; i >= 0; i--) {
126+
if (this.lines[i].getAttribute(this.pfx) === 'input') {
127+
lastInputIdx = i;
128+
break;
129+
}
130+
if (this.lines[i].textContent.trim()) {
131+
hasOutputAfter = true;
132+
}
133+
}
134+
if (lastInputIdx >= 0 && !hasOutputAfter) {
135+
this.lines[lastInputIdx].setAttribute(`${this.pfx}-cursor`, this.cursor);
136+
}
122137
this.addRestart()
123138
this.finishElement.style.visibility = 'hidden'
124139
this.lineDelay = this.originalLineDelay

docs/docs/installation.md

Lines changed: 34 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ description: How to install the dstack server and CLI
99
If you don't want to host the `dstack` server (or want to access GPU marketplace),
1010
skip installation and proceed to [dstack Sky](https://sky.dstack.ai). -->
1111

12-
## Set up the server
12+
## Launch the server
1313

1414
The server can run on your laptop or any environment with access to the cloud and on-prem clusters you plan to use.
1515

@@ -70,11 +70,11 @@ The server can run on your laptop or any environment with access to the cloud an
7070

7171
For more details on server deployment options, see the [Server deployment](guides/server-deployment.md) guide.
7272

73-
### Configure backends
73+
!!! info "Configure backends"
7474

75-
> To orchestrate compute across GPU clouds or Kubernetes clusters, you need to configure [backends](concepts/backends.md).
75+
To orchestrate compute across GPU clouds or Kubernetes clusters, you need to configure [backends](concepts/backends.md).
7676

77-
## Set up the CLI
77+
## Install the CLI
7878

7979
Once the server is up, you can access it via the `dstack` CLI.
8080

@@ -175,7 +175,7 @@ Once the server is up, you can access it via the `dstack` CLI.
175175
> If you get an error similar to `2: command not found: compdef`, then add the following line to the beginning of your `~/.zshrc` file:
176176
> `autoload -Uz compinit && compinit`.
177177

178-
### Configure the default project
178+
### Configure the project
179179

180180
To point the CLI to the `dstack` server, configure it
181181
with the server address, user token, and project name:
@@ -195,7 +195,7 @@ Configuration is updated at ~/.dstack/config.yml
195195

196196
This configuration is stored in `~/.dstack/config.yml`.
197197

198-
### Install agent skills
198+
## Install AI agent skills
199199

200200
Install [skills](https://skills.sh/dstackai/dstack/dstack) to help AI agents use the `dstack` CLI and edit configuration files.
201201

@@ -207,7 +207,34 @@ $ npx skills add dstackai/dstack
207207

208208
</div>
209209

210-
Agent skills are experimental. Share your feedback via [GitHub issues](https://github.com/dstackai/dstack/issues).
210+
AI agents like Claude, Codex, and Cursor can now create and manage fleets and submit workloads on your behalf.
211+
212+
<div class="termy">
213+
214+
```shell
215+
▐▛███▜▌ Claude Code v2.1.83
216+
▝▜█████▛▘ Opus 4.6 (1M context) · Claude Team
217+
▘▘ ▝▝ ~/skills-demo
218+
219+
$ /dstack
220+
221+
dstack skill loaded. How can I help? For example:
222+
223+
- Apply a configuration (*.dstack.yml)
224+
- Check run status (dstack ps)
225+
- Manage fleets, volumes, or services
226+
- Create or edit a dstack configuration
227+
- Troubleshoot provisioning or connectivity issues
228+
229+
What would you like to do?
230+
231+
$
232+
```
233+
234+
</div>
235+
236+
!!! info "Feedback"
237+
We're actively improving Skills and would love your feedback in [GitHub issues](https://github.com/dstackai/dstack/issues).
211238

212239
!!! info "What's next?"
213240
1. See [Backends](concepts/backends.md)

0 commit comments

Comments
 (0)