Skip to content

rittmananalytics/wire

Repository files navigation

Wire Framework

Wire Framework v3.4.17

Wire is a structured delivery system for data platform engagements, built on top of Claude Code and Gemini CLI. It encodes analytics engineering methodology as workflow specifications that the AI reads before generating anything so that output follows consistent patterns, traces back to requirements and can be validated automatically rather than having to be manually eyeballed.

Instead of prompting an AI to write a dbt model and hoping it follows your conventions, you run /wire:dbt-generate and the AI receives a specification that tells it exactly which upstream design decisions to read, which naming patterns to apply, which tests to include, and how to update the project status tracker when it's done.


The Problem It Solves

AI code generation can produce syntactically valid SQL. Where it falls down is methodology: consistent naming conventions across 15+ models, correct surrogate key patterns, relationship test coverage on every foreign key, traceability from business requirement to warehouse column. These failures are not knowledge failures, as the models typically do know the conventions. They are, however, context and control failures as without a structured methodology constraining generation, LLMs improvise and the accumulated inconsistencies across a project erode the value of using AI at all.

Wire closes this gap by encoding the methodology as workflow specifications that the AI reads before generating anything. Each specification tells the AI which upstream artifacts to read, which templates to follow, which validation checks to apply, and how to update the project state tracker. The result is of typically of an equivalent level of quality of a senior analytics engineer who has been on the project for months, because it was generated by an AI that read every design decision and requirement that a senior analytics engineer would have absorbed.

Wire does not replace consultants or developers. It gives them an AI that works quickly and consistently, freeing them to focus on client relationships, design decisions and the judgement calls that automation cannot make.


Key Features

  • 89 slash commands covering the full delivery lifecycle: Discovery, Requirements, Design, Development, Testing, Deployment, Enablement
  • 8 release types matching common engagement shapes: discovery scoping, full platform builds, pipeline-only, dbt development, dashboard extensions, enablement, and agentic commerce storefronts
  • Two-tier engagement structure separating long-running client context from individual scoped releases
  • Generate / validate / review lifecycle for every artifact: structured generation, automated checks, stakeholder sign-off
  • 16 ad-hoc development skills that activate automatically during coding work (dbt, LookML, Dagster, Python, Fivetran, Looker) without any explicit invocation
  • Autopilot mode for autonomous end-to-end delivery
  • Jira and Linear integration for issue tracking synced to the artifact lifecycle
  • Confluence and Notion integration for client-facing document review
  • Fathom integration for surfacing relevant meeting transcript context during reviews
  • Runs on Claude Code (Anthropic) and Gemini CLI (Google)

Claude Code, Gemini, Plugins, Skills, and MCP Servers

Wire is distributed as a Claude Code plugin and a Gemini CLI extension. Installing the plugin embeds every Wire command inline — no framework files need to exist in your project repository.

Plugins provide the 89 /wire:* commands. Each command file contains its full workflow specification, so the AI receives complete instructions as context at invocation time.

Skills sit alongside commands but work differently. They activate automatically during ad-hoc coding work without any explicit invocation. When you start writing a dbt model, the dbt development skill provides naming conventions, SQL style rules, and testing patterns as background context. The following skills are included:

Skill Activates when…
dbt-development Writing dbt models, tests, or documentation
dbt-migration Migrating dbt projects across platforms
dbt-fusion Resolving dbt Core to Fusion migration errors
dbt-mcp-server Configuring the dbt MCP server
dbt-analytics-qa Answering business questions from dbt data
dbt-dag Generating lineage diagrams
dbt-unit-testing Writing dbt unit tests
dbt-semantic-layer Working with the dbt Semantic Layer
dbt-troubleshooting Diagnosing dbt errors
lookml-content-authoring Writing LookML views, explores, and dashboards
looker-dashboard-mockup Generating HTML dashboard mockups
dagster Writing Dagster asset definitions and pipelines
dignified-python Writing production-quality Python
fivetran Configuring Fivetran connectors via MCP
research Conducting technical research (findings auto-saved to .wire/research/)

