# Installed software

The Ubuntu workspace comes with editors, AI agents, runtimes, Docker, and Git, so you can work without installing anything yourself.

> Source: https://www.mainpath.ai/en/docs/workspace-ubuntu-software/

The Ubuntu workspace is prepared for day-to-day work on platform projects. You get a desktop environment for editor, browser, and graphical tools, which you reach via [RDP]({{< relref "workspace-rdp" >}}) or, where offered, via [VNC]({{< relref "workspace-vnc" >}}). The exact versions of the tools depend on the project, because asdf reads them from the `.tool-versions` of the respective repository.

## Editors and AI agents

Cursor and Code Server are available for editing code. Cursor runs as a desktop program on the RDP desktop, while Code Server provides VS Code in the browser and is what sits behind the **Apps** button on the workspace card. Codex and Claude Code are installed for agentic work in the terminal. Skills, rules, and MCP come from the agent plugin (`mp agent install`) that ships with the workspace CLI. How you use the tools in a project is described under [Cursor, VS Code and Antigravity]({{< relref "vscode-cursor-antigravity" >}}), [Claude Code]({{< relref "claude-code" >}}), and [Codex]({{< relref "codex" >}}).

## Runtimes through asdf

asdf installs Node.js with npm, Flutter, and other runtimes in the version that the repository requests in its `.tool-versions`. This is why a backend can use a different Node version than the homepage without the two interfering. When you change into a repository folder in the terminal, the matching version applies there automatically, and `asdf current` shows it. The Flutter toolchain is only present if a project requires it. How asdf and the env files work together is described under [Local development]({{< relref "local-development" >}}).

## Docker

Docker and Docker Compose are installed so that backends can start their local services. In a backend repository, `mp run-local` brings up the database and other services from the Compose configuration before the development server starts. You do not need to operate Docker yourself for this. If a port is in use or old containers are still running, the notes under [Troubleshooting]({{< relref "workspace-vm-troubleshooting" >}}) help.

## Git and the mp CLI

Git is set up, and the repositories of your project are already cloned; you work with branches, commits, and push as on a local computer. The `ap` CLI is preinstalled. You use it to start applications, check the tools with `mp doctor`, and see the local ports of the repositories with `mp ports`. What else the CLI can do is described under [Starting applications]({{< relref "workspace-ubuntu-dev-scripts" >}}).

