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.

  • 7 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…