Fuma studio

Getting Started

Introducing Fumastudio.

Quick Start

Get started with Fumastudio Docs:

Introduction

Fumastudio is a cost-effective, open alternative to Mintlify. It enables both technical and non-technical teams to publish beautiful documentation sites without vendor lock-in. It integrates seamlessly with multiple HTTP clients and file formats, and includes utilities such as a no-code MDX editor.

Schema Collections

Schema collections describe the structure of your API requests. They extend JSON Schema using a Zod-like syntax, focusing on a direct 1:1 mapping with JSON Schema.

Each schema file corresponds to a .bru file. For example, a request file named create_account.bru will have a schema file named create_account.schema.ts.

Examples includes:

You can import code to support TypeScript IntelliSense and type checking. Use imports sparingly, as only the Zod-like syntax is supported.

*.schema.ts
import { v } from "@trythis/js-schema";

export const headers = v.object({
  "Content-Type": v.string(),
});

You can define multiple exports in a single schema file.

*.schema.ts
export const body = v.object({
  "Content-Type": v.string(),
});

export const headers = v.object({
  Authorization: v.string(),
});

You can also define the schema directly without imports or named exports.

*.schema.ts
export default v.object({
  "Content-Type": v.string(),
});

For example, a demo collection will contain the following .bru and .schema.ts files:

get_blob.bru
TypeScript IconCreated with Sketch.get_blob.schema.ts
health.bru
TypeScript IconCreated with Sketch.health.schema.ts
token.bru
TypeScript IconCreated with Sketch.token.schema.ts
bruno.json

Further details on @trythis/js-schema will be provided soon.