Skip to main content

Interface contract

DevWorkWire publishes the local dwire CLI. Terminal-capable agents use that same executable through the portable skill. There is no current MCP server or HTTP API. ADR-011 records the integration decision.

Commands​

CommandEffectResult data
dwire fetch-epic KEYRead an epicepic
dwire fetch-story KEYRead a storystory
dwire list-stories EPIC_KEYRead stories in an epicepic_key, stories
dwire list-assigned [--assignee ACCOUNT_ID]Read open assigned workassignee, items
dwire create-epic --title TITLE [options]Create an epic immediatelykey, type
dwire create-story EPIC_KEY --title TITLE [options]Create a story immediatelykey, type, epic_key
dwire preview-folder FOLDERValidate and preview local Markdownepic, stories, errors
dwire import-folder FOLDER [--yes]Import missing local itemsPreview fields, created when applicable
dwire resolve-import FOLDER --item ID (--key KEY | --retry)Resolve an uncertain local import attemptitem, key, action
dwire rebind-import-story FOLDER OLD_ID NEW_IDKeep a key after a story ID renamestory_id, new_story_id
dwire retire-import-story FOLDER STORY_IDRemove a missing story from local statestory_id, new_story_id (null)

Run dwire without a command for the interactive menu. Use the up/down arrows to navigate, Enter to select, number shortcuts to choose actions, ? for help, and Esc to go back or exit. Direct commands support dwire --format json COMMAND ...; the menu is text-only. See the CLI reference for launch options and command examples.

AI tools that support Agent Skills and can run local shell commands can use the same CLI through the portable skill. See the AI agent skill setup guide for installation and configuration steps. Use each command's --help for the full argument list.

JSON result​

JSON mode writes one object to stdout. Diagnostics and logs go to stderr. A nonzero process exit status means the command failed or an import was partial. Argument errors detected before a command runs use the INVALID_ARGUMENT code and exit nonzero.

{
"command": "create-epic",
"status": "completed",
"data": {"key": "PROJ-123", "type": "epic"},
"error": null
}

status is one of:

StatusMeaning
completedA read or write succeeded.
previewLocal validation and preview succeeded; no Jira write occurred.
no_changeAll folder items were already recorded as uploaded.
errorThe command failed without creating a new item in this invocation.
partialAn import created at least one item in this invocation but did not finish.

On failure, error contains code and message. Current codes include INVALID_ARGUMENT, NOT_FOUND, VALIDATION_FAILED, CONFIRMATION_REQUIRED, and COMMAND_FAILED; callers must also handle future codes. In a preview, epic and each story identify action create, skip, or unresolved, plus its recorded key and whether the source changed. errors contain file, line, and message. A skip item is not updated in Jira even when its changed field is true.

Writes and recovery​

Direct create commands write immediately. import-folder validates and shows its local plan before writing. It prompts in an interactive terminal; JSON mode and other non-interactive runs require --yes when there is work to create. An agent must use write commands only within the user's approved task; dwire cannot inspect that approval. --yes is an explicit CLI action, not a server-verified human confirmation.

Imports persist .devworkwire-import.json beside the Markdown. With that file, a re-run skips created items and can resume missing ones. Without it, the CLI cannot identify an earlier upload from Jira alone. A definite story rejection allows later stories to be attempted; an uncertain result stops the import and requires inspection of Jira before resolve-import or a retry. See the CLI reference at dev-work-wire/docs/guides/cli-reference.md for operational detail.

Deferred interfaces​

Search, update of existing Jira items, richer work-context queries, comments, status transitions, and PR references are planned CLI capabilities, not current commands. MCP remains deferred until a concrete client requirement justifies it. The earlier proposed MCP contract is retained in ADR-004 as history.