Project

EvoSpec

Manage API specs that need to keep moving.

A framework and CLI for versioned API specification workflows, aimed at evolving TypeSpec-based contracts without losing the path between versions.

Highlights

Why it exists

  • CLI workflow for initializing and managing EvoSpec API projects
  • Versioned API structure with a latest workspace and explicit versions
  • TypeSpec-oriented evolution model with migration concepts
  • Built for API changes that need continuity rather than clean-sheet rewrites

Overview

Current shape

EvoSpec is HamSpec’s take on API evolution as an explicit workflow instead of an afterthought.

The repository currently frames EvoSpec as a way to manage versioned API specification projects, especially around TypeSpec. It starts with an evospec init flow, sets up a versioned directory structure, and treats change between versions as something that should be modelled rather than ignored.

The idea is straightforward: when an API changes, the path from one version to the next matters. EvoSpec is aimed at preserving that path through migration-oriented tooling, generated scaffolding, and a workflow that distinguishes the latest spec from published versions.

This is the systems side of HamSpec: slower-moving, more structural, and concerned with software that has to keep evolving without breaking its users.