Skip to content

plexusone/multispec

Repository files navigation

MultiSpec

Go CI Go Lint Go SAST Go Report Card Docs Docs Visualization License

Multi-domain specification orchestration for humans and AI agents.

Overview

MultiSpec bridges the gap between organizational intent (MRD, PRD, UXD) and executable specifications for AI coding agents. It provides:

  • ✍️ Domain-specific authoring - Separate specs for PM, UX, Engineering
  • 📣 GTM synthesis - LLM-generated press releases, FAQs, narratives (Working Backwards)
  • ⚙️ Technical synthesis - LLM-generated TRD, IRD from source specs
  • 📊 Structured evaluation - Per-domain LLM judges with customizable rubrics
  • 🔄 Reconciliation - Conflict detection and tradeoff resolution
  • 📦 Target adapters - Export to SpecKit, GSD, GasTown, GasCity, OpenSpec

Installation

go install github.com/plexusone/multispec/cmd/multispec@v0.2.0

Quick Start

# Initialize a new project
multispec init user-onboarding

# Validate project structure
multispec lint

# Check project status
multispec status
multispec status --format json
multispec status --format html > status.html

Directory Structure

docs/specs/
├── CONSTITUTION.md                    # Repo-level governance
├── ROADMAP.md                         # Cross-project priorities
└── {project}/                         # kebab-case project name
    ├── source/                        # Human-authored specs
    │   ├── mrd.md
    │   ├── prd.md
    │   └── uxd.md
    ├── gtm/                           # LLM-generated GTM docs
    │   ├── press.md
    │   ├── faq.md
    │   └── narrative.md
    ├── technical/                     # LLM-generated technical docs
    │   ├── trd.md
    │   └── ird.md
    ├── eval/                          # All evaluations
    │   ├── mrd.eval.json
    │   ├── prd.eval.json
    │   └── ...
    ├── .graphize/                     # Requirement graph
    ├── spec.md                        # Reconciled execution spec
    ├── current-truth.md               # Post-ship state
    ├── status.html                    # Readiness report
    ├── index.md                       # MkDocs page
    └── multispec.yaml                 # Configuration

Document Lifecycle

HUMAN-AUTHORED (Source)
  MRD.md → PRD.md → UXD.md
           ↓
LLM-GENERATED (GTM) ← Working Backwards
  press.md → faq.md → narrative.md
           ↓
LLM-GENERATED (Technical)
  trd.md → ird.md
           ↓
RECONCILIATION
  All approved specs → spec.md
           ↓
TARGET EXPORT
  spec.md → SpecKit | GSD | GasTown | GasCity | OpenSpec
           ↓
POST-SHIP ALIGNMENT
  spec.md + reality → current-truth.md

CLI Commands

Command Description Status
init <project> Initialize a new project with standard directory structure Implemented
lint [project] Validate directory structure and naming conventions Implemented
status Show project status and readiness gates Implemented
targets List available export targets Implemented
eval [type] Evaluate specs using LLM judges Implemented
synthesize <type> Generate specs from source docs Implemented
reconcile Generate unified execution spec Implemented
approve <type> Approve a spec for reconciliation Implemented
export <target> Export to target execution system Implemented (SpecKit)
graph <cmd> Manage requirement graphs (extract, export, query) Implemented
serve Start MCP server for AI integration Implemented

Status Command

The status command shows project readiness with multiple output formats:

# Terminal output with readiness gates
multispec status -p myproject

# JSON for programmatic use
multispec status -p myproject --format json

# HTML report with traffic light indicator
multispec status -p myproject --format html > status.html

# Markdown for embedding in docs
multispec status -p myproject --format markdown

# CI mode - exits non-zero if not ready
multispec status -p myproject --ci

Readiness Gates

Gate Description
Required specs present All required source specs (mrd, prd, uxd, trd) exist
Evaluations passing No blocking evaluation findings
Approvals obtained All required specs have approvals
Execution spec generated spec.md has been created

MCP Server

MultiSpec includes an MCP (Model Context Protocol) server for integration with AI coding assistants like Claude Code and Kiro CLI.

# Run MCP server directly
multispec-mcp

MCP Tools

Tool Status Description
list_projects Implemented List all multispec projects
get_project_status Implemented Get project readiness status
start_draft Implemented Initialize a new draft
update_draft Implemented Save draft content
eval_draft Implemented Evaluate draft against rubric
finalize_draft Implemented Promote draft to final spec
get_draft Implemented Retrieve current draft
discard_draft Implemented Delete a draft
get_spec Implemented Get specification content
get_eval Implemented Get evaluation results
run_eval Implemented Run evaluation against rubric
synthesize Implemented Generate a spec
reconcile Implemented Generate execution spec
approve Implemented Approve a specification
export Implemented Export to target system

Export Targets

Target Description
speckit GitHub Spec-Kit format
gsd Get Shit Done (PLAN.md, STATE.md)
gastown GasTown formulas and beads
gascity GasCity city.toml configuration
openspec OpenSpec portable format (future)

Dependencies

Development

# Build
make build

# Test
make test

# Lint
make lint

# Install locally
make install

Project Status

See ROADMAP.md for detailed implementation status and CHANGELOG.md for release history.

Current Version: v0.2.0

Phase Status
Phase 0: Foundation Complete
Phase 1: Directory Structure Complete
Phase 2: Evaluation Engine Complete
Phase 3: GTM & Technical Synthesis Complete
Phase 4: Reconciliation Engine Complete
Phase 5: Target Adapters Partial (SpecKit)
Phase 6: Claude Code Integration Complete
Phase 7: Graphize Integration Complete
Phase 8: Advanced Features Not Started

License

MIT

About

Multi-domain specification orchestration for humans and AI agents. MultiSpec bridges the gap between organizational intent (MRD, PRD, UXD) and executable specifications for AI coding agents. It provides:

Resources

License

Stars

Watchers

Forks

Contributors