@director.run/cli 1.0.0 → 1.0.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 CHANGED
@@ -1,5 +1,5 @@
1
1
  <h1 align="center">Director</h1>
2
- <p align="center">Playbooks for AI agents</p>
2
+ <p align="center">MCP Playbooks for AI agents</p>
3
3
 
4
4
  <p align="center"><code>curl -LsSf https://director.run/install.sh | sh</code></p>
5
5
 
@@ -16,12 +16,14 @@
16
16
 
17
17
  # Overview
18
18
 
19
- Director helps you provide **playbooks** to your AI Agents. Playbooks are set of tools, prompts and configuration, that enable a specific task (like [Claude Skills](https://www.anthropic.com/news/skills)) and can be used by any agent through a single, unified MCP endpoint.
19
+ Director allows you to provide <ins>**playbooks**</ins> to AI Agents. A playbook is a set of <ins>**MCP tools**</ins>, <ins>**prompts**</ins> and <ins>**configuration**</ins>, that give agents new <ins>**skills**</ins>. You can connect Claude, Cursor and VSCode in 1-click, or integrate manually through a single MCP endpoint.
20
20
 
21
21
  Playbooks are portable, declarative YAML files that can easily be shared (or committed to version control). Director is local-first - installation and client integration takes 30 seconds. In addition, Director provides all of the MCP management functionality that you'd expect: tool filtering, logging, strong isolation, and unified OAuth.
22
22
 
23
23
  <br />
24
- <img src="https://github.com/director-run/director/blob/main/apps/docs/images/demo.gif" width="100%" alt="director demo">
24
+
25
+ [![Watch the video](https://image.mux.com/LkXOkiGsfatE6XLxda8ZEm02ydvxJ1K004y5EgqYV7dus/thumbnail.png?time=60)](https://player.mux.com/LkXOkiGsfatE6XLxda8ZEm02ydvxJ1K004y5EgqYV7dus)
26
+
25
27
 
26
28
  ## Key Features
27
29
 
@@ -33,7 +35,7 @@ Playbooks are portable, declarative YAML files that can easily be shared (or com
33
35
  - 🎯 **Tool Filtering** - Select only the MCP tools that are required for the specific task, preserving context.
34
36
  - 📋 **Declarative** - Like terraform for AI agents, Director will enforce playbook to client mapping on startup.
35
37
  - 🔧 **Flexibility** - You can configure director through the UI, by editing the config file, through the CLI or even using the Typescript SDK.
36
- - 📊 **Observability** - Centralised JSON logging, that allows you to understand exactly what your agent is doing.
38
+ - 📊 **Observability** - Centralized JSON logging, that allows you to understand exactly what your agent is doing.
37
39
  - 🔌 **MCP Compliant** - Just works with any MCP server or client. Up to date with the latest MCP spec.
38
40
 
39
41
  # Quickstart
@@ -59,55 +61,75 @@ The easiest way to author a playbook is via the UI (`director studio`). But you
59
61
  # Client <> Playbook mappings (enforced on startup)
60
62
  #
61
63
  clients:
62
- claude-code: [ production-support ]
63
- cursor: [ production-support ]
64
+ cursor: [ demo ]
64
65
 
65
- #
66
- # Playbooks
67
- #
68
66
  playbooks:
69
- - id: production-support
70
- name: Production Support
71
- description: Investigate and resolve production issues
67
+ - id: demo
68
+ name: demo
69
+ description: A demonstration playbook
72
70
  #
73
- # MCP Servers / Tools
71
+ # Prompts
74
72
  #
75
- servers:
76
- # Get alerts
77
- - name: sentry
78
- type: http
79
- url: https://mcp.sentry.dev/mcp
80
-
81
- # Read the logs
82
- - name: cloudwatch
83
- type: stdio
84
- command: uvx
85
- args: ["awslabs.cloudwatch-mcp-server@latest"]
86
- env:
87
- AWS_PROFILE: "[The AWS Profile Name to use for AWS access]",
88
- include: [search_logs, get_metrics] # No write access
73
+ prompts:
74
+ - name: changelog
75
+ title: changelog
76
+ description: ""
77
+ body: "write a short changelog based on recent changes on the
78
+ director-run/director repository and the post it to to the slack
79
+ #general channel. Make sure the message will format correctly inside
80
+ of slack"
89
81
 
90
- # Write back to the repository
82
+ #
83
+ # MCP Servers
84
+ #
85
+ servers:
86
+ # GitHub server
91
87
  - name: github
92
88
  type: http
93
89
  url: https://api.githubcopilot.com/mcp/
90
+ headers:
91
+ Authorization: Bearer
92
+ <YOUR_GITHUB_TOKEN>
93
+ # This server is enabled
94
+ disabled: false
95
+ # Only include the tools you need
94
96
  tools:
95
- include: [ create_pr, search_code ]
96
- #
97
- # Prompts
98
- #
99
- prompts:
100
- - name: investigate
101
- content: |
102
- Check recent alerts, correlate with deployment times,
103
- search logs for errors, identify root cause
97
+ include:
98
+ - list_commits
99
+ - search_pull_requests
100
+ - get_latest_release
101
+ # Prompts from MCP server are disabled by default
102
+ prompts:
103
+ include: []
104
+
105
+
106
+ - name: slack
107
+ type: stdio
108
+ command: npx
109
+ args:
110
+ - -y
111
+ - "@modelcontextprotocol/server-slack"
112
+ env:
113
+ SLACK_TEAM_ID: <YOUR_SLACK_TEAM_ID>
114
+ SLACK_BOT_TOKEN: <YOUR_SLACK_BOT_TOKEN>
115
+ SLACK_CHANNEL_IDS: <YOUR_SLACK_CHANNEL_ID>
116
+ # This server is enabled
117
+ disabled: false
118
+ # Only include the tools you need
119
+ tools:
120
+ include:
121
+ - slack_list_channels
122
+ - slack_post_message
123
+ # Prompts from MCP server are disabled by default
124
+ prompts:
125
+ include: []
104
126
  ```
105
127
 
106
- ## Architechture
128
+ ## Architecture
107
129
 
108
130
  At a high level, Director is a service that sits between your agents and MCP servers. It's transparent to clients, requiring no additional tokens. It models playbooks, which can be thought of as standalone, portable skills that enhance your AI agent with new capabilities.
109
131
 
110
- <img src="https://github.com/director-run/director/blob/main/apps/docs/images/director-highlevel-overview.webp" width="100%" alt="director demo">
132
+ <img src="https://github.com/director-run/director/blob/main/apps/docs/images/director-highlevel-overview.png" width="100%" alt="director demo">
111
133
 
112
134
  # Usage
113
135
 
@@ -192,40 +214,75 @@ EXAMPLES
192
214
  # Server config
193
215
  #
194
216
  server:
217
+ # Defaults to 3673
195
218
  port: 1234
196
219
 
197
220
  #
198
- # Client Connections
199
- #
221
+ # Client <> Playbook mappings (enforced on startup)
222
+ #
200
223
  clients:
201
- claude-code: [ code_review ] # connect claude code to the code_review playbook
224
+ cursor: [ demo ]
202
225
 
203
- #
204
- # Playbooks
205
- #
206
226
  playbooks:
207
- - name: code_review
208
- description: Automates code reviews
227
+ - id: demo
228
+ name: demo
229
+ description: A demonstration playbook
230
+ #
231
+ # Prompts
232
+ #
233
+ prompts:
234
+ - name: changelog
235
+ title: changelog
236
+ description: ""
237
+ body: "write a short changelog based on recent changes on the
238
+ director-run/director repository and the post it to to the slack
239
+ #general channel. Make sure the message will format correctly inside
240
+ of slack"
241
+
242
+ #
243
+ # MCP Servers
244
+ #
209
245
  servers:
210
- - name: filesystem
211
- type: stdio
212
- command: npx
213
- args: [ "@modelcontextprotocol/server-filesystem", "./src" ]
214
-
246
+ # GitHub server
215
247
  - name: github
216
248
  type: http
217
249
  url: https://api.githubcopilot.com/mcp/
250
+ headers:
251
+ Authorization: Bearer
252
+ <YOUR_GITHUB_TOKEN>
253
+ # This server is enabled
254
+ disabled: false
255
+ # Only include the tools you need
218
256
  tools:
219
- # include only these tools
220
- include: [ create_issue, search_code ]
221
-
222
- # invoke with slash commands
223
- prompts:
224
- - name: code_review
225
- content: "Review this code for security vulnerabilities and performance issues"
226
-
227
- - name: write_tests
228
- content: "Write comprehensive unit tests including edge cases"
257
+ include:
258
+ - list_commits
259
+ - search_pull_requests
260
+ - get_latest_release
261
+ # Prompts from MCP server are disabled by default
262
+ prompts:
263
+ include: []
264
+
265
+
266
+ - name: slack
267
+ type: stdio
268
+ command: npx
269
+ args:
270
+ - -y
271
+ - "@modelcontextprotocol/server-slack"
272
+ env:
273
+ SLACK_TEAM_ID: <YOUR_SLACK_TEAM_ID>
274
+ SLACK_BOT_TOKEN: <YOUR_SLACK_BOT_TOKEN>
275
+ SLACK_CHANNEL_IDS: <YOUR_SLACK_CHANNEL_ID>
276
+ # This server is enabled
277
+ disabled: false
278
+ # Only include the tools you need
279
+ tools:
280
+ include:
281
+ - slack_list_channels
282
+ - slack_post_message
283
+ # Prompts from MCP server are disabled by default
284
+ prompts:
285
+ include: []
229
286
  ```
230
287
 
231
288
  ### TypeScript SDK
@@ -260,7 +317,7 @@ const result = await playbook.callTool('github.create_issue', {
260
317
 
261
318
  - [`apps/cli`](./apps/cli/README.md) - The command-line interface, the primary way to interact with Director. Available on [npm](https://www.npmjs.com/package/@director.run/cli).
262
319
  - [`apps/sdk`](./apps/sdk/README.md) - The Typescript SDK, available on [npm](https://www.npmjs.com/package/@director.run/sdk).
263
- - [`apps/docker`](./apps/docker/README.md) - The Director docker image, which allows you to run Director (and all MCP servers) securly inside a container. Available on [Docker Hub](https://hub.docker.com/r/barnaby/director).
320
+ - [`apps/docker`](./apps/docker/README.md) - The Director docker image, which allows you to run Director (and all MCP servers) securely inside a container. Available on [Docker Hub](https://hub.docker.com/r/barnaby/director).
264
321
  - [`apps/docs`](./apps/docs/README.md) - Project documentation hosted at [https://docs.director.run](https://docs.director.run)
265
322
  - [`apps/registry`](./apps/registry/README.md) - Backend for the registry hosted at [https://registry.director.run](https://registry.director.run)
266
323
  - [`apps/sandbox`](./apps/sandbox/README.md) - A tool for running Director (and all MCP servers) securely inside a VM. Apple Silicon only.