# Weave

> A CLI to easily deploy rollups and nodes on Initia's Interwoven Stack.

URL: https://tansawit.com/projects/weave
Index: https://tansawit.com/llms.txt

2025 · Initia  
Tags: Go, CLI, Infrastructure  
Github: https://github.com/initia-labs/weave

## Overview

Weave is the first major product I ideated and led after Alles Labs was acquired by Initia. It turns local rollup deployment on the Interwoven Stack into a guided CLI workflow that feels closer to a managed rollup-as-a-service product.

## The Problem

The friction came from how many moving parts had to be wired together before a developer could even start testing. Deploying a chain locally on Initia meant coordinating four separate programs:

- `initiad`: sends transactions on the Initia L1
- `minitiad`: configures and runs the rollup itself
- `opinit-bots`: runs the bots that handle bridging and oracle relay flows
- `hermes`: runs the IBC relayer between the Initia L1 and the rollup

## Solution

Weave packages the entire deployment flow into a single CLI. With `weave init`, developers can either go through a wizard-style setup with recommended defaults or provide a JSON config for CI/CD and automation.

Instead of asking developers to assemble the stack step by step by hand, Weave turns the process into one guided flow:

| Step | Before Weave | With Weave |
| --- | --- | --- |
| Install | Manually install multiple binaries and repos | Install Weave |
| Config | Read docs, then find and manually edit multiple files | Fill in one guided workflow |
| Services | Start and coordinate 4 separate programs manually | Let Weave install, configure, and orchestrate them |
| Retry mistakes | Abort, inspect logs, and restart sections by hand | Undo the previous step and continue |
| Account funding | Track and fund multiple system accounts manually | Fund a single Gas Station account |

*(Interactive weave before after diagram; view the HTML page to see it.)*

### Shared Deployment Architecture

Weave is not only a local convenience layer. Its chain configuration and launch model became the common deployment path for Initia rollups.

Locally, Weave collects the required inputs, resolves compatible versions, generates configuration, and launches the rollup stack. Anvil, Initia's hosted rollup platform, consumes the same configuration model and underlying \`minitiad launch --with-config\` path. This keeps local development, automated environments, and hosted production deployments aligned instead of maintaining separate setup systems.

The result is one rollup deployment architecture used across chains on Initia, with Weave providing the developer-facing workflow and Anvil providing the managed operating surface.

## Key Highlights

### Unified CLI & Version Management

The hardest part was not collecting commands into one place. It was resolving compatibility between the underlying binaries and making that coordination invisible to the user.

Once developers define their chain configuration, Weave selects compatible versions, installs what is needed, generates configuration, and keeps the setup flow consistent end to end.

### Gas Station Account

Rollup systems require multiple accounts for bridging, DA posting, and oracle updates. Traditionally, developers manually fund and monitor each account.

Weave introduces a single Gas Station account that automatically distributes funds to system accounts as needed. Instead of juggling several operational wallets, users only need to fund one account and let Weave handle the internal distribution.

*(Interactive weave gas station diagram; view the HTML page to see it.)*

This removed a major source of operational friction. Funding was no longer a hidden infrastructure chore; it became a simple, legible step in the setup flow.

### UX Workflow

Beyond orchestration, Weave also treats the CLI like a product surface rather than a thin wrapper around infrastructure commands.

**Tooltips.** During the setup process, the user might encounter terms or concepts they are not familiar with. Instead of pushing users out to docs, Weave brings concise, context-aware help directly into each step. Users can press `ctrl-t` at any point to understand the current action without losing momentum or switching contexts.

[Weave tooltips](https://tansawit.com/projects/weave-tooltips.mp4)

*Toggle tooltips with ctrl-t for context-aware help.*

**Undo.** CLI tools usually punish mistakes by forcing users to abort and restart. This is a massive anti-pattern because it makes users fill in the same information again. With Weave, users can press `ctrl-z` to go back one step and continue from there, just as they would expect from any modern product.

[Weave undo](https://tansawit.com/projects/weave-undo.mp4)

*Press ctrl-z to undo and return to the previous step.*
