# ethernaut-ai

> AI assistant that interprets user input and executes hardhat tasks

Latest version **1.1.11** (published 2024-04-08) · ISC license · 0 weekly downloads

## Install

```sh
npm install ethernaut-ai
pnpm add ethernaut-ai
yarn add ethernaut-ai
bun add ethernaut-ai
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.1.11 |
| Published | 2024-04-08 |
| First published | 2024-03-05 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 3 |
| Unpacked size | 446.3 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Alejandro Santander |
| Maintainers | theethernaut |

## Links

- npm: https://www.npmjs.com/package/ethernaut-ai
- npm.io page: https://npm.io/package/ethernaut-ai

## Dependencies (3)

- [chalk](https://npm.io/package/chalk.md) ^2.4.2
- [openai](https://npm.io/package/openai.md) ^4.26.0
- [copy-paste](https://npm.io/package/copy-paste.md) ^1.5.3

## Recent versions

- 1.1.11 (latest) — 2024-04-08
- 1.0.0-alpha.3 (alpha) — 2024-03-08
- 1.1.10 — 2024-03-23
- 1.1.4 — 2024-03-22
- 1.1.3 — 2024-03-22
- 1.1.0 — 2024-03-21
- 1.0.15 — 2024-03-17
- 1.0.14 — 2024-03-15
- 1.0.13 — 2024-03-15
- 1.0.12 — 2024-03-14
- 1.0.11 — 2024-03-14
- 1.0.9 — 2024-03-12
- 1.0.7 — 2024-03-11
- 1.0.3 — 2024-03-09
- 1.0.2 — 2024-03-09
- … 3 more at https://npm.io/package/ethernaut-ai/versions

## README

# ethernaut-ai

AI assistant that interprets user input and executes hardhat tasks

![Ai natural language interpretation](../../demos/interpret.gif)

## What

This plugin exposes all hardhat tasks to ChatGPT using the OpenAI assistants api, effectively producing an agent that knows how to use all the hardhat tasks in your project.

Additionally, the assistant can be used to explain why a particular natural language query was interpreted to a given command, or how the command itself works.

![Explain commands](../../demos/explain.gif)

The assistant is automatically rebuilt whenever any of the task descriptions or parameters change.

## Installation

```bash
npm install ethernaut-ai
```

Import the plugin in your `hardhat.config.js`:

```js
require('ethernaut-ai')
```

Or if you are using TypeScript, in your `hardhat.config.ts`:

```ts
import 'ethernaut-ai'
```

Note: This plugin will look for an OPENAI_API_KEY in the current working directory's .env file. When required tho, the plugin will use a prompt to collect the key.

## Required plugins

No other plugins are required.

## Tasks

This plugin adds the following tasks to hardhat:

- config Configures ai scope parameters
- interpret Interprets natural language into CLI commands

## Environment extensions

This plugin doesn't add any fields to the hre.

## Configuration

This plugin extends the `HardhatUserConfig`'s `ProjectPathsUserConfig` object with the following fields:

```
config.ethernaut.ai = {
  interpreter: {
    additionalInstructions: ['Always talk like a pirate']
  },
  explainer: {
    additionalInstructions: ['Dont be boring']
  },
}
```

## Usage

The plugin pre-parses input, so you can just type what you need:

```
npx hardhat I need to compile this project
```

However, if you need more fine grained control, you can use the `interpret` task within the `ai` scope:

```
npx hardhat ai interpret "I need to compile this project" --new-thread --no-confirm
```

---
_Source: https://npm.io/package/ethernaut-ai · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
