https://github.com/wickedev/wyreframe
A library that converts ASCII wireframes into working HTML/UI with scene management
https://github.com/wickedev/wyreframe
ascii html prototyping rescript scene-management ui wireframe
Last synced: 3 months ago
JSON representation
A library that converts ASCII wireframes into working HTML/UI with scene management
- Host: GitHub
- URL: https://github.com/wickedev/wyreframe
- Owner: wickedev
- License: other
- Created: 2025-12-22T11:21:22.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-12-27T15:08:47.000Z (6 months ago)
- Last Synced: 2025-12-28T09:41:19.618Z (6 months ago)
- Topics: ascii, html, prototyping, rescript, scene-management, ui, wireframe
- Language: ReScript
- Homepage: https://wyreframe.studio
- Size: 536 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Wyreframe
> A library that converts ASCII wireframes into working HTML/UI with scene management
[](https://www.npmjs.com/package/wyreframe)
[](https://www.npmjs.com/package/wyreframe)
[](https://codecov.io/gh/wickedev/wyreframe)
[](https://www.gnu.org/licenses/gpl-3.0)
[](https://rescript-lang.org/)
[](https://nodejs.org/)
```
+---------------------------+
| 'WYREFRAME' | Draw in ASCII
| +---------------------+ | ↓
| | #email | | Convert to HTML!
| +---------------------+ |
| [ Login ] |
+---------------------------+
```
## Features
- **ASCII to HTML**: Convert simple ASCII art into interactive UI elements
- **Scene Management**: Multi-screen prototypes with transitions (fade, slide, zoom)
- **Interaction DSL**: Define button clicks, navigation, and form validation
- **Device Preview**: Responsive previews for mobile, tablet, and desktop
- **Auto-Fix**: Automatically correct common wireframe formatting issues
- **TypeScript/ReScript**: Full type safety with both language support
## Installation
```bash
npm install wyreframe
```
## Quick Start
```javascript
import { createUI } from 'wyreframe';
const ui = `
@scene: login
+---------------------------+
| 'WYREFRAME' |
| +---------------------+ |
| | #email | |
| +---------------------+ |
| [ Login ] |
+---------------------------+
#email:
placeholder: "Enter your email"
[Login]:
@click -> goto(dashboard, slide-left)
`;
const result = createUI(ui);
if (result.success) {
document.getElementById('app').appendChild(result.root);
result.sceneManager.goto('login');
}
```
## Syntax Reference
### UI Elements
| Syntax | Description | HTML Output |
|--------|-------------|-------------|
| `+---+` | Box/Container | `