---
url: 'https://adk.nht.io/api/@nhtio/adk/batteries/dev-tools/interfaces/DevChain.md'
description: Chainable development plan builder.
---

# Interface: DevChain

Defined in: [src/batteries/dev\_tools/types.ts:327](https://github.com/NHTIO/ADK/blob/master/src/src/batteries/dev_tools/types.ts#L327)

Chainable development plan builder.

## Extends

* `PromiseLike`<[`DevResult`](DevResult.md)>

## Methods

### applyPatch()

```ts
applyPatch(args: {
  patch: string;
}): DevChain;
```

Defined in: [src/batteries/dev\_tools/types.ts:333](https://github.com/NHTIO/ADK/blob/master/src/src/batteries/dev_tools/types.ts#L333)

Append a structured patch step.

#### Parameters

| Parameter    | Type                     |
| ------------ | ------------------------ |
| `args`       | { `patch`: `string`; } |
| `args.patch` | `string`                 |

#### Returns

`DevChain`

***

### check()

```ts
check(): DevChain;
```

Defined in: [src/batteries/dev\_tools/types.ts:341](https://github.com/NHTIO/ADK/blob/master/src/src/batteries/dev_tools/types.ts#L341)

Append a whole-workspace checker step.

#### Returns

`DevChain`

***

### edit()

```ts
edit(args: {
  edits: readonly {
     find: string;
     replace: string;
  }[];
  path: string;
}): DevChain;
```

Defined in: [src/batteries/dev\_tools/types.ts:331](https://github.com/NHTIO/ADK/blob/master/src/src/batteries/dev_tools/types.ts#L331)

Append deterministic find-and-replace edits to the plan.

#### Parameters

| Parameter    | Type                                                                                      |
| ------------ | ----------------------------------------------------------------------------------------- |
| `args`       | { `edits`: readonly { `find`: `string`; `replace`: `string`; }\[]; `path`: `string`; } |
| `args.edits` | readonly { `find`: `string`; `replace`: `string`; }\[]                                   |
| `args.path`  | `string`                                                                                  |

#### Returns

`DevChain`

***

### format()

```ts
format(args?: {
  paths?: readonly string[];
}): DevChain;
```

Defined in: [src/batteries/dev\_tools/types.ts:337](https://github.com/NHTIO/ADK/blob/master/src/src/batteries/dev_tools/types.ts#L337)

Append a formatter step.

#### Parameters

| Parameter     | Type                                 |
| ------------- | ------------------------------------ |
| `args?`       | { `paths?`: readonly `string`\[]; } |
| `args.paths?` | readonly `string`\[]                  |

#### Returns

`DevChain`

***

### lint()

```ts
lint(args?: {
  fix?: boolean;
  paths?: readonly string[];
}): DevChain;
```

Defined in: [src/batteries/dev\_tools/types.ts:339](https://github.com/NHTIO/ADK/blob/master/src/src/batteries/dev_tools/types.ts#L339)

Append a linter step, optionally granting fix permission.

#### Parameters

| Parameter     | Type                                                    |
| ------------- | ------------------------------------------------------- |
| `args?`       | { `fix?`: `boolean`; `paths?`: readonly `string`\[]; } |
| `args.fix?`   | `boolean`                                               |
| `args.paths?` | readonly `string`\[]                                     |

#### Returns

`DevChain`

***

### readLines()

```ts
readLines(args: {
  end?: number;
  label?: string;
  path: string;
  start: number;
}): DevChain;
```

Defined in: [src/batteries/dev\_tools/types.ts:329](https://github.com/NHTIO/ADK/blob/master/src/src/batteries/dev_tools/types.ts#L329)

Append a line-reading step; label is lifted to the operation metadata.

#### Parameters

| Parameter     | Type                                                                             |
| ------------- | -------------------------------------------------------------------------------- |
| `args`        | { `end?`: `number`; `label?`: `string`; `path`: `string`; `start`: `number`; } |
| `args.end?`   | `number`                                                                         |
| `args.label?` | `string`                                                                         |
| `args.path`   | `string`                                                                         |
| `args.start`  | `number`                                                                         |

#### Returns

`DevChain`

***

### run()

```ts
run(options?: RunOptions): Promise<DevResult>;
```

Defined in: [src/batteries/dev\_tools/types.ts:343](https://github.com/NHTIO/ADK/blob/master/src/src/batteries/dev_tools/types.ts#L343)

Execute this immutable chain, overriding its open-time options when supplied.

#### Parameters

| Parameter  | Type                          |
| ---------- | ----------------------------- |
| `options?` | [`RunOptions`](RunOptions.md) |

#### Returns

`Promise`<[`DevResult`](DevResult.md)>

***

### toOps()

```ts
toOps(): DevOp[];
```

Defined in: [src/batteries/dev\_tools/types.ts:345](https://github.com/NHTIO/ADK/blob/master/src/src/batteries/dev_tools/types.ts#L345)

Return the serializable operations currently held by this chain.

#### Returns

[`DevOp`](../type-aliases/DevOp.md)\[]

***

### write()

```ts
write(args?: {
  paths?: readonly string[];
}): DevChain;
```

Defined in: [src/batteries/dev\_tools/types.ts:335](https://github.com/NHTIO/ADK/blob/master/src/src/batteries/dev_tools/types.ts#L335)

Append the persistence step, optionally restricted to normalized paths.

#### Parameters

| Parameter     | Type                                 |
| ------------- | ------------------------------------ |
| `args?`       | { `paths?`: readonly `string`\[]; } |
| `args.paths?` | readonly `string`\[]                  |

#### Returns

`DevChain`
