# Built-in Resource Types

CleverAgents ships with several built-in resource types that cover common
filesystem and version-control workflows. Built-in types use simple
unnamespaced names and are registered automatically at startup.

## fs-mount

A physical mount point on the local system. Use this type to represent
the root of a filesystem hierarchy that CleverAgents should manage.

| Field | Value |
|---|---|
| **resource_kind** | physical |
| **sandbox_strategy** | copy_on_write |
| **user_addable** | true |
| **handler** | `cleveragents.resource.handlers.fs_mount` |

### CLI Arguments

| Name | Type | Required | Description |
|---|---|---|---|
| `path` | path | yes | Path to the mount point |

### Parent / Child Types

- **Parent types**: none (always top-level)
- **Child types**: `fs-directory`

### Auto-Discovery Rules

| Rule Type | Pattern | Description |
|---|---|---|
| `fs-directory` | `/` | Discovers the root directory under the mount |

### Capabilities

| Capability | Enabled |
|---|---|
| read | yes |
| write | yes |
| sandbox | yes |
| checkpoint | no |

---

## fs-directory

A filesystem directory. Can appear under a `git-checkout`, another
`fs-directory`, or an `fs-mount`.

| Field | Value |
|---|---|
| **resource_kind** | physical |
| **sandbox_strategy** | copy_on_write |
| **user_addable** | true |
| **handler** | `cleveragents.resource.handlers.fs_directory` |

### CLI Arguments

| Name | Type | Required | Description |
|---|---|---|---|
| `path` | path | yes | Path to the directory |

### Parent / Child Types

- **Parent types**: `git-checkout`, `fs-directory`, `fs-mount`
- **Child types**: `fs-directory`, `fs-file`, `fs-symlink`, `fs-hardlink`

### Auto-Discovery Rules

| Rule Type | Pattern | Description |
|---|---|---|
| `fs-directory` | `*/` | Discovers immediate subdirectories |
| `fs-file` | `*` | Discovers immediate files |

### Capabilities

| Capability | Enabled |
|---|---|
| read | yes |
| write | yes |
| sandbox | yes |
| checkpoint | no |

---

## fs-file

A regular file on the local filesystem. This type is auto-discovered
only; users cannot add it manually.

| Field | Value |
|---|---|
| **resource_kind** | physical |
| **sandbox_strategy** | copy_on_write |
| **user_addable** | false |
| **handler** | `cleveragents.resource.handlers.fs_file` |

### CLI Arguments

None (auto-discovered only).

### Parent / Child Types

- **Parent types**: `fs-directory`
- **Child types**: none

### Capabilities

| Capability | Enabled |
|---|---|
| read | yes |
| write | yes |
| sandbox | no |
| checkpoint | no |

---

## git-checkout

A local git repository checkout. Serves as a top-level entry point
for version-controlled projects.

| Field | Value |
|---|---|
| **resource_kind** | physical |
| **sandbox_strategy** | git_worktree |
| **user_addable** | true |
| **handler** | `cleveragents.resource.handlers.git_checkout` |

### CLI Arguments

| Name | Type | Required | Description |
|---|---|---|---|
| `path` | path | yes | Path to the local git repository |
| `branch` | string | no | Branch to checkout (default: current) |

### Parent / Child Types

- **Parent types**: none (always top-level)
- **Child types**: `git`, `fs-directory`

### Auto-Discovery Rules

| Rule Type | Pattern | Description |
|---|---|---|
| `git` | `.git` | Discovers git metadata |
| `fs-directory` | `**/` | Discovers all subdirectories recursively |

### Capabilities

| Capability | Enabled |
|---|---|
| read | yes |
| write | yes |
| sandbox | yes |
| checkpoint | yes |
