# Compute

import { CardGrid } from "@astrojs/starlight/components"
import LinkCard from "@/components/starlight/LinkCard.astro"

Agents need a place to run, configuration to shape their behavior, and isolation boundaries to keep workloads separate. Ren's compute model is built around three primitives: [pods](/docs/deep-dives/concepts/compute/pods/) provide the runtime environment, [projects](/docs/deep-dives/concepts/compute/projects/) group related agents and resources, and [environments](/docs/deep-dives/concepts/compute/environments/) configure how pods are provisioned.

<CardGrid>
  <LinkCard title="Pods" icon="seti:default" href="/docs/deep-dives/concepts/compute/pods/">
    The top-level workspace where agents execute.
  </LinkCard>
  <LinkCard title="Projects" icon="seti:folder" href="/docs/deep-dives/concepts/compute/projects/">
    Groups of agents, skills, and stores.
  </LinkCard>
  <LinkCard title="Environments" icon="seti:config" href="/docs/deep-dives/concepts/compute/environments/">
    Configuration and isolation boundaries.
  </LinkCard>
</CardGrid>