|
1 | | -<p align="center"> |
2 | | - <a href="https://github.com/tmcfarlane/flowchart"> |
3 | | - <img src="docs/screenshots/flow.gif" alt="FlowChart demo" width="500" /> |
| 1 | +<div align="center"> |
| 2 | + |
| 3 | +<p> |
| 4 | + <a href="https://flowchart.zeroclickdev.ai/"> |
| 5 | + <img src="docs/screenshots/flow.gif" alt="FlowChart AI — Free AI-powered flowchart designer" width="560" /> |
4 | 6 | </a> |
5 | 7 | </p> |
6 | 8 |
|
7 | | -<p align="center"><strong>FlowChart</strong> by <strong>ZeroClickDev</strong></p> |
8 | | -<p align="center">A modern flowchart designer with optional AI-assisted generation.</p> |
| 9 | +<div style="font-size: 2.5em; font-weight: 800; letter-spacing: 0.08em; line-height: 1.1;"> |
| 10 | + <strong>FLOWCHART AI</strong> |
| 11 | +</div> |
9 | 12 |
|
10 | | -<p align="center"> |
11 | | - <a href="https://github.com/tmcfarlane/flowchart/blob/main/LICENSE"><img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square" /></a> |
12 | | - <a href="https://github.com/tmcfarlane/flowchart/stargazers"><img alt="GitHub stars" src="https://img.shields.io/github/stars/tmcfarlane/flowchart?style=flat-square" /></a> |
13 | | - <a href="https://github.com/tmcfarlane/flowchart/issues"><img alt="Issues" src="https://img.shields.io/github/issues/tmcfarlane/flowchart?style=flat-square" /></a> |
14 | | -</p> |
| 13 | +<div style="font-size: 1.1em; margin: 8px 0;"> |
| 14 | + <strong>Describe your idea. Get a flowchart.</strong> |
| 15 | +</div> |
15 | 16 |
|
16 | | -<p align="center"> |
17 | | - <a href="https://flowchart.zeroclickdev.ai/">Live demo</a> | |
18 | | - <a href="/api">API</a> | |
19 | | - <a href="/src">UI</a> |
20 | | -</p> |
| 17 | +The open-source flowchart designer that turns plain-English prompts into polished diagrams in seconds.<br> |
| 18 | +AI generation | 663+ Azure icons | Presentation mode | Export to PNG, SVG & GIF |
| 19 | + |
| 20 | +<br> |
| 21 | + |
| 22 | +[](https://flowchart.zeroclickdev.ai/) |
| 23 | + |
| 24 | +[](LICENSE) |
| 25 | +[](https://github.com/tmcfarlane/flowchart/stargazers) |
| 26 | +[](https://github.com/tmcfarlane/flowchart/issues) |
| 27 | +[](https://flowchart.zeroclickdev.ai/) |
| 28 | +<br> |
| 29 | + |
| 30 | +Created by <a href="https://zeroclickdev.ai/">ZeroClickDev</a> |
| 31 | + |
| 32 | +</div> |
21 | 33 |
|
22 | 34 | --- |
23 | 35 |
|
24 | | -## What is this? |
| 36 | +## Features |
25 | 37 |
|
26 | | -FlowChart is a single-page web app for building flowcharts on an interactive canvas. It supports custom node types (step, decision, note, image), rich edge styling, presentation mode, and an optional AI assistant that can generate or refine diagrams via Azure OpenAI. |
27 | | -It’s styled to match the ZeroClickDev design system (dark-first charcoal UI with teal/cyan accents). |
| 38 | +- **AI-powered generation** — describe what you want in plain English, get a structured flowchart in seconds |
| 39 | +- **Free to use** — no sign-up, no paywall, no limits on the canvas |
| 40 | +- **Export to PNG, SVG & animated GIF** — share diagrams in docs, slides, or README files |
| 41 | +- **Presentation mode** — step through your flowchart with arrow keys, perfect for walkthroughs |
| 42 | +- **663+ Azure icons** — official [Azure icon library](https://learn.microsoft.com/en-us/azure/architecture/icons/) built in, auto-applied by AI |
| 43 | +- **Dark mode** — charcoal UI with teal/cyan accents, toggleable in one click |
| 44 | +- **Polished canvas UX** — snap-to-grid, undo/redo, copy/paste, minimap, multi-select |
| 45 | +- **Multiple node & edge types** — step, decision, note, image nodes with editable labels and animated edges |
| 46 | +- **AI proposal preview** — review, regenerate, and tweak AI suggestions before inserting |
| 47 | +- **Deploy anywhere** — one-click Vercel deploy, serverless API keeps credentials safe |
28 | 48 |
|
29 | | -## Screenshots |
| 49 | +<details> |
| 50 | +<summary><strong>Screenshots</strong></summary> |
30 | 51 |
|
31 | | -### ZeroClickDev “vibes” |
| 52 | +### AI Generation |
32 | 53 |
|
33 | 54 | Tell Flowchart what you want to make and watch it magically jump start you. |
34 | 55 |
|
35 | 56 |  |
36 | 57 |
|
37 | | -### Azure icons |
| 58 | +### Azure Icons |
38 | 59 |
|
39 | | -Default support for official [Azure icons library](https://learn.microsoft.com/en-us/azure/architecture/icons/). AI generated nodes will also include Azure Icons if applicable. |
| 60 | +Official Azure icons are automatically applied to AI-generated nodes. |
40 | 61 |
|
41 | | - |
| 62 | + |
42 | 63 |
|
43 | | -### AI proposal preview |
| 64 | +### AI Proposal Preview |
44 | 65 |
|
45 | | -AI proposal view to review, regenerate, and modify prior to adding your new flowchart to the canvas. This can be helpful with large complex charts, where small iterative changes are best. |
| 66 | +Review, regenerate, and modify AI suggestions before adding them to the canvas. |
46 | 67 |
|
47 | | - |
| 68 | + |
48 | 69 |
|
49 | 70 | ### Presentation Mode |
50 | 71 |
|
51 | | -Presentation Mode will walk you through your flowchart from start to finish. This looks and feels amazing. Controlled with arrow keys, you can walk through the flowchart while talking with any audience. |
| 72 | +Walk through your flowchart step by step with arrow keys — great for meetings and demos. |
52 | 73 |
|
53 | | - |
| 74 | + |
54 | 75 |
|
55 | | -## Key features |
56 | | - |
57 | | -- **Polished canvas UX**: snap-to-grid, undo/redo, copy/paste, minimap, multi-select |
58 | | -- **Multiple node and edge types**: editable labels, reconnection, animated styles |
59 | | -- **Presentation mode**: step through a flowchart to present it cleanly |
60 | | -- **AI-assisted flowcharts (optional)**: structured JSON outputs + preview before inserting |
61 | | -- **Local Azure icon library**: 663+ Azure service SVGs bundled in `assets/` |
| 76 | +</details> |
62 | 77 |
|
63 | 78 | ## Quickstart |
64 | 79 |
|
65 | | -### Prerequisites |
66 | | - |
67 | | -- Node.js 18+ |
68 | | -- pnpm (repo uses `[email protected]`) |
69 | | - |
70 | | -### Install |
71 | | - |
72 | 80 | ```bash |
| 81 | +# Prerequisites: Node.js 18+, pnpm 10.x |
73 | 82 | pnpm install |
| 83 | +pnpm dev # http://localhost:3004 |
| 84 | +pnpm test # run tests |
| 85 | +pnpm build # production build |
74 | 86 | ``` |
75 | 87 |
|
76 | | -### Develop |
| 88 | +## AI Setup (optional) |
77 | 89 |
|
78 | | -```bash |
79 | | -pnpm dev |
80 | | -``` |
81 | | - |
82 | | -### Test |
83 | | - |
84 | | -```bash |
85 | | -pnpm test |
86 | | -``` |
87 | | - |
88 | | -### Build |
89 | | - |
90 | | -```bash |
91 | | -pnpm build |
92 | | -pnpm preview |
93 | | -``` |
94 | | - |
95 | | -## AI setup (optional) |
96 | | - |
97 | | -The AI assistant is powered by **Azure OpenAI** through a serverless proxy (`api/chat.ts`) so credentials stay server-side. |
98 | | - |
99 | | -1. Copy `.env.example` to `.env` and fill in values: |
| 90 | +The AI assistant uses **Azure OpenAI** through a serverless proxy (`api/chat.ts`) so credentials stay server-side. |
100 | 91 |
|
101 | 92 | ```bash |
102 | 93 | cp .env.example .env |
103 | 94 | ``` |
104 | 95 |
|
105 | | -2. Set these variables (server-side only; do **not** use `VITE_*`): |
| 96 | +Set these variables (server-side only; do **not** use `VITE_*`): |
106 | 97 |
|
107 | | -- `AZURE_DEPLOYMENT_NAME` |
108 | | -- `AZURE_RESOURCE_NAME` |
109 | | -- `AZURE_API_KEY` |
| 98 | +| Variable | Description | |
| 99 | +| ----------------------- | ---------------------------- | |
| 100 | +| `AZURE_DEPLOYMENT_NAME` | Your Azure OpenAI deployment | |
| 101 | +| `AZURE_RESOURCE_NAME` | Your Azure resource name | |
| 102 | +| `AZURE_API_KEY` | Your Azure API key | |
110 | 103 |
|
111 | | -When deploying to Vercel, add the same environment variables in your Vercel project settings. |
| 104 | +For Vercel, add the same variables in your project settings. |
112 | 105 |
|
113 | | -## Architecture (high level) |
| 106 | +<details> |
| 107 | +<summary><strong>Architecture</strong></summary> |
114 | 108 |
|
115 | 109 | ```mermaid |
116 | 110 | sequenceDiagram |
117 | 111 | participant User |
118 | | - participant UI as React_UI |
119 | | - participant API as Vercel_Function |
120 | | - participant Azure as Azure_OpenAI |
121 | | -
|
122 | | - User->>UI: Prompt_generate_or_refine |
123 | | - UI->>API: POST_/api/chat_(flowContext_optional) |
124 | | - API->>Azure: Chat_completions_(structured_output) |
125 | | - Azure-->>API: JSON_flowchart_proposal |
126 | | - API-->>UI: message_(JSON_string)_+_finishReason |
127 | | - UI-->>User: Preview_then_insert |
| 112 | + participant UI as React UI |
| 113 | + participant API as Vercel Function |
| 114 | + participant Azure as Azure OpenAI |
| 115 | +
|
| 116 | + User->>UI: Prompt (generate or refine) |
| 117 | + UI->>API: POST /api/chat (flow context optional) |
| 118 | + API->>Azure: Chat completions (structured output) |
| 119 | + Azure-->>API: JSON flowchart proposal |
| 120 | + API-->>UI: Message (JSON string) + finish reason |
| 121 | + UI-->>User: Preview then insert |
128 | 122 | ``` |
129 | 123 |
|
130 | | -More detail: |
131 | | - |
132 | | -- API: `api/README.md` |
133 | | -- AI prompt “skill”: `api/flowchart-generation-skill.md` |
134 | | -- Icon resolution: `src/utils/azureIconRegistry.ts` |
135 | | - |
136 | | -## Contributing |
| 124 | +- API: [`api/`](api/README.md) |
| 125 | +- AI prompt skill: [`api/flowchart-generation-skill.md`](api/flowchart-generation-skill.md) |
| 126 | +- Icon resolution: [`src/utils/azureIconRegistry.ts`](src/utils/azureIconRegistry.ts) |
137 | 127 |
|
138 | | -See `CONTRIBUTING.md`. |
| 128 | +</details> |
139 | 129 |
|
140 | | -## Security |
| 130 | +## Tech Stack |
141 | 131 |
|
142 | | -See `SECURITY.md`. |
| 132 | + |
| 133 | + |
| 134 | + |
| 135 | + |
143 | 136 |
|
144 | | -## Contributions |
145 | | - |
146 | | -This app was built 100% with AI assistance using: |
147 | | - |
148 | | -- Cursor |
149 | | -- OpenCode |
150 | | -- Oh My OpenCode |
| 137 | +## Contributing |
151 | 138 |
|
152 | | -This project also inspired me to build [Oh My Cursor](https://github.com/tmcfarlane/oh-my-cursor). |
| 139 | +See [`CONTRIBUTING.md`](CONTRIBUTING.md) and [`SECURITY.md`](SECURITY.md). |
153 | 140 |
|
154 | | -Oh My Cursor is a curated set of AI agent configurations for Cursor IDE. One install gives you a team of specialized agents that coordinate autonomously through Cursor's native subagent system. |
| 141 | +## Built With |
155 | 142 |
|
156 | | -No CLI wrapper. No external runtime. Just `.cursor/agents/` files and one orchestrator rule that turns Cursor into a multi-agent IDE. |
| 143 | +This app was built 100% with AI assistance using Cursor, OpenCode, and [Oh My Cursor](https://github.com/tmcfarlane/oh-my-cursor). |
157 | 144 |
|
158 | 145 | ## License |
159 | 146 |
|
160 | | -MIT. See `LICENSE`. |
| 147 | +MIT. See [`LICENSE`](LICENSE). |
0 commit comments