Lineae is a browser-based UML editor built with React and Vite. It combines a clean drag-and-drop canvas with AI features — including natural-language chat for modifying diagrams and Java code export/import — to make UML drafting fast and fluid.
- Class diagrams — create classes with attributes, methods, and stereotypes
- Sequence diagrams — model interactions with participants, messages, and activation boxes
- Tabbed interface — switch between class and sequence diagrams with full state preservation
- Drag & drop — move and arrange elements freely on the canvas
- Relationships — association, inheritance, composition, aggregation, and more
- AI chat — describe changes in natural language and let AI modify either diagram type
- Java export/import — generate Java code from class diagrams or import Java to generate diagrams
- SVG & PNG export — export diagrams as images
- JSON save/load — persist and restore your work
- Undo/redo — full history support across both diagram types
- Snap-to-grid — align elements precisely
- Auto-layout — automatically arrange diagram elements
- Excalidraw-style freeform diagrams
- Additional diagram types
- Integrations (Linear, Slack)
- Node.js 18+
git clone https://github.com/your-username/lineae.git
cd lineae
npm installCreate a .env file in the project root:
VITE_OPENAI_API_KEY=your_openai_api_key
Start the development server:
npm run dev- Fork the repository
- Create a feature branch (
git checkout -b feature/my-feature) - Commit your changes (
git commit -m "Add my feature") - Push to your branch (
git push origin feature/my-feature) - Open a pull request
For larger changes, please open an issue first to discuss the approach.
Open source. License TBD.