MCP servers connect Wire to external systems. Configure them once and all commands that need them use them automatically:

MCP Server Purpose
Atlassian Jira issue tracking and Confluence document store
Linear Linear issue tracking
Fathom Meeting transcript search during reviews
Notion Notion document store
Context7 Up-to-date library documentation
Fivetran Create, configure, and monitor Fivetran connectors and destinations

Getting Started

Prerequisites

Installing the Claude Code Plugin

/plugin marketplace add rittmananalytics/wire-plugin
/plugin install wire@rittman-analytics

Restart Claude Code. All /wire:* commands are immediately available.

Installing the Gemini CLI Extension

gemini extensions install https://github.com/rittmananalytics/wire-extension

Commands are available as /wire * with spaces rather than colons.

Configuring MCP Servers

MCP servers are optional but enable issue tracking, document store sync, and meeting transcript context. Add whichever you need:

# Atlassian (Jira + Confluence)
claude mcp add --transport http atlassian https://mcp.atlassian.com/v1/sse

# Linear
claude mcp add --transport http linear https://mcp.linear.app/sse

# Fathom (meeting transcripts — requires a self-hosted or managed Fathom MCP server)
claude mcp add --transport http fathom https://your-fathom-mcp-server/mcp

# Notion
claude mcp add --transport http notion https://mcp.notion.com/mcp

# Fivetran (requires API key and secret from Fivetran dashboard → Account → Settings → API Config)
claude mcp add --transport http fivetran https://mcp.fivetran.com/mcp \
  -H "X-Fivetran-API-Key: YOUR_API_KEY" \
  -H "X-Fivetran-API-Secret: YOUR_API_SECRET"

Run /wire:mcp at any time to check connection status, update endpoints, or force re-authentication.

Starting Your First Engagement

/wire:new

Wire asks for a client name, engagement type, first release type, and an optional Statement of Work path. It creates the .wire/ folder structure and, if you chose a discovery release, begins the scoping workflow.


How It Works

The Engagement and Release Structure

Every Wire engagement uses a two-tier layout in .wire/:

.wire/
  engagement/
    context.md        # client objectives, stakeholders, current-state architecture
    sow.md            # Statement of Work (copied at setup)
    calls/            # meeting notes and call transcripts
  releases/
    01-discovery/     # problem definition, pitch, release brief, sprint plan
    02-pipeline/      # data pipeline and dbt transformation
    03-dashboards/    # client-facing reporting layer
  research/
    sessions/         # technical research findings (auto-saved by the research skill)

The engagement folder holds everything that spans the whole client relationship. Releases are scoped, time-boxed units of delivery, each with its own status.md tracking file and execution_log.md recording every command run against it.

The Generate / Validate / Review Cycle

Every artifact follows the same three-step lifecycle:

Generate reads upstream artifacts (requirements, design decisions, prior models), applies Wire methodology templates, and produces the artifact. Output is written to the release folder and the status tracker is updated.

Validate runs automated checks against the generated artifact. For a dbt model this covers naming convention compliance, test coverage, and relationship validation. For a requirements document it checks completeness against the SOW. The result is a structured PASS/FAIL report with specific issues identified.

Review presents the artifact for stakeholder sign-off. Wire surfaces relevant meeting transcript context from Fathom, document store comments from Confluence or Notion, and any prior reviewer feedback. The reviewer approves, requests changes, or rejects. Approval gates the next phase.

Each command has a matching validate and review counterpart: /wire:requirements-generate, /wire:requirements-validate, /wire:requirements-review.

Release Types

