git clone https://github.com/SauliusDev/flowforge.git
cd flowforge
pnpm install
pnpm dev # http://localhost:3000Package manager: always use pnpm. Never npm install or yarn.
- Create a branch:
git checkout -b feature/your-feature - Make changes — see Architecture Rules below
- Run
pnpm lintandpnpm buildbefore pushing - Open a PR against
master
- The
.mmdfile is the single source of truth. Mermaid syntax is derived viaserialize()inlib/serializer.ts, and visual layout state is embedded in anFLOWFORGE LAYOUTMermaid comment block vialib/embeddedLayout.ts. - Never mutate store state directly. Use store actions (
addNode,updateNodeShape, etc.) inlib/store.ts. - Always call
pushHistory()before any mutation — required for undo/redo to work. - Edge type is always
flowEdge(notdefault). Node type is alwaysflowNode. - Mermaid security level is
strict— do not change this; it prevents XSS from diagram content. - Keep UI concerns in
components/and pure diagram logic inlib/.
See AGENTS.md for the full architecture reference.
- Keep PRs focused — one feature or fix per PR
- Open an issue first for large changes
- Update
CHANGELOG.mdunder[Unreleased]with what you added/changed/fixed - Run
pnpm buildlocally and confirm it passes before opening the PR
| Change type | Version bump |
|---|---|
| Bug fix | patch (0.1.0 → 0.1.1) |
| New feature, backwards-compatible | minor (0.1.0 → 0.2.0) |
| Breaking change | major (0.1.0 → 1.0.0) |