# Introduction

Specgen allows developers to write specification of HTTP API and/or JSON models.

Specgen provides good quality code generation for HTTP service, client and models code. This is full implementation of API-first approach. API creation/changes happens first in the formal API specification and then these changes automatically reflected in the code.

The documentation is split into following sections:

## spec

Section [spec](https://docs.specgen.io/spec/format) describes spec format language and all aspects of it.

## specgen

Section [specgen](https://docs.specgen.io/specgen/overview) describes code generation features. It also includes documentation for all build plugins.
