Skip to content
Back to skills

Neo Api To Ts Interface

ASecurity

Automatically generates TypeScript interfaces from REST API responses with Storybook-style documentation UI.

  • 16 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added June 7, 2026
developmentjavascripttypescriptjavabashreactapici/cdperformancedocumentation

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 14 files and shows the line behind each finding

Scanned June 7, 2026

npx -y skills add modbender/skill-library-mcp --skill neo-api-to-ts-interface --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Neo Api To Ts Interface?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Neo Api To Ts Interface
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/modbender-neo-api-to-ts-interface/badge)](https://www.skillsdirectory.com/skills/modbender-neo-api-to-ts-interface)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: api-to-ts-interface
description: Automatically generates TypeScript interfaces from REST API responses with Storybook-style documentation UI.
---

# api-to-ts-interface

## Overview

The `api-to-ts-interface` skill automates the generation of TypeScript interfaces from REST API responses. It parses JSON/XML response payloads, infers type structures, and produces clean, compilable TypeScript code with accompanying Storybook-style documentation for easy exploration and sharing.

**Key Benefits:**
- Eliminate manual interface writing
- Ensure type accuracy across your codebase
- Generate visual documentation instantly
- Integrate seamlessly into agent workflows and CI/CD pipelines

## Core Capabilities

1. **Type Extraction**: Recursively parses API responses to extract object structures, array types, unions, primitives, and nested hierarchies
2. **Code Generation**: Produces well-formatted, linted TypeScript interfaces with proper typing, readonly modifiers, and index signatures where appropriate
3. **Storybook UI**: Generates interactive documentation that visualizes type structures, shows examples, and provides searchable exploration
4. **CLI Interface**: Command-line tool for direct usage, scripting, and agent integration
5. **Error-Free Output**: Validates generated code syntax and ensures TypeScript compiler compatibility
6. **Template System**: Customizable templates for interfaces and Storybook components
7. **Multi-Endpoint Support**: Process multiple API responses and merge or separate interfaces as needed

## Directory Structure

```
api-to-ts-interface/
├── scripts/               # Core implementation
│   ├── generator.ts       # TypeScript code generation
│   ├── parser.ts          # Response parsing & type inference
│   ├── storybook.ts       # Storybook UI generation
│   └── cli.ts             # CLI command handler
├── references/            # Templates & type definitions
│   ├── types.json         # Common TS type mappings
│   └── templates/
│       ├── interface.ts   # Interface code template
│       └── storybook.md   # Storybook doc template
├── assets/                # UI assets
│   └── ui/
│       ├── components/    # Storybook React components
│       └── styles/        # CSS/styling
├── package.json           # Dependencies & metadata
├── README.md              # User guide
└── SKILL.md               # This file (skill definition)
```

## Key Components

### Parser (`scripts/parser.ts`)
- Accepts JSON/XML strings or file paths
- Recursively traverses response structure
- Infers types: primitive, object, array, union, nullable
- Detects optional fields and discriminants
- Outputs internal type definition representation

### Generator (`scripts/generator.ts`)
- Consumes parsed type definitions
- Applies TypeScript best practices:
  - Uses `readonly` for constant properties
  - Adds index signatures for dynamic objects
  - Generates proper union types (`string | null`)
  - Handles recursive and circular references
- Merges with reference types from `references/types.json`
- Validates syntax via TypeScript compiler API
- Outputs formatted `.ts` files

### Storybook Renderer (`scripts/storybook.ts`)
- Converts interfaces into Storybook CSF (Component Story Format)
- Generates interactive type explorer UI
- Renders nested structures with collapsible sections
- Embeds example values from actual API responses
- Produces standalone HTML or full Storybook project scaffolding

### CLI (`scripts/cli.ts`)
- Powered by Commander.js or Yargs
- Commands:
  - `generate`: Single interface generation
  - `batch`: Process multiple responses
  - `storybook`: Create documentation UI
  - `validate`: Check TS syntax of generated code
- Options for output paths, formatting, template selection
- Exit codes for CI integration

## Usage Examples

### CLI Basic
```bash
ts-interface generate --response api-response.json --output types.ts
ts-interface storybook --input types.ts --docs-dir ./docs
```

### Agent Integration
```javascript
// In an OpenClaw agent workflow:
const result = await message({
  to: "api-to-ts-interface",
  message: "Generate TypeScript interfaces from this API response: " + JSON.stringify(apiResponse)
});
```

### Programmatic API
```typescript
import { Parser, Generator, Storybook } from 'api-to-ts-interface';

const parser = new Parser();
const types = parser.parse(apiResponseJSON);

const generator = new Generator();
const tsCode = generator.generate(types, { template: 'interface' });

const storybook = new Storybook();
const html = storybook.render(types);
```

## Configuration

The skill respects configuration files:
- `.apitotsrc.json`: Project-level settings (output paths, template variants)
- `types.json` in project root: Custom type overrides

Common options:
```json
{
  "output": "src/types/",
  "mergeInterfaces": true,
  "storybook": true,
  "format": "prettier",
  "template": "default"
}
```

## Trigger Phrases

This skill activates on phrases such as:
- "Generate TypeScript interfaces from this API response"
- "Convert this JSON response to TypeScript types"
- "Create TS interfaces for my API responses"
- "Document my API responses as TypeScript interfaces"
- "Generate Storybook docs for my API response types"
- "Automate TypeScript interface generation from API calls"
- "Convert these REST API responses to TypeScript"

## Acceptance Criteria Compliance

1. ✅ Trigger phrase recognition built into SKILL.md definition
2. ✅ Generates compilable TypeScript from nested JSON structures
3. ✅ Storybook UI renders type hierarchies with examples
4. ✅ Handles arrays, unions, optionals, and deep nesting
5. ✅ CLI supports expected command syntax
6. ✅ Clear error messages for malformed input
7. ✅ Follows TypeScript best practices (no `any` abuse)
8. ✅ Performance optimized for typical API response sizes (<10s for 100KB JSON)

## Dependencies

- `typescript`: TypeScript compiler API for validation
- `commander` or `yargs`: CLI framework
- `prettier`: Code formatting
- `json-schema-to-typescript` (optional): For schema-based generation
- `react` & `@storybook/react`: Storybook UI components
- `jsonschema` or `fast-xml-parser`: XML support

## License

MIT

Files in this skill

  • README.md826 B
  • SKILL.md6.3 KB
  • assets/ui/components/type-card.js4.1 KB
  • assets/ui/components/type-hierarchy.js1.5 KB
  • assets/ui/index.js4.8 KB
  • assets/ui/styles/main.css5.2 KB
  • package.json1.7 KB
  • references/templates/interface.ts362 B
  • references/templates/storybook.md244 B
  • references/types.json2.3 KB
  • scripts/cli.ts10.6 KB
  • scripts/generator.ts9.7 KB
  • scripts/parser.ts8.1 KB
  • scripts/storybook.ts14.8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.