|
1 | 1 | # Arazzo Visualizer for VS Code |
2 | 2 |
|
3 | | -The Arazzo Visualizer VS Code extension offers the ability to **visualize and navigate [Arazzo Specification](https://www.openapis.org/arazzo-specification) workflows** through an interactive graphical interface with live updates powered by GitHub Copilot. |
| 3 | +Arazzo Visualizer helps you understand, edit, and run [Arazzo Specification](https://www.openapis.org/arazzo-specification) workflows directly inside VS Code. |
4 | 4 |
|
5 | | -Beyond the visual features, the extension enhances the Arazzo authoring experience with syntax highlighting, intelligent code completions, and real-time validation provided by a built-in language server. |
| 5 | +It turns Arazzo files into interactive diagrams, keeps the diagram in sync with your code, and includes a built-in runner engine so you can try workflows against real APIs without leaving the editor. |
6 | 6 |
|
7 | 7 | ## Quick Start |
8 | 8 |
|
9 | 9 | 1. Install the extension from the VS Code Marketplace. |
10 | | -2. Open any Arazzo file (`.arazzo.yaml`, `.arazzo.yml`). |
11 | | -3. Click the **Arazzo Overview** icon in the editor toolbar, or use the Command Palette (`Ctrl+Shift+P` / `Cmd+Shift+P`) and run **"ArazzoDesigner: Open Arazzo Visualizer"**. |
| 10 | +2. Open an Arazzo file, such as `.arazzo.yaml`, `.arazzo.yml`, or `.arazzo.json`. |
| 11 | +3. Click the **Arazzo Overview** icon in the editor toolbar, or open the Command Palette (`Ctrl+Shift+P` / `Cmd+Shift+P`) and run **ArazzoDesigner: Open Arazzo Visualizer**. |
12 | 12 |
|
13 | | -The visualizer opens beside your code and stays in sync as you edit. |
| 13 | +The visualizer opens beside your file and updates as you edit. |
14 | 14 |
|
15 | | -## Features |
| 15 | +## Main Features |
16 | 16 |
|
17 | | -### Workflow Visualizer |
| 17 | +### Visualize Workflows |
18 | 18 |
|
19 | | -Open an Arazzo file and click the **Arazzo Visualizer** toolbar icon (or use `Ctrl+Shift+P` → *"ArazzoDesigner: Open Arazzo Visualizer"*) to launch the **Overview**. The Overview gives you a bird's-eye view of every workflow defined in your specification including their names, summaries, and how many steps they contain. Click any workflow card to drill into the full **Workflow View**, which renders every step as a node, every decision branch as a labelled edge, and every success/failure path in a clean interactive diagram. Click any node to open the **Properties Panel** on the right and inspect that step's inputs, parameters, success criteria, and outputs without leaving the diagram. |
| 19 | +Read complex API flows as a clear diagram instead of scanning long YAML or JSON files. |
20 | 20 |
|
| 21 | +- **See the full flow:** View workflows, steps, decisions, and connections in one place. |
| 22 | +- **Focus on one workflow:** Open a specific workflow when you want a closer look. |
| 23 | +- **Inspect details:** Select a step to understand the request, response, inputs, outputs, and success checks. |
| 24 | +- **Stay in sync:** Update the file and the diagram refreshes automatically. |
21 | 25 |
|
22 | | ---- |
| 26 | +### CodeLens and Quick Actions |
23 | 27 |
|
24 | | -### Code Lens — Jump Straight to a Workflow |
| 28 | +The extension adds helpful actions above workflow definitions. |
25 | 29 |
|
26 | | -You don't always need to go through the Overview. When you open an Arazzo file, the extension adds clickable **Code Lens** action buttons directly above each workflow definition in the editor. Click **"Visualize"** on any workflow to jump straight into its Workflow View in one click, great when you know exactly which workflow you want to inspect. |
| 30 | +- **Visualize:** Open the selected workflow in the visualizer. |
| 31 | +- **Try with AI:** Run the selected workflow through Github Copilot. |
27 | 32 |
|
| 33 | +### GitHub Copilot Support |
28 | 34 |
|
29 | | ---- |
| 35 | +Arazzo Visualizer works with GitHub Copilot so you can create, change, and run workflows using plain English. |
30 | 36 |
|
31 | | -### Getting Started with GitHub Copilot |
| 37 | +Starting from scratch? Open Copilot Chat and ask for the workflow you need: |
32 | 38 |
|
33 | | -The Arazzo Visualizer works hand-in-hand with **GitHub Copilot**, making it easy to create and evolve Arazzo workflows using plain English — no need to memorise the spec syntax. |
| 39 | +> "Create a sample Arazzo file named toolshop.arazzo.yaml with 3 steps using the Toolshop OpenAPI specification below to list all products and create a cart: |
| 40 | +> https://api.practicesoftwaretesting.com/docs" |
34 | 41 |
|
35 | | -**Starting from scratch?** Open GitHub Copilot Chat and describe the workflow you want. For example: |
| 42 | +Editing an existing file? Ask Copilot for a change: |
36 | 43 |
|
37 | | -> *"create a sample arazzo file named petstore.arazzo.yaml with 5 steps using the petstore openAPI specification given below |
38 | | -https://petstore3.swagger.io/api/v3/openapi.json"* |
| 44 | +> "Add a retry step if the tool list fetch fails." |
39 | 45 |
|
40 | | -Copilot will generate the Arazzo file for you. Open it and the extension will visualize it instantly. |
| 46 | +> "Add success criteria to the 'create cart' step to check that the status code is 200." |
41 | 47 |
|
42 | | -**Editing an existing file?** Ask Copilot to change it in plain language: |
| 48 | +After you save, the visualizer updates to match the latest file. |
43 | 49 |
|
44 | | -> *"Add a retry step if the profile fetch fails."* |
45 | | -> *"Add success criteria to check that the status code is 200."* |
| 50 | + |
46 | 51 |
|
47 | | -Every time you save, the diagram **automatically re-renders** to reflect the latest state of your file — no manual refresh, no switching context. |
| 52 | +### Run Workflows |
48 | 53 |
|
| 54 | +The visualizer shows how a workflow is designed. The built-in **Runner Engine** helps you prove that the workflow actually works. |
49 | 55 |
|
50 | | ---- |
| 56 | +Use it to execute an Arazzo workflow from VS Code and see how each API call behaves in a real run. This makes the extension useful not only for reading workflows, but also for testing, validating, and improving them as you build. |
51 | 57 |
|
52 | | -### Smart Editor Support |
| 58 | +- **Run real API sequences:** Execute workflow steps in the order defined by your Arazzo file. |
| 59 | +- **Validate each step:** Check responses, status codes, success criteria, and output values as the workflow runs. |
| 60 | +- **Pass data between steps:** Use values returned by one API call in later steps, just like the workflow describes. |
| 61 | +- **Start from anywhere:** Run a workflow from the visualizer, or via CodeLens actions above each workflow. |
| 62 | +- **Use Copilot as the entry point:** Ask Copilot to run a workflow in plain English, such as `List all available products in the tool shop and create a cart`. |
| 63 | +- **Review what happened:** Use the execution logs and trace details to understand failures, slow steps, and unexpected results. |
| 64 | +- **No separate setup:** The runner is packaged with the extension, so you do not need to install another tool to try a workflow. |
53 | 65 |
|
54 | | -The extension includes a built-in language server that quietly improves the editing experience in the background: |
| 66 | + |
55 | 67 |
|
56 | | -- **Syntax highlighting** so Arazzo keywords and runtime expressions (`$statusCode`, `$response.body`, etc.) stand out clearly |
57 | | -- **Intelligent completions** that suggest valid fields and values as you type |
58 | | -- **Real-time validation** that flags missing required fields, invalid references, and structural errors in the Problems panel before you even save |
59 | | -- **File association** so `.arazzo.yaml`, `.arazzo.yml` files are automatically recognised |
| 68 | +### Execution Logs |
60 | 69 |
|
61 | | - |
| 70 | +When a workflow runs, the extension shows what happened step by step. |
62 | 71 |
|
63 | | ---- |
| 72 | +- **Live progress:** Watch the workflow as it runs. |
| 73 | +- **Clear results:** See which steps passed, which failed, and why. |
| 74 | +- **Trace details:** Review timing and request flow information when you need to troubleshoot a slow or failing workflow. |
| 75 | + |
| 76 | +### Smart Editing Support |
| 77 | + |
| 78 | +The extension also improves the normal editing experience for Arazzo files. |
| 79 | + |
| 80 | +- **Syntax highlighting** for Arazzo keywords and runtime expressions like `$statusCode` and `$response.body` |
| 81 | +- **Suggestions** for valid fields and values while you type |
| 82 | +- **Validation** for missing fields, invalid references, and structure issues |
| 83 | +- **File recognition** for `.arazzo.yaml`, `.arazzo.yml`, `.arazzo.json`, and matching `-arazzo` file names |
64 | 84 |
|
65 | 85 | ## About Arazzo |
66 | 86 |
|
67 | | -The [Arazzo Specification](https://spec.openapis.org/arazzo/v1.0.1.html) is an OpenAPI Initiative standard for describing sequences of API calls and the dependencies between them. It is designed for: |
| 87 | +The [Arazzo Specification](https://spec.openapis.org/arazzo/v1.0.1.html) is an OpenAPI Initiative standard for describing API workflows. It is useful when you need to show or test how several API calls work together. |
| 88 | + |
| 89 | +Common use cases include: |
68 | 90 |
|
69 | | -- Multi-step API workflow documentation |
70 | | -- Automated test case generation |
71 | | -- SDK and code generation driven by real-world use cases |
72 | | -- Regulatory compliance automation |
| 91 | +- Documenting multi-step API flows |
| 92 | +- Testing end-to-end API journeys |
| 93 | +- Describing real user or system workflows |
| 94 | +- Supporting SDK, code generation, and compliance automation |
73 | 95 |
|
74 | 96 | ## Resources |
75 | 97 |
|
|
0 commit comments