# Dart on boxd

> The ultimate AI project management tool.

- Page: https://boxd.sh/integrations/dart/
- CLI: `run dart` (18 commands, 15 marked common)
- SDK: `import { dart } from "@boxd/run"`; every parameter and response type is at `@boxd/run/dart`
- Triggers: none
- Connect: `run auth dart` (Sign in with Dart), or https://app.boxd.sh/integrations/detail/dart
- All integrations: https://boxd.sh/integrations/ (Markdown: https://boxd.sh/integrations/index.md)

## From the shell

```sh
run auth dart      # once: prints a link to connect your account
run dart           # list its commands
run dart list-docs
```

Parameters are flags (`--flag value`); object and array parameters take a JSON string. Output is YAML, or JSON with `--json`. Calls use your own connection; `--scope <name>` uses a connection shared with your team.

## From a script

```ts
import { every, dart } from "@boxd/run";

every("1 hour", async () => {
  const result = await dart.listDocs({});
  console.log(result);
});
```

Run it with `run dart.run.ts`. Dart has no triggers; `every()` polls on a schedule, keeps the script running as a job, and wakes the machine when it is due.

## Commands

Required flags are listed; `run dart <command> --help` lists the optional ones. "common" marks what `run dart` shows without `--all`.

| Command | SDK method | Required flags | Optional | Description |
|---|---|---|---|---|
| `add-task-attachment-from-url` | `dart.addTaskAttachmentFromUrl()` | `--id` `--name` `--url` | 0 | Attach a file from a provided URL to a task |
| `add-task-comment` ·common | `dart.addTaskComment()` | `--task-id` `--text` | 1 | Create a new comment on a DART task |
| `add-task-time-tracking` ·common | `dart.addTaskTimeTracking()` | `--finishedAt` `--id` `--startedAt` | 1 | Add a time tracking entry to a DART task |
| `create-doc` ·common | `dart.createDoc()` | `--item` | 0 | Create a new doc in Dart |
| `create-task` ·common | `dart.createTask()` | `--item` | 0 | Create a new task in DART with title and optional metadata |
| `delete-doc` ·common | `dart.deleteDoc()` | `--id` | 0 | Move an existing doc to the trash where it can be recovered if needed |
| `delete-task` ·common | `dart.deleteTask()` | `--id` | 0 | Delete an existing task in Dart by moving it to trash |
| `get-config` ·common | `dart.getConfig()` | — | 0 | Retrieve workspace configuration including dartboards, folders, types, statuses, and more |
| `get-doc` ·common | `dart.getDoc()` | `--id` | 0 | Retrieve an existing doc with metadata and content |
| `get-task` ·common | `dart.getTask()` | `--id` | 0 | Retrieve an existing task with full details including title, dartboard, status, and description |
| `list-comments` ·common | `dart.listComments()` | `--task-id` | 11 | List comments for a task with filtering options |
| `list-docs` ·common | `dart.listDocs()` | — | 12 | List docs with filtering and search capabilities |
| `list-help-center-articles` | `dart.listHelpCenterArticles()` | `--query` | 0 | Search help center articles by semantic similarity to query |
| `list-tasks` ·common | `dart.listTasks()` | — | 40 | List tasks with powerful filtering options |
| `move-task` ·common | `dart.moveTask()` | `--id` | 2 | Move a task to a specific position within its dartboard |
| `retrieve-skill-by-title` | `dart.retrieveSkillByTitle()` | `--title` | 0 | Retrieve a skill by its exact title from the workspace |
| `update-doc` ·common | `dart.updateDoc()` | `--item` | 0 | Update an existing doc in Dart |
| `update-task` ·common | `dart.updateTask()` | `--item` | 0 | Update an existing task in DART with new properties |

## Docs

- [run CLI](https://docs.boxd.sh/cli/run): Call connected integrations from the shell, connect new ones, and run automations.
- [Quickstart](https://docs.boxd.sh/guides/integrations/quickstart): Connect an integration, call it from the shell, and turn a script into an automation.
- [Connections](https://docs.boxd.sh/guides/integrations/connections): Connect an account once, for yourself or for your whole organization.
- [Scripts](https://docs.boxd.sh/guides/automations/scripts): Typed integrations, triggers, schedules and state in a .run.ts file.
- [Jobs](https://docs.boxd.sh/guides/automations/jobs): How a script becomes a background job: states, retries, sleep and wake.
- [Beyond the catalog](https://docs.boxd.sh/guides/automations/beyond-the-catalog): Reach your own APIs, databases and cloud accounts from a script.
