# `OpenCode.Generated.Instance`
[🔗](https://github.com/UtkarshUsername/opencode-sdk-elixir/blob/v0.1.84/lib/opencode/generated/instance.ex#L1)

Provides API endpoints related to instance

# `app_skills_200_json_resp`

```elixir
@type app_skills_200_json_resp() :: %{
  content: String.t(),
  description: String.t() | nil,
  location: String.t(),
  name: String.t()
}
```

# `vcs_apply_200_json_resp`

```elixir
@type vcs_apply_200_json_resp() :: %{applied: boolean()}
```

# `app_agents`

```elixir
@spec app_agents(opts :: keyword()) ::
  {:ok, [OpenCode.Generated.Agent.t()]}
  | {:error, OpenCode.Generated.BadRequestError.t()}
```

List agents

Get a list of all available AI agents in the OpenCode system.

## Options

  * `directory`
  * `workspace`

# `app_skills`

```elixir
@spec app_skills(opts :: keyword()) ::
  {:ok, [app_skills_200_json_resp()]}
  | {:error, OpenCode.Generated.BadRequestError.t()}
```

List skills

Get a list of all available skills in the OpenCode system.

## Options

  * `directory`
  * `workspace`

# `command_list`

```elixir
@spec command_list(opts :: keyword()) ::
  {:ok, [OpenCode.Generated.Command.t()]}
  | {:error, OpenCode.Generated.BadRequestError.t()}
```

List commands

Get a list of all available commands in the OpenCode system.

## Options

  * `directory`
  * `workspace`

# `formatter_status`

```elixir
@spec formatter_status(opts :: keyword()) ::
  {:ok, [OpenCode.Generated.FormatterStatus.t()]}
  | {:error, OpenCode.Generated.BadRequestError.t()}
```

Get formatter status

Get formatter status

## Options

  * `directory`
  * `workspace`

# `instance_dispose`

```elixir
@spec instance_dispose(opts :: keyword()) ::
  {:ok, boolean()} | {:error, OpenCode.Generated.BadRequestError.t()}
```

Dispose instance

Clean up and dispose the current OpenCode instance, releasing all resources.

## Options

  * `directory`
  * `workspace`

# `lsp_status`

```elixir
@spec lsp_status(opts :: keyword()) ::
  {:ok, [OpenCode.Generated.LSPStatus.t()]}
  | {:error, OpenCode.Generated.BadRequestError.t()}
```

Get LSP status

Get LSP server status

## Options

  * `directory`
  * `workspace`

# `path_get`

```elixir
@spec path_get(opts :: keyword()) ::
  {:ok, OpenCode.Generated.Path.t()}
  | {:error, OpenCode.Generated.BadRequestError.t()}
```

Get paths

Retrieve the current working directory and related path information for the OpenCode instance.

## Options

  * `directory`
  * `workspace`

# `vcs_apply`

```elixir
@spec vcs_apply(body :: map(), opts :: keyword()) ::
  {:ok, vcs_apply_200_json_resp()}
  | {:error,
     OpenCode.Generated.InvalidRequestError.t()
     | OpenCode.Generated.VcsApplyError.t()}
```

Apply VCS patch

Apply a raw patch to the current working tree.

## Options

  * `directory`
  * `workspace`

## Request Body

**Content Types**: `application/json`

# `vcs_diff`

```elixir
@spec vcs_diff(opts :: keyword()) ::
  {:ok, [OpenCode.Generated.VcsFileDiff.t()]}
  | {:error, OpenCode.Generated.BadRequestError.t()}
```

Get VCS diff

Retrieve the current git diff for the working tree or against the default branch.

## Options

  * `directory`
  * `workspace`
  * `mode`
  * `context`

# `vcs_diff_raw`

```elixir
@spec vcs_diff_raw(opts :: keyword()) ::
  {:ok, String.t()} | {:error, OpenCode.Generated.BadRequestError.t()}
```

Get raw VCS diff

Retrieve a raw patch for current uncommitted changes.

## Options

  * `directory`
  * `workspace`

# `vcs_get`

```elixir
@spec vcs_get(opts :: keyword()) ::
  {:ok, OpenCode.Generated.VcsInfo.t()}
  | {:error, OpenCode.Generated.BadRequestError.t()}
```

Get VCS info

Retrieve version control system (VCS) information for the current project, such as git branch.

## Options

  * `directory`
  * `workspace`

# `vcs_status`

```elixir
@spec vcs_status(opts :: keyword()) ::
  {:ok, [OpenCode.Generated.VcsFileStatus.t()]}
  | {:error, OpenCode.Generated.BadRequestError.t()}
```

Get VCS status

Retrieve changed files in the current working tree without patches.

## Options

  * `directory`
  * `workspace`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
