fumagen
v0.0.4
Published
Fumastudio SDK Toolkit.
Readme
fumagen
fumagen is the official CLI for Fumastudio — generate type-safe, production-ready SDKs from your Bruno collections in seconds.
Stop writing API clients by hand. fumagen reads your Bruno collection and outputs a fully-typed SDK your team can ship immediately.
Features
- 🚀 SDK generation from Bruno collections — turn your API collection into a shareable SDK
- 🧩 SaaS-ready output — generated SDKs are structured for distribution across teams and products
- ✨ Optional code formatting — integrates with Biome for consistent, opinionated formatting
- ⚙️ Configurable via
bruno.json— no separate config file needed; everything lives in your existing collection
Prerequisites
Installation
npm install -g fumagenOr use it without installing via npx:
npx fumagen buildSetup
fumagen is configured inside your Bruno collection's bruno.json file under the fumastudio key. Here's an example:
{
"version": "1",
"name": "MyAPI",
"type": "collection",
"ignore": ["node_modules", ".git"],
"fumastudio": {
"orgID": "your-org-name",
"typescript": {
"packageJSON": {
"name": "my-api-sdk"
}
},
"formatters": {
"biome": {
"formatter": {
"enabled": true,
"indentStyle": "tab",
"lineWidth": 80
},
"javascript": {
"formatter": {
"quoteStyle": "double"
}
}
}
}
}
}| Field | Description |
|---|---|
| orgID | Your organisation identifier |
| typescript.packageJSON.name | The name field for the generated SDK's package.json |
| formatters.biome | Optional Biome formatter config applied during builds with --prettify |
Commands
fumagen build
Generates your SDK from a Bruno collection.
fumagen build [collections] [options]Arguments
| Argument | Description | Default |
|---|---|---|
| collections | Path to your Bruno collection | ./collections |
Options
| Flag | Description | Default |
|---|---|---|
| --out-dir <folder> | Output directory for the generated SDK | ./dist |
| --prettify | Format the generated source code using Biome | false |
| --api-key <key> | Your Fumastudio secret key | — |
| --cwd <path> | Working directory for the build | process.cwd() |
Examples
# Generate SDK from the default ./collections folder
fumagen build
# Specify a custom collection path and output directory
fumagen build ./api/collections --out-dir ./sdk
# Generate and format the output
fumagen build --prettify
# Pass your API key inline
fumagen build --api-key fuma_sk_xxxxxxxxxxxxOther flags
| Flag | Description |
|---|---|
| -v, --version | Display the installed fumagen version |
| --help | Show help for any command |
Waitlist
fumagen is currently in early access. An API key is not required right now so you can try the full build flow without one.
👉 Join the waitlist at fumastudio.com to get early access and updates as we roll out new features.
Project Structure
After running fumagen build, your output directory will contain a ready-to-publish SDK:
dist/
├── package.json
├── index.ts
├── client.ts
└── ...Contributing & Feedback
fumagen is in active development. Found a bug or have a feature request? Open an issue or reach out via fumastudio.com.