Type Scope Typical duration
Discovery Problem definition, pitch, release brief, sprint plan 1–2 weeks
Full Platform Pipeline through dbt, semantic layer, and dashboards 2–3 weeks
Dashboard-First Visual mocks drive the data model; seed data enables early dbt work 1–2 weeks
Pipeline + dbt New data pipeline and transformation layer 1–2 weeks
dbt Development Analytics engineering on existing infrastructure 1 week
Dashboard Extension New dashboards on an existing semantic layer 3–5 days
Enablement Training and documentation for an existing platform 2–3 days
Agentic Commerce Lovable base storefront plus 9 AI commerce features via Claude Code 1–4 weeks

Walkthrough: A Pipeline + dbt Release

The following shows a typical command sequence for delivering a new data pipeline and dbt transformation layer.

1. Create the engagement and release

/wire:new

Select pipeline_only as the release type. Wire creates .wire/engagement/ and .wire/releases/01-pipeline/.

2. Start a working session

/wire:session-start

Wire scans the release status, surfaces any relevant prior research, and proposes a focused plan for the session.

3. Extract requirements

/wire:requirements-generate

Wire reads the SOW and any call transcripts in engagement/calls/ and produces a structured requirements specification. Run /wire:requirements-validate to check it, then /wire:requirements-review for sign-off.

4. Design the pipeline architecture

/wire:pipeline_design-generate

Produces a pipeline architecture document covering source systems, replication strategy, and data flow. Validate and review as above before proceeding.

5. Generate the pipeline

/wire:pipeline-generate

For a Fivetran engagement, this configures connectors via the Fivetran MCP server and produces a pipeline_connections.md record. For a Python pipeline it generates the pipeline code.

6. Generate dbt models

/wire:dbt-generate

Wire reads the pipeline design and requirements and generates staging, integration, and warehouse dbt models following the three-layer naming convention, with tests and documentation.

7. Close the session

/wire:session-end

Records what was accomplished in status.md and suggests a focus for the next session.


Autopilot Mode

Autopilot runs the full delivery lifecycle without step-by-step prompting.

/wire:autopilot

Wire starts with a complete discovery sprint (problem definition, pitch, release brief, sprint plan). From the approved sprint plan it determines which downstream release types are needed, creates them, and executes each in sequence. Every artifact goes through generate, validate, and review before the next begins. Autopilot pauses at review gates for human sign-off, then continues.

It works best on well-scoped engagements where the SOW is clear and the release types are predictable.


Wire Studio (Experimental)

Wire Studio is a browser-based interface for the Wire Framework, providing an alternative to working directly in the CLI.

Features include an artifact workflow graph with pan/zoom and export, an IDE-style tabbed workspace with Mermaid diagram rendering, a file explorer, real-time command execution with streaming output, and multi-user support for teams working the same engagement.

Install locally (requires Node.js 18+):

/wire:studio-install
wire-studio start

A hosted version is available at wirestudio.rittmananalytics.com. See the Wire Studio README for setup details.


VS Code Extension (Experimental)

A VS Code extension (wire-vscode/) is in early development. The intention is to surface Wire commands and project status directly inside the editor. It is not yet published to the VS Code Marketplace.


Documentation


Contributing and Issues

Wire is maintained by Rittman Analytics.

Bug reports and feature requests can be filed as issues on this repository. Please include the Wire version (run /wire:help to check), the command you ran, and what you expected versus what happened.

Pull requests are welcome for bug fixes and documentation. For larger changes — new release types, new skills, changes to the generate/validate/review lifecycle — please open an issue to discuss the approach before submitting.

Building packages (for maintainers):

bash wire/scripts/build-packages.sh

Output goes to wire/dist/. Push each package to its distribution repository:

  • wire/dist/claude-plugin/ to rittmananalytics/wire-plugin
  • wire/dist/gemini-extension/ to rittmananalytics/wire-extension

Rittman Analyticsrittmananalytics.cominfo@rittmananalytics.com

About

Wire is a structured delivery system for data platform engagements, built on top of Claude Code and Gemini CLI

Resources

License

Stars

Watchers

Forks

Contributors