Workflow Studio

Define issue types, states and transitions for a GitHub task server, move an issue between states, and run a script or AI prompt when it enters a state.

packages/workflow-studio

Workflow Studio is a small state machine for GitHub issues. You define the states an issue type moves through. Moving an issue changes its state: label and can start a script or an AI prompt.

Requirements

  • The gh CLI, signed in, for reading and labelling issues, and the gh copilot extension for the AI prompts.
  • A GitHub task server in ~/.config/robos/settings.json (see Task Servers). The workflow definitions are saved on that server entry as issue_types and workflows.

Two views

Start the app with no argument, or with config, to open the Config view. Start it with an issue number (for example electron . 42 or #42) to open that Issue view directly.

Config view. Add issue types with + Add Issue Type, then edit each type’s states and transitions. A state has an id, label, colour, an initial flag, and two optional fields: a bash script (on_enter_script) and an AI prompt (on_enter_prompt). A new type starts with an Open and a Done state. AI Generate takes a description of your team and asks the configured AI provider (AI agents and API mode) for issue types, states and transitions as JSON, which you then review and Save. Clear All deletes every type and workflow after confirmation. Closing the window with unsaved changes asks whether to save.

Issue view. Shows the issue (title, labels, description, steps to reproduce if present), its Workflow State, and a button for each allowed transition. There are also GitHub (open the issue), Set Up Workspace, Open in VS Code and an AI Agent box to ask gh copilot a question about the issue.

What a transition does

  1. Removes the old state:<id> label and adds state:<new id> with gh issue edit (the new label is created if it does not exist), and writes the issue number to ~/.config/robos/active-issue.
  2. If the new state has on_enter_script, runs it with bash -c, with the environment variables ISSUE_NUM, ISSUE_TITLE, ORG, REPO, STATE_ID and STATE_LABEL. Output streams into an overlay.
  3. If the new state has on_enter_prompt, runs gh copilot -p <prompt> --allow-all-tools. The placeholders {number}, {org}, {repo} and {state} (and $NUMBER, $ORG, $REPO, $STATE) are replaced first.

Scripts and prompts run with your account and --allow-all-tools, with no confirmation. Only put commands in a workflow that you would run yourself.

Set Up Workspace runs your configured workspace setup script, or by default clones the repository to ~/source/<org>/<repo> and checks out the branch issue-<number>. Open in VS Code runs code on that folder.

Run it

Launch Workflow Studio from the app launcher, or run npm start in packages/workflow-studio.

More in Architecture & Planning

Automation Studio

Editor for event rules and cron-style scheduled jobs, plus a viewer for the daily event log.

Issue Manager

Opens one GitHub issue, shows it with its workflow state, moves it between states by changing labels, and sets up a branch workspace for it.

Knowledge Graph Explorer

Browse, search, edit and validate the knowledge graph of your software, compare main with a branch, and import or refine graph data from source repositories.

People Directory

Searchable list of people with contact and org fields, stored as JSON files on your machine.

People Manager

Prototype roster screen for teams of people and AI agents, grouped by Team Topologies type. It shows built-in sample data.

RobOS Create Project & App Wizard

Scaffold a new project from an archetype, or import an existing folder, and register it in the RobOS project files.

RobOS Documentation

Lists the components in the knowledge graph, shows which have a documentation page, and lets you generate, edit and export those pages.

RobOS Group Manager

Create and edit developer groups (members, repositories, software, onboarding steps, secrets, CI) and set up a sample company identity.

Schema Studio & Registry

Browse the bundled Schema.org vocabulary, generate JSON-LD, TypeSpec, SHACL and code stubs for a new entity, and validate JSON-LD against RobOS shapes.

System Topology Studio

Prototype C4-style canvas that shows a built-in sample system (Acme Petshop). Backstage import and C4 export return canned results.

Task Board

Read-only board and list view of the issues in the active GitHub task server, grouped by status.

Task Servers

Settings screen where you add Jira and GitHub issue trackers, store a pass path for the token, and test the connection.