keystone-cli 0.7.1 → 0.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -16
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -372,6 +372,16 @@ You are a technical communications expert. Your goal is to take technical output
|
|
|
372
372
|
|
|
373
373
|
Agents can be equipped with tools, which are essentially workflow steps they can choose to execute. You can define tools in the agent definition, or directly in an LLM step within a workflow.
|
|
374
374
|
|
|
375
|
+
Keystone comes with a set of **Standard Tools** that can be enabled for any agent by setting `useStandardTools: true` in the step definition:
|
|
376
|
+
|
|
377
|
+
- `read_file`: Read the contents of a file (arguments: `path`)
|
|
378
|
+
- `read_file_lines`: Read a specific range of lines from a file (arguments: `path`, `start`, `count`)
|
|
379
|
+
- `write_file`: Write or overwrite a file (arguments: `path`, `content`)
|
|
380
|
+
- `list_files`: List files in a directory (arguments: `path`)
|
|
381
|
+
- `search_files`: Search for files by glob pattern (arguments: `pattern`, `dir`)
|
|
382
|
+
- `search_content`: Search for string or regex within files (arguments: `query`, `dir`, `pattern`)
|
|
383
|
+
- `run_command`: Run a shell command (arguments: `command`, `dir`). Requires `allowInsecure: true` on the step unless whitelisted.
|
|
384
|
+
|
|
375
385
|
Tool arguments are passed to the tool's execution step via the `args` variable.
|
|
376
386
|
|
|
377
387
|
**`.keystone/workflows/agents/developer.md`**
|
|
@@ -379,28 +389,25 @@ Tool arguments are passed to the tool's execution step via the `args` variable.
|
|
|
379
389
|
---
|
|
380
390
|
name: developer
|
|
381
391
|
tools:
|
|
382
|
-
- name:
|
|
383
|
-
description:
|
|
392
|
+
- name: custom_tool
|
|
393
|
+
description: A custom tool definition
|
|
384
394
|
execution:
|
|
385
|
-
id: list-files-tool
|
|
386
395
|
type: shell
|
|
387
|
-
run:
|
|
388
|
-
- name: read_file
|
|
389
|
-
description: Read a specific file
|
|
390
|
-
parameters:
|
|
391
|
-
type: object
|
|
392
|
-
properties:
|
|
393
|
-
path: { type: string }
|
|
394
|
-
required: [path]
|
|
395
|
-
execution:
|
|
396
|
-
id: read-file-tool
|
|
397
|
-
type: file
|
|
398
|
-
op: read
|
|
399
|
-
path: ${{ args.path }}
|
|
396
|
+
run: echo "custom"
|
|
400
397
|
---
|
|
401
398
|
You are a software developer. You can use tools to explore the codebase.
|
|
402
399
|
```
|
|
403
400
|
|
|
401
|
+
To enable standard tools in a workflow step:
|
|
402
|
+
|
|
403
|
+
```yaml
|
|
404
|
+
- id: explore
|
|
405
|
+
type: llm
|
|
406
|
+
agent: developer
|
|
407
|
+
useStandardTools: true
|
|
408
|
+
prompt: "Explore the src directory"
|
|
409
|
+
```
|
|
410
|
+
|
|
404
411
|
### Keystone as an MCP Server
|
|
405
412
|
|
|
406
413
|
Keystone can itself act as an MCP server, allowing other agents (like Claude Desktop or GitHub Copilot) to discover and run your workflows as tools.
|