Skip to main content

Specfuse Spec-Authoring Kit

The upstream contract for Specfuse projects. Defines the conventions, vendor extensions, and authoring workflows that the Specfuse code generator consumes to produce backend, frontend, and worker artifacts from OpenAPI 3.0.3 + AsyncAPI 3.0.0 + Arazzo 1.0.1 specifications.

Quick start

Bootstrap a new Specfuse project with the Specfuse CLI:

pipx install specfuse                # the whole suite; no extras, no flags
#   (or: uv tool install specfuse)
specfuse authoring init ~/projects/my-new-project

The kit is one component of the Specfuse suite, and the suite is driven through the single specfuse command — specfuse authoring … is this kit. Installing specfuse brings the kit with it, and pipx upgrade specfuse (or uv tool upgrade specfuse) pulls every component's new release.

Standalone use. pip install specfuse-authoring still works if you want the kit alone or as a library, and its flat specfuse-authoring command is kept as a deprecated alias until 1.0.0 — drop the specfuse prefix from every command below. Do not install both ways: the two installs provide the same flat command name, so whichever claimed ~/.local/bin first is what runs, and upgrading the other changes nothing. specfuse doctor reports which install owns each command.

You'll be prompted for the project name, the project token (channel-address prefix), and the initial domain. The CLI substitutes placeholders, scaffolds the authoring contract (handbooks + samples + Spectral schemas) into .specfuse/authoring/, wires the specfuse-authoring Claude Code plugin into .claude/settings.json, and prints next steps. Pass --name/--token/--domain to run non-interactively.

The Claude Code authoring assets (skills + agents) ship as the specfuse-authoring plugin in the shared specfuse marketplace. init auto-wires the plugin, but you install it once in Claude Code with:

/plugin marketplace add specfuse/specfuse
/plugin install specfuse-authoring@specfuse

To pull a kit update into an existing project — handbooks, samples, schemas and the scripts/specfuse/ tooling:

specfuse authoring upgrade ~/projects/existing-project
specfuse authoring upgrade ~/projects/existing-project --dry-run   # preview first

Your specs are never touched. upgrade tracks what it wrote (.specfuse/authoring/.scaffold-manifest), so it replaces kit files, warns before overwriting one you edited, and never deletes a file it did not create. (refresh is a deprecated alias.)

Pull newer skills with /plugin update specfuse-authoring@specfuse.

See examples/hello-orders/ for a complete worked example.

What's in the kit

Asset Contents
Handbooks (handbooks/) 6 authoritative documents: REST API, AsyncAPI, Arazzo, vendor extensions, AI access policy framework, and the generator's project file. Together these define the full spec-authoring contract.
Samples (samples/) 4 canonical YAML templates — endpoints, async messages, scenarios, recipes — that every authored file should pattern-match against.
Schemas (schemas/) Working Spectral rulesets and custom functions for validation under schemas/spectral/. CI lints the bundled example against them. schemas/README.md also covers how to run Spectral so a crash cannot pass as a clean spec, and how to turn the ruleset on against specs that predate it.
Templates (templates/) The project-init/ skeleton, plus the AI Access Policy template.
Claude assets 5 Claude Code sub-agents and 20 authoring skills (/specfuse-authoring:design-scenario, /specfuse-authoring:design-async, /specfuse-authoring:design-recipe, etc.) that automate spec design. Distributed as the specfuse-authoring plugin in the specfuse/specfuse marketplace; init wires the plugin and scaffolds the contract the skills read into .specfuse/authoring/.
Bundled example (examples/hello-orders/) A 61-file complete Specfuse project — 2 domains, 3 entities, 1 state-transition event, 1 cross-domain scenario, 2 setup recipes, filled AI access policy, CI workflow. Serves as the kit's regression net.

Where to start

