AC
achraf-ayar/skeleto
A tool to generate skeletons
Skeleton Generator
Generate polished skeleton loading states from JSX/TSX in seconds. Paste real UI code on the left, get a ready-to-use skeleton component on the right. Built with Next.js, Monaco Editor, and a lightweight Babel-powered parser.
Project Navigation
- Interface Preview
- Features
- Quick start
- Usage
- How it works
- Tech stack
- Scripts
- Contributing
- Forking and keeping your fork updated
- License
Features
- Auto-detects JSX/TSX/HTML and debounces generation as you type
- Monaco-based side-by-side editor with light/dark theme toggle and keyboard shortcut (Cmd/Ctrl + Enter)
- Copy or download the generated skeleton snippet in one click
- Local storage persistence for your last input and theme
- MIT-licensed and open to contributions
Quick start
pnpm install # or npm install / yarn / bun install
pnpm dev # or npm run dev / yarn dev / bun devThen open http://localhost:3000 and start pasting UI code.
Usage
- Paste JSX/TSX (or HTML) into the left editor. The app auto-detects syntax and generates a skeleton on the right.
- Click Generate (or press Cmd/Ctrl + Enter) to force regeneration.
- Use Copy or Download to grab the output; Clear resets both panes.
- Toggle the theme to match your editor preference.
How it works
generateSkeletonparses your code with Babel and walks the first JSX tree, replacing content nodes with a reusableSkeletoncomponent.detectCodeTypedoes a lightweight language guess to keep generation focused on JSX/TSX.- The UI experience (editors, keyboard shortcuts, local persistence) lives in app/page.tsx and supporting components under app/components.
Tech stack
- Next.js 16, React 19
- Tailwind CSS 4 for styling
- Monaco Editor for the code panes
- Babel parser/traverse for AST transforms
- React Hot Toast for feedback
Scripts
pnpm dev– start the Next.js dev serverpnpm build– production buildpnpm start– run the built apppnpm lint– lint the codebase
Contributing
We welcome issues, ideas, and pull requests.
- Fork the repo and clone your fork.
- Create a branch:
git checkout -b feature/my-improvement. - Install deps and run
pnpm devfor local development. - Before opening a PR, run
pnpm lintandpnpm buildto ensure the app still compiles. - Open a pull request with a clear description and, if possible, a short demo or screenshot.
If you are filing an issue, include:
- A short summary of the problem or enhancement
- Steps to reproduce (when applicable)
- Expected vs. actual behavior
- Screenshots or example code snippets when helpful
Forking and keeping your fork updated
- Fork this repository on GitHub.
- Clone your fork:
git clone git@github.com:<your-username>/skeleton-generator.git. - Add the upstream remote:
git remote add upstream git@github.com:achraf-ayar/skeleton-generator.git. - Regularly sync:
git fetch upstream && git rebase upstream/main(or merge if you prefer). - Push your branch to your fork and open a PR back to
achraf-ayar/skeleton-generator.
License
MIT License — see LICENSE.
On this page
Languages
TypeScript90.0%CSS8.7%JavaScript1.3%
Contributors
MIT License
Created January 12, 2026
Updated February 25, 2026
