Skip to content

imminent-technology/tapestry

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tapestry

Tapestry is a visual workflow builder for creating Arazzo API workflows. Build complex API orchestrations with an intuitive drag-and-drop interface.

Features

  • Visual Workflow Editor: Drag-and-drop interface using React Flow
  • Auto-Layout: Automatic node positioning using Dagre
  • OpenAPI Integration: Import OpenAPI 3.x specifications from URLs (JSON & YAML)
  • Colorful Method Badges: Visual distinction for HTTP methods (GET, POST, PUT, DELETE, etc.)
  • Connection System: Connect API operations to create workflow sequences
  • Save/Load Workflows: Export and import Arazzo 1.0.1 format
  • Responsive Design: Works on desktop and tablet devices
  • Operation Details: View inputs, outputs, parameters, and responses for each operation

Getting Started

Prerequisites

  • Node.js 18+
  • npm or yarn

Installation

# Install dependencies
npm install

# Start development server
npm run dev

The application will be available at http://localhost:5173

Usage

1. Add OpenAPI Definitions

  1. Click the + button in the left Operations Panel
  2. Enter an OpenAPI specification URL (e.g., https://petstore3.swagger.io/api/v3/openapi.json)
  3. Optionally provide a custom name
  4. Click Add

2. Browse Operations

  • Expand/collapse API definitions in the left panel
  • View all available operations grouped by API
  • Each operation shows HTTP method, operation ID, and endpoint path

3. Build Workflows

  • Add Nodes: Click on any operation to add it to the canvas
  • Connect Nodes: Drag from output handle (right) to input handle (left)
  • Move Nodes: Drag nodes to reposition them manually
  • Delete Nodes: Hover over a node and click the red trash icon

4. Manage Workflows

  • New: Create a fresh workflow
  • Save: Export workflow as Arazzo JSON file
  • Open: Import a previously saved workflow
  • Run: Execute the workflow (coming soon)

Architecture

Tech Stack

  • React 19: UI framework
    • React Flow: Visual workflow engine
    • @dagrejs/dagre: Graph layout algorithm
    • Zustand: State management
    • Axios: HTTP client for fetching OpenAPI specs
    • Font Awesome: Icon library
    • Vite: Build tool and dev server
    • Vitest: Unit testing framework

Dagre Auto-Layout

The workflow uses @dagrejs/dagre for automatic node positioning in a left-to-right layout direction.

Arazzo Export Format

Workflows are exported in Arazzo 1.0.1 format with source descriptions and workflow steps.

Development

# Build for production
npm run build

# Preview production build
npm run preview

# Lint code
npm run lint

Related Projects

License

MIT

About

Build visual Arazzo API workflows using an intuitive drag and drop interface

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors