Skip to main content

Wirespec
your APIs

Simplify your API development, with human readable specifications and guarantee strict adherence

Human readable
spec first

Designing, building and testing interfaces is time consuming and error prone. Automate and standardize your workflow to eliminate the following problems:

  • Negotiating interfaces between teams is hard
  • Tool overload to cover all (REST, Queues, Models)
  • Tedious experience writing specifications
  • Dependency hell in generated code
  • Choice paralysis in libraries, tools and frameworks
  • Polyglot implementation struggles
design-first-human-readable
design-first-human-readable

Why Wirespec

Wirespec is a language that simplifies interface design. A requirement for truly contract-first specifications is readability, by humans, not machines.

By generating producer and consumer it acts as the single source of truth for your implementations, reducing errors, ensuring consistency, and enabling simultaneous frontend and backend development.

Additionally, Wirespec guarantees implementations follow specification by compile-time checks, automated testing, and validation. In short, Wirespec streamlines API development, reduces errors, and improves team alignment.

Create human-readable specifications automatically

Accelerate development worfkflows

Reduce errors and increase efficieny

How

Contract

Wirespec’s contract-first approach empowers teams by establishing one clear, authoritative source of truth, independent of implementation or technology. It drives robust, consistent interface designs, boosts team alignment, eliminates ambiguity, and accelerates effective collaboration.

Explore Key Principles
todo.ws
type TodoDto {
id: Integer?,
name: String
}

endpoint GetTodos GET /api/todos -> {
200 -> TodoDto[]
}

endpoint GetById GET /api/todos/{id: Integer} -> {
200 -> TodoDto
404 -> String
}

endpoint CreateTodo POST TodoDto /api/todos -> {
201 -> TodoDto
}

endpoint DeleteTodo DELETE /api/todos/{id: Integer} -> {
204 -> Unit
404 -> String
}

endpoint UpdateTodo PUT TodoDto /api/todos/{id: Integer} -> {
200 -> TodoDto
}
wirespec compile --input . --language typescript

This will generate the following file:

project/out/community/flock/wirespec/generated/
└─ Todo.ts

Generate

Our code generation vision embraces a contract-first strategy, placing specifications as the definitive source of truth. This powerful approach ensures durable, reusable interfaces, isolates domain definitions from implementation details, and leverages automated, typesafe code generation-boosting clarity, collaboration, and efficiency across teams.

Code Generation

Validate

Wirespec specifications serve as the definitive source of truth, ensuring API implementations align seamlessly with defined interfaces. Leveraging automated test data generation and mock servers, they streamline robust validation, swiftly identify discrepancies, reduce ambiguity, and boost reliability - empowering teams to deliver consistent, predictable API behavior.

Ensure Compliance

Other capabilities

Plugins

Wirespec supports various plugins for integration into a variety of ecosystems.

Plugins: Cli, Gradle, Maven, NPM

IDE's

Wirespec supports two IDEs: IntelliJ IDEA and VS Code.

Plugins: IntelliJ IDEA and VS Code.

Emitters

Wirespec generates functional and dependency-free code.

Plugins: Python, Java, Kotlin, Typescript, Javascript

Converters

Wirespec offers the capability to convert from existing specification formats.

Plugins: OpenAPI, Avro

Integration

Wirespec has integrations with major frameworks.

Plugins: Spring, Jackson, Avro

Comparison with other tools

By understanding your project's specific needs and architecture, you can choose the most suitable specification tool to streamline development and improve collaboration.

Feature / AspectWirespecOpenAPIAsyncAPITypespec
Primary focusStreamlined API designRestful API’sAsynchronous API’sProgrammatic API design
Specification FormatMinimal, Wirespec syntaxYAML/JSONYAML/JSONTypeScript-like syntax
Ecosystem SupportEmergingMature and extensiveGrowing rapidlyEmerging
Code GenerationBuilt-in, cross-languageExtensive via toolsRobust via toolsFlexible and customizable
Best for MicroservicesExcellentGoodExcellentGood
Asynchronous SupportLimitedLimitedExcellentLimited
Ease of UseHigh (minimalist)Moderate (can be verbose)ModerateModerate (requires coding)
TechnologyMultiplatform (JVM Node.js Binary)JVMNode.jsNode.js

Why Wirespec from Flock

Choosing Wirespec means selecting a product developed and supported by Flock., a community of passionate and driven professionals dedicated to continuous improvement.

Our dedication to ongoing innovation and quality ensures that Wirespec not only meets current demands but also evolves with emerging technologies.

By actively engaging in the open-source community and maintaining transparent development processes, we ensure that continuity and advancement are well-anchored. At Flock., we combine deep technical expertise with a strong focus on collaboration and knowledge sharing, providing you with a partner who elevates your projects to new heights.