File size: 3,423 Bytes
b225a21
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
## CLI Documentation

This document describes how to interact with the project's CLI (Command Line Interface). It includes the types of outputs you can expect from each command. Note that the `agents stop` command will terminate any process running on port 8000.

### 1. Entry Point for the CLI

Running the `./run` command without any parameters will display the help message, which provides a list of available commands and options. Additionally, you can append `--help` to any command to view help information specific to that command.

```sh
./run
```

**Output**:

```
Usage: cli.py [OPTIONS] COMMAND [ARGS]...

Options:
  --help  Show this message and exit.

Commands:
  agent     Commands to create, start and stop agents
  benchmark  Commands to start the benchmark and list tests and categories
  setup      Installs dependencies needed for your system.
```

If you need assistance with any command, simply add the `--help` parameter to the end of your command, like so:

```sh
./run COMMAND --help
```

This will display a detailed help message regarding that specific command, including a list of any additional options and arguments it accepts.

### 2. Setup Command

```sh
./run setup
```

**Output**:

```
Setup initiated
Installation has been completed.
```

This command initializes the setup of the project.

### 3. Agents Commands

**a. List All Agents**

```sh
./run agent list
```

**Output**:

```
Available agents: πŸ€–
        πŸ™ forge
        πŸ™ autogpt
```

Lists all the available agents.

**b. Create a New Agent**

```sh
./run agent create my_agent
```

**Output**:

```
πŸŽ‰ New agent 'my_agent' created and switched to the new directory in agents folder.
```

Creates a new agent named 'my_agent'.

**c. Start an Agent**

```sh
./run agent start my_agent
```

**Output**:

```
... (ASCII Art representing the agent startup)
[Date and Time] [forge.sdk.db] [DEBUG] πŸ›  Initializing AgentDB with database_string: sqlite:///agent.db
[Date and Time] [forge.sdk.agent] [INFO] πŸ“  Agent server starting on http://0.0.0.0:8000
```

Starts the 'my_agent' and displays startup ASCII art and logs.

**d. Stop an Agent**

```sh
./run agent stop
```

**Output**:

```
Agent stopped
```

Stops the running agent.

### 4. Benchmark Commands

**a. List Benchmark Categories**

```sh
./run benchmark categories list
```

**Output**:

```
Available categories: πŸ“š
        πŸ“– code
        πŸ“– safety
        πŸ“– memory
        ... (and so on)
```

Lists all available benchmark categories.

**b. List Benchmark Tests**

```sh
./run benchmark tests list
```

**Output**:

```
Available tests: πŸ“š
        πŸ“– interface
                πŸ”¬ Search - TestSearch
                πŸ”¬ Write File - TestWriteFile
        ... (and so on)
```

Lists all available benchmark tests.

**c. Show Details of a Benchmark Test**

```sh
./run benchmark tests details TestWriteFile
```

**Output**:

```
TestWriteFile
-------------

        Category:  interface
        Task:  Write the word 'Washington' to a .txt file
        ... (and other details)
```

Displays the details of the 'TestWriteFile' benchmark test.

**d. Start Benchmark for the Agent**

```sh
./run benchmark start my_agent
```

**Output**:

```
(more details about the testing process shown whilst the test are running)
============= 13 failed, 1 passed in 0.97s ============...
```

Displays the results of the benchmark tests on 'my_agent'.