a 3D game engine designed for vibe coding
npm install vibegameA 3D game engine designed for vibe coding. Declarative HTML-like syntax, ECS architecture, and game-ready features including physics, rendering, and player controls out of the box.


Vibe coding games works at first, but falls apart as the project grows.
``bash
npm create vibegame@latest my-game
cd my-game
bun dev
`
This scaffolds a complete project with llms.txt system prompt for AI-assisted development.
`bash`
bun install vibegame
`html
`
System Prompt: Include llms.txt in your AI system prompt for comprehensive VibeGame documentation.
Comprehensive Documentation: Use Context7 to fetch detailed documentation:
`typescript`
// Use mcp__context7__resolve-library-id to find "vibegame"
// Then use mcp__context7__get-library-docs for full documentation
Context Workflow: Use Shallot to manage context across conversations:
- Use /peel at conversation start to load necessary context/nourish
- Use at conversation end to update context
Live bevy, uses an Entity Component System architecture with Plugins:
- Components: Pure data structures without behavior
- Systems: Logic separated from data
- Plugins: Self-contained modules that bundle related functionality
Entities and components defined declaratively in HTML:
`html`
Game-ready features out of the box:
- Controllable character
- Physics simulation
- Camera controls
- Rendering pipeline
- Input handling
All entities are defined within the tag:
`html`
Entities and components can be defined with a CSS-like syntax:
`html`
body="type: 1; pos: 0 -0.5 0"
renderer="shape: box; size: 20 1 20; color: 0x90ee90"
collider="shape: box; size: 20 1 20"
>
or, with CSS-style shorthand expansion:
`html`
renderer
collider
pos="0 -0.5 0"
body="type: 1"
shape="box"
size="20 1 20"
color="#90ee90"
>
or, with recipes (entity-component bundles):
`html`
Register custom systems and components to handle arbitrary game logic:
`html
`
When registered, the custom component MyComponent will be automatically parsed from HTML with value 10. The custom system MySystem will be automatically run every frame, which will query for every entity with my-component and increment its value by 1.
`bashInstall dependencies
bun install
- GitHub Repository
- NPM Package
- Live Demo on Hugging Face
- Live Demo on JSFiddle
- Shallot Context Manager