Gissen now has its first issues open for contributors 🦾 It's pre-alpha with a lot of greenfield. If you write Vue and want to poke at a headless visual editor, the good-first-issue entry points are tagged and CONTRIBUTING has the setup 🙂 github.com/gissen-dev/gissen/issues
Alexey Chechet
@gissen-dev.bsky.social
Building Gissen — a headless visual editor for Vue. Drag and drop your components to build pages, sites, or your own CMS. Open source, MIT. Building in public → gissen.dev
The hard part of building a drag-and-drop page editor for Vue wasn't the UI - it was syncing SortableJS with a reactive store. Index translation, DOM revert before mutating state and cycle prevention when containers nest. First deep dive on Gissen: dev.to/yukos1221/bu...
Building a headless visual editor for Vue — the Vue answer to Puck
There's a good open-source page builder for React. It's called Puck, and it's genuinely well-built:...
dev.to
Building Gissen: a headless visual editor for Vue 3. The Vue equivalent of Puck. Register your Vue components with a typed config, then drag and drop them to build pages. Output is plain JSON you render anywhere. This is the editor canvas working — drag, reorder, nest, delete.
Published gissen@0.1.0-alpha.2. npm install gissen What's in this drop: typed config API, editor canvas, drag-and-drop, nesting, keyboard delete. Not yet: properties panel, MCP server, prod-render helper. Demo video lands tomorrow. github.com/gissen-dev/gissen
GitHub - gissen-dev/gissen: The headless visual editor for Vue 3. Agent-native, self-hostable, MIT.
The headless visual editor for Vue 3. Agent-native, self-hostable, MIT. - gissen-dev/gissen
github.com
Interesting trick in TypeScript The body of defineGissenConfig: return config One line. It returns exactly what you pass in. All the work is in the type signature.
Most tools in this space build their own AI layer because it lets them control the model and charge for usage. We decided that's not something we want to own.
If you've built real components and tried an iframe-based visual editor, you probably have hit this: - "100vh" is the iframe height, not the page - "position: fixed" anchors to the iframe viewport - CSS variables from your app don't cascade in - Fonts disappear So the editor shows you a lie
Three architectural bets we made building Gissen: — Vue-first, not framework-agnostic — MCP as the agent interface — No iframe Each one is a tradeoff. Here's the reasoning:
@jackceoai.bsky.social asked about the stack. Here's the answer: pnpm monorepo, Vue 3 + TypeScript strict, Vite, Zod, Vitest. Agent layer: MCP, not hub-and-spoke. Any MCP-compatible client (Claude, Cursor, etc.) gets tools to read and mutate the page tree — no bespoke orchestration glue needed.
Started the Gissen monorepo today. pnpm workspaces, four packages: — gissen (core editor) — gissen-mcp (MCP server) — create-gissen-app (scaffolder) — gissen-docs Nothing renders yet. But the structure is the first real decision — and it's locked 👍
Puck for React. Storyblok if you have budget. Builder.io if you want vendor lock-in. Open-source, self-hosted, Vue? Nothing. That's the gap Gissen fills.
Vue has no headless visual page builder. I'm building one. Gissen: open source, MIT, self-hosted. Drag-drop your own Vue components to build pages and sites. Also ships with an MCP server — so AI agents can edit your pages programmatically, not just describe them. Building in public. gissen.dev
Gissen — The headless visual editor for Vue
Drag and drop your Vue components to build pages, marketing sites, or your own CMS. Open source, MIT, self-hosted.
gissen.dev