# Viam > Viam is a platform for building, operating, and managing robots and other machines. A machine runs viam-server, exposes its hardware and services through typed gRPC APIs, and can be discovered, observed, and operated from the CLI, from SDKs, or from an AI agent holding an API key. ## Start here for agents - [Use Viam from an AI agent](https://docs.viam.com/build-apps/use-viam-from-an-agent/): the model, the ways in, what to do before moving, and what the platform does when a session ends. - [Drive a machine from the CLI](https://docs.viam.com/cli/drive-a-machine/): discover resources, observe, plan motion, and stop, with exact method names and request shapes. - [Viam CLI reference](https://docs.viam.com/cli/reference/): every command, flag, and alias. ## Reference - [Component APIs](https://docs.viam.com/reference/apis/components/) - [Service APIs](https://docs.viam.com/reference/apis/services/) - [Machine management API](https://docs.viam.com/reference/apis/robot/) - [Fleet and data APIs](https://docs.viam.com/reference/apis/fleet/) - [Component configuration reference](https://docs.viam.com/reference/components/) - [Service configuration reference](https://docs.viam.com/reference/services/) ## Guides - [Set up a machine](https://docs.viam.com/set-up-a-machine/) - [Build apps with the SDKs](https://docs.viam.com/build-apps/) - [Motion planning](https://docs.viam.com/motion-planning/) - [Build and deploy modules](https://docs.viam.com/build-modules/) ## Markdown availability Every published page on this site also serves a Markdown version: drop the trailing slash from the page's URL and append `.md`. For example, the page at `https://docs.viam.com/reference/components/board/` is also available as `https://docs.viam.com/reference/components/board.md`. This works uniformly for every page, including section landing pages. Links inside these Markdown files are always absolute, never relative, so they resolve correctly regardless of where you fetched the page from. Most page content converts cleanly to Markdown syntax (headings, links, lists, bold, code). A minority of pages retain some embedded raw HTML for specific UI widgets (tabbed instructions nested inside step-by-step tables, glossary term tooltips, images, and card grids) rather than force-converting them — this HTML is valid inside a Markdown document and reads fine for both humans and machine readers; it just isn't pure Markdown syntax in those specific spots. Code samples are unaffected by this: they're always in real fenced code blocks with the correct language tag and exact original whitespace, never flattened or re-escaped.