Skip to content

Azure/typespec-azure

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2,207 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TypeSpec Azure Libraries

TypeSpec is a language for describing cloud service APIs and generating other API description languages, client and service code, documentation, and other assets.

This repository adds common Azure-specific TypeSpec libraries to the TypeSpec core that is pulled in as a git submodule.

Try TypeSpec without installing anything

You can try TypeSpec on the web without installing anything. TypeSpec playground for Azure services

Prerequisites

  • To use these libraries, install Node.js (24 LTS or later) and ensure you can run node --version from a command prompt.
  • To develop this repository, install and activate mise. From the repository root, run mise install to install the development tools defined by mise.toml and mise.lock. See the contributing guide for the complete setup.

Getting Started

For TypeSpec language documentation, see https://typespec.io/docs.

If you are team working on Azure, see TypeSpec Azure development documentation https://azure.github.io/typespec-azure. You should pre-install as well @azure-tools/typespec-azure-core to define Azure resources, and @azure-tools/typespec-autorest to export in Swagger:

pnpm add @typespec/rest @typespec/openapi3 @azure-tools/typespec-azure-core @azure-tools/typespec-autorest

If you plan to use the output openapi with autorest or any of the azure sdk tooling you should use typespec-autorest, the openapi3 emitter is not going to have any of the ms extensions (pageable, lro, client name, etc.) and so it will be losing information.

Build Pipelines

Information on using TypeSpec within build pipelines can be found here

Packages

Name Changelog Latest Next
@azure-tools/typespec-autorest Changelog
@azure-tools/typespec-azure-core Changelog
@azure-tools/typespec-resource-manager Changelog

@next version of the package are the latest versions available on the main branch.

Package Layering

The main packages in this repository can be considered a series of layers which progressively add functionality for specific scenarios:

Releases

Packages

Used by

Contributors

Languages