You want to… Read first Then run
Bootstrap a new project docs/getting-started.md specfuse authoring init <target-dir>
Design your first scenario handbooks/Arazzo_Handbook.md /specfuse-authoring:design-scenario
Author a new entity or endpoint handbooks/API_Handbook.md + samples/endpoint-samples.yaml (no kit command yet — author by hand)
Design an async event or scheduled job handbooks/AsyncAPI_Handbook.md + samples/message-samples.yaml /specfuse-authoring:design-async
Add a setup recipe handbooks/Arazzo_Handbook.md §7 + samples/recipe-samples.yaml /specfuse-authoring:design-recipe
Configure AI agent access handbooks/AI_Access_Policy_Framework.md + templates/ai-access-policy-template.md (copy template into project)
Look up a x-* extension handbooks/Vendor_Extensions.md —
Configure the generator project file handbooks/Project_File.md —
See a complete worked example examples/hello-orders/README.md —

Relationship to other Specfuse repos

spec-authoring-kit  ◄── this repo (rules, samples, templates)
       ▲
       │ consumes
       │
   ┌───┴────────────────┐
   │                    │
generator           orchestrator
(Java/Kotlin —      (filesystem-based
 produces code      multi-agent workflow
 from specs)        coordination)

The kit is upstream of both: it defines what a Specfuse spec must look like. The generator consumes those specs to emit code. The orchestrator coordinates the multi-agent authoring workflow that produces those specs.

Status

Incubating (v0.16.0), Apache-2.0. Handbooks, samples, schemas, the project-init template, the bundled hello-orders example, the specfuse-authoring plugin (in the specfuse/specfuse marketplace), and the specfuse authoring CLI are all in place. Generator-side alignment items are tracked in compatibility.md.

The kit is distributed on PyPI as specfuse-authoring and hosted under Specfuse/authoring. The code generator it drives is distributed separately as a pinned, checksum-verified release asset (see generator.lock); specfuse authoring generate resolves, verifies, and runs it on demand.

Additional references

  • compatibility.md — kit ↔ generator version matrix and outstanding generator-side follow-ups.
  • provenance.md — bug-and-PR history that motivated each vendor extension. Kit-maintainer audit trail; external consumers do not need the referenced PRs to resolve.

Release files for specfuse-authoring 0.16.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for specfuse-authoring 0.16.0
File Size Uploaded
specfuse_authoring-0.16.0.tar.gz 417.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for specfuse-authoring 0.16.0
File Interpreter ABI Platform
specfuse_authoring-0.16.0-py3-none-any.whl Python 3 none any Details

Total release size: 907.6 kB

Release files / specfuse_authoring-0.16.0.tar.gz

Download URL specfuse_authoring-0.16.0.tar.gz
Size 417.0 kB
Tags Source
SHA-256 checksum
How to use checksums
cdb0be9efa8fc881fc677e84d7f088b177a4c4eec1b494bb5ec0ffe2116eceec
BLAKE2b-256 checksum
How to use checksums
775c2c24443893594bb45c206905534287f4d937196b998c236732bef20f8f9d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 3, 2026.

Transparency log

Release files / specfuse_authoring-0.16.0-py3-none-any.whl

Download URL specfuse_authoring-0.16.0-py3-none-any.whl
Size 490.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0e2af6ddd44bc6f83f82c24acb770f1e4a9d6d91261458d9f36ae91752ee0fab
BLAKE2b-256 checksum
How to use checksums
3eb25ac994df84518e28f5c879b486d1d8961197711923300a7be7ee4f115e52
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 3, 2026.

Transparency log

Release history Release notifications | RSS feed

0.22.0

2 release files

0.21.0

2 release files

0.18.0

2 release files

0.17.0

2 release files

This release

0.16.0 This release

2 release files

0.13.1

2 release files

0.13.0

2 release files

0.12.0

2 release files

0.11.0

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.9

2 release files

0.5.8

2 release files

0.5.7

2 release files

0.5.6

2 release files

0.5.5

2 release files

0.5.4

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page