---
title: The dot Command
description: The dotfiles CLI, and the commands that are useful in a cloud session.
sidebar:
  label: Overview
---

`dot` is the compiled CLI for these dotfiles ([Bun](https://bun.sh) + [Effect](https://effect.website) v4). The setup script builds it from this branch and links it to `~/.local/bin/dot`. It carries the server's commands, but most of them set up or maintain a real machine, so only a few are useful in a session.

## In a session

| Command | Purpose |
| --- | --- |
| `dot cloud setup` | Link the Claude Code settings, write the instructions and link the skills; the setup script runs it |
| `dot cloud session-start` | The session start hook; see [Claude Code](/claude/overview/#session-start) |
| `dot repo` | List or fuzzy-search the tracked repositories |
| `dot git diff` | Dirty, ahead and behind state across the repositories on disk |
| `dot skills` | Validate, import and update skills, run from a skills checkout |
| `dot agent detect` | Detect whether the current process is under an AI agent |
| `dot agent lint` | Run a repository's configured lint commands on changed files |
| `dot run` | Run a command with a deadline and process-group cleanup |

Commands that read GitHub through `gh` GraphQL, such as parts of `dot pr`, fail in a session, because the session's GitHub proxy blocks GraphQL.

## Machine commands

`dot init`, `update`, `stow`, `doctor`, `services`, `herdr` and the other setup, service and desktop helpers expect a machine with stowed config and user services. Leave them for the [server](https://ubuntu-server.dotfiles.timmo.dev/dot/overview/) and [desktop](https://dotfiles.timmo.dev/dot/overview/) builds.

Full flags and subcommands: [Command Reference](/dot/commands/) (generated from `dot/src/cli/spec.ts`), `dot --help`, or `dot help <command>`.
