diff --git a/.codex-skill-edits/interface-design.SKILL.md b/.codex-skill-edits/interface-design.SKILL.md
new file mode 100644
index 0000000..895270b
--- /dev/null
+++ b/.codex-skill-edits/interface-design.SKILL.md
@@ -0,0 +1,395 @@
+---
+name: interface-design
+description: Design product interfaces (dashboards, admin panels, SaaS apps, tools, settings pages, data interfaces). Do not use for marketing design such as landing pages, marketing sites, or campaigns.
+---
+
+# Interface Design
+
+Build interface design with craft and consistency.
+
+## Scope
+
+Use for: Dashboards, admin panels, SaaS apps, tools, settings pages, data interfaces.
+
+Not for: Landing pages, marketing sites, campaigns. Redirect those to `/frontend-design`.
+
+## System First
+
+When working inside an existing product or codebase, do not invent a new visual language.
+
+Treat these as the source of truth, in this order:
+- the user's comps and mockups
+- the shipped UI kit and shared components
+- the existing design-system tokens, themes, and brand primitives
+- written product UX specs and aesthetic guidance
+
+For this workspace, inspect the relevant local sources before proposing or building:
+- `/Users/varun/Desktop/Dev_projects/flowmind-ai/NODE_UX_SPEC.md`
+- `/Users/varun/Desktop/Dev_projects/flowmind-ai/src/theme.ts`
+- `/Users/varun/Desktop/Dev_projects/flowmind-ai/src/store/designSystemHooks.ts`
+- `/Users/varun/Desktop/Dev_projects/flowmind-ai/src/components/ui/`
+- `/Users/varun/Desktop/Dev_projects/flowmind-ai/src/components/`
+- `/Users/varun/Desktop/Dev_projects/flowmind-ai/docs-site/src/content/docs/design-systems-branding.md`
+
+If the repo already contains a component, token, spacing pattern, radius scale, interaction style, or layout treatment that solves the problem, reuse it or extend it. Do not replace it with a new style system unless the user explicitly asks for a redesign.
+
+If comps exist, match them closely. Do not "improve" them by drifting into a cleaner, trendier, or more generic AI-generated style.
+
+If the existing system is incomplete, fill the gap with the smallest possible extension that still looks native to the rest of the product.
+
+Explicitly avoid:
+- introducing new typography, colors, radii, shadows, motion, or component patterns that are not already supported by the product aesthetic
+- mixing unrelated aesthetics across screens
+- replacing established patterns with generic dashboard defaults
+- treating design exploration as permission to ignore the existing system
+
+## The Problem
+
+You will generate generic output. Your training has seen thousands of dashboards. The patterns are strong.
+
+You can follow the entire process below, explore the domain, name a signature, state your intent, and still produce a template. Warm colors on cold structures. Friendly fonts on generic layouts. Kitchen feel that looks like every other app.
+
+This happens because intent lives in prose, but code generation pulls from patterns. The gap between them is where defaults win.
+
+The process below helps. But process alone does not guarantee craft. You have to catch yourself.
+
+## Where Defaults Hide
+
+Defaults do not announce themselves. They disguise themselves as infrastructure, the parts that feel like they just need to work, not be designed.
+
+Typography feels like a container. Pick something readable, move on. But typography is not holding your design, it is your design. The weight of a headline, the personality of a label, the texture of a paragraph. These shape how the product feels before anyone reads a word. A bakery management tool and a trading terminal might both need clean, readable type, but the type that is warm and handmade is not the type that is cold and precise. If you are reaching for your usual font, you are not designing.
+
+Navigation feels like scaffolding. Build the sidebar, add the links, get to the real work. But navigation is not around your product, it is your product. Where you are, where you can go, what matters most. A page floating in space is a component demo, not software. The navigation teaches people how to think about the space they are in.
+
+Data feels like presentation. You have numbers, show numbers. But a number on screen is not design. The question is: what does this number mean to the person looking at it? What will they do with it? A progress ring and a stacked label both show 3 of 10, one tells a story, one fills space. If you are reaching for number on label, you are not designing.
+
+Token names feel like implementation detail. But your CSS variables are design decisions. `--ink` and `--parchment` evoke a world. `--gray-700` and `--surface-2` evoke a template. Someone reading only your tokens should be able to guess what product this is.
+
+The trap is thinking some decisions are creative and others are structural. There are no structural decisions. Everything is design. The moment you stop asking why this is the moment defaults take over.
+
+## Intent First
+
+Before touching code, answer these. Not in your head, out loud to yourself or the user.
+
+Who is this human?
+Not users. The actual person. Where are they when they open this? What is on their mind? What did they do 5 minutes ago, what will they do 5 minutes after? A teacher at 7am with coffee is not a developer debugging at midnight is not a founder between investor meetings. Their world shapes the interface.
+
+What must they accomplish?
+Not use the dashboard. The verb. Grade these submissions. Find the broken deployment. Approve the payment. The answer determines what leads, what follows, what hides.
+
+What should this feel like?
+Say it in words that mean something. Clean and modern means nothing. Warm like a notebook? Cold like a terminal? Dense like a trading floor? Calm like a reading app? The answer shapes color, type, spacing, density, everything.
+
+If you are working inside an existing system, answer these in terms of the current product language first. What already exists that this work must align to? What comps, tokens, and components already define the answer?
+
+If you cannot answer these with specifics, stop. Ask the user. Do not guess. Do not default.
+
+## Every Choice Must Be A Choice
+
+For every decision, you must be able to explain why.
+
+- Why this layout and not another?
+- Why this color temperature?
+- Why this typeface?
+- Why this spacing scale?
+- Why this information hierarchy?
+
+If your answer is it is common or it is clean or it works, you have not chosen. You have defaulted. Defaults are invisible. Invisible choices compound into generic output.
+
+The test: If you swapped your choices for the most common alternatives and the design did not feel meaningfully different, you never made real choices.
+
+## Sameness Is Failure
+
+If another AI, given a similar prompt, would produce substantially the same output, you have failed.
+
+This is not about being different for its own sake. It is about the interface emerging from the specific problem, the specific user, the specific context. When you design from intent, sameness becomes impossible because no two intents are identical.
+
+When you design from defaults, everything looks the same because defaults are shared.
+
+## Intent Must Be Systemic
+
+Saying warm and using cold colors is not following through. Intent is not a label, it is a constraint that shapes every decision.
+
+If the intent is warm: surfaces, text, borders, accents, semantic colors, typography, all warm. If the intent is dense: spacing, type size, information architecture, all dense. If the intent is calm: motion, contrast, color saturation, all calm.
+
+Check your output against your stated intent. Does every token reinforce it? Or did you state an intent and then default anyway?
+
+## Product Domain Exploration
+
+This is where defaults get caught, or do not.
+
+Generic output: Task type to visual template to theme.
+Crafted output: Task type to product domain to signature to structure plus expression.
+
+The difference: time in the product world before any visual or structural thinking.
+
+## Required Outputs
+
+Do not propose any direction until you produce all four:
+
+Domain: Concepts, metaphors, vocabulary from this product world. Not features, territory. Minimum 5.
+
+Color world: What colors exist naturally in this product domain? Not warm or cool, go to the actual world. If this product were a physical space, what would you see? What colors belong there that do not belong elsewhere? List 5 plus.
+
+Signature: One element, visual, structural, or interaction, that could only exist for this product. If you cannot name one, keep exploring.
+
+Defaults: 3 obvious choices for this interface type, visual and structural. You cannot avoid patterns you have not named.
+
+When the project already has comps or a shipped system, add a fifth required output:
+
+System anchors: the exact local files, components, tokens, and existing patterns this design must inherit from.
+
+## Proposal Requirements
+
+Your direction must explicitly reference:
+- Domain concepts you explored
+- Colors from your color world exploration
+- Your signature element
+- What replaces each default
+- The existing system anchors you are preserving
+
+If you are designing inside an existing product, your proposal must explain how it stays inside the current comps, UI kit, design system, and aesthetic. Novelty is not the goal. Coherence is.
+
+The test: Read your proposal. Remove the product name. Could someone identify what this is for? If not, it is generic. Explore deeper.
+
+## The Mandate
+
+Before showing the user, look at what you made.
+
+Ask yourself: If they said this lacks craft, what would they mean?
+
+That thing you just thought of, fix it first.
+
+## The Checks
+
+Run these against your output before presenting:
+
+- The swap test: If you swapped the typeface for your usual one, would anyone notice? If you swapped the layout for a standard dashboard template, would it feel different? The places where swapping would not matter are the places you defaulted.
+- The squint test: Blur your eyes. Can you still perceive hierarchy? Is anything jumping out harshly? Craft whispers.
+- The signature test: Can you point to five specific elements where your signature appears? Not the overall feel, actual components. A signature you cannot locate does not exist.
+- The token test: Read your CSS variables out loud. Do they sound like they belong to this product world, or could they belong to any project?
+
+If any check fails, iterate before showing.
+
+## Craft Foundations
+
+### Subtle Layering
+
+This is the backbone of craft. Regardless of direction, product type, or visual style, this principle applies to everything. You should barely notice the system working. When you look at Vercel's dashboard, you do not think nice borders. You just understand the structure. The craft is invisible, that is how you know it is working.
+
+#### Surface Elevation
+
+Surfaces stack. A dropdown sits above a card which sits above the page. Build a numbered system, base, then increasing elevation levels. In dark mode, higher elevation is slightly lighter. In light mode, higher elevation is slightly lighter or uses shadow.
+
+Each jump should be only a few percentage points of lightness. You can barely see the difference in isolation. But when surfaces stack, the hierarchy emerges. Whisper quiet shifts that you feel rather than see.
+
+Key decisions:
+- Sidebars: Same background as canvas, not different. Different colors fragment the visual space into sidebar world and content world. A subtle border is enough separation.
+- Dropdowns: One level above their parent surface. If both share the same level, the dropdown blends into the card and layering is lost.
+- Inputs: Slightly darker than their surroundings, not lighter. Inputs are inset, they receive content. A darker background signals type here without heavy borders.
+
+#### Borders
+
+Borders should disappear when you are not looking for them, but be findable when you need structure. Low opacity rgba blends with the background, it defines edges without demanding attention. Solid hex borders look harsh in comparison.
+
+Build a progression, not all borders are equal. Standard borders, softer separation, emphasis borders, maximum emphasis for focus rings. Match intensity to the importance of the boundary.
+
+The squint test: Blur your eyes at the interface. You should still perceive hierarchy, what is above what, where sections divide. But nothing should jump out. No harsh lines. No jarring color shifts. Just quiet structure.
+
+This separates professional interfaces from amateur ones. Get this wrong and nothing else matters.
+
+### Infinite Expression
+
+Every pattern has infinite expressions. No interface should look the same.
+
+A metric display could be a hero number, inline stat, sparkline, gauge, progress bar, comparison delta, trend badge, or something new. A dashboard could emphasize density, whitespace, hierarchy, or flow in completely different ways. Even sidebar plus cards has infinite variations in proportion, spacing, and emphasis.
+
+Before building, ask:
+- What is the one thing users do most here?
+- What products solve similar problems brilliantly? Study them.
+- Why would this interface feel designed for its purpose, not templated?
+
+Never produce identical output. Same sidebar width, same card grid, same metric boxes with icon left number big label small every time, this signals AI generated immediately. It is forgettable.
+
+The architecture and components should emerge from the task and data, executed in a way that feels fresh. Linear's cards do not look like Notion's. Vercel's metrics do not look like Stripe's. Same concepts, infinite expressions.
+
+### Color Lives Somewhere
+
+Every product exists in a world. That world has colors.
+
+Before you reach for a palette, spend time in the product world. What would you see if you walked into the physical version of this space? What materials? What light? What objects?
+
+Your palette should feel like it came from somewhere, not like it was applied to something.
+
+Beyond warm and cold: Temperature is one axis. Is this quiet or loud? Dense or spacious? Serious or playful? Geometric or organic? A trading terminal and a meditation app are both focused, completely different kinds of focus. Find the specific quality, not the generic label.
+
+Color carries meaning: Gray builds structure. Color communicates, status, action, emphasis, identity. Unmotivated color is noise. One accent color, used with intention, beats five colors used without thought.
+
+## Before Writing Each Component
+
+Every time you write UI code, even small additions, state:
+
+```
+Intent: [who is this human, what must they do, how should it feel]
+Palette: [colors from your exploration and why they fit this product world]
+Depth: [borders, shadows, layered, and why this fits the intent]
+Surfaces: [your elevation scale and why this color temperature]
+Typography: [your typeface and why it fits the intent]
+Spacing: [your base unit]
+System anchors: [which comps, tokens, shared components, and existing patterns this component must match]
+```
+
+This checkpoint is mandatory. It forces you to connect every technical choice back to intent.
+
+If you cannot explain why for each choice, you are defaulting. Stop and think.
+
+If you are inside an existing product, "why" should usually be "because this already exists in the system and this work should extend it consistently," not "because this would be interesting."
+
+## Design Principles
+
+### Token Architecture
+
+Every color in your interface should trace back to a small set of primitives: foreground (text hierarchy), background (surface elevation), border (separation hierarchy), brand, and semantic (destructive, warning, success). No random hex values, everything maps to primitives.
+
+#### Text Hierarchy
+
+Do not just have text and gray text. Build four levels, primary, secondary, tertiary, muted. Each serves a different role: default text, supporting text, metadata, and disabled or placeholder. Use all four consistently. If you are only using two, your hierarchy is too flat.
+
+#### Border Progression
+
+Borders are not binary. Build a scale that matches intensity to importance, standard separation, softer separation, emphasis, maximum emphasis. Not every boundary deserves the same weight.
+
+#### Control Tokens
+
+Form controls have specific needs. Do not reuse surface tokens. Create dedicated ones for control backgrounds, control borders, and focus states. This lets you tune interactive elements independently from layout surfaces.
+
+### Spacing
+
+Pick a base unit and stick to multiples. Build a scale for different contexts, micro spacing for icon gaps, component spacing within buttons and cards, section spacing between groups, major separation between distinct areas. Random values signal no system.
+
+### Padding
+
+Keep it symmetrical. If one side has a value, others should match unless content naturally requires asymmetry.
+
+### Depth
+
+Choose one approach and commit:
+- Borders only, clean, technical, for dense tools.
+- Subtle shadows, soft lift, for approachable products.
+- Layered shadows, premium, dimensional, for cards that need presence.
+- Surface color shifts, background tints establish hierarchy without shadows.
+
+Do not mix approaches.
+
+### Border Radius
+
+Sharper feels technical. Rounder feels friendly. Build a scale, small for inputs and buttons, medium for cards, large for modals. Do not mix sharp and soft randomly.
+
+### Typography
+
+Build distinct levels distinguishable at a glance. Headlines need weight and tight tracking for presence. Body needs comfortable weight for readability. Labels need medium weight that works at smaller sizes. Data needs monospace with tabular number spacing for alignment. Do not rely on size alone, combine size, weight, and letter spacing.
+
+### Card Layouts
+
+A metric card does not have to look like a plan card does not have to look like a settings card. Design each card internal structure for its specific content, but keep the surface treatment consistent: same border weight, shadow depth, corner radius, padding scale.
+
+### Controls
+
+Native select and input type date render OS native elements that cannot be styled. Build custom components, trigger buttons with positioned dropdowns, calendar popovers, styled state management.
+
+### Iconography
+
+Icons clarify, not decorate. If removing an icon loses no meaning, remove it. Choose one icon set and stick with it. Give standalone icons presence with subtle background containers.
+
+### Animation
+
+Fast micro interactions, smooth easing. Larger transitions can be slightly longer. Use deceleration easing. Avoid spring or bounce in professional interfaces.
+
+### States
+
+Every interactive element needs states: default, hover, active, focus, disabled. Data needs states too: loading, empty, error. Missing states feel broken.
+
+### Navigation Context
+
+Screens need grounding. A data table floating in space feels like a component demo, not a product. Include navigation showing where you are in the app, location indicators, and user context. When building sidebars, consider same background as main content with border separation rather than different colors.
+
+### Dark Mode
+
+Dark interfaces have different needs. Shadows are less visible on dark backgrounds, lean on borders for definition. Semantic colors (success, warning, error) often need slight desaturation. The hierarchy system still applies, just with inverted values.
+
+## Avoid
+
+- Harsh borders, if borders are the first thing you see, they are too strong.
+- Dramatic surface jumps, elevation changes should be whisper quiet.
+- Inconsistent spacing, the clearest sign of no system.
+- Mixed depth strategies, pick one approach and commit.
+- Missing interaction states, hover, focus, disabled, loading, error.
+- Dramatic drop shadows, shadows should be subtle, not attention grabbing.
+- Large radius on small elements.
+- Pure white cards on colored backgrounds.
+- Thick decorative borders.
+- Gradients and color for decoration, color should mean something.
+- Multiple accent colors, dilutes focus.
+- Different hues for different surfaces, keep the same hue, shift only lightness.
+
+## Workflow
+
+### Communication
+
+Be invisible. Do not announce modes or narrate process.
+
+Never say: I am in ESTABLISH MODE, Let me check system.md...
+
+Instead: Jump into work. State suggestions with reasoning.
+
+### Suggest and Ask
+
+Lead with your exploration and recommendation, then confirm:
+
+```
+Domain: [5 plus concepts from the product world]
+Color world: [5 plus colors that exist in this domain]
+Signature: [one element unique to this product]
+Rejecting: [default 1] to [alternative], [default 2] to [alternative], [default 3] to [alternative]
+
+Direction: [approach that connects to the above]
+```
+
+Ask: Does that direction feel right?
+
+### If Project Has system.md
+
+Read `.interface-design/system.md` and apply. Decisions are made.
+
+### If No system.md
+
+1. Explore domain, produce all four required outputs.
+2. Propose, direction must reference all four.
+3. Confirm, get user buy in.
+4. Build, apply principles.
+5. Evaluate, run the mandate checks before showing.
+6. Offer to save.
+
+## After Completing a Task
+
+When you finish building something, always offer to save:
+
+```
+"Want me to save these patterns for future sessions?"
+```
+
+If yes, write to `.interface-design/system.md`:
+- Direction and feel
+- Depth strategy (borders or shadows or layered)
+- Spacing base unit
+- Key component patterns
+
+### What to Save
+
+Add patterns when a component is used 2 plus times, is reusable across the project, or has specific measurements worth remembering. Do not save one off components, temporary experiments, or variations better handled with props.
+
+### Consistency Checks
+
+If system.md defines values, check against them: spacing on the defined grid, depth using the declared strategy throughout, colors from the defined palette, documented patterns reused instead of reinvented.
+
+This compounds, each save makes future work faster and more consistent.
diff --git a/.codex-skill-edits/openflowkit-marketing-ui-designer.SKILL.md b/.codex-skill-edits/openflowkit-marketing-ui-designer.SKILL.md
new file mode 100644
index 0000000..3dd2db2
--- /dev/null
+++ b/.codex-skill-edits/openflowkit-marketing-ui-designer.SKILL.md
@@ -0,0 +1,92 @@
+---
+name: openflowkit-marketing-ui-designer
+description: Design OpenFlowKit marketing pages and content surfaces with strong hierarchy, positioning, and conversion clarity. Use for landing-page redesigns, section architecture, feature storytelling, page-level visual systems, and marketing UX decisions in `web/`.
+---
+
+# OpenFlowKit Marketing UI Designer
+
+Design marketing experiences that make OpenFlowKit feel like a serious category-defining product, not a generic SaaS site.
+
+## Scope
+
+Use for:
+- landing page redesigns
+- feature and use-case page structure
+- narrative section ordering
+- visual direction for marketing components
+- conversion-oriented page UX
+
+Do not use for:
+- internal app dashboards or editor UI
+- generic “make it prettier” requests without product positioning
+
+## Design System Guardrails
+
+Stay inside the existing OpenFlowKit visual system unless the user explicitly asks for a reset.
+
+Before proposing or implementing design work, inspect the relevant local sources first:
+- `/Users/varun/Desktop/Dev_projects/flowmind-ai/STRATEGY.md`
+- `/Users/varun/Desktop/Dev_projects/flowmind-ai/NODE_UX_SPEC.md`
+- `/Users/varun/Desktop/Dev_projects/flowmind-ai/web/src/components/`
+- `/Users/varun/Desktop/Dev_projects/flowmind-ai/web/src/styles/`
+- `/Users/varun/Desktop/Dev_projects/flowmind-ai/src/components/landing/`
+- `/Users/varun/Desktop/Dev_projects/flowmind-ai/src/components/ui/`
+- `/Users/varun/Desktop/Dev_projects/flowmind-ai/src/theme.ts`
+- `/Users/varun/Desktop/Dev_projects/flowmind-ai/docs-site/src/content/docs/design-systems-branding.md`
+
+Treat these as priority order:
+1. User-provided comps and mockups
+2. Existing shipped components and layouts
+3. Existing tokens, themes, and brand primitives
+4. Existing page aesthetics and motion patterns
+5. New design ideas only where the system has a real gap
+
+Do not drift into a different brand voice, typography system, color language, or layout grammar just because a different direction looks polished in isolation.
+
+If a page already has established components, extend them. If a pattern exists twice, preserve the pattern. If the system is incomplete, add the smallest native-feeling extension.
+
+## Core Standard
+
+Every page must answer:
+- Who is this page for?
+- What job are they trying to get done?
+- Why is OpenFlowKit structurally better than alternatives?
+- What should they do next?
+- Which existing comps, components, tokens, and page patterns is this page inheriting from?
+
+## Workflow
+
+1. Start from audience and search intent, not decoration.
+2. Audit the existing comps, `web/` components, landing components, and design-system files before creating anything new.
+3. Tie page structure to product truth from `STRATEGY.md`, docs, and shipped features.
+4. Make one strong page idea. Avoid kitchen-sink landing sections.
+5. Use bold hierarchy, precise copy surfaces, and clear contrast between problem, product, and proof, while preserving the established OpenFlowKit aesthetic.
+6. Design for desktop and mobile at the same time.
+7. Prefer a system that can extend across many pages, not a one-off hero treatment.
+8. Reuse or adapt existing sections before inventing new component families.
+
+## Non-Negotiables
+
+- Do not introduce a new design language when the repo already has one.
+- Do not substitute generic SaaS gradients, type stacks, card systems, or interactions for the existing OpenFlowKit look.
+- Do not ignore user comps in favor of a cleaner or trendier composition.
+- Do not add new tokens or components without checking whether the same role already exists locally.
+- When you do add something new, explain why the current system could not cover it and how the addition stays visually native.
+
+## OpenFlowKit Positioning Anchors
+
+Lean on real advantages:
+- local-first
+- open-source
+- BYOK AI
+- code-to-canvas and visual editing
+- architecture and infra workflows
+- export breadth
+
+## Deliverables
+
+- page intent
+- section architecture
+- visual direction and interaction notes
+- implementation-ready guidance for `web/`
+- system anchors: the exact comps, components, styles, and tokens being reused or extended
diff --git a/.env.example b/.env.example
index 1b0e796..e38344e 100644
--- a/.env.example
+++ b/.env.example
@@ -3,7 +3,7 @@
# =============================================================================
# Copy this file to `.env.local` and fill in the keys you need.
# All AI keys are OPTIONAL — users can also paste keys directly in
-# Settings → Brand → Flowpilot (BYOK model).
+# Settings → AI.
# Never commit your real .env.local file to git!
# =============================================================================
@@ -41,18 +41,6 @@ VITE_CUSTOM_AI_BASE_URL=
VITE_CUSTOM_AI_API_KEY=
VITE_CUSTOM_AI_MODEL=
-
-# -----------------------------------------------------------------------------
-# 📊 ANALYTICS
-# -----------------------------------------------------------------------------
-
-# PostHog — https://app.posthog.com/settings/project
-# Leave empty to disable analytics entirely.
-# If you fork this repo, analytics will NOT fire until you add your own key.
-VITE_POSTHOG_KEY=
-VITE_POSTHOG_HOST=https://app.posthog.com
-
-
# -----------------------------------------------------------------------------
# 🚀 DEPLOYMENT
# -----------------------------------------------------------------------------
diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md
index 202d227..17d0a63 100644
--- a/ARCHITECTURE.md
+++ b/ARCHITECTURE.md
@@ -1,127 +1,288 @@
-# OpenFlowKit — Architecture Guide
+# OpenFlowKit Architecture Guide
+
+This document is a current high-level map of the codebase. It is intentionally narrower than a full design spec and should stay aligned with the implementation in `src/`.
+
+---
## Overview
-OpenFlowKit is a local-first, open-source diagramming tool built on React 19, React Flow, and Zustand. All diagram data lives in the browser (IndexedDB / localStorage) with no required backend.
+OpenFlowKit is a local-first diagram editor built with:
-```
+- React 19
+- TypeScript 5
+- React Flow / XYFlow
+- Zustand
+- ELK.js
+
+The main application lives in `src/`. Additional repo surfaces include:
+
+- `docs-site/` for canonical public docs content and site generation
+- `docs/` for repo-only notes and operational markdown
+- `web/` for the marketing site
+
+Main app shape:
+
+```text
src/
- components/ UI components (nodes, edges, panels, command bar)
- hooks/ Domain hooks that compose store + services
- services/ Pure data services (serialization, layout, export)
- store/ Zustand global store, slices, hooks, persistence
- lib/ Shared types, React Flow compat shim, DSL parser
- config/ Rollout flags, constants
- i18n/ Translation strings
- pages/ Route-level page components
+ app/ Route state helpers
+ components/ UI surfaces and editor shells
+ config/ Rollout flags and provider config
+ context/ React context providers
+ diagram-types/ Diagram family plugins and property panel registration
+ hooks/ Feature and editor hooks
+ i18n/ Localization
+ lib/ Shared types, parsers, compat helpers, utilities
+ services/ Domain services
+ store/ Zustand state, actions, defaults, persistence
```
+Route composition is currently centered in `src/App.tsx`, not in a dedicated `pages/` directory.
+
---
-## State Management — Zustand Store
+## Runtime Surfaces
+
+The repository contains three main product/runtime surfaces:
+
+### 1. Main App
+
+The browser editor and related in-app experiences.
+
+Key areas:
+
+- `src/App.tsx`
+- `src/components/FlowEditor.tsx`
+- `src/components/home/*`
+
+### 2. Docs Site
+
+The public docs site built with Astro/Starlight.
+
+Key area:
-The single store (`src/store/`) is organised into named **slices**. Each slice has its own hook file for selective subscription.
+- `docs-site/`
-| Slice | Hook file | Responsibility |
-|-------|-----------|----------------|
-| Canvas | `canvasHooks.ts` | `nodes`, `edges`, `onNodesChange`, `onEdgesChange`, `onConnect` |
-| Tabs | `tabHooks.ts` | Multi-diagram workspace, active tab, CRUD |
-| History | `historyHooks.ts` | Undo/redo V2 (per-tab `history.past / future` arrays) |
-| Design | `designSystemHooks.ts` | Design systems, global edge options |
-| Brand | `brandHooks.ts` | Brand config, brand kits, active kit |
-| View | `viewHooks.ts` | Grid, snap, routing, safety mode, language |
-| Selection | `selectionHooks.ts` | `selectedNodeId`, `selectedEdgeId`, pending edits |
+### 3. Marketing Site
-**Persistence** (`src/store/persistence.ts`) serialises tabs + view settings to IndexedDB on every store change. Storage keys intentionally use the legacy `flowmind_*` prefix — do not rename them without a migration path, as this would silently erase existing user diagrams.
+The public landing/marketing site.
+
+Key area:
+
+- `web/`
---
-## Hook Hierarchy
+## State Management
-```
-FlowEditor (component)
- └─ useFlowEditorCallbacks // connects React Flow events → store
- └─ useFlowEditorActions // keyboard shortcuts, toolbar actions
- └─ useFlowHistory // undo/redo, delegates to store V2
- └─ useNodeOperations // add / duplicate / delete nodes
- └─ useEdgeOperations // add / update / delete edges
- └─ useClipboardOperations // copy / paste
- └─ useLayoutOperations // ELK auto-layout
- └─ useFlowExport // PNG / JSON / GIF export
- └─ useAIGeneration // prompt → DSL → graph
- └─ usePlayback // scene/step playback state
-```
+The app uses a single Zustand store assembled in `src/store.ts`.
+
+The store is composed from action factories and supported by selective hook files in `src/store/`.
+
+Current store-facing hook files include:
+
+- `canvasHooks.ts`
+- `tabHooks.ts`
+- `historyHooks.ts`
+- `designSystemHooks.ts`
+- `viewHooks.ts`
+- `selectionHooks.ts`
+
+Supporting files:
+
+- `defaults.ts`
+- `types.ts`
+- `persistence.ts`
+- `aiSettings.ts`
+
+There is no current top-level `brandHooks.ts` slice in `src/store/`.
---
-## History (Undo/Redo)
+## Persistence
-History is the **V2 model** only (V1 was removed 2026-03-18). Each `FlowTab` object carries:
+Persistence is coordinated through:
-```ts
-history: { past: TabSnapshot[], future: TabSnapshot[] }
-```
+- `src/store/persistence.ts`
+- `src/services/storage/flowPersistStorage.ts`
+- `src/services/storage/indexedDbStateStorage.ts`
+
+Current behavior at a high level:
+
+- document/tab state is persisted through Zustand persistence
+- IndexedDB-backed storage is used where available
+- localStorage remains part of the compatibility and fallback story
+- persisted nodes/edges are sanitized before storage
+- ephemeral UI fields are excluded from persisted state
-`recordHistoryV2()` snapshots nodes + edges into `past`, clears `future`, and trims to a memory budget (~4 MB). `undoV2()` / `redoV2()` swap snapshots. The `useFlowHistory` hook is the single public interface — components never call store history actions directly.
+Important constraint:
+
+- persisted storage keys should not be renamed without a migration path
---
-## Layout Engine
+## Editor Composition
+
+The editor now follows a clearer four-layer composition path:
+
+1. `src/components/FlowEditor.tsx`
+ render shell only
+2. `src/components/flow-editor/useFlowEditorScreenModel.ts`
+ screen-level composition of store state, domain hooks, and refs
+3. `src/components/flow-editor/buildFlowEditorScreenControllerParams.ts`
+ pure assembly of controller config from screen-model state
+4. `src/components/flow-editor/useFlowEditorController.ts`
+ adaptation into shell, studio, panel, and chrome controller surfaces
+
+Key editor concerns composed through that path include:
-ELK.js is loaded as a **lazy singleton** (`src/services/elkLayout.ts`). It is instantiated on first call to `runELKLayout()` and reused thereafter. A `resetElkInstance()` export is provided for test teardown. The singleton is intentionally not part of the Zustand store.
+- tabs and active document selection
+- node and edge operations
+- history and snapshots
+- AI generation
+- export/import
+- playback
+- collaboration
+- command bar and studio mode surfaces
+- selection and keyboard bindings
+
+This is still the main integration hotspot in the architecture, but it is now bounded more explicitly:
+
+- `FlowEditor.tsx` should stay render-only
+- `useFlowEditorScreenModel.ts` should gather state and domain hooks, not render UI
+- `buildFlowEditorScreenControllerParams.ts` should stay pure and only map grouped screen state into controller input
+- `useFlowEditorController.ts` should adapt grouped inputs into UI-facing shell/panel/chrome props
+
+If future work bypasses those boundaries, editor maintainability will regress quickly.
---
-## Node System
+## Domain Hooks
+
+The app uses hooks to compose store state and service logic into editor-facing behaviors.
+
+Examples:
-All diagram nodes render through `CustomNode` (`src/components/CustomNode.tsx`). Rendering is split into sub-components:
+- `useFlowHistory`
+- `useFlowOperations`
+- `useAIGeneration`
+- `useFlowExport`
+- `usePlayback`
+- `useFlowEditorCollaboration`
+- `useFlowEditorActions`
+- `useFlowEditorCallbacks`
-| Component | Purpose |
-|-----------|---------|
-| `NodeShapeSVG` | Renders complex SVG shapes (diamond, hexagon, cylinder, …) from declarative props |
-| `IconAssetNodeBody` | Full layout for icon-first asset nodes (architecture icon packs, custom URLs) |
-| `CustomNode` | Standard node body — uses `NodeShapeSVG` for complex shapes, delegates to `IconAssetNodeBody` for asset nodes |
+The architecture intent is:
-Custom edges go through `CustomEdgeWrapper` which applies design system stroke colour, width, and relation-type dash patterns.
+- services own domain logic
+- hooks compose state and side effects
+- components render and delegate
---
-## DSL — OpenFlow YAML
+## Services
-OpenFlowKit has its own text DSL (`openflow`) parsed by `src/lib/openFlowDSLParser.ts`. The AI generation pipeline produces OpenFlow YAML which is then hydrated into React Flow nodes/edges.
+`src/services/` contains most of the domain-heavy logic.
-Code fence markers accepted by the parser: ` ```openflow `, ` ```yaml ` (and legacy ` ```flowmind ` for backwards compatibility with saved AI responses).
+Notable service areas:
+
+- `ai/`
+- `architectureLint/`
+- `collaboration/`
+- `diagramDiff/`
+- `export/`
+- `figma/`
+- `infraSync/`
+- `mermaid/`
+- `playback/`
+- `shapeLibrary/`
+- `storage/`
+- `templateLibrary/`
+
+This is one of the stronger structural parts of the codebase: a significant amount of non-UI logic lives outside React components.
---
-## Rollout Flags
+## Diagram Families
-Feature flags are defined in `src/config/rolloutFlags.ts`. Each flag maps to a `VITE_*` env variable so builds can be configured per-environment without code changes.
+Built-in diagram families and property panel registration live under:
-```ts
-// Example
-const ROLLOUT_FLAGS = {
- visualQualityV2: import.meta.env.VITE_ROLLOUT_VISUAL_QUALITY_V2 === 'true',
-};
-```
+- `src/diagram-types/`
+
+Examples include:
-Flags should be removed once a feature is fully promoted (no dead code).
+- architecture
+- class diagram
+- ER diagram
+- journey
+- mindmap
+- state diagram
+
+These plugins and registrations allow the app to support multiple structured diagram behaviors without collapsing all logic into the base canvas layer.
+
+---
+
+## Docs Surfaces
+
+The repo currently has two documentation buckets:
+
+### Public docs
+
+- canonical content and runtime in `docs-site/`
+
+### Repo-only notes
+
+- operational and setup markdown in `docs/`
+
+---
+
+## Collaboration
+
+Collaboration currently lives under:
+
+- `src/hooks/useFlowEditorCollaboration.ts`
+- `src/services/collaboration/*`
+
+Current implementation notes:
+
+- realtime transport is built around peer-oriented collaboration
+- the current stack includes WebRTC-style transport concerns and signaling configuration
+- fallback behavior exists for unsupported environments
+
+This area is functional but still evolving and should be treated as active infrastructure rather than fully settled architecture.
---
## Export Pipeline
-| Format | Entry point | Notes |
-|--------|-------------|-------|
-| PNG | `useFlowExport → html-to-image` | Captures React Flow canvas |
-| JSON | `useFlowExport → canonicalSerialization` | Deterministic key ordering |
-| GIF | `useFlowExport → animatedExport + gifEncoder` | Playback scene frames |
+Export logic is primarily coordinated through:
+
+- `src/hooks/useFlowExport.ts`
+- `src/services/export/*`
+
+Current formats and related capabilities include:
+
+- raster image export
+- SVG export
+- JSON export
+- Mermaid export
+- OpenFlow DSL export
+- animated export / playback-related export
---
-## E2E Tests
+## Testing
-Playwright specs live in `e2e/`. Run with `npm run e2e`. The app must be running on `localhost:5173` (default Vite port).
+Testing is split across:
+
+- Vitest unit and component tests in `src/`
+- Playwright end-to-end tests in `e2e/`
+
+Useful commands:
+
+```bash
+npm run lint
+npm test -- --run
+npm run e2e:ci
+```
-- `smoke.spec.ts` — tab creation, snapshot save/restore
-- `workflows.spec.ts` — node create/edit, undo/redo, export JSON/PNG, copy-paste, delete, share panel
+For current repo-health status and phased remediation, see `AUDIT_FIX_LOG.md`.
diff --git a/README.md b/README.md
index 6903ba0..b145754 100644
--- a/README.md
+++ b/README.md
@@ -1,28 +1,39 @@
-
+
OpenFlowKit
-
The open-source, local-first diagramming tool with AI generation built in. No account. No cloud. No limits. Free forever.
+
The open-source diagramming studio for developers and builders.
+Prompt · Import · Edit · Export as animated video · Collaborate — entirely in your browser, no account required.
@@ -30,165 +41,356 @@
## What is OpenFlowKit?
-OpenFlowKit is a fully open-source diagramming tool that runs **entirely in your browser**. It combines a fast, professional canvas with AI generation so you can go from a plain-English description to a structured, editable diagram in seconds.
+OpenFlowKit is a **local-first, developer-grade diagramming workspace** that lives entirely in your browser. It is built for the engineers, architects, and builders who create system diagrams for a living — and who are tired of paying for cloud tools, surrendering their data, or fighting with drag-and-drop tools that produce static images instead of living, version-controllable artifacts.
-There's no account to create, no server storing your work, and no feature gated behind a paywall — ever. Your diagrams live in browser local storage and stay there unless you explicitly export or share them.
+**The core loop is simple:**
```
-You: "Draw a microservices architecture with an API gateway, auth service,
- product service, and Postgres database"
-
-OpenFlowKit: *builds it*
+Prompt / Import → Edit visually or in code → Export anywhere
```
+Start from a plain-English prompt, a Mermaid file, SQL schema, OpenAPI spec, Terraform config, or one of 20 built-in templates. Refine on a polished canvas. Export to Mermaid, PlantUML, Figma, PNG, PDF, or a cinematic reveal video. Your diagrams stay in your browser by default, and your API keys never leave your device.
+
---
## Why OpenFlowKit?
-| | OpenFlowKit | Lucidchart / Miro | draw.io |
-|---|---|---|---|
-| Open source | ✅ MIT | ❌ | ✅ |
-| AI generation | ✅ Built-in | 💰 Paid tier | ❌ |
-| Local-first | ✅ Zero cloud | ❌ Cloud only | ⚠️ Partial |
-| No account needed | ✅ | ❌ | ✅ |
-| Bring your own API key | ✅ | ❌ | ❌ |
-| OpenFlow DSL (code as diagram) | ✅ | ❌ | ❌ |
-| Playback & history export | ✅ | ❌ | ❌ |
-| Free forever | ✅ | ❌ Freemium | ✅ |
+Every existing tool misses something critical for developers. OpenFlowKit fills those gaps.
+
+| Tool | The gap | How OpenFlowKit fills it |
+|---|---|---|
+| **Excalidraw** | Freeform only, no structured diagram types, no DSL | 8 structured diagram families, bidirectional diagram-as-code, Figma export |
+| **Draw.io / diagrams.net** | Dated UX, no AI, no code representation | Modern React 19 canvas, 9 AI providers, OpenFlow DSL |
+| **Mermaid.js** | Code-only, no visual editor | Full visual editor on top of Mermaid — edit visually or in code, bidirectionally |
+| **tldraw** | Whiteboard-first, no structured diagram types | Cloud architecture (AWS/Azure/CNCF icons), class, ER, state, and more |
+| **Lucidchart / Miro** | Paid, cloud-only, account required | MIT licensed, local-first, and usable without an account |
+
+**OpenFlowKit combines** a visual canvas editor, a diagram-as-code environment, an AI-powered generator, a developer import pipeline, and a Figma / docs export workflow in one open-source, local-first app.
+
+---
+
+## ✨ Spotlight: Cinematic Export
+
+
+Turn a finished diagram into a polished animated walkthrough without leaving the editor.
+
+
+Most diagramming tools stop at static images. OpenFlowKit can export a **cinematic build video or GIF** so a diagram can be presented as a lightweight animated walkthrough. This is especially useful for:
+
+- 📣 **Conference talks & demos** — walk the audience through your system live
+- 📖 **Docs & wikis** — embed an animated GIF that loads without a video player
+- 🐦 **Social posts & Product Hunt launches** — eye-catching previews that stop the scroll
+- 🎓 **Engineering onboarding** — show new hires how a system connects, step by step
+
+**How it works:**
+1. Build and refine the diagram on the canvas
+2. Open **Export**
+3. Choose a cinematic video or cinematic GIF output
+4. Generate a shareable artifact directly in the browser
+
+No account. No upload. No third-party video service. Rendered entirely in your browser.
---
## Features
-### 🤖 AI Generation
-Describe what you want in plain English. OpenFlowKit calls the AI with your own API key and builds a fully editable diagram. No middleman, no usage fees, no data sent to our servers.
+### 🤖 Flowpilot — AI Generation & Editing
-Supports **Gemini** and **OpenAI-compatible** endpoints. Works with any locally-run model behind a compatible API.
+Describe a system in natural language. Flowpilot generates a fully laid-out, editable diagram in seconds. Bring your own key from any supported provider — keys are stored in your browser and never transmitted to OpenFlowKit servers.
-### 📝 OpenFlow DSL
-Every diagram is round-trippable code. The OpenFlow DSL is a human-readable, git-friendly format — paste code in, get a diagram; export a diagram, get code. Ideal for version-controlled documentation.
+**9 supported AI providers:**
-```
-flow: "Payment Processing"
-direction: LR
+| Provider | Default model |
+|---|---|
+| Google Gemini | `gemini-2.5-flash-lite` |
+| OpenAI | `gpt-5-mini` |
+| Anthropic Claude | `claude-sonnet-4-6` |
+| Groq | `llama-4-scout-17b-16e-instruct` |
+| Mistral | `mistral-medium-latest` |
+| NVIDIA | `llama-4-scout-17b-16e-instruct` |
+| Cerebras | `gpt-oss-120b` |
+| OpenRouter | `google/gemini-2.5-flash` |
+| **Custom endpoint** | Any OpenAI-compatible API (Ollama, LM Studio, Together AI…) |
+
+**Flowpilot capabilities:**
+
+- ✦ Generate a new diagram from a text prompt
+- ✦ Iteratively edit the existing canvas with targeted instructions
+- ✦ Scope edits to the current selection only
+- ✦ Attach an image alongside your prompt for visual context
+- ✦ Stream responses in real time with a cancel button
+- ✦ Multi-turn conversation with browser-local chat history
+- ✦ **Diff preview** — see added / updated / removed node count before applying; confirm or discard
+- ✦ **Shared AI settings modal** — open provider and key setup from Flowpilot when AI is not configured
-node checkout [label: "Checkout"]
-node gateway [label: "Payment Gateway", shape: diamond]
-node success [label: "Success", shape: capsule]
-node failure [label: "Retry", shape: capsule]
+---
-checkout -> gateway
-gateway -> success [label: "Approved"]
-gateway -> failure [label: "Declined"]
-```
+### 📥 Developer Import Pipelines
-### ⚡ Smart Layout
-One-click auto-arrange with **ELK.js** — the same layout engine used by Eclipse and VS Code's diagram extensions. Hierarchical, layered, force-directed, and radial modes for any graph shape.
+Feed any structured artifact into OpenFlowKit and get a ready-to-edit diagram:
-### 🎬 Playback & History
-Every edit is recorded. Scrub through your diagram's full edit history visually. Export the playback as an **animated GIF** or PNG sequence — useful for walkthroughs, onboarding docs, and architecture reviews.
+| Source | Generated diagram |
+|---|---|
+| **SQL DDL** (`CREATE TABLE` statements) | Entity-relationship diagram with typed fields and cardinalities |
+| **Terraform / Kubernetes YAML / Docker Compose** | Cloud architecture diagram with provider icons |
+| **OpenAPI / Swagger spec** | API sequence diagram with operations and responses |
+| **Source code** (TS, JS, Python, Go, Java, Ruby, C#, C++, Rust) | Architecture draft from module structure |
+| **Mermaid** | Native import, fully editable |
-### 🗂️ Templates
-20 curated starter templates so you're never staring at a blank canvas:
+File upload with automatic language detection, or paste raw text.
-| Category | Templates |
+---
+
+### 📐 8 Structured Diagram Types
+
+| Diagram | What it includes | Mermaid export |
+|---|---|---|
+| **Flowchart** | Start/end, process, decision, annotation, swimlane, section | `flowchart TD` |
+| **Architecture** | AWS, Azure, CNCF icons; zones, trust domains, service boundaries | `architecture-beta` |
+| **Class Diagram** | UML classes, attributes, methods, stereotypes, all relation types | `classDiagram` |
+| **ER Diagram** | Entities with typed fields (PK, FK, NN, UNIQUE), cardinality edges | `erDiagram` |
+| **Mind Map** | Hierarchical topics, curved branches, depth-aware auto-layout | `mindmap` |
+| **User Journey** | Scored tasks, named sections, actor annotations | `journey` |
+| **State Diagram** | States, composite containers, start-node markers | `stateDiagram-v2` |
+| **Wireframe** | Browser shells, mobile frames, UI component blocks | — |
+
+---
+
+### 📤 Export Everywhere
+
+**🖼 Images:** SVG · PNG (transparent, hi-res) · JPG · PDF
+
+**🎬 Animation & Video** *(unique to OpenFlowKit)*
+
+| Format | Description |
|---|---|
-| Workflows | Generic flowchart, operational runbook, decision tree |
-| Cloud Architecture | AWS 3-tier, Azure landing zone, CNCF platform, Kubernetes cluster |
-| Planning | Mind map, user journey, affinity map, roadmap |
-| Wireframes | Mobile screen, browser app, component hierarchy |
+| Playback MP4 / WebM | Simple video replay of your diagram |
+| Playback GIF | Looping animation for embedding anywhere |
+| **Cinematic Video** ⭐ | Presentation-friendly animated diagram export for talks, demos, and walkthroughs |
+| **Cinematic GIF** ⭐ | Lightweight looping animated export for embeds and social sharing |
+
+**`{}` Code & Data:** JSON · OpenFlow DSL · Mermaid · PlantUML
+
+**🎨 Design Handoff:** Paste directly into **Figma** as editable SVG with intact text layers
+
+**🔗 Sharing:** Read-only viewer link — diagram encoded in the URL, zero server required
+
+---
+
+### `{}` OpenFlow DSL — Diagram as Code
+
+Every diagram has a live text representation. Edits sync **bidirectionally** — change the canvas, the code updates; change the code, the canvas updates. The AI reads and writes this format, making it ideal for version-controlled documentation and automated diagram generation.
+
+```yaml
+# Example: AWS architecture as code
+Auth Service [architecture] provider=aws resource=security
+API Gateway [architecture] provider=aws resource=api
+Redis Cache [architecture] provider=aws resource=database
+Postgres DB [architecture] provider=aws resource=database
+
+Auth Service -> API Gateway
+API Gateway -> Redis Cache
+API Gateway -> Postgres DB
+```
+
+The DSL supports explicit node IDs, typed attributes, edge styles, labeled connections, and group containers — all in a concise, human-readable format. See [DSL_MANUAL.md](DSL_MANUAL.md) for the full reference.
+
+---
+
+### 🎬 Playback & Presentation
+
+OpenFlowKit includes presentation-oriented animated export for sharing a diagram as motion instead of a single static frame.
+
+- **Cinematic export:** generate a browser-rendered video or GIF from the current diagram
+- **Presentation-ready output:** useful for demos, onboarding, social posts, and docs walkthroughs
+- **Shareable artifacts:** export motion without a separate video editor
+
+---
+
+### 📦 20 Built-in Templates
+
+One-click starters across 7 categories, fully searchable.
+
+
+View all templates
+
+**Flowchart**
+- Subscription Upgrade Workflow
+- Incident Escalation Runbook
+- CI/CD Release Train
+- Payment Recovery Loop
+- AI Support Escalation
+
+**AWS**
+- AWS Event-Driven API (API Gateway, Lambda, EventBridge, SQS, DynamoDB, Step Functions, SES)
+- AWS Data Lake Analytics (S3, Glue, DataZone, Athena, Redshift)
+- AWS Container Delivery Platform
+- AWS Security Operations Loop
-### 🎨 Shape & Icon Library
-- **Core shapes** — rectangles, rounded rects, capsules, circles, diamonds, hexagons, cylinders, parallelograms, and more
-- **Specialised nodes** — process, decision, start/end, annotation, text block, section, image, browser frame, mobile frame, architecture icon node
-- **AWS** — full SVG icon pack with provider categories
-- **Azure** — Microsoft architecture SVG pack
-- **CNCF** — cloud-native artwork pack
-- **Lucide** — 1,000+ general-purpose icons
+**Azure**
+- Azure AI Application Platform
+- Azure Landing Zone Operations
+- Azure Data Estate
+- Azure Identity Access Hub
-### 📤 Export Formats
-**SVG** · **PNG** · **JPG** · **Mermaid** · **OpenFlow DSL** · **JSON** · **Figma paste**
+**CNCF**
+- CNCF GitOps Platform
+- CNCF Service Mesh Security
+- CNCF Observability Stack
-### 🔗 Collaboration
-Browser-based peer-to-peer collaboration via WebRTC room links. No server, no accounts, no persistence — just share a link and work together live.
+**Mindmap · Journey · Wireframe**
+- Product Discovery Mindmap
+- Engineering Strategy Mindmap
+- Customer Onboarding Journey
+- Cross-Platform SaaS Starter Wireframe
+
+
---
-## Stack
+### 🔀 Smart Auto-Layout
+
+One-click ELK.js layout with four presets:
-| Layer | Technology | Why |
+| Preset | Algorithm | Best for |
|---|---|---|
-| UI framework | React 19 + TypeScript 5 | React Compiler for automatic memoisation |
-| Canvas | React Flow / XYFlow 12 | Best-in-class graph canvas |
-| Layout engine | ELK.js | Professional-grade auto-layout |
-| State | Zustand 5 | Lightweight, per-slice architecture |
-| Styling | Tailwind CSS 4 | Utility-first, zero runtime CSS |
-| Animation | Framer Motion | Canvas transitions and playback |
-| Build | Vite 6 | Fast HMR, optimised chunking |
-| Tests | Vitest 4 + Testing Library | 637 tests, fast parallelised runs |
-| Docs | Astro + Starlight | Static, multilingual (EN + TR) |
-| Hosting | Cloudflare Pages | Free tier, global CDN, 3 separate projects |
+| Tree | `mrtree`, top-down | Org charts, dependency trees |
+| Hierarchical | `layered`, top-down | Most flows and sequences |
+| Compact | `layered`, left-right, tight | Dense diagrams |
+| Spacious | `layered`, left-right, loose | Presentations and handoffs |
+
+---
+
+### 👥 Real-Time Collaboration *(beta)*
+
+Peer-to-peer collaboration via **WebRTC + Yjs**. Share a room link — participants see live cursors, presence indicators, and a fully synchronized canvas state. No server-side diagram storage, ever.
+
+---
+
+### ⌨️ Canvas, Keyboard & Multi-Tab Workspace
+
+- **Multi-tab workspace** — multiple diagrams open simultaneously
+- **Undo / redo** — per-tab history with full undo stack
+- **Snapshots** — named point-in-time save states
+- **Inline label editing** — double-click or `F2`
+- **Bulk properties** — edit multiple selected nodes at once
+- **Style clipboard** — `Cmd+Alt+C` / `Cmd+Alt+V` to copy/paste styles between nodes
+- **Node quick-create** — `Alt+Arrow` to spawn and connect a new node in any direction
+- **Node search** — `Cmd+F` to find nodes by label
+- **Architecture lint** — automatic validation rules for cloud diagrams
+- **Design systems** — full color/typography theming with white-label support
+
+**Essential shortcuts:**
+
+| Shortcut | Action |
+|---|---|
+| `Cmd+K` | Command Bar / Flowpilot |
+| `Cmd+F` | Search nodes |
+| `?` | Keyboard shortcuts help |
+| `Shift+1` | Fit view |
+| `Cmd+Z` / `Cmd+Shift+Z` | Undo / Redo |
+| `Cmd+D` | Duplicate |
+| `Alt+Arrow` | Quick-create connected node |
+| `F2` | Edit label inline |
+| `Cmd+Alt+C` / `Cmd+Alt+V` | Copy / Paste style |
+
+---
+
+### 🌐 Internationalization
+
+Available in 7 languages: **English · German · Spanish · French · Japanese · Turkish · Chinese**
+
+---
+
+### 🔒 Privacy & Security
+
+- **No account, ever.** No sign-up, no login, no user tracking.
+- **Keys stay in your browser.** API keys are never transmitted to OpenFlowKit. Persistent storage and session-only storage are both supported.
+- **Local-first persistence.** Diagrams are saved in browser-local storage by default and restored on refresh and browser restart unless you delete them.
+- **No telemetry.** We don't collect usage data.
+- **MIT licensed.** No lock-in, no strings attached.
+
+---
+
+## Tech Stack
+
+| Layer | Technology |
+|---|---|
+| UI framework | React 19 + TypeScript 5 |
+| Canvas engine | React Flow / XYFlow 12 |
+| Graph layout | ELK.js |
+| State management | Zustand 5 |
+| Styling | Tailwind CSS 4 |
+| Animation | Framer Motion |
+| Collaboration | Yjs + y-webrtc + y-indexeddb |
+| Build | Vite 6 |
+| Unit / integration tests | Vitest 4 + Testing Library |
+| E2E tests | Playwright |
+| Docs site | Astro + Starlight |
+| Hosting | Cloudflare Pages |
---
## Getting Started
### Prerequisites
-- Node.js 18+
-- npm 9+
-### Install & run locally
+- **Node.js** ≥ 18
+- **npm** ≥ 9
+
+### Run locally in 30 seconds
```bash
git clone https://github.com/Vrun-design/openflowkit.git
cd openflowkit
npm install
-npm run dev # → http://localhost:5173
+npm run dev
+# → http://localhost:5173
```
-To use AI generation, open **Settings → AI** in the app and add your Gemini or OpenAI API key. It's stored locally in your browser — never sent to us.
+### Add an AI provider
-### Build for production
-
-```bash
-npm run build # compile + bundle
-npm run bundle:check # verify bundle size budgets
-```
+Open the AI panel in the sidebar. If no key is configured, the **Add key** action opens the shared AI settings modal, where you can choose a provider, enter your API key, and decide whether it should persist on the current device or only for the current session.
-### Run the docs site locally
+---
-```bash
-npm run dev --workspace=docs-site # → http://localhost:4321
-```
+## Commands
-### Run the landing page locally
+### Development
```bash
-npm run dev --workspace=web # → http://localhost:4320
+npm run dev # Start dev server (localhost:5173)
+npm run build # Production build
+npm run preview # Preview production build locally
+npm run bundle:check # Analyze bundle size against budget
+npm run lint # ESLint (zero warnings allowed)
+npm test -- --run # Run all unit + integration tests once
```
----
-
-## Testing
+### Focused test suites
```bash
-npm test -- --run # full suite
+npm run test:s0 # Core smoke tests
+npm run test:s10-state # Store and state diagram tests
+npm run test:s10-canvas # Canvas interaction tests
+npm run test:s4-handle-safety # Handle safety tests
```
-Focused suites for faster iteration:
+### E2E
```bash
-npm run test:s0 # store, history, canvas core types
-npm run test:s10-state # state management and persistence
-npm run test:s10-canvas # canvas interaction logic
-npm run test:s4-handle-safety # edge handle safety rules
+npm run e2e # Full Playwright suite
+npm run e2e:ci # Chromium only (CI mode)
```
-TypeScript and lint:
+### Workspaces
```bash
-npx tsc --noEmit # type check
-npx eslint src # lint
+npm run dev --workspace=docs-site # Docs site dev server
+npm run build --workspace=docs-site # Build docs
+
+npm run dev --workspace=web # Marketing site dev server
+npm run build --workspace=web # Build marketing site
```
---
@@ -196,92 +398,98 @@ npx eslint src # lint
## Project Structure
```
-src/
- components/
- command-bar/ Command palette — Assets, Templates, Design, Code, AI views
- flow-canvas/ Canvas orchestration, node/edge renderers, overlays
- home/ Dashboard, settings, welcome surfaces
- properties/ Node, edge, and canvas side panels
- top-nav/ Nav bar — export, share, history, collaboration
- config/ Rollout flags (feature gating)
- hooks/ Editor hooks — clipboard, history, playback, interaction
- lib/ Shared types, OpenFlow DSL parser, utilities
- services/
- collaboration/ WebRTC room links and sync transport
- shapeLibrary/ Provider icon catalog, lazy SVG loading
- templateLibrary/ Starter template registry
- playback/ Playback model, step generation, GIF export
- store/ Zustand store — slices, defaults, persistence
-
-docs-site/ Astro + Starlight documentation (EN + TR)
-web/ Astro marketing landing page
-assets/
- third-party-icons/ AWS, Azure, CNCF SVG packs + source metadata
-scripts/
- shape-pack/ Icon pack intake and validation tooling
+openflowkit/
+├── src/
+│ ├── app/ Route state helpers
+│ ├── components/ UI surfaces, editor shells, nodes, panels, command bar
+│ ├── config/ Rollout flags and AI provider config
+│ ├── context/ React context providers
+│ ├── diagram-types/ Diagram family plugins and property panel registration
+│ ├── hooks/ Feature + editor hooks (AI, keyboard, operations, export)
+│ ├── i18n/ Localization strings (7 languages)
+│ ├── lib/ Shared types, parsers, compat helpers, utilities
+│ ├── services/ Domain services (AI, export, collaboration, storage…)
+│ └── store/ Zustand store, slices, persistence, defaults
+│
+├── docs-site/ Public documentation (Astro + Starlight)
+├── web/ Marketing site (Astro)
+├── e2e/ Playwright end-to-end tests
+├── assets/ Icon packs and shape metadata
+└── scripts/ Build, benchmark, sitemap, asset tooling
```
----
-
-## Architecture
+### Editor architecture
-See [ARCHITECTURE.md](ARCHITECTURE.md) for deep-dives on:
-- Store slice design and per-slice hook pattern
-- History V2 (per-tab `past/future` arrays, no global snapshot)
-- ELK singleton and layout pipeline
-- Export pipeline and bundle chunking strategy
-- Rollout flag system for safe feature gating
+The editor follows a strict four-layer composition model that separates concerns cleanly:
----
-
-## Contributing
-
-See [CONTRIBUTING.md](CONTRIBUTING.md) for full setup instructions and code guidelines.
-
-**The two rules that matter most:**
-
-1. **Never rename storage keys.** `openflowkit-storage`, `flowmind-clipboard`, `flowmind_snapshots` — changing these silently wipes existing user data.
-2. **New features go behind a rollout flag.** Add an entry to `src/config/rolloutFlags.ts` and gate the code path. Flip the default to `true` in a separate PR once validated.
+```
+FlowEditor.tsx ← render shell only
+ └─ useFlowEditorScreenModel.ts ← compose store state + domain hooks + refs
+ └─ buildFlowEditorScreenControllerParams.ts ← pure mapping (no side effects)
+ └─ useFlowEditorController.ts ← adapts to shell/studio/panel/chrome props
+```
-Before opening a PR: `tsc --noEmit` and `eslint` must be clean, and all 637 tests must pass.
+Domain services own logic. Hooks compose state and side effects. Components render and delegate. See [ARCHITECTURE.md](ARCHITECTURE.md) for the full breakdown.
---
## Deployment
-Three independent Cloudflare Pages projects, one repo:
-
-| Project | URL | Build command | Output |
+| Surface | URL | Build command | Output dir |
|---|---|---|---|
| App | `app.openflowkit.com` | `npm run build` | `dist/` |
| Docs | `docs.openflowkit.com` | `npm run build --workspace=docs-site` | `docs-site/dist/` |
| Landing | `openflowkit.com` | `npm run build --workspace=web` | `web/dist/` |
-Full setup guide: [docs/cloudflare-pages-setup.md](docs/cloudflare-pages-setup.md)
+All three surfaces deploy to Cloudflare Pages. See [`docs/cloudflare-pages-setup.md`](docs/cloudflare-pages-setup.md).
---
-## Asset Licensing
+## Contributing
+
+Contributions of all kinds are welcome — bug reports, features, docs, translations, and design feedback. See [CONTRIBUTING.md](CONTRIBUTING.md) for the full guide.
-OpenFlowKit ships with third-party SVG icon packs under their own licenses. Check `SOURCE.md` before redistributing.
+**Key constraints to know before contributing:**
-| Pack | License info |
+| Constraint | Why it matters |
|---|---|
-| AWS | [assets/third-party-icons/aws/SOURCE.md](assets/third-party-icons/aws/SOURCE.md) |
-| Azure | [assets/third-party-icons/azure/SOURCE.md](assets/third-party-icons/azure/SOURCE.md) |
-| CNCF | [assets/third-party-icons/cncf/SOURCE.md](assets/third-party-icons/cncf/SOURCE.md) |
-| GCP | Redistribution not yet cleared — intake gated |
+| **Do not rename persisted storage keys** without a migration path | Renaming silently erases existing user browser data |
+| **Gate new features** behind a rollout flag in `src/config/rolloutFlags.ts` | Allows safe promotion and easy rollback |
+| **Keep lint, test, and build green** | CI is a strict gate — zero ESLint warnings |
+| **Prefer small, reversible change-sets** | Easier to review, safer to merge |
+| **No new runtime dependencies** without opening an issue first | Keeps the bundle lean and deliberate |
+| **Component size ≤ 250 lines** | Maintains readability and testability |
+
+### Quick contributor setup
+
+```bash
+# Fork + clone, then:
+npm install # installs deps + activates Husky pre-commit hooks
+npm run dev # start dev server
+npm test # run tests in watch mode
+npm run lint # check for lint issues
+```
-OpenFlowKit's own source code is **MIT licensed**.
+Pre-commit hooks run `lint-staged` → ESLint on all changed `.ts`/`.tsx` files. Fix all errors before pushing.
+
+---
+
+## License
+
+[MIT](LICENSE) — free to use, modify, and redistribute. No strings attached.
---
-**[openflowkit.com](https://openflowkit.com) · [app.openflowkit.com](https://app.openflowkit.com) · [docs.openflowkit.com](https://docs.openflowkit.com)**
+### Built something with OpenFlowKit? A ⭐ on GitHub helps more developers find it.
+
+[](https://github.com/Vrun-design/openflowkit/stargazers)
+
+**[→ Launch the App](https://app.openflowkit.com)** · **[Read the Docs](https://docs.openflowkit.com)** · **[Contribute](CONTRIBUTING.md)** · **[Report a Bug](https://github.com/Vrun-design/openflowkit/issues)**
-Made with ☕ · MIT License
+React 19 · TypeScript 5 · Vite 6 · ELK.js · Yjs · Cloudflare Pages
-If OpenFlowKit is useful to you, a ⭐ on GitHub goes a long way.
+MIT Licensed · Local-first · No telemetry · No account required · No lock-in
diff --git a/SECURITY.md b/SECURITY.md
index 117e75e..58dd837 100644
--- a/SECURITY.md
+++ b/SECURITY.md
@@ -2,17 +2,78 @@
## Supported Versions
-Use this section to tell people about which versions of your project are currently being supported with security updates.
+OpenFlowKit is currently a pre-1.0 project. Security fixes are applied on a best-effort basis to the latest active code line only.
-| Version | Supported |
-| ------- | ------------------ |
-| 2.x | :white_check_mark: |
-| 1.x | :x: |
+Current support policy:
+
+| Version / Branch | Supported |
+|---|---|
+| Latest `main` / `master` branch state | Yes |
+| Latest deployed app/docs surfaces | Best effort |
+| Older commits, forks, and historical pre-1.0 snapshots | No |
+
+If the project starts publishing stable release lines, this policy should be updated to list supported versions explicitly.
## Reporting a Vulnerability
-We take security seriously. If you discover a security vulnerability within OpenFlowKit, please do NOT create a public GitHub issue.
+Please do **not** open a public GitHub issue for a security vulnerability.
+
+Instead, report it here:
+
+- https://docs.google.com/forms/d/e/1FAIpQLSd0hE_WTHEM8frJyZ_WlDQI8jrkGNpFu3RGCiJCmC-xp-Wm6g/viewform
+
+When possible, include:
+
+- a short description of the issue
+- impact and affected surface
+- reproduction steps
+- browser/environment details
+- proof-of-concept material if safe to share
+
+## Scope Notes
+
+OpenFlowKit is a browser-first, local-first application. Relevant security areas include:
+
+- persisted local application data
+- imported/exported files
+- AI provider API key handling
+- collaboration transport behavior
+- third-party asset ingestion and rendering
+
+## Data Storage Model
+
+OpenFlowKit is **fully local-first**. No diagram data, API keys, or user content is sent to OpenFlowKit servers. There are no OpenFlowKit servers.
+
+### Diagram data
+
+Diagram state is persisted in **IndexedDB** (with localStorage as a fallback). It never leaves the browser unless you explicitly export or share it.
+
+### AI provider API keys (BYOK)
+
+OpenFlowKit uses a Bring-Your-Own-Key (BYOK) model:
+
+- API keys are entered in **Settings → AI** and stored in **localStorage** under a dedicated namespace.
+- Keys are sent **directly from your browser to the AI provider** (OpenAI, Anthropic, Google, etc.) — not proxied through any OpenFlowKit service.
+- Keys are never logged, never included in exports, and never transmitted to anyone other than the provider you configured.
+
+**Important:** Do not put API keys in `.env` or `.env.local` files. The settings modal is the only supported key entry point. Keys set via environment variables are a development-only convenience and should not be used in shared or deployed environments.
+
+### Collaboration
+
+Real-time collaboration uses **WebRTC peer-to-peer transport** (via a public signalling server for initial handshake). Once connected, diagram data flows directly between peers — it is not stored on or readable by the signalling server. Room links contain the room ID; anyone with the link can join the session.
+
+### Third-party assets
+
+Cloud provider icon packs (AWS, Azure, GCP, CNCF) are fetched from a CDN at runtime. No user data is sent in those requests — they are plain asset fetches.
+
+## Response Policy
+
+The maintainers will review reports and aim to:
+
+1. confirm the issue
+2. assess severity and impacted surfaces
+3. prepare a fix or mitigation
+4. ship the patch on the latest supported code line
- Instead, please report it [here](https://docs.google.com/forms/d/e/1FAIpQLSd0hE_WTHEM8frJyZ_WlDQI8jrkGNpFu3RGCiJCmC-xp-Wm6g/viewform).
+Response and remediation timing is best effort and depends on issue severity and maintainer availability.
-We will create a fix and release a patch as soon as possible.
diff --git a/_headers b/_headers
index 626afc8..6ff6209 100644
--- a/_headers
+++ b/_headers
@@ -3,6 +3,7 @@
X-Content-Type-Options: nosniff
Referrer-Policy: strict-origin-when-cross-origin
Permissions-Policy: camera=(), microphone=(), geolocation=()
+ Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; connect-src 'self' https: wss:; img-src 'self' data: blob: https:; font-src 'self' data:; worker-src 'self' blob:; frame-ancestors 'none';
/assets/*
Cache-Control: public, max-age=31536000, immutable
diff --git a/docs-site/.astro/data-store.json b/docs-site/.astro/data-store.json
index 69d7c44..9d423fe 100644
--- a/docs-site/.astro/data-store.json
+++ b/docs-site/.astro/data-store.json
@@ -1 +1 @@
-[["Map",1,2,9,10],"meta::meta",["Map",3,4,5,6,7,8],"astro-version","5.18.1","content-config-digest","28e7bc87492477d9","astro-config-digest","{\"root\":{},\"srcDir\":{},\"publicDir\":{},\"outDir\":{},\"cacheDir\":{},\"site\":\"https://docs.openflowkit.com\",\"compressHTML\":true,\"base\":\"/\",\"trailingSlash\":\"ignore\",\"output\":\"static\",\"scopedStyleStrategy\":\"where\",\"build\":{\"format\":\"directory\",\"client\":{},\"server\":{},\"assets\":\"_astro\",\"serverEntry\":\"entry.mjs\",\"redirects\":true,\"inlineStylesheets\":\"auto\",\"concurrency\":1},\"server\":{\"open\":false,\"host\":false,\"port\":4399,\"streaming\":true,\"allowedHosts\":[]},\"redirects\":{},\"image\":{\"endpoint\":{\"route\":\"/_image\"},\"service\":{\"entrypoint\":\"astro/assets/services/sharp\",\"config\":{}},\"domains\":[],\"remotePatterns\":[],\"responsiveStyles\":false},\"devToolbar\":{\"enabled\":true},\"markdown\":{\"syntaxHighlight\":false,\"shikiConfig\":{\"langs\":[],\"langAlias\":{},\"theme\":\"github-dark\",\"themes\":{},\"wrap\":false,\"transformers\":[]},\"remarkPlugins\":[null,null,null],\"rehypePlugins\":[null,[null,{\"experimentalHeadingIdCompat\":false}],null,[null,{\"themes\":[{\"name\":\"Night Owl No Italics\",\"type\":\"dark\",\"colors\":{\"focusBorder\":\"#122d42\",\"foreground\":\"#d6deeb\",\"disabledForeground\":\"#cccccc80\",\"descriptionForeground\":\"#d6deebb3\",\"errorForeground\":\"#ef5350\",\"icon.foreground\":\"#c5c5c5\",\"contrastActiveBorder\":null,\"contrastBorder\":\"#122d42\",\"textBlockQuote.background\":\"#7f7f7f1a\",\"textBlockQuote.border\":\"#007acc80\",\"textCodeBlock.background\":\"#4f4f4f\",\"textLink.activeForeground\":\"#3794ff\",\"textLink.foreground\":\"#3794ff\",\"textPreformat.foreground\":\"#d7ba7d\",\"textSeparator.foreground\":\"#ffffff2e\",\"editor.background\":\"#23262f\",\"editor.foreground\":\"#d6deeb\",\"editorLineNumber.foreground\":\"#4b6479\",\"editorLineNumber.activeForeground\":\"#c5e4fd\",\"editorActiveLineNumber.foreground\":\"#c6c6c6\",\"editor.selectionBackground\":\"#1d3b53\",\"editor.inactiveSelectionBackground\":\"#7e57c25a\",\"editor.selectionHighlightBackground\":\"#5f7e9779\",\"editorError.foreground\":\"#ef5350\",\"editorWarning.foreground\":\"#b39554\",\"editorInfo.foreground\":\"#3794ff\",\"editorHint.foreground\":\"#eeeeeeb2\",\"problemsErrorIcon.foreground\":\"#ef5350\",\"problemsWarningIcon.foreground\":\"#b39554\",\"problemsInfoIcon.foreground\":\"#3794ff\",\"editor.findMatchBackground\":\"#5f7e9779\",\"editor.findMatchHighlightBackground\":\"#1085bb5d\",\"editor.findRangeHighlightBackground\":\"#3a3d4166\",\"editorLink.activeForeground\":\"#4e94ce\",\"editorLightBulb.foreground\":\"#ffcc00\",\"editorLightBulbAutoFix.foreground\":\"#75beff\",\"diffEditor.insertedTextBackground\":\"#99b76d23\",\"diffEditor.insertedTextBorder\":\"#c5e47833\",\"diffEditor.removedTextBackground\":\"#ef535033\",\"diffEditor.removedTextBorder\":\"#ef53504d\",\"diffEditor.insertedLineBackground\":\"#9bb95533\",\"diffEditor.removedLineBackground\":\"#ff000033\",\"editorStickyScroll.background\":\"#011627\",\"editorStickyScrollHover.background\":\"#2a2d2e\",\"editorInlayHint.background\":\"#5f7e97cc\",\"editorInlayHint.foreground\":\"#ffffff\",\"editorInlayHint.typeBackground\":\"#5f7e97cc\",\"editorInlayHint.typeForeground\":\"#ffffff\",\"editorInlayHint.parameterBackground\":\"#5f7e97cc\",\"editorInlayHint.parameterForeground\":\"#ffffff\",\"editorPane.background\":\"#011627\",\"editorGroup.emptyBackground\":\"#011627\",\"editorGroup.focusedEmptyBorder\":null,\"editorGroupHeader.tabsBackground\":\"var(--sl-color-black)\",\"editorGroupHeader.tabsBorder\":\"color-mix(in srgb, var(--sl-color-gray-5), transparent 25%)\",\"editorGroupHeader.noTabsBackground\":\"#011627\",\"editorGroupHeader.border\":null,\"editorGroup.border\":\"#011627\",\"editorGroup.dropBackground\":\"#7e57c273\",\"editorGroup.dropIntoPromptForeground\":\"#d6deeb\",\"editorGroup.dropIntoPromptBackground\":\"#021320\",\"editorGroup.dropIntoPromptBorder\":null,\"sideBySideEditor.horizontalBorder\":\"#011627\",\"sideBySideEditor.verticalBorder\":\"#011627\",\"scrollbar.shadow\":\"#010b14\",\"scrollbarSlider.background\":\"#ffffff17\",\"scrollbarSlider.hoverBackground\":\"#ffffff40\",\"scrollbarSlider.activeBackground\":\"#084d8180\",\"panel.background\":\"#011627\",\"panel.border\":\"#5f7e97\",\"panelTitle.activeBorder\":\"#5f7e97\",\"panelTitle.activeForeground\":\"#ffffffcc\",\"panelTitle.inactiveForeground\":\"#d6deeb80\",\"panelSectionHeader.background\":\"#80808051\",\"terminal.background\":\"#011627\",\"widget.shadow\":\"#011627\",\"editorWidget.background\":\"#021320\",\"editorWidget.foreground\":\"#d6deeb\",\"editorWidget.border\":\"#5f7e97\",\"quickInput.background\":\"#021320\",\"quickInput.foreground\":\"#d6deeb\",\"quickInputTitle.background\":\"#ffffff1a\",\"pickerGroup.foreground\":\"#d1aaff\",\"pickerGroup.border\":\"#011627\",\"editor.hoverHighlightBackground\":\"#7e57c25a\",\"editorHoverWidget.background\":\"#011627\",\"editorHoverWidget.foreground\":\"#d6deeb\",\"editorHoverWidget.border\":\"#5f7e97\",\"editorHoverWidget.statusBarBackground\":\"#011a2f\",\"titleBar.activeBackground\":\"var(--sl-color-black)\",\"titleBar.activeForeground\":\"var(--sl-color-text)\",\"titleBar.inactiveBackground\":\"#010e1a\",\"titleBar.inactiveForeground\":\"#eeefff99\",\"titleBar.border\":\"color-mix(in srgb, var(--sl-color-gray-5), transparent 25%)\",\"toolbar.hoverBackground\":\"#5a5d5e50\",\"toolbar.activeBackground\":\"#63666750\",\"tab.activeBackground\":\"#0b2942\",\"tab.unfocusedActiveBackground\":\"#0b2942\",\"tab.inactiveBackground\":\"#01111d\",\"tab.unfocusedInactiveBackground\":\"#01111d\",\"tab.activeForeground\":\"var(--sl-color-text)\",\"tab.inactiveForeground\":\"#5f7e97\",\"tab.unfocusedActiveForeground\":\"#5f7e97\",\"tab.unfocusedInactiveForeground\":\"#5f7e97\",\"tab.hoverBackground\":null,\"tab.unfocusedHoverBackground\":null,\"tab.hoverForeground\":null,\"tab.unfocusedHoverForeground\":null,\"tab.border\":\"#272b3b\",\"tab.lastPinnedBorder\":\"#585858\",\"tab.activeBorder\":\"transparent\",\"tab.unfocusedActiveBorder\":\"#262a39\",\"tab.activeBorderTop\":\"var(--sl-color-accent-high)\",\"tab.unfocusedActiveBorderTop\":null,\"tab.hoverBorder\":null,\"tab.unfocusedHoverBorder\":null,\"tab.activeModifiedBorder\":\"#3399cc\",\"tab.inactiveModifiedBorder\":\"#3399cc80\",\"tab.unfocusedActiveModifiedBorder\":\"#3399cc80\",\"tab.unfocusedInactiveModifiedBorder\":\"#3399cc40\",\"badge.background\":\"#5f7e97\",\"badge.foreground\":\"#ffffff\",\"button.background\":\"#7e57c2cc\",\"button.foreground\":\"#ffffffcc\",\"button.border\":\"#122d42\",\"button.separator\":\"#ffffff52\",\"button.hoverBackground\":\"#7e57c2\",\"button.secondaryBackground\":\"#3a3d41\",\"button.secondaryForeground\":\"#ffffff\",\"button.secondaryHoverBackground\":\"#46494e\",\"dropdown.background\":\"#011627\",\"dropdown.foreground\":\"#ffffffcc\",\"dropdown.border\":\"#5f7e97\",\"list.activeSelectionBackground\":\"#234d708c\",\"list.activeSelectionForeground\":\"#ffffff\",\"tree.indentGuidesStroke\":\"#585858\",\"input.background\":\"#0b253a\",\"input.foreground\":\"#ffffffcc\",\"input.placeholderForeground\":\"#5f7e97\",\"inputOption.activeBorder\":\"#ffffffcc\",\"inputOption.hoverBackground\":\"#5a5d5e80\",\"inputOption.activeBackground\":\"#122d4266\",\"inputOption.activeForeground\":\"#ffffff\",\"inputValidation.infoBackground\":\"#00589ef2\",\"inputValidation.infoBorder\":\"#64b5f6\",\"inputValidation.warningBackground\":\"#675700f2\",\"inputValidation.warningBorder\":\"#ffca28\",\"inputValidation.errorBackground\":\"#ab0300f2\",\"inputValidation.errorBorder\":\"#ef5350\",\"keybindingLabel.background\":\"#8080802b\",\"keybindingLabel.foreground\":\"#cccccc\",\"keybindingLabel.border\":\"#33333399\",\"keybindingLabel.bottomBorder\":\"#44444499\",\"menu.foreground\":\"#ffffffcc\",\"menu.background\":\"#011627\",\"menu.selectionForeground\":\"#ffffff\",\"menu.selectionBackground\":\"#234d708c\",\"menu.separatorBackground\":\"#606060\",\"editor.snippetTabstopHighlightBackground\":\"#7c7c74c\",\"editor.snippetFinalTabstopHighlightBorder\":\"#525252\",\"terminal.ansiBlack\":\"#011627\",\"terminal.ansiRed\":\"#ef5350\",\"terminal.ansiGreen\":\"#22da6e\",\"terminal.ansiYellow\":\"#c5e478\",\"terminal.ansiBlue\":\"#82aaff\",\"terminal.ansiMagenta\":\"#c792ea\",\"terminal.ansiCyan\":\"#21c7a8\",\"terminal.ansiWhite\":\"#ffffff\",\"terminal.ansiBrightBlack\":\"#575656\",\"terminal.ansiBrightRed\":\"#ef5350\",\"terminal.ansiBrightGreen\":\"#22da6e\",\"terminal.ansiBrightYellow\":\"#ffeb95\",\"terminal.ansiBrightBlue\":\"#82aaff\",\"terminal.ansiBrightMagenta\":\"#c792ea\",\"terminal.ansiBrightCyan\":\"#7fdbca\",\"terminal.ansiBrightWhite\":\"#ffffff\",\"selection.background\":\"#4373c2\",\"input.border\":\"#5f7e97\",\"punctuation.definition.generic.begin.html\":\"#ef5350f2\",\"progress.background\":\"#7e57c2\",\"breadcrumb.foreground\":\"#a599e9\",\"breadcrumb.focusForeground\":\"#ffffff\",\"breadcrumb.activeSelectionForeground\":\"#ffffff\",\"breadcrumbPicker.background\":\"#001122\",\"list.invalidItemForeground\":\"#975f94\",\"list.dropBackground\":\"#011627\",\"list.focusBackground\":\"#010d18\",\"list.focusForeground\":\"#ffffff\",\"list.highlightForeground\":\"#ffffff\",\"list.hoverBackground\":\"#011627\",\"list.hoverForeground\":\"#ffffff\",\"list.inactiveSelectionBackground\":\"#0e293f\",\"list.inactiveSelectionForeground\":\"#5f7e97\",\"activityBar.background\":\"#011627\",\"activityBar.dropBackground\":\"#5f7e97\",\"activityBar.foreground\":\"#5f7e97\",\"activityBar.border\":\"#011627\",\"activityBarBadge.background\":\"#44596b\",\"activityBarBadge.foreground\":\"#ffffff\",\"sideBar.background\":\"#011627\",\"sideBar.foreground\":\"#89a4bb\",\"sideBar.border\":\"#011627\",\"sideBarTitle.foreground\":\"#5f7e97\",\"sideBarSectionHeader.background\":\"#011627\",\"sideBarSectionHeader.foreground\":\"#5f7e97\",\"editorCursor.foreground\":\"#80a4c2\",\"editor.wordHighlightBackground\":\"#f6bbe533\",\"editor.wordHighlightStrongBackground\":\"#e2a2f433\",\"editor.lineHighlightBackground\":\"#0003\",\"editor.rangeHighlightBackground\":\"#7e57c25a\",\"editorIndentGuide.background\":\"#5e81ce52\",\"editorIndentGuide.activeBackground\":\"#7e97ac\",\"editorRuler.foreground\":\"#5e81ce52\",\"editorCodeLens.foreground\":\"#5e82ceb4\",\"editorBracketMatch.background\":\"#5f7e974d\",\"editorOverviewRuler.currentContentForeground\":\"#7e57c2\",\"editorOverviewRuler.incomingContentForeground\":\"#7e57c2\",\"editorOverviewRuler.commonContentForeground\":\"#7e57c2\",\"editorGutter.background\":\"#011627\",\"editorGutter.modifiedBackground\":\"#e2b93d\",\"editorGutter.addedBackground\":\"#9ccc65\",\"editorGutter.deletedBackground\":\"#ef5350\",\"editorSuggestWidget.background\":\"#2c3043\",\"editorSuggestWidget.border\":\"#2b2f40\",\"editorSuggestWidget.foreground\":\"#d6deeb\",\"editorSuggestWidget.highlightForeground\":\"#ffffff\",\"editorSuggestWidget.selectedBackground\":\"#5f7e97\",\"debugExceptionWidget.background\":\"#011627\",\"debugExceptionWidget.border\":\"#5f7e97\",\"editorMarkerNavigation.background\":\"#0b2942\",\"editorMarkerNavigationError.background\":\"#ef5350\",\"editorMarkerNavigationWarning.background\":\"#ffca28\",\"peekView.border\":\"#5f7e97\",\"peekViewEditor.background\":\"#011627\",\"peekViewEditor.matchHighlightBackground\":\"#7e57c25a\",\"peekViewResult.background\":\"#011627\",\"peekViewResult.fileForeground\":\"#5f7e97\",\"peekViewResult.lineForeground\":\"#5f7e97\",\"peekViewResult.matchHighlightBackground\":\"#ffffffcc\",\"peekViewResult.selectionBackground\":\"#2e3250\",\"peekViewResult.selectionForeground\":\"#5f7e97\",\"peekViewTitle.background\":\"#011627\",\"peekViewTitleDescription.foreground\":\"#697098\",\"peekViewTitleLabel.foreground\":\"#5f7e97\",\"merge.currentHeaderBackground\":\"#5f7e97\",\"merge.incomingHeaderBackground\":\"#7e57c25a\",\"statusBar.background\":\"#011627\",\"statusBar.foreground\":\"#5f7e97\",\"statusBar.border\":\"#262a39\",\"statusBar.debuggingBackground\":\"#202431\",\"statusBar.debuggingBorder\":\"#1f2330\",\"statusBar.noFolderBackground\":\"#011627\",\"statusBar.noFolderBorder\":\"#25293a\",\"statusBarItem.activeBackground\":\"#202431\",\"statusBarItem.hoverBackground\":\"#202431\",\"statusBarItem.prominentBackground\":\"#202431\",\"statusBarItem.prominentHoverBackground\":\"#202431\",\"notifications.background\":\"#01111d\",\"notifications.border\":\"#262a39\",\"notificationCenter.border\":\"#262a39\",\"notificationToast.border\":\"#262a39\",\"notifications.foreground\":\"#ffffffcc\",\"notificationLink.foreground\":\"#80cbc4\",\"extensionButton.prominentForeground\":\"#ffffffcc\",\"extensionButton.prominentBackground\":\"#7e57c2cc\",\"extensionButton.prominentHoverBackground\":\"#7e57c2\",\"terminal.selectionBackground\":\"#1b90dd4d\",\"terminalCursor.background\":\"#234d70\",\"debugToolBar.background\":\"#011627\",\"welcomePage.buttonBackground\":\"#011627\",\"welcomePage.buttonHoverBackground\":\"#011627\",\"walkThrough.embeddedEditorBackground\":\"#011627\",\"gitDecoration.modifiedResourceForeground\":\"#a2bffc\",\"gitDecoration.deletedResourceForeground\":\"#ef535090\",\"gitDecoration.untrackedResourceForeground\":\"#c5e478ff\",\"gitDecoration.ignoredResourceForeground\":\"#395a75\",\"gitDecoration.conflictingResourceForeground\":\"#ffeb95cc\",\"source.elm\":\"#5f7e97\",\"string.quoted.single.js\":\"#ffffff\",\"meta.objectliteral.js\":\"#82aaff\"},\"fg\":\"#d6deeb\",\"bg\":\"#23262f\",\"semanticHighlighting\":false,\"settings\":[{\"name\":\"Changed\",\"scope\":[\"markup.changed\",\"meta.diff.header.git\",\"meta.diff.header.from-file\",\"meta.diff.header.to-file\"],\"settings\":{\"foreground\":\"#a2bffc\"}},{\"name\":\"Deleted\",\"scope\":[\"markup.deleted.diff\"],\"settings\":{\"foreground\":\"#f27775fe\"}},{\"name\":\"Inserted\",\"scope\":[\"markup.inserted.diff\"],\"settings\":{\"foreground\":\"#c5e478\"}},{\"name\":\"Global settings\",\"settings\":{\"background\":\"#011627\",\"foreground\":\"#d6deeb\"}},{\"name\":\"Comment\",\"scope\":[\"comment\"],\"settings\":{\"foreground\":\"#919f9f\",\"fontStyle\":\"\"}},{\"name\":\"String\",\"scope\":[\"string\"],\"settings\":{\"foreground\":\"#ecc48d\"}},{\"name\":\"String Quoted\",\"scope\":[\"string.quoted\",\"variable.other.readwrite.js\"],\"settings\":{\"foreground\":\"#ecc48d\"}},{\"name\":\"Support Constant Math\",\"scope\":[\"support.constant.math\"],\"settings\":{\"foreground\":\"#c5e478\"}},{\"name\":\"Number\",\"scope\":[\"constant.numeric\",\"constant.character.numeric\"],\"settings\":{\"foreground\":\"#f78c6c\",\"fontStyle\":\"\"}},{\"name\":\"Built-in constant\",\"scope\":[\"constant.language\",\"punctuation.definition.constant\",\"variable.other.constant\"],\"settings\":{\"foreground\":\"#82aaff\"}},{\"name\":\"User-defined constant\",\"scope\":[\"constant.character\",\"constant.other\"],\"settings\":{\"foreground\":\"#82aaff\"}},{\"name\":\"Constant Character Escape\",\"scope\":[\"constant.character.escape\"],\"settings\":{\"foreground\":\"#f78c6c\"}},{\"name\":\"RegExp String\",\"scope\":[\"string.regexp\",\"string.regexp keyword.other\"],\"settings\":{\"foreground\":\"#5ca7e4\"}},{\"name\":\"Comma in functions\",\"scope\":[\"meta.function punctuation.separator.comma\"],\"settings\":{\"foreground\":\"#889fb2\"}},{\"name\":\"Variable\",\"scope\":[\"variable\"],\"settings\":{\"foreground\":\"#c5e478\"}},{\"name\":\"Keyword\",\"scope\":[\"punctuation.accessor\",\"keyword\"],\"settings\":{\"foreground\":\"#c792ea\",\"fontStyle\":\"\"}},{\"name\":\"Storage\",\"scope\":[\"storage\",\"meta.var.expr\",\"meta.class meta.method.declaration meta.var.expr storage.type.js\",\"storage.type.property.js\",\"storage.type.property.ts\",\"storage.type.property.tsx\"],\"settings\":{\"foreground\":\"#c792ea\",\"fontStyle\":\"\"}},{\"name\":\"Storage type\",\"scope\":[\"storage.type\"],\"settings\":{\"foreground\":\"#c792ea\"}},{\"name\":\"Storage type\",\"scope\":[\"storage.type.function.arrow.js\"],\"settings\":{\"fontStyle\":\"\"}},{\"name\":\"Class name\",\"scope\":[\"entity.name.class\",\"meta.class entity.name.type.class\"],\"settings\":{\"foreground\":\"#ffcb8b\"}},{\"name\":\"Inherited class\",\"scope\":[\"entity.other.inherited-class\"],\"settings\":{\"foreground\":\"#c5e478\"}},{\"name\":\"Function name\",\"scope\":[\"entity.name.function\"],\"settings\":{\"foreground\":\"#c792ea\",\"fontStyle\":\"\"}},{\"name\":\"Meta Tag\",\"scope\":[\"punctuation.definition.tag\",\"meta.tag\"],\"settings\":{\"foreground\":\"#7fdbca\"}},{\"name\":\"HTML Tag names\",\"scope\":[\"entity.name.tag\",\"meta.tag.other.html\",\"meta.tag.other.js\",\"meta.tag.other.tsx\",\"entity.name.tag.tsx\",\"entity.name.tag.js\",\"entity.name.tag\",\"meta.tag.js\",\"meta.tag.tsx\",\"meta.tag.html\"],\"settings\":{\"foreground\":\"#caece6\",\"fontStyle\":\"\"}},{\"name\":\"Tag attribute\",\"scope\":[\"entity.other.attribute-name\"],\"settings\":{\"fontStyle\":\"\",\"foreground\":\"#c5e478\"}},{\"name\":\"Entity Name Tag Custom\",\"scope\":[\"entity.name.tag.custom\"],\"settings\":{\"foreground\":\"#c5e478\"}},{\"name\":\"Library (function & constant)\",\"scope\":[\"support.function\",\"support.constant\"],\"settings\":{\"foreground\":\"#82aaff\"}},{\"name\":\"Support Constant Property Value meta\",\"scope\":[\"support.constant.meta.property-value\"],\"settings\":{\"foreground\":\"#7fdbca\"}},{\"name\":\"Library class/type\",\"scope\":[\"support.type\",\"support.class\"],\"settings\":{\"foreground\":\"#c5e478\"}},{\"name\":\"Support Variable DOM\",\"scope\":[\"support.variable.dom\"],\"settings\":{\"foreground\":\"#c5e478\"}},{\"name\":\"Invalid\",\"scope\":[\"invalid\"],\"settings\":{\"background\":\"#ff2c83\",\"foreground\":\"#ffffff\"}},{\"name\":\"Invalid deprecated\",\"scope\":[\"invalid.deprecated\"],\"settings\":{\"foreground\":\"#ffffff\",\"background\":\"#d3423e\"}},{\"name\":\"Keyword Operator\",\"scope\":[\"keyword.operator\"],\"settings\":{\"foreground\":\"#7fdbca\",\"fontStyle\":\"\"}},{\"name\":\"Keyword Operator Relational\",\"scope\":[\"keyword.operator.relational\"],\"settings\":{\"foreground\":\"#c792ea\",\"fontStyle\":\"\"}},{\"name\":\"Keyword Operator Assignment\",\"scope\":[\"keyword.operator.assignment\"],\"settings\":{\"foreground\":\"#c792ea\"}},{\"name\":\"Keyword Operator Arithmetic\",\"scope\":[\"keyword.operator.arithmetic\"],\"settings\":{\"foreground\":\"#c792ea\"}},{\"name\":\"Keyword Operator Bitwise\",\"scope\":[\"keyword.operator.bitwise\"],\"settings\":{\"foreground\":\"#c792ea\"}},{\"name\":\"Keyword Operator Increment\",\"scope\":[\"keyword.operator.increment\"],\"settings\":{\"foreground\":\"#c792ea\"}},{\"name\":\"Keyword Operator Ternary\",\"scope\":[\"keyword.operator.ternary\"],\"settings\":{\"foreground\":\"#c792ea\"}},{\"name\":\"Double-Slashed Comment\",\"scope\":[\"comment.line.double-slash\"],\"settings\":{\"foreground\":\"#919f9f\"}},{\"name\":\"Object\",\"scope\":[\"object\"],\"settings\":{\"foreground\":\"#cdebf7\"}},{\"name\":\"Null\",\"scope\":[\"constant.language.null\"],\"settings\":{\"foreground\":\"#ff6a83\"}},{\"name\":\"Meta Brace\",\"scope\":[\"meta.brace\"],\"settings\":{\"foreground\":\"#d6deeb\"}},{\"name\":\"Meta Delimiter Period\",\"scope\":[\"meta.delimiter.period\"],\"settings\":{\"foreground\":\"#c792ea\",\"fontStyle\":\"\"}},{\"name\":\"Punctuation Definition String\",\"scope\":[\"punctuation.definition.string\"],\"settings\":{\"foreground\":\"#d9f5dd\"}},{\"name\":\"Punctuation Definition String Markdown\",\"scope\":[\"punctuation.definition.string.begin.markdown\"],\"settings\":{\"foreground\":\"#ff6a83\"}},{\"name\":\"Boolean\",\"scope\":[\"constant.language.boolean\"],\"settings\":{\"foreground\":\"#ff6a83\"}},{\"name\":\"Object Comma\",\"scope\":[\"object.comma\"],\"settings\":{\"foreground\":\"#ffffff\"}},{\"name\":\"Variable Parameter Function\",\"scope\":[\"variable.parameter.function\"],\"settings\":{\"foreground\":\"#7fdbca\",\"fontStyle\":\"\"}},{\"name\":\"Support Type Property Name & entity name tags\",\"scope\":[\"support.type.vendor.property-name\",\"support.constant.vendor.property-value\",\"support.type.property-name\",\"meta.property-list entity.name.tag\"],\"settings\":{\"foreground\":\"#80cbc4\",\"fontStyle\":\"\"}},{\"name\":\"Entity Name tag reference in stylesheets\",\"scope\":[\"meta.property-list entity.name.tag.reference\"],\"settings\":{\"foreground\":\"#57eaf1\"}},{\"name\":\"Constant Other Color RGB Value Punctuation Definition Constant\",\"scope\":[\"constant.other.color.rgb-value punctuation.definition.constant\"],\"settings\":{\"foreground\":\"#f78c6c\"}},{\"name\":\"Constant Other Color\",\"scope\":[\"constant.other.color\"],\"settings\":{\"foreground\":\"#ffeb95\"}},{\"name\":\"Keyword Other Unit\",\"scope\":[\"keyword.other.unit\"],\"settings\":{\"foreground\":\"#ffeb95\"}},{\"name\":\"Meta Selector\",\"scope\":[\"meta.selector\"],\"settings\":{\"foreground\":\"#c792ea\",\"fontStyle\":\"\"}},{\"name\":\"Entity Other Attribute Name Id\",\"scope\":[\"entity.other.attribute-name.id\"],\"settings\":{\"foreground\":\"#fad430\"}},{\"name\":\"Meta Property Name\",\"scope\":[\"meta.property-name\"],\"settings\":{\"foreground\":\"#80cbc4\"}},{\"name\":\"Doctypes\",\"scope\":[\"entity.name.tag.doctype\",\"meta.tag.sgml.doctype\"],\"settings\":{\"foreground\":\"#c792ea\",\"fontStyle\":\"\"}},{\"name\":\"Punctuation Definition Parameters\",\"scope\":[\"punctuation.definition.parameters\"],\"settings\":{\"foreground\":\"#d9f5dd\"}},{\"name\":\"Keyword Control Operator\",\"scope\":[\"keyword.control.operator\"],\"settings\":{\"foreground\":\"#7fdbca\"}},{\"name\":\"Keyword Operator Logical\",\"scope\":[\"keyword.operator.logical\"],\"settings\":{\"foreground\":\"#c792ea\",\"fontStyle\":\"\"}},{\"name\":\"Variable Instances\",\"scope\":[\"variable.instance\",\"variable.other.instance\",\"variable.readwrite.instance\",\"variable.other.readwrite.instance\",\"variable.other.property\"],\"settings\":{\"foreground\":\"#7fdbca\"}},{\"name\":\"Variable Property Other object property\",\"scope\":[\"variable.other.object.property\"],\"settings\":{\"foreground\":\"#faf39f\",\"fontStyle\":\"\"}},{\"name\":\"Variable Property Other object\",\"scope\":[\"variable.other.object.js\"],\"settings\":{\"fontStyle\":\"\"}},{\"name\":\"Entity Name Function\",\"scope\":[\"entity.name.function\"],\"settings\":{\"foreground\":\"#82aaff\",\"fontStyle\":\"\"}},{\"name\":\"Keyword Operator Comparison, returns, imports, and Keyword Operator Ruby\",\"scope\":[\"keyword.control.conditional.js\",\"keyword.operator.comparison\",\"keyword.control.flow.js\",\"keyword.control.flow.ts\",\"keyword.control.flow.tsx\",\"keyword.control.ruby\",\"keyword.control.def.ruby\",\"keyword.control.loop.js\",\"keyword.control.loop.ts\",\"keyword.control.import.js\",\"keyword.control.import.ts\",\"keyword.control.import.tsx\",\"keyword.control.from.js\",\"keyword.control.from.ts\",\"keyword.control.from.tsx\",\"keyword.control.conditional.js\",\"keyword.control.conditional.ts\",\"keyword.control.switch.js\",\"keyword.control.switch.ts\",\"keyword.operator.instanceof.js\",\"keyword.operator.expression.instanceof.ts\",\"keyword.operator.expression.instanceof.tsx\"],\"settings\":{\"foreground\":\"#c792ea\",\"fontStyle\":\"\"}},{\"name\":\"Support Constant, `new` keyword, Special Method Keyword, `debugger`, other keywords\",\"scope\":[\"support.constant\",\"keyword.other.special-method\",\"keyword.other.new\",\"keyword.other.debugger\",\"keyword.control\"],\"settings\":{\"foreground\":\"#7fdbca\"}},{\"name\":\"Support Function\",\"scope\":[\"support.function\"],\"settings\":{\"foreground\":\"#c5e478\"}},{\"name\":\"Invalid Broken\",\"scope\":[\"invalid.broken\"],\"settings\":{\"foreground\":\"#989da0\",\"background\":\"#F78C6C\"}},{\"name\":\"Invalid Unimplemented\",\"scope\":[\"invalid.unimplemented\"],\"settings\":{\"background\":\"#8BD649\",\"foreground\":\"#ffffff\"}},{\"name\":\"Invalid Illegal\",\"scope\":[\"invalid.illegal\"],\"settings\":{\"foreground\":\"#ffffff\",\"background\":\"#ec5f67\"}},{\"name\":\"Language Variable\",\"scope\":[\"variable.language\"],\"settings\":{\"foreground\":\"#7fdbca\"}},{\"name\":\"Support Variable Property\",\"scope\":[\"support.variable.property\"],\"settings\":{\"foreground\":\"#7fdbca\"}},{\"name\":\"Variable Function\",\"scope\":[\"variable.function\"],\"settings\":{\"foreground\":\"#82aaff\"}},{\"name\":\"Variable Interpolation\",\"scope\":[\"variable.interpolation\"],\"settings\":{\"foreground\":\"#ef787f\"}},{\"name\":\"Meta Function Call\",\"scope\":[\"meta.function-call\"],\"settings\":{\"foreground\":\"#82aaff\"}},{\"name\":\"Punctuation Section Embedded\",\"scope\":[\"punctuation.section.embedded\"],\"settings\":{\"foreground\":\"#e2817f\"}},{\"name\":\"Punctuation Tweaks\",\"scope\":[\"punctuation.terminator.expression\",\"punctuation.definition.arguments\",\"punctuation.definition.array\",\"punctuation.section.array\",\"meta.array\"],\"settings\":{\"foreground\":\"#d6deeb\"}},{\"name\":\"More Punctuation Tweaks\",\"scope\":[\"punctuation.definition.list.begin\",\"punctuation.definition.list.end\",\"punctuation.separator.arguments\",\"punctuation.definition.list\"],\"settings\":{\"foreground\":\"#d9f5dd\"}},{\"name\":\"Template Strings\",\"scope\":[\"string.template meta.template.expression\"],\"settings\":{\"foreground\":\"#e2817f\"}},{\"name\":\"Backtics(``) in Template Strings\",\"scope\":[\"string.template punctuation.definition.string\"],\"settings\":{\"foreground\":\"#d6deeb\"}},{\"name\":\"Italics\",\"scope\":[\"italic\"],\"settings\":{\"foreground\":\"#c792ea\",\"fontStyle\":\"italic\"}},{\"name\":\"Bold\",\"scope\":[\"bold\"],\"settings\":{\"foreground\":\"#c5e478\",\"fontStyle\":\"bold\"}},{\"name\":\"Quote\",\"scope\":[\"quote\"],\"settings\":{\"foreground\":\"#969bb7\",\"fontStyle\":\"\"}},{\"name\":\"Raw Code\",\"scope\":[\"raw\"],\"settings\":{\"foreground\":\"#80cbc4\"}},{\"name\":\"CoffeScript Variable Assignment\",\"scope\":[\"variable.assignment.coffee\"],\"settings\":{\"foreground\":\"#31e1eb\"}},{\"name\":\"CoffeScript Parameter Function\",\"scope\":[\"variable.parameter.function.coffee\"],\"settings\":{\"foreground\":\"#d6deeb\"}},{\"name\":\"CoffeeScript Assignments\",\"scope\":[\"variable.assignment.coffee\"],\"settings\":{\"foreground\":\"#7fdbca\"}},{\"name\":\"C# Readwrite Variables\",\"scope\":[\"variable.other.readwrite.cs\"],\"settings\":{\"foreground\":\"#d6deeb\"}},{\"name\":\"C# Classes & Storage types\",\"scope\":[\"entity.name.type.class.cs\",\"storage.type.cs\"],\"settings\":{\"foreground\":\"#ffcb8b\"}},{\"name\":\"C# Namespaces\",\"scope\":[\"entity.name.type.namespace.cs\"],\"settings\":{\"foreground\":\"#b2ccd6\"}},{\"name\":\"C# Unquoted String Zone\",\"scope\":[\"string.unquoted.preprocessor.message.cs\"],\"settings\":{\"foreground\":\"#d6deeb\"}},{\"name\":\"C# Region\",\"scope\":[\"punctuation.separator.hash.cs\",\"keyword.preprocessor.region.cs\",\"keyword.preprocessor.endregion.cs\"],\"settings\":{\"foreground\":\"#ffcb8b\",\"fontStyle\":\"bold\"}},{\"name\":\"C# Other Variables\",\"scope\":[\"variable.other.object.cs\"],\"settings\":{\"foreground\":\"#b2ccd6\"}},{\"name\":\"C# Enum\",\"scope\":[\"entity.name.type.enum.cs\"],\"settings\":{\"foreground\":\"#c5e478\"}},{\"name\":\"Dart String\",\"scope\":[\"string.interpolated.single.dart\",\"string.interpolated.double.dart\"],\"settings\":{\"foreground\":\"#ffcb8b\"}},{\"name\":\"Dart Class\",\"scope\":[\"support.class.dart\"],\"settings\":{\"foreground\":\"#ffcb8b\"}},{\"name\":\"Tag names in Stylesheets\",\"scope\":[\"entity.name.tag.css\",\"entity.name.tag.less\",\"entity.name.tag.custom.css\",\"support.constant.property-value.css\"],\"settings\":{\"foreground\":\"#ff6d6d\",\"fontStyle\":\"\"}},{\"name\":\"Wildcard(*) selector in Stylesheets\",\"scope\":[\"entity.name.tag.wildcard.css\",\"entity.name.tag.wildcard.less\",\"entity.name.tag.wildcard.scss\",\"entity.name.tag.wildcard.sass\"],\"settings\":{\"foreground\":\"#7fdbca\"}},{\"name\":\"CSS Keyword Other Unit\",\"scope\":[\"keyword.other.unit.css\"],\"settings\":{\"foreground\":\"#ffeb95\"}},{\"name\":\"Attribute Name for CSS\",\"scope\":[\"meta.attribute-selector.css entity.other.attribute-name.attribute\",\"variable.other.readwrite.js\"],\"settings\":{\"foreground\":\"#f78c6c\"}},{\"name\":\"Elixir Classes\",\"scope\":[\"source.elixir support.type.elixir\",\"source.elixir meta.module.elixir entity.name.class.elixir\"],\"settings\":{\"foreground\":\"#82aaff\"}},{\"name\":\"Elixir Functions\",\"scope\":[\"source.elixir entity.name.function\"],\"settings\":{\"foreground\":\"#c5e478\"}},{\"name\":\"Elixir Constants\",\"scope\":[\"source.elixir constant.other.symbol.elixir\",\"source.elixir constant.other.keywords.elixir\"],\"settings\":{\"foreground\":\"#82aaff\"}},{\"name\":\"Elixir String Punctuations\",\"scope\":[\"source.elixir punctuation.definition.string\"],\"settings\":{\"foreground\":\"#c5e478\"}},{\"name\":\"Elixir\",\"scope\":[\"source.elixir variable.other.readwrite.module.elixir\",\"source.elixir variable.other.readwrite.module.elixir punctuation.definition.variable.elixir\"],\"settings\":{\"foreground\":\"#c5e478\"}},{\"name\":\"Elixir Binary Punctuations\",\"scope\":[\"source.elixir .punctuation.binary.elixir\"],\"settings\":{\"foreground\":\"#c792ea\",\"fontStyle\":\"\"}},{\"name\":\"Closure Constant Keyword\",\"scope\":[\"constant.keyword.clojure\"],\"settings\":{\"foreground\":\"#7fdbca\"}},{\"name\":\"Go Function Calls\",\"scope\":[\"source.go meta.function-call.go\"],\"settings\":{\"foreground\":\"#dddddd\"}},{\"name\":\"Go Keywords\",\"scope\":[\"source.go keyword.package.go\",\"source.go keyword.import.go\",\"source.go keyword.function.go\",\"source.go keyword.type.go\",\"source.go keyword.struct.go\",\"source.go keyword.interface.go\",\"source.go keyword.const.go\",\"source.go keyword.var.go\",\"source.go keyword.map.go\",\"source.go keyword.channel.go\",\"source.go keyword.control.go\"],\"settings\":{\"foreground\":\"#c792ea\"}},{\"name\":\"Go Constants e.g. nil, string format (%s, %d, etc.)\",\"scope\":[\"source.go constant.language.go\",\"source.go constant.other.placeholder.go\"],\"settings\":{\"foreground\":\"#ff6a83\"}},{\"name\":\"C++ Functions\",\"scope\":[\"entity.name.function.preprocessor.cpp\",\"entity.scope.name.cpp\"],\"settings\":{\"foreground\":\"#7fdbca\"}},{\"name\":\"C++ Meta Namespace\",\"scope\":[\"meta.namespace-block.cpp\"],\"settings\":{\"foreground\":\"#e0dec6\"}},{\"name\":\"C++ Language Primitive Storage\",\"scope\":[\"storage.type.language.primitive.cpp\"],\"settings\":{\"foreground\":\"#ff6a83\"}},{\"name\":\"C++ Preprocessor Macro\",\"scope\":[\"meta.preprocessor.macro.cpp\"],\"settings\":{\"foreground\":\"#d6deeb\"}},{\"name\":\"C++ Variable Parameter\",\"scope\":[\"variable.parameter\"],\"settings\":{\"foreground\":\"#ffcb8b\"}},{\"name\":\"Powershell Variables\",\"scope\":[\"variable.other.readwrite.powershell\"],\"settings\":{\"foreground\":\"#82aaff\"}},{\"name\":\"Powershell Function\",\"scope\":[\"support.function.powershell\"],\"settings\":{\"foreground\":\"#7fdbca\"}},{\"name\":\"ID Attribute Name in HTML\",\"scope\":[\"entity.other.attribute-name.id.html\"],\"settings\":{\"foreground\":\"#c5e478\"}},{\"name\":\"HTML Punctuation Definition Tag\",\"scope\":[\"punctuation.definition.tag.html\"],\"settings\":{\"foreground\":\"#6ae9f0\"}},{\"name\":\"HTML Doctype\",\"scope\":[\"meta.tag.sgml.doctype.html\"],\"settings\":{\"foreground\":\"#c792ea\",\"fontStyle\":\"\"}},{\"name\":\"JavaScript Classes\",\"scope\":[\"meta.class entity.name.type.class.js\"],\"settings\":{\"foreground\":\"#ffcb8b\"}},{\"name\":\"JavaScript Method Declaration e.g. `constructor`\",\"scope\":[\"meta.method.declaration storage.type.js\"],\"settings\":{\"foreground\":\"#82aaff\"}},{\"name\":\"JavaScript Terminator\",\"scope\":[\"terminator.js\"],\"settings\":{\"foreground\":\"#d6deeb\"}},{\"name\":\"JavaScript Meta Punctuation Definition\",\"scope\":[\"meta.js punctuation.definition.js\"],\"settings\":{\"foreground\":\"#d6deeb\"}},{\"name\":\"Entity Names in Code Documentations\",\"scope\":[\"entity.name.type.instance.jsdoc\",\"entity.name.type.instance.phpdoc\"],\"settings\":{\"foreground\":\"#889fb2\"}},{\"name\":\"Other Variables in Code Documentations\",\"scope\":[\"variable.other.jsdoc\",\"variable.other.phpdoc\"],\"settings\":{\"foreground\":\"#78ccf0\"}},{\"name\":\"JavaScript module imports and exports\",\"scope\":[\"variable.other.meta.import.js\",\"meta.import.js variable.other\",\"variable.other.meta.export.js\",\"meta.export.js variable.other\"],\"settings\":{\"foreground\":\"#d6deeb\"}},{\"name\":\"JavaScript Variable Parameter Function\",\"scope\":[\"variable.parameter.function.js\"],\"settings\":{\"foreground\":\"#8b96ea\"}},{\"name\":\"JavaScript[React] Variable Other Object\",\"scope\":[\"variable.other.object.js\",\"variable.other.object.jsx\",\"variable.object.property.js\",\"variable.object.property.jsx\"],\"settings\":{\"foreground\":\"#d6deeb\"}},{\"name\":\"JavaScript Variables\",\"scope\":[\"variable.js\",\"variable.other.js\"],\"settings\":{\"foreground\":\"#d6deeb\"}},{\"name\":\"JavaScript Entity Name Type\",\"scope\":[\"entity.name.type.js\",\"entity.name.type.module.js\"],\"settings\":{\"foreground\":\"#ffcb8b\",\"fontStyle\":\"\"}},{\"name\":\"JavaScript Support Classes\",\"scope\":[\"support.class.js\"],\"settings\":{\"foreground\":\"#d6deeb\"}},{\"name\":\"JSON Property Names\",\"scope\":[\"support.type.property-name.json\"],\"settings\":{\"foreground\":\"#7fdbca\"}},{\"name\":\"JSON Support Constants\",\"scope\":[\"support.constant.json\"],\"settings\":{\"foreground\":\"#c5e478\"}},{\"name\":\"JSON Property values (string)\",\"scope\":[\"meta.structure.dictionary.value.json string.quoted.double\"],\"settings\":{\"foreground\":\"#c789d6\"}},{\"name\":\"Strings in JSON values\",\"scope\":[\"string.quoted.double.json punctuation.definition.string.json\"],\"settings\":{\"foreground\":\"#80cbc4\"}},{\"name\":\"Specific JSON Property values like null\",\"scope\":[\"meta.structure.dictionary.json meta.structure.dictionary.value constant.language\"],\"settings\":{\"foreground\":\"#ff6a83\"}},{\"name\":\"JavaScript Other Variable\",\"scope\":[\"variable.other.object.js\"],\"settings\":{\"foreground\":\"#7fdbca\"}},{\"name\":\"Ruby Variables\",\"scope\":[\"variable.other.ruby\"],\"settings\":{\"foreground\":\"#d6deeb\"}},{\"name\":\"Ruby Class\",\"scope\":[\"entity.name.type.class.ruby\"],\"settings\":{\"foreground\":\"#ecc48d\"}},{\"name\":\"Ruby Hashkeys\",\"scope\":[\"constant.language.symbol.hashkey.ruby\"],\"settings\":{\"foreground\":\"#7fdbca\"}},{\"name\":\"LESS Tag names\",\"scope\":[\"entity.name.tag.less\"],\"settings\":{\"foreground\":\"#7fdbca\"}},{\"name\":\"LESS Keyword Other Unit\",\"scope\":[\"keyword.other.unit.css\"],\"settings\":{\"foreground\":\"#ffeb95\"}},{\"name\":\"Attribute Name for LESS\",\"scope\":[\"meta.attribute-selector.less entity.other.attribute-name.attribute\"],\"settings\":{\"foreground\":\"#f78c6c\"}},{\"name\":\"Markdown Headings\",\"scope\":[\"markup.heading.markdown\",\"markup.heading.setext.1.markdown\",\"markup.heading.setext.2.markdown\"],\"settings\":{\"foreground\":\"#82b1ff\"}},{\"name\":\"Markdown Italics\",\"scope\":[\"markup.italic.markdown\"],\"settings\":{\"foreground\":\"#c792ea\",\"fontStyle\":\"italic\"}},{\"name\":\"Markdown Bold\",\"scope\":[\"markup.bold.markdown\"],\"settings\":{\"foreground\":\"#c5e478\",\"fontStyle\":\"bold\"}},{\"name\":\"Markdown Quote + others\",\"scope\":[\"markup.quote.markdown\"],\"settings\":{\"foreground\":\"#969bb7\",\"fontStyle\":\"\"}},{\"name\":\"Markdown Raw Code + others\",\"scope\":[\"markup.inline.raw.markdown\"],\"settings\":{\"foreground\":\"#80cbc4\"}},{\"name\":\"Markdown Links\",\"scope\":[\"markup.underline.link.markdown\",\"markup.underline.link.image.markdown\"],\"settings\":{\"foreground\":\"#ff869a\",\"fontStyle\":\"underline\"}},{\"name\":\"Markdown Link Title and Description\",\"scope\":[\"string.other.link.title.markdown\",\"string.other.link.description.markdown\"],\"settings\":{\"foreground\":\"#d6deeb\",\"fontStyle\":\"underline\"}},{\"name\":\"Markdown Punctuation\",\"scope\":[\"punctuation.definition.string.markdown\",\"punctuation.definition.string.begin.markdown\",\"punctuation.definition.string.end.markdown\",\"meta.link.inline.markdown punctuation.definition.string\"],\"settings\":{\"foreground\":\"#82b1ff\"}},{\"name\":\"Markdown MetaData Punctuation\",\"scope\":[\"punctuation.definition.metadata.markdown\"],\"settings\":{\"foreground\":\"#7fdbca\"}},{\"name\":\"Markdown List Punctuation\",\"scope\":[\"beginning.punctuation.definition.list.markdown\"],\"settings\":{\"foreground\":\"#82b1ff\"}},{\"name\":\"Markdown Inline Raw String\",\"scope\":[\"markup.inline.raw.string.markdown\"],\"settings\":{\"foreground\":\"#c5e478\"}},{\"name\":\"PHP Variables\",\"scope\":[\"variable.other.php\"],\"settings\":{\"foreground\":\"#bec5d4\"}},{\"name\":\"Support Classes in PHP\",\"scope\":[\"support.class.php\"],\"settings\":{\"foreground\":\"#ffcb8b\"}},{\"name\":\"Punctuations in PHP function calls\",\"scope\":[\"meta.function-call.php punctuation\"],\"settings\":{\"foreground\":\"#d6deeb\"}},{\"name\":\"PHP Global Variables\",\"scope\":[\"variable.other.global.php\"],\"settings\":{\"foreground\":\"#c5e478\"}},{\"name\":\"Declaration Punctuation in PHP Global Variables\",\"scope\":[\"variable.other.global.php punctuation.definition.variable\"],\"settings\":{\"foreground\":\"#c5e478\"}},{\"name\":\"Language Constants in Python\",\"scope\":[\"constant.language.python\"],\"settings\":{\"foreground\":\"#ff6a83\"}},{\"name\":\"Python Function Parameter and Arguments\",\"scope\":[\"variable.parameter.function.python\",\"meta.function-call.arguments.python\"],\"settings\":{\"foreground\":\"#82aaff\"}},{\"name\":\"Python Function Call\",\"scope\":[\"meta.function-call.python\",\"meta.function-call.generic.python\"],\"settings\":{\"foreground\":\"#b2ccd6\"}},{\"name\":\"Punctuations in Python\",\"scope\":[\"punctuation.python\"],\"settings\":{\"foreground\":\"#d6deeb\"}},{\"name\":\"Decorator Functions in Python\",\"scope\":[\"entity.name.function.decorator.python\"],\"settings\":{\"foreground\":\"#c5e478\"}},{\"name\":\"Python Language Variable\",\"scope\":[\"source.python variable.language.special\"],\"settings\":{\"foreground\":\"#8eace3\"}},{\"name\":\"Python import control keyword\",\"scope\":[\"keyword.control\"],\"settings\":{\"foreground\":\"#c792ea\"}},{\"name\":\"SCSS Variable\",\"scope\":[\"variable.scss\",\"variable.sass\",\"variable.parameter.url.scss\",\"variable.parameter.url.sass\"],\"settings\":{\"foreground\":\"#c5e478\"}},{\"name\":\"Variables in SASS At-Rules\",\"scope\":[\"source.css.scss meta.at-rule variable\",\"source.css.sass meta.at-rule variable\"],\"settings\":{\"foreground\":\"#82aaff\"}},{\"name\":\"Variables in SASS At-Rules\",\"scope\":[\"source.css.scss meta.at-rule variable\",\"source.css.sass meta.at-rule variable\"],\"settings\":{\"foreground\":\"#bec5d4\"}},{\"name\":\"Attribute Name for SASS\",\"scope\":[\"meta.attribute-selector.scss entity.other.attribute-name.attribute\",\"meta.attribute-selector.sass entity.other.attribute-name.attribute\"],\"settings\":{\"foreground\":\"#f78c6c\"}},{\"name\":\"Tag names in SASS\",\"scope\":[\"entity.name.tag.scss\",\"entity.name.tag.sass\"],\"settings\":{\"foreground\":\"#7fdbca\"}},{\"name\":\"SASS Keyword Other Unit\",\"scope\":[\"keyword.other.unit.scss\",\"keyword.other.unit.sass\"],\"settings\":{\"foreground\":\"#ffeb95\"}},{\"name\":\"TypeScript[React] Variables and Object Properties\",\"scope\":[\"variable.other.readwrite.alias.ts\",\"variable.other.readwrite.alias.tsx\",\"variable.other.readwrite.ts\",\"variable.other.readwrite.tsx\",\"variable.other.object.ts\",\"variable.other.object.tsx\",\"variable.object.property.ts\",\"variable.object.property.tsx\",\"variable.other.ts\",\"variable.other.tsx\",\"variable.tsx\",\"variable.ts\"],\"settings\":{\"foreground\":\"#d6deeb\"}},{\"name\":\"TypeScript[React] Entity Name Types\",\"scope\":[\"entity.name.type.ts\",\"entity.name.type.tsx\"],\"settings\":{\"foreground\":\"#ffcb8b\"}},{\"name\":\"TypeScript[React] Node Classes\",\"scope\":[\"support.class.node.ts\",\"support.class.node.tsx\"],\"settings\":{\"foreground\":\"#82aaff\"}},{\"name\":\"TypeScript[React] Entity Name Types as Parameters\",\"scope\":[\"meta.type.parameters.ts entity.name.type\",\"meta.type.parameters.tsx entity.name.type\"],\"settings\":{\"foreground\":\"#889fb2\"}},{\"name\":\"TypeScript[React] Import/Export Punctuations\",\"scope\":[\"meta.import.ts punctuation.definition.block\",\"meta.import.tsx punctuation.definition.block\",\"meta.export.ts punctuation.definition.block\",\"meta.export.tsx punctuation.definition.block\"],\"settings\":{\"foreground\":\"#d6deeb\"}},{\"name\":\"TypeScript[React] Punctuation Decorators\",\"scope\":[\"meta.decorator punctuation.decorator.ts\",\"meta.decorator punctuation.decorator.tsx\"],\"settings\":{\"foreground\":\"#82aaff\"}},{\"name\":\"TypeScript[React] Punctuation Decorators\",\"scope\":[\"meta.tag.js meta.jsx.children.tsx\"],\"settings\":{\"foreground\":\"#82aaff\"}},{\"name\":\"YAML Entity Name Tags\",\"scope\":[\"entity.name.tag.yaml\"],\"settings\":{\"foreground\":\"#7fdbca\"}},{\"name\":\"JavaScript Variable Other ReadWrite\",\"scope\":[\"variable.other.readwrite.js\",\"variable.parameter\"],\"settings\":{\"foreground\":\"#d7dbe0\"}},{\"name\":\"Support Class Component\",\"scope\":[\"support.class.component.js\",\"support.class.component.tsx\"],\"settings\":{\"foreground\":\"#f78c6c\",\"fontStyle\":\"\"}},{\"name\":\"Text nested in React tags\",\"scope\":[\"meta.jsx.children\",\"meta.jsx.children.js\",\"meta.jsx.children.tsx\"],\"settings\":{\"foreground\":\"#d6deeb\"}},{\"name\":\"TypeScript Classes\",\"scope\":[\"meta.class entity.name.type.class.tsx\"],\"settings\":{\"foreground\":\"#ffcb8b\"}},{\"name\":\"TypeScript Entity Name Type\",\"scope\":[\"entity.name.type.tsx\",\"entity.name.type.module.tsx\"],\"settings\":{\"foreground\":\"#ffcb8b\"}},{\"name\":\"TypeScript Class Variable Keyword\",\"scope\":[\"meta.class.ts meta.var.expr.ts storage.type.ts\",\"meta.class.tsx meta.var.expr.tsx storage.type.tsx\"],\"settings\":{\"foreground\":\"#c792ea\"}},{\"name\":\"TypeScript Method Declaration e.g. `constructor`\",\"scope\":[\"meta.method.declaration storage.type.ts\",\"meta.method.declaration storage.type.tsx\"],\"settings\":{\"foreground\":\"#82aaff\"}},{\"name\":\"normalize font style of certain components\",\"scope\":[\"meta.property-list.css meta.property-value.css variable.other.less\",\"meta.property-list.scss variable.scss\",\"meta.property-list.sass variable.sass\",\"meta.brace\",\"keyword.operator.operator\",\"keyword.operator.or.regexp\",\"keyword.operator.expression.in\",\"keyword.operator.relational\",\"keyword.operator.assignment\",\"keyword.operator.comparison\",\"keyword.operator.type\",\"keyword.operator\",\"keyword\",\"punctuation.definintion.string\",\"punctuation\",\"variable.other.readwrite.js\",\"storage.type\",\"source.css\",\"string.quoted\"],\"settings\":{\"fontStyle\":\"\"}}],\"styleOverrides\":{\"frames\":{\"editorBackground\":\"var(--sl-color-gray-6)\",\"terminalBackground\":\"var(--sl-color-gray-6)\",\"editorActiveTabBackground\":\"var(--sl-color-gray-6)\",\"terminalTitlebarDotsForeground\":\"color-mix(in srgb, var(--sl-color-gray-5), transparent 25%)\",\"terminalTitlebarDotsOpacity\":\"0.75\",\"inlineButtonForeground\":\"var(--sl-color-text)\",\"frameBoxShadowCssValue\":\"none\"},\"textMarkers\":{\"markBackground\":\"#ffffff17\",\"markBorderColor\":\"#ffffff40\"}}},{\"name\":\"Night Owl Light\",\"type\":\"light\",\"colors\":{\"focusBorder\":\"#93a1a1\",\"foreground\":\"#403f53\",\"disabledForeground\":\"#61616180\",\"descriptionForeground\":\"#403f53\",\"errorForeground\":\"#403f53\",\"icon.foreground\":\"#424242\",\"contrastActiveBorder\":null,\"contrastBorder\":null,\"textBlockQuote.background\":\"#7f7f7f1a\",\"textBlockQuote.border\":\"#007acc80\",\"textCodeBlock.background\":\"#dcdcdc66\",\"textLink.activeForeground\":\"#006ab1\",\"textLink.foreground\":\"#006ab1\",\"textPreformat.foreground\":\"#a31515\",\"textSeparator.foreground\":\"#0000002e\",\"editor.background\":\"#f6f7f9\",\"editor.foreground\":\"#403f53\",\"editorLineNumber.foreground\":\"#90a7b2\",\"editorLineNumber.activeForeground\":\"#403f53\",\"editorActiveLineNumber.foreground\":\"#0b216f\",\"editor.selectionBackground\":\"#e0e0e0\",\"editor.inactiveSelectionBackground\":\"#e0e0e080\",\"editor.selectionHighlightBackground\":\"#339cec33\",\"editorError.foreground\":\"#e64d49\",\"editorWarning.foreground\":\"#daaa01\",\"editorInfo.foreground\":\"#1a85ff\",\"editorHint.foreground\":\"#6c6c6c\",\"problemsErrorIcon.foreground\":\"#e64d49\",\"problemsWarningIcon.foreground\":\"#daaa01\",\"problemsInfoIcon.foreground\":\"#1a85ff\",\"editor.findMatchBackground\":\"#93a1a16c\",\"editor.findMatchHighlightBackground\":\"#93a1a16c\",\"editor.findRangeHighlightBackground\":\"#7497a633\",\"editorLink.activeForeground\":\"#0000ff\",\"editorLightBulb.foreground\":\"#ddb100\",\"editorLightBulbAutoFix.foreground\":\"#007acc\",\"diffEditor.insertedTextBackground\":\"#9ccc2c40\",\"diffEditor.insertedTextBorder\":null,\"diffEditor.removedTextBackground\":\"#ff000033\",\"diffEditor.removedTextBorder\":null,\"diffEditor.insertedLineBackground\":\"#9bb95533\",\"diffEditor.removedLineBackground\":\"#ff000033\",\"editorStickyScroll.background\":\"#fbfbfb\",\"editorStickyScrollHover.background\":\"#f0f0f0\",\"editorInlayHint.background\":\"#2aa29899\",\"editorInlayHint.foreground\":\"#f0f0f0\",\"editorInlayHint.typeBackground\":\"#2aa29899\",\"editorInlayHint.typeForeground\":\"#f0f0f0\",\"editorInlayHint.parameterBackground\":\"#2aa29899\",\"editorInlayHint.parameterForeground\":\"#f0f0f0\",\"editorPane.background\":\"#fbfbfb\",\"editorGroup.emptyBackground\":null,\"editorGroup.focusedEmptyBorder\":null,\"editorGroupHeader.tabsBackground\":\"var(--sl-color-gray-6)\",\"editorGroupHeader.tabsBorder\":\"color-mix(in srgb, var(--sl-color-gray-5), transparent 25%)\",\"editorGroupHeader.noTabsBackground\":\"#f0f0f0\",\"editorGroupHeader.border\":null,\"editorGroup.border\":\"#f0f0f0\",\"editorGroup.dropBackground\":\"#2677cb2d\",\"editorGroup.dropIntoPromptForeground\":\"#403f53\",\"editorGroup.dropIntoPromptBackground\":\"#f0f0f0\",\"editorGroup.dropIntoPromptBorder\":null,\"sideBySideEditor.horizontalBorder\":\"#f0f0f0\",\"sideBySideEditor.verticalBorder\":\"#f0f0f0\",\"scrollbar.shadow\":\"#cccccc\",\"scrollbarSlider.background\":\"#0000001a\",\"scrollbarSlider.hoverBackground\":\"#00000055\",\"scrollbarSlider.activeBackground\":\"#00000099\",\"panel.background\":\"#f0f0f0\",\"panel.border\":\"#d9d9d9\",\"panelTitle.activeBorder\":\"#424242\",\"panelTitle.activeForeground\":\"#424242\",\"panelTitle.inactiveForeground\":\"#424242bf\",\"panelSectionHeader.background\":\"#80808051\",\"terminal.background\":\"#f6f6f6\",\"widget.shadow\":\"#d9d9d9\",\"editorWidget.background\":\"#f0f0f0\",\"editorWidget.foreground\":\"#403f53\",\"editorWidget.border\":\"#d9d9d9\",\"quickInput.background\":\"#f0f0f0\",\"quickInput.foreground\":\"#403f53\",\"quickInputTitle.background\":\"#0000000f\",\"pickerGroup.foreground\":\"#403f53\",\"pickerGroup.border\":\"#d9d9d9\",\"editor.hoverHighlightBackground\":\"#339cec33\",\"editorHoverWidget.background\":\"#f0f0f0\",\"editorHoverWidget.foreground\":\"#403f53\",\"editorHoverWidget.border\":\"#d9d9d9\",\"editorHoverWidget.statusBarBackground\":\"#e4e4e4\",\"titleBar.activeBackground\":\"var(--sl-color-gray-6)\",\"titleBar.activeForeground\":\"var(--sl-color-text)\",\"titleBar.inactiveBackground\":\"#f0f0f099\",\"titleBar.inactiveForeground\":\"#33333399\",\"titleBar.border\":\"color-mix(in srgb, var(--sl-color-gray-5), transparent 25%)\",\"toolbar.hoverBackground\":\"#b8b8b850\",\"toolbar.activeBackground\":\"#a6a6a650\",\"tab.activeBackground\":\"#f6f6f6\",\"tab.unfocusedActiveBackground\":\"#f6f6f6\",\"tab.inactiveBackground\":\"#f0f0f0\",\"tab.unfocusedInactiveBackground\":\"#f0f0f0\",\"tab.activeForeground\":\"var(--sl-color-text)\",\"tab.inactiveForeground\":\"#403f53\",\"tab.unfocusedActiveForeground\":\"#403f53b3\",\"tab.unfocusedInactiveForeground\":\"#403f5380\",\"tab.hoverBackground\":null,\"tab.unfocusedHoverBackground\":null,\"tab.hoverForeground\":null,\"tab.unfocusedHoverForeground\":null,\"tab.border\":\"#f0f0f0\",\"tab.lastPinnedBorder\":\"#a9a9a9\",\"tab.activeBorder\":\"transparent\",\"tab.unfocusedActiveBorder\":null,\"tab.activeBorderTop\":\"var(--sl-color-accent)\",\"tab.unfocusedActiveBorderTop\":null,\"tab.hoverBorder\":null,\"tab.unfocusedHoverBorder\":null,\"tab.activeModifiedBorder\":\"#2aa298\",\"tab.inactiveModifiedBorder\":\"#93a1a1\",\"tab.unfocusedActiveModifiedBorder\":\"#93a1a1\",\"tab.unfocusedInactiveModifiedBorder\":\"#93a1a1\",\"badge.background\":\"#2aa298\",\"badge.foreground\":\"#f0f0f0\",\"button.background\":\"#2aa298\",\"button.foreground\":\"#f0f0f0\",\"button.border\":null,\"button.separator\":\"#f0f0f066\",\"button.hoverBackground\":\"#22827a\",\"button.secondaryBackground\":\"#5f6a79\",\"button.secondaryForeground\":\"#ffffff\",\"button.secondaryHoverBackground\":\"#4c5561\",\"dropdown.background\":\"#f0f0f0\",\"dropdown.foreground\":\"#403f53\",\"dropdown.border\":\"#d9d9d9\",\"list.activeSelectionBackground\":\"#d3e8f8\",\"list.activeSelectionForeground\":\"#403f53\",\"tree.indentGuidesStroke\":\"#a9a9a9\",\"input.background\":\"#f0f0f0\",\"input.foreground\":\"#403f53\",\"input.placeholderForeground\":\"#93a1a1\",\"inputOption.activeBorder\":\"#2aa298\",\"inputOption.hoverBackground\":\"#b8b8b850\",\"inputOption.activeBackground\":\"#93a1a133\",\"inputOption.activeForeground\":\"#000000\",\"inputValidation.infoBackground\":\"#f0f0f0\",\"inputValidation.infoBorder\":\"#d0d0d0\",\"inputValidation.warningBackground\":\"#daaa01\",\"inputValidation.warningBorder\":\"#e0af02\",\"inputValidation.errorBackground\":\"#f76e6e\",\"inputValidation.errorBorder\":\"#de3d3b\",\"keybindingLabel.background\":\"#dddddd66\",\"keybindingLabel.foreground\":\"#555555\",\"keybindingLabel.border\":\"#cccccc66\",\"keybindingLabel.bottomBorder\":\"#bbbbbb66\",\"menu.foreground\":\"#403f53\",\"menu.background\":\"#f0f0f0\",\"menu.selectionForeground\":\"#403f53\",\"menu.selectionBackground\":\"#d3e8f8\",\"menu.separatorBackground\":\"#d4d4d4\",\"editor.snippetTabstopHighlightBackground\":\"#0a326433\",\"editor.snippetFinalTabstopHighlightBorder\":\"#0a326480\",\"terminal.ansiBlack\":\"#403f53\",\"terminal.ansiRed\":\"#de3d3b\",\"terminal.ansiGreen\":\"#08916a\",\"terminal.ansiYellow\":\"#e0af02\",\"terminal.ansiBlue\":\"#288ed7\",\"terminal.ansiMagenta\":\"#d6438a\",\"terminal.ansiCyan\":\"#2aa298\",\"terminal.ansiWhite\":\"#f0f0f0\",\"terminal.ansiBrightBlack\":\"#403f53\",\"terminal.ansiBrightRed\":\"#de3d3b\",\"terminal.ansiBrightGreen\":\"#08916a\",\"terminal.ansiBrightYellow\":\"#daaa01\",\"terminal.ansiBrightBlue\":\"#288ed7\",\"terminal.ansiBrightMagenta\":\"#d6438a\",\"terminal.ansiBrightCyan\":\"#2aa298\",\"terminal.ansiBrightWhite\":\"#f0f0f0\",\"selection.background\":\"#7a8181ad\",\"notifications.background\":\"#f0f0f0\",\"notifications.foreground\":\"#403f53\",\"notificationLink.foreground\":\"#994cc3\",\"notifications.border\":\"#cccccc\",\"notificationCenter.border\":\"#cccccc\",\"notificationToast.border\":\"#cccccc\",\"notificationCenterHeader.foreground\":\"#403f53\",\"notificationCenterHeader.background\":\"#f0f0f0\",\"input.border\":\"#d9d9d9\",\"progressBar.background\":\"#2aa298\",\"list.inactiveSelectionBackground\":\"#e0e7ea\",\"list.inactiveSelectionForeground\":\"#403f53\",\"list.focusBackground\":\"#d3e8f8\",\"list.hoverBackground\":\"#d3e8f8\",\"list.focusForeground\":\"#403f53\",\"list.hoverForeground\":\"#403f53\",\"list.highlightForeground\":\"#403f53\",\"list.errorForeground\":\"#e64d49\",\"list.warningForeground\":\"#daaa01\",\"activityBar.background\":\"#f0f0f0\",\"activityBar.foreground\":\"#403f53\",\"activityBar.dropBackground\":\"#d0d0d0\",\"activityBarBadge.background\":\"#403f53\",\"activityBarBadge.foreground\":\"#f0f0f0\",\"activityBar.border\":\"#f0f0f0\",\"sideBar.background\":\"#f0f0f0\",\"sideBar.foreground\":\"#403f53\",\"sideBarTitle.foreground\":\"#403f53\",\"sideBar.border\":\"#f0f0f0\",\"editorGroup.background\":\"#f6f6f6\",\"editorCursor.foreground\":\"#90a7b2\",\"editor.wordHighlightBackground\":\"#339cec33\",\"editor.wordHighlightStrongBackground\":\"#007dd659\",\"editor.lineHighlightBackground\":\"#f0f0f0\",\"editor.rangeHighlightBackground\":\"#7497a633\",\"editorWhitespace.foreground\":\"#d9d9d9\",\"editorIndentGuide.background\":\"#d9d9d9\",\"editorCodeLens.foreground\":\"#403f53\",\"editorBracketMatch.background\":\"#d3e8f8\",\"editorBracketMatch.border\":\"#2aa298\",\"editorError.border\":\"#fbfbfb\",\"editorWarning.border\":\"#daaa01\",\"editorGutter.addedBackground\":\"#49d0c5\",\"editorGutter.modifiedBackground\":\"#6fbef6\",\"editorGutter.deletedBackground\":\"#f76e6e\",\"editorRuler.foreground\":\"#d9d9d9\",\"editorOverviewRuler.errorForeground\":\"#e64d49\",\"editorOverviewRuler.warningForeground\":\"#daaa01\",\"editorSuggestWidget.background\":\"#f0f0f0\",\"editorSuggestWidget.foreground\":\"#403f53\",\"editorSuggestWidget.highlightForeground\":\"#403f53\",\"editorSuggestWidget.selectedBackground\":\"#d3e8f8\",\"editorSuggestWidget.border\":\"#d9d9d9\",\"debugExceptionWidget.background\":\"#f0f0f0\",\"debugExceptionWidget.border\":\"#d9d9d9\",\"editorMarkerNavigation.background\":\"#d0d0d0\",\"editorMarkerNavigationError.background\":\"#f76e6e\",\"editorMarkerNavigationWarning.background\":\"#daaa01\",\"debugToolBar.background\":\"#f0f0f0\",\"extensionButton.prominentBackground\":\"#2aa298\",\"extensionButton.prominentForeground\":\"#f0f0f0\",\"statusBar.background\":\"#f0f0f0\",\"statusBar.border\":\"#f0f0f0\",\"statusBar.debuggingBackground\":\"#f0f0f0\",\"statusBar.debuggingForeground\":\"#403f53\",\"statusBar.foreground\":\"#403f53\",\"statusBar.noFolderBackground\":\"#f0f0f0\",\"statusBar.noFolderForeground\":\"#403f53\",\"peekView.border\":\"#d9d9d9\",\"peekViewEditor.background\":\"#f6f6f6\",\"peekViewEditorGutter.background\":\"#f6f6f6\",\"peekViewEditor.matchHighlightBackground\":\"#49d0c5\",\"peekViewResult.background\":\"#f0f0f0\",\"peekViewResult.fileForeground\":\"#403f53\",\"peekViewResult.lineForeground\":\"#403f53\",\"peekViewResult.matchHighlightBackground\":\"#49d0c5\",\"peekViewResult.selectionBackground\":\"#e0e7ea\",\"peekViewResult.selectionForeground\":\"#403f53\",\"peekViewTitle.background\":\"#f0f0f0\",\"peekViewTitleLabel.foreground\":\"#403f53\",\"peekViewTitleDescription.foreground\":\"#403f53\",\"terminal.foreground\":\"#403f53\"},\"fg\":\"#403f53\",\"bg\":\"#f6f7f9\",\"semanticHighlighting\":false,\"settings\":[{\"name\":\"Changed\",\"scope\":[\"markup.changed\",\"meta.diff.header.git\",\"meta.diff.header.from-file\",\"meta.diff.header.to-file\"],\"settings\":{\"foreground\":\"#556484\"}},{\"name\":\"Deleted\",\"scope\":[\"markup.deleted.diff\"],\"settings\":{\"foreground\":\"#ae3c3afd\"}},{\"name\":\"Inserted\",\"scope\":[\"markup.inserted.diff\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Global settings\",\"settings\":{\"background\":\"#011627\",\"foreground\":\"#403f53\"}},{\"name\":\"Comment\",\"scope\":[\"comment\"],\"settings\":{\"foreground\":\"#5f636f\"}},{\"name\":\"String\",\"scope\":[\"string\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"String Quoted\",\"scope\":[\"string.quoted\",\"variable.other.readwrite.js\"],\"settings\":{\"foreground\":\"#984e4d\"}},{\"name\":\"Support Constant Math\",\"scope\":[\"support.constant.math\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Number\",\"scope\":[\"constant.numeric\",\"constant.character.numeric\"],\"settings\":{\"foreground\":\"#aa0982\",\"fontStyle\":\"\"}},{\"name\":\"Built-in constant\",\"scope\":[\"constant.language\",\"punctuation.definition.constant\",\"variable.other.constant\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"User-defined constant\",\"scope\":[\"constant.character\",\"constant.other\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Constant Character Escape\",\"scope\":[\"constant.character.escape\"],\"settings\":{\"foreground\":\"#aa0982\"}},{\"name\":\"RegExp String\",\"scope\":[\"string.regexp\",\"string.regexp keyword.other\"],\"settings\":{\"foreground\":\"#3a688f\"}},{\"name\":\"Comma in functions\",\"scope\":[\"meta.function punctuation.separator.comma\"],\"settings\":{\"foreground\":\"#4d667b\"}},{\"name\":\"Variable\",\"scope\":[\"variable\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Keyword\",\"scope\":[\"punctuation.accessor\",\"keyword\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"Storage\",\"scope\":[\"storage\",\"meta.var.expr\",\"meta.class meta.method.declaration meta.var.expr storage.type.js\",\"storage.type.property.js\",\"storage.type.property.ts\",\"storage.type.property.tsx\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"Storage type\",\"scope\":[\"storage.type\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"Storage type\",\"scope\":[\"storage.type.function.arrow.js\"],\"settings\":{\"fontStyle\":\"\"}},{\"name\":\"Class name\",\"scope\":[\"entity.name.class\",\"meta.class entity.name.type.class\"],\"settings\":{\"foreground\":\"#111111\"}},{\"name\":\"Inherited class\",\"scope\":[\"entity.other.inherited-class\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Function name\",\"scope\":[\"entity.name.function\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"Meta Tag\",\"scope\":[\"punctuation.definition.tag\",\"meta.tag\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"HTML Tag names\",\"scope\":[\"entity.name.tag\",\"meta.tag.other.html\",\"meta.tag.other.js\",\"meta.tag.other.tsx\",\"entity.name.tag.tsx\",\"entity.name.tag.js\",\"entity.name.tag\",\"meta.tag.js\",\"meta.tag.tsx\",\"meta.tag.html\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"Tag attribute\",\"scope\":[\"entity.other.attribute-name\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Entity Name Tag Custom\",\"scope\":[\"entity.name.tag.custom\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Library (function & constant)\",\"scope\":[\"support.function\",\"support.constant\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Support Constant Property Value meta\",\"scope\":[\"support.constant.meta.property-value\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"Library class/type\",\"scope\":[\"support.type\",\"support.class\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Support Variable DOM\",\"scope\":[\"support.variable.dom\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Invalid\",\"scope\":[\"invalid\"],\"settings\":{\"foreground\":\"#bb2060\"}},{\"name\":\"Invalid deprecated\",\"scope\":[\"invalid.deprecated\"],\"settings\":{\"foreground\":\"#b23834\"}},{\"name\":\"Keyword Operator\",\"scope\":[\"keyword.operator\"],\"settings\":{\"foreground\":\"#096e72\",\"fontStyle\":\"\"}},{\"name\":\"Keyword Operator Relational\",\"scope\":[\"keyword.operator.relational\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"Keyword Operator Assignment\",\"scope\":[\"keyword.operator.assignment\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"Keyword Operator Arithmetic\",\"scope\":[\"keyword.operator.arithmetic\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"Keyword Operator Bitwise\",\"scope\":[\"keyword.operator.bitwise\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"Keyword Operator Increment\",\"scope\":[\"keyword.operator.increment\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"Keyword Operator Ternary\",\"scope\":[\"keyword.operator.ternary\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"Double-Slashed Comment\",\"scope\":[\"comment.line.double-slash\"],\"settings\":{\"foreground\":\"#5d6376\"}},{\"name\":\"Object\",\"scope\":[\"object\"],\"settings\":{\"foreground\":\"#58656a\"}},{\"name\":\"Null\",\"scope\":[\"constant.language.null\"],\"settings\":{\"foreground\":\"#a24848\"}},{\"name\":\"Meta Brace\",\"scope\":[\"meta.brace\"],\"settings\":{\"foreground\":\"#403f53\"}},{\"name\":\"Meta Delimiter Period\",\"scope\":[\"meta.delimiter.period\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"Punctuation Definition String\",\"scope\":[\"punctuation.definition.string\"],\"settings\":{\"foreground\":\"#111111\"}},{\"name\":\"Punctuation Definition String Markdown\",\"scope\":[\"punctuation.definition.string.begin.markdown\"],\"settings\":{\"foreground\":\"#a24848\"}},{\"name\":\"Boolean\",\"scope\":[\"constant.language.boolean\"],\"settings\":{\"foreground\":\"#a24848\"}},{\"name\":\"Object Comma\",\"scope\":[\"object.comma\"],\"settings\":{\"foreground\":\"#646464\"}},{\"name\":\"Variable Parameter Function\",\"scope\":[\"variable.parameter.function\"],\"settings\":{\"foreground\":\"#096e72\",\"fontStyle\":\"\"}},{\"name\":\"Support Type Property Name & entity name tags\",\"scope\":[\"support.type.vendor.property-name\",\"support.constant.vendor.property-value\",\"support.type.property-name\",\"meta.property-list entity.name.tag\"],\"settings\":{\"foreground\":\"#096e72\",\"fontStyle\":\"\"}},{\"name\":\"Entity Name tag reference in stylesheets\",\"scope\":[\"meta.property-list entity.name.tag.reference\"],\"settings\":{\"foreground\":\"#286d70\"}},{\"name\":\"Constant Other Color RGB Value Punctuation Definition Constant\",\"scope\":[\"constant.other.color.rgb-value punctuation.definition.constant\"],\"settings\":{\"foreground\":\"#aa0982\"}},{\"name\":\"Constant Other Color\",\"scope\":[\"constant.other.color\"],\"settings\":{\"foreground\":\"#aa0982\"}},{\"name\":\"Keyword Other Unit\",\"scope\":[\"keyword.other.unit\"],\"settings\":{\"foreground\":\"#aa0982\"}},{\"name\":\"Meta Selector\",\"scope\":[\"meta.selector\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"Entity Other Attribute Name Id\",\"scope\":[\"entity.other.attribute-name.id\"],\"settings\":{\"foreground\":\"#aa0982\"}},{\"name\":\"Meta Property Name\",\"scope\":[\"meta.property-name\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"Doctypes\",\"scope\":[\"entity.name.tag.doctype\",\"meta.tag.sgml.doctype\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"Punctuation Definition Parameters\",\"scope\":[\"punctuation.definition.parameters\"],\"settings\":{\"foreground\":\"#111111\"}},{\"name\":\"Keyword Control Operator\",\"scope\":[\"keyword.control.operator\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"Keyword Operator Logical\",\"scope\":[\"keyword.operator.logical\"],\"settings\":{\"foreground\":\"#8844ae\",\"fontStyle\":\"\"}},{\"name\":\"Variable Instances\",\"scope\":[\"variable.instance\",\"variable.other.instance\",\"variable.readwrite.instance\",\"variable.other.readwrite.instance\",\"variable.other.property\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"Variable Property Other object property\",\"scope\":[\"variable.other.object.property\"],\"settings\":{\"foreground\":\"#111111\"}},{\"name\":\"Variable Property Other object\",\"scope\":[\"variable.other.object.js\"],\"settings\":{\"fontStyle\":\"\"}},{\"name\":\"Entity Name Function\",\"scope\":[\"entity.name.function\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Keyword Operator Comparison, imports, returns and Keyword Operator Ruby\",\"scope\":[\"keyword.operator.comparison\",\"keyword.control.flow.js\",\"keyword.control.flow.ts\",\"keyword.control.flow.tsx\",\"keyword.control.ruby\",\"keyword.control.module.ruby\",\"keyword.control.class.ruby\",\"keyword.control.def.ruby\",\"keyword.control.loop.js\",\"keyword.control.loop.ts\",\"keyword.control.import.js\",\"keyword.control.import.ts\",\"keyword.control.import.tsx\",\"keyword.control.from.js\",\"keyword.control.from.ts\",\"keyword.control.from.tsx\",\"keyword.operator.instanceof.js\",\"keyword.operator.expression.instanceof.ts\",\"keyword.operator.expression.instanceof.tsx\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"Keyword Control Conditional\",\"scope\":[\"keyword.control.conditional.js\",\"keyword.control.conditional.ts\",\"keyword.control.switch.js\",\"keyword.control.switch.ts\"],\"settings\":{\"foreground\":\"#8844ae\",\"fontStyle\":\"\"}},{\"name\":\"Support Constant, `new` keyword, Special Method Keyword, `debugger`, other keywords\",\"scope\":[\"support.constant\",\"keyword.other.special-method\",\"keyword.other.new\",\"keyword.other.debugger\",\"keyword.control\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"Support Function\",\"scope\":[\"support.function\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Invalid Broken\",\"scope\":[\"invalid.broken\"],\"settings\":{\"foreground\":\"#aa0982\"}},{\"name\":\"Invalid Unimplemented\",\"scope\":[\"invalid.unimplemented\"],\"settings\":{\"foreground\":\"#486e26\"}},{\"name\":\"Invalid Illegal\",\"scope\":[\"invalid.illegal\"],\"settings\":{\"foreground\":\"#984e4d\"}},{\"name\":\"Language Variable\",\"scope\":[\"variable.language\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"Support Variable Property\",\"scope\":[\"support.variable.property\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"Variable Function\",\"scope\":[\"variable.function\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Variable Interpolation\",\"scope\":[\"variable.interpolation\"],\"settings\":{\"foreground\":\"#a64348\"}},{\"name\":\"Meta Function Call\",\"scope\":[\"meta.function-call\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Punctuation Section Embedded\",\"scope\":[\"punctuation.section.embedded\"],\"settings\":{\"foreground\":\"#b23834\"}},{\"name\":\"Punctuation Tweaks\",\"scope\":[\"punctuation.terminator.expression\",\"punctuation.definition.arguments\",\"punctuation.definition.array\",\"punctuation.section.array\",\"meta.array\"],\"settings\":{\"foreground\":\"#403f53\"}},{\"name\":\"More Punctuation Tweaks\",\"scope\":[\"punctuation.definition.list.begin\",\"punctuation.definition.list.end\",\"punctuation.separator.arguments\",\"punctuation.definition.list\"],\"settings\":{\"foreground\":\"#111111\"}},{\"name\":\"Template Strings\",\"scope\":[\"string.template meta.template.expression\"],\"settings\":{\"foreground\":\"#b23834\"}},{\"name\":\"Backtics(``) in Template Strings\",\"scope\":[\"string.template punctuation.definition.string\"],\"settings\":{\"foreground\":\"#403f53\"}},{\"name\":\"Italics\",\"scope\":[\"italic\"],\"settings\":{\"foreground\":\"#8844ae\",\"fontStyle\":\"italic\"}},{\"name\":\"Bold\",\"scope\":[\"bold\"],\"settings\":{\"foreground\":\"#3b61b0\",\"fontStyle\":\"bold\"}},{\"name\":\"Quote\",\"scope\":[\"quote\"],\"settings\":{\"foreground\":\"#5c6285\"}},{\"name\":\"Raw Code\",\"scope\":[\"raw\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"CoffeScript Variable Assignment\",\"scope\":[\"variable.assignment.coffee\"],\"settings\":{\"foreground\":\"#186e73\"}},{\"name\":\"CoffeScript Parameter Function\",\"scope\":[\"variable.parameter.function.coffee\"],\"settings\":{\"foreground\":\"#403f53\"}},{\"name\":\"CoffeeScript Assignments\",\"scope\":[\"variable.assignment.coffee\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"C# Readwrite Variables\",\"scope\":[\"variable.other.readwrite.cs\"],\"settings\":{\"foreground\":\"#403f53\"}},{\"name\":\"C# Classes & Storage types\",\"scope\":[\"entity.name.type.class.cs\",\"storage.type.cs\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"C# Namespaces\",\"scope\":[\"entity.name.type.namespace.cs\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"Tag names in Stylesheets\",\"scope\":[\"entity.name.tag.css\",\"entity.name.tag.less\",\"entity.name.tag.custom.css\",\"support.constant.property-value.css\"],\"settings\":{\"foreground\":\"#984e4d\",\"fontStyle\":\"\"}},{\"name\":\"Wildcard(*) selector in Stylesheets\",\"scope\":[\"entity.name.tag.wildcard.css\",\"entity.name.tag.wildcard.less\",\"entity.name.tag.wildcard.scss\",\"entity.name.tag.wildcard.sass\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"CSS Keyword Other Unit\",\"scope\":[\"keyword.other.unit.css\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Attribute Name for CSS\",\"scope\":[\"meta.attribute-selector.css entity.other.attribute-name.attribute\",\"variable.other.readwrite.js\"],\"settings\":{\"foreground\":\"#aa0982\"}},{\"name\":\"Elixir Classes\",\"scope\":[\"source.elixir support.type.elixir\",\"source.elixir meta.module.elixir entity.name.class.elixir\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Elixir Functions\",\"scope\":[\"source.elixir entity.name.function\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Elixir Constants\",\"scope\":[\"source.elixir constant.other.symbol.elixir\",\"source.elixir constant.other.keywords.elixir\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Elixir String Punctuations\",\"scope\":[\"source.elixir punctuation.definition.string\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Elixir\",\"scope\":[\"source.elixir variable.other.readwrite.module.elixir\",\"source.elixir variable.other.readwrite.module.elixir punctuation.definition.variable.elixir\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Elixir Binary Punctuations\",\"scope\":[\"source.elixir .punctuation.binary.elixir\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"Closure Constant Keyword\",\"scope\":[\"constant.keyword.clojure\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"Go Function Calls\",\"scope\":[\"source.go meta.function-call.go\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"Go Keywords\",\"scope\":[\"source.go keyword.package.go\",\"source.go keyword.import.go\",\"source.go keyword.function.go\",\"source.go keyword.type.go\",\"source.go keyword.struct.go\",\"source.go keyword.interface.go\",\"source.go keyword.const.go\",\"source.go keyword.var.go\",\"source.go keyword.map.go\",\"source.go keyword.channel.go\",\"source.go keyword.control.go\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"Go Constants e.g. nil, string format (%s, %d, etc.)\",\"scope\":[\"source.go constant.language.go\",\"source.go constant.other.placeholder.go\"],\"settings\":{\"foreground\":\"#a24848\"}},{\"name\":\"C++ Functions\",\"scope\":[\"entity.name.function.preprocessor.cpp\",\"entity.scope.name.cpp\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"C++ Meta Namespace\",\"scope\":[\"meta.namespace-block.cpp\"],\"settings\":{\"foreground\":\"#111111\"}},{\"name\":\"C++ Language Primitive Storage\",\"scope\":[\"storage.type.language.primitive.cpp\"],\"settings\":{\"foreground\":\"#a24848\"}},{\"name\":\"C++ Preprocessor Macro\",\"scope\":[\"meta.preprocessor.macro.cpp\"],\"settings\":{\"foreground\":\"#403f53\"}},{\"name\":\"C++ Variable Parameter\",\"scope\":[\"variable.parameter\"],\"settings\":{\"foreground\":\"#111111\"}},{\"name\":\"Powershell Variables\",\"scope\":[\"variable.other.readwrite.powershell\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Powershell Function\",\"scope\":[\"support.function.powershell\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"ID Attribute Name in HTML\",\"scope\":[\"entity.other.attribute-name.id.html\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"HTML Punctuation Definition Tag\",\"scope\":[\"punctuation.definition.tag.html\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"HTML Doctype\",\"scope\":[\"meta.tag.sgml.doctype.html\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"JavaScript Classes\",\"scope\":[\"meta.class entity.name.type.class.js\"],\"settings\":{\"foreground\":\"#111111\"}},{\"name\":\"JavaScript Method Declaration e.g. `constructor`\",\"scope\":[\"meta.method.declaration storage.type.js\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"JavaScript Terminator\",\"scope\":[\"terminator.js\"],\"settings\":{\"foreground\":\"#403f53\"}},{\"name\":\"JavaScript Meta Punctuation Definition\",\"scope\":[\"meta.js punctuation.definition.js\"],\"settings\":{\"foreground\":\"#403f53\"}},{\"name\":\"Entity Names in Code Documentations\",\"scope\":[\"entity.name.type.instance.jsdoc\",\"entity.name.type.instance.phpdoc\"],\"settings\":{\"foreground\":\"#4d667b\"}},{\"name\":\"Other Variables in Code Documentations\",\"scope\":[\"variable.other.jsdoc\",\"variable.other.phpdoc\"],\"settings\":{\"foreground\":\"#3e697c\"}},{\"name\":\"JavaScript module imports and exports\",\"scope\":[\"variable.other.meta.import.js\",\"meta.import.js variable.other\",\"variable.other.meta.export.js\",\"meta.export.js variable.other\"],\"settings\":{\"foreground\":\"#403f53\"}},{\"name\":\"JavaScript Variable Parameter Function\",\"scope\":[\"variable.parameter.function.js\"],\"settings\":{\"foreground\":\"#555ea2\"}},{\"name\":\"JavaScript[React] Variable Other Object\",\"scope\":[\"variable.other.object.js\",\"variable.other.object.jsx\",\"variable.object.property.js\",\"variable.object.property.jsx\"],\"settings\":{\"foreground\":\"#403f53\"}},{\"name\":\"JavaScript Variables\",\"scope\":[\"variable.js\",\"variable.other.js\"],\"settings\":{\"foreground\":\"#403f53\"}},{\"name\":\"JavaScript Entity Name Type\",\"scope\":[\"entity.name.type.js\",\"entity.name.type.module.js\"],\"settings\":{\"foreground\":\"#111111\",\"fontStyle\":\"\"}},{\"name\":\"JavaScript Support Classes\",\"scope\":[\"support.class.js\"],\"settings\":{\"foreground\":\"#403f53\"}},{\"name\":\"JSON Property Names\",\"scope\":[\"support.type.property-name.json\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"JSON Support Constants\",\"scope\":[\"support.constant.json\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"JSON Property values (string)\",\"scope\":[\"meta.structure.dictionary.value.json string.quoted.double\"],\"settings\":{\"foreground\":\"#7c5686\"}},{\"name\":\"Strings in JSON values\",\"scope\":[\"string.quoted.double.json punctuation.definition.string.json\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"Specific JSON Property values like null\",\"scope\":[\"meta.structure.dictionary.json meta.structure.dictionary.value constant.language\"],\"settings\":{\"foreground\":\"#a24848\"}},{\"name\":\"JavaScript Other Variable\",\"scope\":[\"variable.other.object.js\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"Ruby Variables\",\"scope\":[\"variable.other.ruby\"],\"settings\":{\"foreground\":\"#403f53\"}},{\"name\":\"Ruby Class\",\"scope\":[\"entity.name.type.class.ruby\"],\"settings\":{\"foreground\":\"#984e4d\"}},{\"name\":\"Ruby Hashkeys\",\"scope\":[\"constant.language.symbol.hashkey.ruby\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"Ruby Symbols\",\"scope\":[\"constant.language.symbol.ruby\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"LESS Tag names\",\"scope\":[\"entity.name.tag.less\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"LESS Keyword Other Unit\",\"scope\":[\"keyword.other.unit.css\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"Attribute Name for LESS\",\"scope\":[\"meta.attribute-selector.less entity.other.attribute-name.attribute\"],\"settings\":{\"foreground\":\"#aa0982\"}},{\"name\":\"Markdown Headings\",\"scope\":[\"markup.heading.markdown\",\"markup.heading.setext.1.markdown\",\"markup.heading.setext.2.markdown\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Markdown Italics\",\"scope\":[\"markup.italic.markdown\"],\"settings\":{\"foreground\":\"#8844ae\",\"fontStyle\":\"italic\"}},{\"name\":\"Markdown Bold\",\"scope\":[\"markup.bold.markdown\"],\"settings\":{\"foreground\":\"#3b61b0\",\"fontStyle\":\"bold\"}},{\"name\":\"Markdown Quote + others\",\"scope\":[\"markup.quote.markdown\"],\"settings\":{\"foreground\":\"#5c6285\"}},{\"name\":\"Markdown Raw Code + others\",\"scope\":[\"markup.inline.raw.markdown\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"Markdown Links\",\"scope\":[\"markup.underline.link.markdown\",\"markup.underline.link.image.markdown\"],\"settings\":{\"foreground\":\"#954f5a\",\"fontStyle\":\"underline\"}},{\"name\":\"Markdown Link Title and Description\",\"scope\":[\"string.other.link.title.markdown\",\"string.other.link.description.markdown\"],\"settings\":{\"foreground\":\"#403f53\",\"fontStyle\":\"underline\"}},{\"name\":\"Markdown Punctuation\",\"scope\":[\"punctuation.definition.string.markdown\",\"punctuation.definition.string.begin.markdown\",\"punctuation.definition.string.end.markdown\",\"meta.link.inline.markdown punctuation.definition.string\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Markdown MetaData Punctuation\",\"scope\":[\"punctuation.definition.metadata.markdown\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"Markdown List Punctuation\",\"scope\":[\"beginning.punctuation.definition.list.markdown\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Markdown Inline Raw String\",\"scope\":[\"markup.inline.raw.string.markdown\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"PHP Variables\",\"scope\":[\"variable.other.php\",\"variable.other.property.php\"],\"settings\":{\"foreground\":\"#111111\"}},{\"name\":\"Support Classes in PHP\",\"scope\":[\"support.class.php\"],\"settings\":{\"foreground\":\"#111111\"}},{\"name\":\"Punctuations in PHP function calls\",\"scope\":[\"meta.function-call.php punctuation\"],\"settings\":{\"foreground\":\"#403f53\"}},{\"name\":\"PHP Global Variables\",\"scope\":[\"variable.other.global.php\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Declaration Punctuation in PHP Global Variables\",\"scope\":[\"variable.other.global.php punctuation.definition.variable\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Language Constants in Python\",\"scope\":[\"constant.language.python\"],\"settings\":{\"foreground\":\"#a24848\"}},{\"name\":\"Python Function Parameter and Arguments\",\"scope\":[\"variable.parameter.function.python\",\"meta.function-call.arguments.python\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Python Function Call\",\"scope\":[\"meta.function-call.python\",\"meta.function-call.generic.python\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"Punctuations in Python\",\"scope\":[\"punctuation.python\"],\"settings\":{\"foreground\":\"#403f53\"}},{\"name\":\"Decorator Functions in Python\",\"scope\":[\"entity.name.function.decorator.python\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Python Language Variable\",\"scope\":[\"source.python variable.language.special\"],\"settings\":{\"foreground\":\"#aa0982\"}},{\"name\":\"Python import control keyword\",\"scope\":[\"keyword.control\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"SCSS Variable\",\"scope\":[\"variable.scss\",\"variable.sass\",\"variable.parameter.url.scss\",\"variable.parameter.url.sass\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Variables in SASS At-Rules\",\"scope\":[\"source.css.scss meta.at-rule variable\",\"source.css.sass meta.at-rule variable\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Variables in SASS At-Rules\",\"scope\":[\"source.css.scss meta.at-rule variable\",\"source.css.sass meta.at-rule variable\"],\"settings\":{\"foreground\":\"#111111\"}},{\"name\":\"Attribute Name for SASS\",\"scope\":[\"meta.attribute-selector.scss entity.other.attribute-name.attribute\",\"meta.attribute-selector.sass entity.other.attribute-name.attribute\"],\"settings\":{\"foreground\":\"#aa0982\"}},{\"name\":\"Tag names in SASS\",\"scope\":[\"entity.name.tag.scss\",\"entity.name.tag.sass\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"SASS Keyword Other Unit\",\"scope\":[\"keyword.other.unit.scss\",\"keyword.other.unit.sass\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"TypeScript[React] Variables and Object Properties\",\"scope\":[\"variable.other.readwrite.alias.ts\",\"variable.other.readwrite.alias.tsx\",\"variable.other.readwrite.ts\",\"variable.other.readwrite.tsx\",\"variable.other.object.ts\",\"variable.other.object.tsx\",\"variable.object.property.ts\",\"variable.object.property.tsx\",\"variable.other.ts\",\"variable.other.tsx\",\"variable.tsx\",\"variable.ts\"],\"settings\":{\"foreground\":\"#403f53\"}},{\"name\":\"TypeScript[React] Entity Name Types\",\"scope\":[\"entity.name.type.ts\",\"entity.name.type.tsx\"],\"settings\":{\"foreground\":\"#111111\"}},{\"name\":\"TypeScript[React] Node Classes\",\"scope\":[\"support.class.node.ts\",\"support.class.node.tsx\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"TypeScript[React] Entity Name Types as Parameters\",\"scope\":[\"meta.type.parameters.ts entity.name.type\",\"meta.type.parameters.tsx entity.name.type\"],\"settings\":{\"foreground\":\"#4d667b\"}},{\"name\":\"TypeScript[React] Import/Export Punctuations\",\"scope\":[\"meta.import.ts punctuation.definition.block\",\"meta.import.tsx punctuation.definition.block\",\"meta.export.ts punctuation.definition.block\",\"meta.export.tsx punctuation.definition.block\"],\"settings\":{\"foreground\":\"#403f53\"}},{\"name\":\"TypeScript[React] Punctuation Decorators\",\"scope\":[\"meta.decorator punctuation.decorator.ts\",\"meta.decorator punctuation.decorator.tsx\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"TypeScript[React] Punctuation Decorators\",\"scope\":[\"meta.tag.js meta.jsx.children.tsx\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"YAML Entity Name Tags\",\"scope\":[\"entity.name.tag.yaml\"],\"settings\":{\"foreground\":\"#111111\"}},{\"name\":\"JavaScript Variable Other ReadWrite\",\"scope\":[\"variable.other.readwrite.js\",\"variable.parameter\"],\"settings\":{\"foreground\":\"#403f53\"}},{\"name\":\"Support Class Component\",\"scope\":[\"support.class.component.js\",\"support.class.component.tsx\"],\"settings\":{\"foreground\":\"#aa0982\",\"fontStyle\":\"\"}},{\"name\":\"Text nested in React tags\",\"scope\":[\"meta.jsx.children\",\"meta.jsx.children.js\",\"meta.jsx.children.tsx\"],\"settings\":{\"foreground\":\"#403f53\"}},{\"name\":\"TypeScript Classes\",\"scope\":[\"meta.class entity.name.type.class.tsx\"],\"settings\":{\"foreground\":\"#111111\"}},{\"name\":\"TypeScript Entity Name Type\",\"scope\":[\"entity.name.type.tsx\",\"entity.name.type.module.tsx\"],\"settings\":{\"foreground\":\"#111111\"}},{\"name\":\"TypeScript Class Variable Keyword\",\"scope\":[\"meta.class.ts meta.var.expr.ts storage.type.ts\",\"meta.class.tsx meta.var.expr.tsx storage.type.tsx\"],\"settings\":{\"foreground\":\"#76578b\"}},{\"name\":\"TypeScript Method Declaration e.g. `constructor`\",\"scope\":[\"meta.method.declaration storage.type.ts\",\"meta.method.declaration storage.type.tsx\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"normalize font style of certain components\",\"scope\":[\"meta.property-list.css meta.property-value.css variable.other.less\",\"meta.property-list.scss variable.scss\",\"meta.property-list.sass variable.sass\",\"meta.brace\",\"keyword.operator.operator\",\"keyword.operator.or.regexp\",\"keyword.operator.expression.in\",\"keyword.operator.relational\",\"keyword.operator.assignment\",\"keyword.operator.comparison\",\"keyword.operator.type\",\"keyword.operator\",\"keyword\",\"punctuation.definintion.string\",\"punctuation\",\"variable.other.readwrite.js\",\"storage.type\",\"source.css\",\"string.quoted\"],\"settings\":{\"fontStyle\":\"\"}}],\"styleOverrides\":{\"frames\":{\"editorBackground\":\"var(--sl-color-gray-7)\",\"terminalBackground\":\"var(--sl-color-gray-7)\",\"editorActiveTabBackground\":\"var(--sl-color-gray-7)\",\"terminalTitlebarDotsForeground\":\"color-mix(in srgb, var(--sl-color-gray-5), transparent 25%)\",\"terminalTitlebarDotsOpacity\":\"0.75\",\"inlineButtonForeground\":\"var(--sl-color-text)\",\"frameBoxShadowCssValue\":\"none\"},\"textMarkers\":{\"markBackground\":\"#0000001a\",\"markBorderColor\":\"#00000055\"}}}],\"defaultLocale\":\"en\",\"cascadeLayer\":\"starlight.components\",\"styleOverrides\":{\"borderRadius\":\"0px\",\"borderWidth\":\"1px\",\"codePaddingBlock\":\"0.75rem\",\"codePaddingInline\":\"1rem\",\"codeFontFamily\":\"var(--__sl-font-mono)\",\"codeFontSize\":\"var(--sl-text-code)\",\"codeLineHeight\":\"var(--sl-line-height)\",\"uiFontFamily\":\"var(--__sl-font)\",\"textMarkers\":{\"lineDiffIndicatorMarginLeft\":\"0.25rem\",\"defaultChroma\":\"45\",\"backgroundOpacity\":\"60%\"}},\"plugins\":[{\"name\":\"Starlight Plugin\",\"hooks\":{}},{\"name\":\"astro-expressive-code\",\"hooks\":{}}]}]],\"remarkRehype\":{},\"gfm\":true,\"smartypants\":true},\"security\":{\"checkOrigin\":true,\"allowedDomains\":[],\"actionBodySizeLimit\":1048576},\"env\":{\"schema\":{},\"validateSecrets\":false},\"experimental\":{\"clientPrerender\":false,\"contentIntellisense\":false,\"headingIdCompat\":false,\"preserveScriptOrder\":false,\"liveContentCollections\":false,\"csp\":false,\"staticImportMetaEnv\":false,\"chromeDevtoolsWorkspace\":false,\"failOnPrerenderConflict\":false,\"svgo\":false},\"legacy\":{\"collections\":false},\"prefetch\":{\"prefetchAll\":true},\"i18n\":{\"defaultLocale\":\"en\",\"locales\":[{\"codes\":[\"en\"],\"path\":\"en\"},{\"codes\":[\"tr\"],\"path\":\"tr\"}],\"routing\":{\"prefixDefaultLocale\":false,\"redirectToDefaultLocale\":false,\"fallbackType\":\"redirect\"}}}","docs",["Map",11,12,52,53,86,87,125,126,152,153,173,174,206,207,251,252,290,291,317,318,353,354,386,387,461,462,488,489,521,522,554,555,611,612,644,645,667,668,700,701,724,725,744,745,795,796,833,834,868,869,900,901,936,937,974,975,1006,1007,1032,1033,1058,1059,1084,1085,1158,1159,1190,1191,1246,1247,1269,1270,1301,1302,1323,1324],"canvas-basics",{"id":11,"data":13,"body":21,"filePath":22,"digest":23,"rendered":24},{"title":14,"editUrl":15,"head":16,"template":17,"sidebar":18,"pagefind":15,"draft":19},"Canvas Basics",true,[],"doc",{"hidden":19,"attrs":20},false,{},"The FlowMind canvas is an infinite, interactive workspace. Here's how to navigate and manipulate it effectively.\n\n## Navigation\n\n* **Pan**: specific mouse action (e.g., Hold Space + Drag, or Middle Click + Drag) moves the canvas view.\n* **Zoom**: Use the mouse wheel to zoom in and out.\n* **Fit View**: Press \\`Shift + 1\\` to fit all nodes within the view.\n\n## Node Operations\n\n### Selecting Nodes\n* **Single Select**: Click a node.\n* **Multi-Select**: Hold \\`Shift\\` and click multiple nodes, or click and drag a selection box around them.\n\n### Duplicating\nSelect one or more nodes and press \\`Cmd + D\\` (Mac) or \\`Ctrl + D\\` (Windows) to duplicate them.\n\n### Deleting\nSelect nodes and press \\`Backspace\\` or \\`Delete\\`.\n\n## The Mini-Map\n\nThe Mini-Map in the bottom right corner gives you a high-level overview of your entire flow. You can drag the viewport box inside the mini-map to quickly navigate large diagrams.\n\n[PLACEHOLDER: Image of Canvas Interface with callouts]","src/content/docs/canvas-basics.md","a315e51b371cf8f8",{"html":25,"metadata":26},"\u003Cp>The FlowMind canvas is an infinite, interactive workspace. Here’s how to navigate and manipulate it effectively.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"navigation\">Navigation\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#navigation\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Navigation”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Cstrong>Pan\u003C/strong>: specific mouse action (e.g., Hold Space + Drag, or Middle Click + Drag) moves the canvas view.\u003C/li>\n\u003Cli>\u003Cstrong>Zoom\u003C/strong>: Use the mouse wheel to zoom in and out.\u003C/li>\n\u003Cli>\u003Cstrong>Fit View\u003C/strong>: Press `Shift + 1` to fit all nodes within the view.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"node-operations\">Node Operations\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#node-operations\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Node Operations”\u003C/span>\u003C/a>\u003C/div>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"selecting-nodes\">Selecting Nodes\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#selecting-nodes\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Selecting Nodes”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Cstrong>Single Select\u003C/strong>: Click a node.\u003C/li>\n\u003Cli>\u003Cstrong>Multi-Select\u003C/strong>: Hold `Shift` and click multiple nodes, or click and drag a selection box around them.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"duplicating\">Duplicating\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#duplicating\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Duplicating”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Select one or more nodes and press `Cmd + D` (Mac) or `Ctrl + D` (Windows) to duplicate them.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"deleting\">Deleting\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#deleting\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Deleting”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Select nodes and press `Backspace` or `Delete`.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"the-mini-map\">The Mini-Map\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#the-mini-map\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “The Mini-Map”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>The Mini-Map in the bottom right corner gives you a high-level overview of your entire flow. You can drag the viewport box inside the mini-map to quickly navigate large diagrams.\u003C/p>\n\u003Cp>[PLACEHOLDER: Image of Canvas Interface with callouts]\u003C/p>",{"headings":27,"localImagePaths":48,"remoteImagePaths":49,"frontmatter":50,"imagePaths":51},[28,32,35,39,42,45],{"depth":29,"slug":30,"text":31},2,"navigation","Navigation",{"depth":29,"slug":33,"text":34},"node-operations","Node Operations",{"depth":36,"slug":37,"text":38},3,"selecting-nodes","Selecting Nodes",{"depth":36,"slug":40,"text":41},"duplicating","Duplicating",{"depth":36,"slug":43,"text":44},"deleting","Deleting",{"depth":29,"slug":46,"text":47},"the-mini-map","The Mini-Map",[],[],{"draft":19,"title":14},[],"aws-architecture",{"id":52,"data":54,"body":59,"filePath":60,"digest":61,"rendered":62},{"title":55,"editUrl":15,"head":56,"template":17,"sidebar":57,"pagefind":15,"draft":19},"AWS Architecture Diagram",[],{"hidden":19,"attrs":58},{},"# How to Draw AWS Architecture Diagrams with OpenFlowKit\n\nDrawing cloud infrastructure can be tedious if you are dragging and dropping shapes manually. OpenFlowKit provides a **Diagram-as-Code** approach to visualizing AWS Architectures, making it perfect for DevOps teams, Solutions Architects, and Cloud Engineers.\n\n## Why Use Diagram-as-Code for AWS?\n\nInstead of spending hours aligning server icons, you can write simple text that OpenFlowKit instantly renders into a beautiful, auto-routed diagram. Because it's code, your architecture diagram can live right next to your Terraform or CloudFormation scripts in Git.\n\n- **Version Control**: Track infrastructure changes over time.\n- **Auto-Layout**: No more overlapping lines or misaligned VPCs.\n- **Speed**: Type a few lines, get a complete diagram.\n\n\n## Example: Basic Web Architecture (Mermaid.js)\n\nOpenFlowKit natively supports Mermaid.js, which is great for standard cloud structures. Here is how you can visualize an AWS VPC with a Load Balancer, EC2 instances, and an RDS database.\n\n```mermaid\nflowchart TD\n %% Define Styles\n classDef aws fill:#FF9900,stroke:#fff,stroke-width:2px,color:#fff,rx:8px,ry:8px;\n classDef vpc fill:#f5f5f5,stroke:#00A4A6,stroke-width:2px,stroke-dasharray: 5 5,rx:12px,ry:12px;\n \n Client((User Traffic))\n\n subgraph AWS_VPC [AWS Cloud VPC]\n ALB(Application Load Balancer)\n \n subgraph Public_Subnet [Public Subnet]\n EC2_1(Web Server 1)\n EC2_2(Web Server 2)\n end\n \n subgraph Private_Subnet [Private Subnet]\n RDS[(Amazon RDS)]\n ElastiCache[(Redis Cache)]\n end\n end\n\n %% Connections\n Client -->|HTTPS| ALB\n ALB -->|Round Robin| EC2_1\n ALB -->|Round Robin| EC2_2\n \n EC2_1 --> RDS\n EC2_1 --> ElastiCache\n EC2_2 --> RDS\n EC2_2 --> ElastiCache\n\n %% Apply Styles\n class ALB,EC2_1,EC2_2 aws;\n class RDS,ElastiCache aws;\n class AWS_VPC,Public_Subnet,Private_Subnet vpc;\n```\n\n## Creating AWS Diagrams with AI\n\nIf you don't know Mermaid syntax, you can use **Flowpilot**, our built-in AI assistant. \n\n1. Open the [Command Center](/docs/en/command-center).\n2. Type a prompt like:\n> `\"Create an AWS architecture diagram showing an API Gateway routing traffic to three AWS Lambda functions, which all connect to a central DynamoDB table.\"`\n3. Hit enter. Flowpilot will instantly generate the DSL and render the diagram.\n\n## Exporting for internal documentation\n\nOnce your AWS Architecture is generated, you can easily export it:\n- **SVG / PNG**: For Confluence, Jira, or Slack.\n- **Figma Editable**: Want your UX team to polish the diagram? Click *Figma Editable* and paste it directly into Figma as native, editable vector layers.\n\n[Try building your first AWS Architecture diagram now!](/#/canvas)","src/content/docs/aws-architecture.md","5aec0ab74121bb5c",{"html":63,"metadata":64},"\u003Cdiv class=\"sl-heading-wrapper level-h1\">\u003Ch1 id=\"how-to-draw-aws-architecture-diagrams-with-openflowkit\">How to Draw AWS Architecture Diagrams with OpenFlowKit\u003C/h1>\u003Ca class=\"sl-anchor-link\" href=\"#how-to-draw-aws-architecture-diagrams-with-openflowkit\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “How to Draw AWS Architecture Diagrams with OpenFlowKit”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Drawing cloud infrastructure can be tedious if you are dragging and dropping shapes manually. OpenFlowKit provides a \u003Cstrong>Diagram-as-Code\u003C/strong> approach to visualizing AWS Architectures, making it perfect for DevOps teams, Solutions Architects, and Cloud Engineers.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"why-use-diagram-as-code-for-aws\">Why Use Diagram-as-Code for AWS?\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#why-use-diagram-as-code-for-aws\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Why Use Diagram-as-Code for AWS?”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Instead of spending hours aligning server icons, you can write simple text that OpenFlowKit instantly renders into a beautiful, auto-routed diagram. Because it’s code, your architecture diagram can live right next to your Terraform or CloudFormation scripts in Git.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Version Control\u003C/strong>: Track infrastructure changes over time.\u003C/li>\n\u003Cli>\u003Cstrong>Auto-Layout\u003C/strong>: No more overlapping lines or misaligned VPCs.\u003C/li>\n\u003Cli>\u003Cstrong>Speed\u003C/strong>: Type a few lines, get a complete diagram.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"example-basic-web-architecture-mermaidjs\">Example: Basic Web Architecture (Mermaid.js)\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#example-basic-web-architecture-mermaidjs\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Example: Basic Web Architecture (Mermaid.js)”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>OpenFlowKit natively supports Mermaid.js, which is great for standard cloud structures. Here is how you can visualize an AWS VPC with a Load Balancer, EC2 instances, and an RDS database.\u003C/p>\n\u003Cdiv class=\"expressive-code\">\u003Clink rel=\"stylesheet\" href=\"/_astro/ec.v4551.css\">\u003Cscript type=\"module\" src=\"/_astro/ec.0vx5m.js\">\u003C/script>\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"mermaid\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">flowchart TD\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">%% Define Styles\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">classDef aws fill:#FF9900,stroke:#fff,stroke-width:2px,color:#fff,rx:8px,ry:8px;\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">classDef vpc fill:#f5f5f5,stroke:#00A4A6,stroke-width:2px,stroke-dasharray: 5 5,rx:12px,ry:12px;\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">Client((User Traffic))\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">subgraph AWS_VPC [AWS Cloud VPC]\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">ALB(Application Load Balancer)\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">subgraph Public_Subnet [Public Subnet]\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">EC2_1(Web Server 1)\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">EC2_2(Web Server 2)\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">end\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">subgraph Private_Subnet [Private Subnet]\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">RDS[(Amazon RDS)]\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">ElastiCache[(Redis Cache)]\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">end\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">end\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">%% Connections\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">Client -->|HTTPS| ALB\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">ALB -->|Round Robin| EC2_1\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">ALB -->|Round Robin| EC2_2\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">EC2_1 --> RDS\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">EC2_1 --> ElastiCache\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">EC2_2 --> RDS\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">EC2_2 --> ElastiCache\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">%% Apply Styles\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">class ALB,EC2_1,EC2_2 aws;\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">class RDS,ElastiCache aws;\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">class AWS_VPC,Public_Subnet,Private_Subnet vpc;\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"flowchart TD %% Define Styles classDef aws fill:#FF9900,stroke:#fff,stroke-width:2px,color:#fff,rx:8px,ry:8px; classDef vpc fill:#f5f5f5,stroke:#00A4A6,stroke-width:2px,stroke-dasharray: 5 5,rx:12px,ry:12px; Client((User Traffic)) subgraph AWS_VPC [AWS Cloud VPC] ALB(Application Load Balancer) subgraph Public_Subnet [Public Subnet] EC2_1(Web Server 1) EC2_2(Web Server 2) end subgraph Private_Subnet [Private Subnet] RDS[(Amazon RDS)] ElastiCache[(Redis Cache)] end end %% Connections Client -->|HTTPS| ALB ALB -->|Round Robin| EC2_1 ALB -->|Round Robin| EC2_2 EC2_1 --> RDS EC2_1 --> ElastiCache EC2_2 --> RDS EC2_2 --> ElastiCache %% Apply Styles class ALB,EC2_1,EC2_2 aws; class RDS,ElastiCache aws; class AWS_VPC,Public_Subnet,Private_Subnet vpc;\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"creating-aws-diagrams-with-ai\">Creating AWS Diagrams with AI\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#creating-aws-diagrams-with-ai\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Creating AWS Diagrams with AI”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>If you don’t know Mermaid syntax, you can use \u003Cstrong>Flowpilot\u003C/strong>, our built-in AI assistant.\u003C/p>\n\u003Col>\n\u003Cli>Open the \u003Ca href=\"/docs/en/command-center\">Command Center\u003C/a>.\u003C/li>\n\u003Cli>Type a prompt like:\u003C/li>\n\u003C/ol>\n\u003Cblockquote>\n\u003Cp>\u003Ccode dir=\"auto\">\"Create an AWS architecture diagram showing an API Gateway routing traffic to three AWS Lambda functions, which all connect to a central DynamoDB table.\"\u003C/code>\u003C/p>\n\u003C/blockquote>\n\u003Col start=\"3\">\n\u003Cli>Hit enter. Flowpilot will instantly generate the DSL and render the diagram.\u003C/li>\n\u003C/ol>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"exporting-for-internal-documentation\">Exporting for internal documentation\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#exporting-for-internal-documentation\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Exporting for internal documentation”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Once your AWS Architecture is generated, you can easily export it:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>SVG / PNG\u003C/strong>: For Confluence, Jira, or Slack.\u003C/li>\n\u003Cli>\u003Cstrong>Figma Editable\u003C/strong>: Want your UX team to polish the diagram? Click \u003Cem>Figma Editable\u003C/em> and paste it directly into Figma as native, editable vector layers.\u003C/li>\n\u003C/ul>\n\u003Cp>\u003Ca href=\"/#/canvas\">Try building your first AWS Architecture diagram now!\u003C/a>\u003C/p>",{"headings":65,"localImagePaths":82,"remoteImagePaths":83,"frontmatter":84,"imagePaths":85},[66,70,73,76,79],{"depth":67,"slug":68,"text":69},1,"how-to-draw-aws-architecture-diagrams-with-openflowkit","How to Draw AWS Architecture Diagrams with OpenFlowKit",{"depth":29,"slug":71,"text":72},"why-use-diagram-as-code-for-aws","Why Use Diagram-as-Code for AWS?",{"depth":29,"slug":74,"text":75},"example-basic-web-architecture-mermaidjs","Example: Basic Web Architecture (Mermaid.js)",{"depth":29,"slug":77,"text":78},"creating-aws-diagrams-with-ai","Creating AWS Diagrams with AI",{"depth":29,"slug":80,"text":81},"exporting-for-internal-documentation","Exporting for internal documentation",[],[],{"draft":19,"title":55},[],"ai-generation",{"id":86,"data":88,"body":93,"filePath":94,"digest":95,"rendered":96},{"title":89,"editUrl":15,"head":90,"template":17,"sidebar":91,"pagefind":15,"draft":19},"AI Generation",[],{"hidden":19,"attrs":92},{},"FlowMind leverages Google's **Gemini 2.0 Flash** model to understand natural language and convert it into structural diagrams.\n\n## How it Works\n\n1. **Intent Analysis**: The AI analyzes your prompt to understand the *goal* (e.g., \"Login Flow\") and the *actors* (User, Server, Database).\n2. **Structural Generation**: It constructs a valid FlowMind DSL JSON object representing the nodes and connections.\n3. **Layout Optimization**: The engine applies smart layout algorithms to ensure the generated graph is readable.\n\n## Best Practices for Prompts\n\nTo get the best results, be specific about the **steps** and the **outcome**.\n\n### ❌ Too Vague\n> \"Make a system diagram.\"\n\n### ✅ Good\n> \"Create a high-level system architecture for an e-commerce platform. Include a Web App, API Gateway, User Service, Product Service, and a shared PostgreSQL database.\"\n\n### ✅ Better (Process Flow)\n> \"Draw a flowchart for a user password reset process. Start with 'User clicks forgot password', check if email exists. If yes, send distinct token. If no, show error. End with 'User enters new password'.\"\n\n## Editing AI Results\n\nAI generation is a starting point, not the end. You can always:\n* Add missing steps manaully.\n* Renaming nodes for clarity.\n* Regenerating specific sections (Coming Soon).\n\n## 🔑 Bring Your Own Key (BYOK)\n\nBy default, FlowMind uses a shared API key with limited quotas. For heavy usage, privacy, or to use your own billing, you can bring your own **Gemini API Key**.\n\n1. Go to **Google AI Studio** and [Get an API Key](https://aistudio.google.com/app/apikey).\n2. In FlowMind, open **Settings** (Gear Icon) or click on any **Brand Kit**.\n3. Navigate to the **AI** tab.\n4. Paste your key into the secure input field.\n\n> [!NOTE]\n> Your key is stored locally in your browser's `localStorage` and is never sent to our servers. It is strictly used for client-side API calls to Google.","src/content/docs/ai-generation.md","c96e057798a40b8d",{"html":97,"metadata":98},"\u003Cp>FlowMind leverages Google’s \u003Cstrong>Gemini 2.0 Flash\u003C/strong> model to understand natural language and convert it into structural diagrams.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"how-it-works\">How it Works\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#how-it-works\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “How it Works”\u003C/span>\u003C/a>\u003C/div>\n\u003Col>\n\u003Cli>\u003Cstrong>Intent Analysis\u003C/strong>: The AI analyzes your prompt to understand the \u003Cem>goal\u003C/em> (e.g., “Login Flow”) and the \u003Cem>actors\u003C/em> (User, Server, Database).\u003C/li>\n\u003Cli>\u003Cstrong>Structural Generation\u003C/strong>: It constructs a valid FlowMind DSL JSON object representing the nodes and connections.\u003C/li>\n\u003Cli>\u003Cstrong>Layout Optimization\u003C/strong>: The engine applies smart layout algorithms to ensure the generated graph is readable.\u003C/li>\n\u003C/ol>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"best-practices-for-prompts\">Best Practices for Prompts\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#best-practices-for-prompts\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Best Practices for Prompts”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>To get the best results, be specific about the \u003Cstrong>steps\u003C/strong> and the \u003Cstrong>outcome\u003C/strong>.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"-too-vague\">❌ Too Vague\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#-too-vague\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “❌ Too Vague”\u003C/span>\u003C/a>\u003C/div>\n\u003Cblockquote>\n\u003Cp>“Make a system diagram.”\u003C/p>\n\u003C/blockquote>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"-good\">✅ Good\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#-good\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “✅ Good”\u003C/span>\u003C/a>\u003C/div>\n\u003Cblockquote>\n\u003Cp>“Create a high-level system architecture for an e-commerce platform. Include a Web App, API Gateway, User Service, Product Service, and a shared PostgreSQL database.”\u003C/p>\n\u003C/blockquote>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"-better-process-flow\">✅ Better (Process Flow)\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#-better-process-flow\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “✅ Better (Process Flow)”\u003C/span>\u003C/a>\u003C/div>\n\u003Cblockquote>\n\u003Cp>“Draw a flowchart for a user password reset process. Start with ‘User clicks forgot password’, check if email exists. If yes, send distinct token. If no, show error. End with ‘User enters new password’.”\u003C/p>\n\u003C/blockquote>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"editing-ai-results\">Editing AI Results\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#editing-ai-results\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Editing AI Results”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>AI generation is a starting point, not the end. You can always:\u003C/p>\n\u003Cul>\n\u003Cli>Add missing steps manaully.\u003C/li>\n\u003Cli>Renaming nodes for clarity.\u003C/li>\n\u003Cli>Regenerating specific sections (Coming Soon).\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"-bring-your-own-key-byok\">🔑 Bring Your Own Key (BYOK)\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#-bring-your-own-key-byok\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “🔑 Bring Your Own Key (BYOK)”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>By default, FlowMind uses a shared API key with limited quotas. For heavy usage, privacy, or to use your own billing, you can bring your own \u003Cstrong>Gemini API Key\u003C/strong>.\u003C/p>\n\u003Col>\n\u003Cli>Go to \u003Cstrong>Google AI Studio\u003C/strong> and \u003Ca href=\"https://aistudio.google.com/app/apikey\">Get an API Key\u003C/a>.\u003C/li>\n\u003Cli>In FlowMind, open \u003Cstrong>Settings\u003C/strong> (Gear Icon) or click on any \u003Cstrong>Brand Kit\u003C/strong>.\u003C/li>\n\u003Cli>Navigate to the \u003Cstrong>AI\u003C/strong> tab.\u003C/li>\n\u003Cli>Paste your key into the secure input field.\u003C/li>\n\u003C/ol>\n\u003Cblockquote>\n\u003Cp>[!NOTE]\nYour key is stored locally in your browser’s \u003Ccode dir=\"auto\">localStorage\u003C/code> and is never sent to our servers. It is strictly used for client-side API calls to Google.\u003C/p>\n\u003C/blockquote>",{"headings":99,"localImagePaths":121,"remoteImagePaths":122,"frontmatter":123,"imagePaths":124},[100,103,106,109,112,115,118],{"depth":29,"slug":101,"text":102},"how-it-works","How it Works",{"depth":29,"slug":104,"text":105},"best-practices-for-prompts","Best Practices for Prompts",{"depth":36,"slug":107,"text":108},"-too-vague","❌ Too Vague",{"depth":36,"slug":110,"text":111},"-good","✅ Good",{"depth":36,"slug":113,"text":114},"-better-process-flow","✅ Better (Process Flow)",{"depth":29,"slug":116,"text":117},"editing-ai-results","Editing AI Results",{"depth":29,"slug":119,"text":120},"-bring-your-own-key-byok","🔑 Bring Your Own Key (BYOK)",[],[],{"draft":19,"title":89},[],"keyboard-shortcuts",{"id":125,"data":127,"body":132,"filePath":133,"digest":134,"rendered":135},{"title":128,"editUrl":15,"head":129,"template":17,"sidebar":130,"pagefind":15,"draft":19},"Keyboard Shortcuts",[],{"hidden":19,"attrs":131},{},"Master FlowMind with these keyboard shortcuts to speed up your workflow.\n\n## General\n\n| Action | MacOS | Windows/Linux |\n| :--- | :--- | :--- |\n| **Command Palette** | \\`Cmd + K\\` | \\`Ctrl + K\\` |\n| **Save** | \\`Cmd + S\\` | \\`Ctrl + S\\` |\n| **Undo** | \\`Cmd + Z\\` | \\`Ctrl + Z\\` |\n| **Redo** | \\`Cmd + Shift + Z\\` | \\`Ctrl + Shift + Z\\` |\n\n## Canvas Navigation\n\n| Action | MacOS | Windows/Linux |\n| :--- | :--- | :--- |\n| **Zoom In** | \\`+\\` | \\`+\\` |\n| **Zoom Out** | \\`-\\` | \\`-\\` |\n| **Fit View** | \\`Shift + 1\\` | \\`Shift + 1\\` |\n\n## Editing\n\n| Action | MacOS | Windows/Linux |\n| :--- | :--- | :--- |\n| **Duplicate Node** | \\`Cmd + D\\` or \\`Alt + Drag\\` | \\`Ctrl + D\\` or \\`Alt + Drag\\` |\n| **Delete Node** | \\`Backspace\\` | \\`Backspace\\` |\n| **Select All** | \\`Cmd + A\\` | \\`Ctrl + A\\` |\n| **Group Selection** | \\`Cmd + G\\` | \\`Ctrl + G\\` |\n\n> **Note:** Shortcuts are active when the canvas has focus.","src/content/docs/keyboard-shortcuts.md","41dc4dac59a54b2a",{"html":136,"metadata":137},"\u003Cp>Master FlowMind with these keyboard shortcuts to speed up your workflow.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"general\">General\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#general\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “General”\u003C/span>\u003C/a>\u003C/div>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth align=\"left\">Action\u003C/th>\u003Cth align=\"left\">MacOS\u003C/th>\u003Cth align=\"left\">Windows/Linux\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd align=\"left\">\u003Cstrong>Command Palette\u003C/strong>\u003C/td>\u003Ctd align=\"left\">`Cmd + K`\u003C/td>\u003Ctd align=\"left\">`Ctrl + K`\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd align=\"left\">\u003Cstrong>Save\u003C/strong>\u003C/td>\u003Ctd align=\"left\">`Cmd + S`\u003C/td>\u003Ctd align=\"left\">`Ctrl + S`\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd align=\"left\">\u003Cstrong>Undo\u003C/strong>\u003C/td>\u003Ctd align=\"left\">`Cmd + Z`\u003C/td>\u003Ctd align=\"left\">`Ctrl + Z`\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd align=\"left\">\u003Cstrong>Redo\u003C/strong>\u003C/td>\u003Ctd align=\"left\">`Cmd + Shift + Z`\u003C/td>\u003Ctd align=\"left\">`Ctrl + Shift + Z`\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"canvas-navigation\">Canvas Navigation\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#canvas-navigation\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Canvas Navigation”\u003C/span>\u003C/a>\u003C/div>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth align=\"left\">Action\u003C/th>\u003Cth align=\"left\">MacOS\u003C/th>\u003Cth align=\"left\">Windows/Linux\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd align=\"left\">\u003Cstrong>Zoom In\u003C/strong>\u003C/td>\u003Ctd align=\"left\">`+`\u003C/td>\u003Ctd align=\"left\">`+`\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd align=\"left\">\u003Cstrong>Zoom Out\u003C/strong>\u003C/td>\u003Ctd align=\"left\">`-`\u003C/td>\u003Ctd align=\"left\">`-`\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd align=\"left\">\u003Cstrong>Fit View\u003C/strong>\u003C/td>\u003Ctd align=\"left\">`Shift + 1`\u003C/td>\u003Ctd align=\"left\">`Shift + 1`\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"editing\">Editing\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#editing\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Editing”\u003C/span>\u003C/a>\u003C/div>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth align=\"left\">Action\u003C/th>\u003Cth align=\"left\">MacOS\u003C/th>\u003Cth align=\"left\">Windows/Linux\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd align=\"left\">\u003Cstrong>Duplicate Node\u003C/strong>\u003C/td>\u003Ctd align=\"left\">`Cmd + D` or `Alt + Drag`\u003C/td>\u003Ctd align=\"left\">`Ctrl + D` or `Alt + Drag`\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd align=\"left\">\u003Cstrong>Delete Node\u003C/strong>\u003C/td>\u003Ctd align=\"left\">`Backspace`\u003C/td>\u003Ctd align=\"left\">`Backspace`\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd align=\"left\">\u003Cstrong>Select All\u003C/strong>\u003C/td>\u003Ctd align=\"left\">`Cmd + A`\u003C/td>\u003Ctd align=\"left\">`Ctrl + A`\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd align=\"left\">\u003Cstrong>Group Selection\u003C/strong>\u003C/td>\u003Ctd align=\"left\">`Cmd + G`\u003C/td>\u003Ctd align=\"left\">`Ctrl + G`\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Cblockquote>\n\u003Cp>\u003Cstrong>Note:\u003C/strong> Shortcuts are active when the canvas has focus.\u003C/p>\n\u003C/blockquote>",{"headings":138,"localImagePaths":148,"remoteImagePaths":149,"frontmatter":150,"imagePaths":151},[139,142,145],{"depth":29,"slug":140,"text":141},"general","General",{"depth":29,"slug":143,"text":144},"canvas-navigation","Canvas Navigation",{"depth":29,"slug":146,"text":147},"editing","Editing",[],[],{"draft":19,"title":128},[],"ask-flowpilot",{"id":152,"data":154,"body":159,"filePath":160,"digest":161,"rendered":162},{"title":155,"editUrl":15,"head":156,"template":17,"sidebar":157,"pagefind":15,"draft":19},"Ask Flowpilot",[],{"hidden":19,"attrs":158},{},"# Ask Flowpilot Assistant\n\nThis page is dynamically replaced by the AI Assistant component inside `DocsPage.tsx`. This file exists only to satisfy the Vite dynamic glob importer and routing logic.","src/content/docs/ask-flowpilot.md","9c5bb2102a146704",{"html":163,"metadata":164},"\u003Cdiv class=\"sl-heading-wrapper level-h1\">\u003Ch1 id=\"ask-flowpilot-assistant\">Ask Flowpilot Assistant\u003C/h1>\u003Ca class=\"sl-anchor-link\" href=\"#ask-flowpilot-assistant\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Ask Flowpilot Assistant”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>This page is dynamically replaced by the AI Assistant component inside \u003Ccode dir=\"auto\">DocsPage.tsx\u003C/code>. This file exists only to satisfy the Vite dynamic glob importer and routing logic.\u003C/p>",{"headings":165,"localImagePaths":169,"remoteImagePaths":170,"frontmatter":171,"imagePaths":172},[166],{"depth":67,"slug":167,"text":168},"ask-flowpilot-assistant","Ask Flowpilot Assistant",[],[],{"draft":19,"title":155},[],"command-center",{"id":173,"data":175,"body":180,"filePath":181,"digest":182,"rendered":183},{"title":176,"editUrl":15,"head":177,"template":17,"sidebar":178,"pagefind":15,"draft":19},"Command Center",[],{"hidden":19,"attrs":179},{},"The Command Center is the floating toolbar at the bottom of the screen. It's the heart of FlowMind's \"keyboard-first\" workflow.\n\n> [!NOTE]\n> Open the Command Center anytime by pressing `Cmd + K` (Mac) or `Ctrl + K` (Windows).\n\n## Features\n\n### 1. Templates\nDon't start from scratch. Access a library of pre-built diagrams:\n* AWS Architecture Patterns\n* User Journey Maps\n* Database Schemas\n* Organizational Charts\n\n### 2. Design System / Visuals\nAccess a library of assets to enhance your diagram:\n* **Wireframes**: Drag and drop low-fidelity UI components (Buttons, Inputs, Modals) to build quick mockups.\n* **Icons**: Search and insert any icon as a standalone node.\n\n### 3. AI Copilot\nThe text input in the Command Center is your direct line to our AI engine. Type what you want to build, and hitting `Enter` generates it instantly.\n\n### 4. Layout & Tools\nQuickly access utility functions:\n* **Auto Layout**: Re-organize the chaos.\n* **Reset View**: Jump back to center.\n* **Format Code**: Clean up your DSL.","src/content/docs/command-center.md","d05706312114690a",{"html":184,"metadata":185},"\u003Cp>The Command Center is the floating toolbar at the bottom of the screen. It’s the heart of FlowMind’s “keyboard-first” workflow.\u003C/p>\n\u003Cblockquote>\n\u003Cp>[!NOTE]\nOpen the Command Center anytime by pressing \u003Ccode dir=\"auto\">Cmd + K\u003C/code> (Mac) or \u003Ccode dir=\"auto\">Ctrl + K\u003C/code> (Windows).\u003C/p>\n\u003C/blockquote>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"features\">Features\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#features\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Features”\u003C/span>\u003C/a>\u003C/div>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"1-templates\">1. Templates\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#1-templates\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “1. Templates”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Don’t start from scratch. Access a library of pre-built diagrams:\u003C/p>\n\u003Cul>\n\u003Cli>AWS Architecture Patterns\u003C/li>\n\u003Cli>User Journey Maps\u003C/li>\n\u003Cli>Database Schemas\u003C/li>\n\u003Cli>Organizational Charts\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"2-design-system--visuals\">2. Design System / Visuals\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#2-design-system--visuals\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “2. Design System / Visuals”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Access a library of assets to enhance your diagram:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Wireframes\u003C/strong>: Drag and drop low-fidelity UI components (Buttons, Inputs, Modals) to build quick mockups.\u003C/li>\n\u003Cli>\u003Cstrong>Icons\u003C/strong>: Search and insert any icon as a standalone node.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"3-ai-copilot\">3. AI Copilot\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#3-ai-copilot\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “3. AI Copilot”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>The text input in the Command Center is your direct line to our AI engine. Type what you want to build, and hitting \u003Ccode dir=\"auto\">Enter\u003C/code> generates it instantly.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"4-layout--tools\">4. Layout & Tools\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#4-layout--tools\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “4. Layout & Tools”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Quickly access utility functions:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Auto Layout\u003C/strong>: Re-organize the chaos.\u003C/li>\n\u003Cli>\u003Cstrong>Reset View\u003C/strong>: Jump back to center.\u003C/li>\n\u003Cli>\u003Cstrong>Format Code\u003C/strong>: Clean up your DSL.\u003C/li>\n\u003C/ul>",{"headings":186,"localImagePaths":202,"remoteImagePaths":203,"frontmatter":204,"imagePaths":205},[187,190,193,196,199],{"depth":29,"slug":188,"text":189},"features","Features",{"depth":36,"slug":191,"text":192},"1-templates","1. Templates",{"depth":36,"slug":194,"text":195},"2-design-system--visuals","2. Design System / Visuals",{"depth":36,"slug":197,"text":198},"3-ai-copilot","3. AI Copilot",{"depth":36,"slug":200,"text":201},"4-layout--tools","4. Layout & Tools",[],[],{"draft":19,"title":176},[],"exporting",{"id":206,"data":208,"body":213,"filePath":214,"digest":215,"rendered":216},{"title":209,"editUrl":15,"head":210,"template":17,"sidebar":211,"pagefind":15,"draft":19},"Exporting",[],{"hidden":19,"attrs":212},{},"FlowMind offers a wide range of export options to help you use your diagrams in presentations, documentation, or other external tools.\n\n> [!TIP]\n> All export options are available via the **\"Export\"** button in the top right corner of the toolbar.\n\n## Image Exports\n\nPerfect for slides, documents, or sharing on Slack.\n\n### PNG (Portable Network Graphics)\nExports a high-resolution, pixel-based image of your current flow.\n* **Best for**: Slides, Web, General Sharing.\n* **Settings**: Includes transparency by default if enabled in settings.\n\n### JPEG (Joint Photographic Experts Group)\nExports a compressed image file.\n* **Best for**: Email attachments, situations where file size matters.\n* **Note**: Does not support transparency (background will be white).\n\n## Data & Code Exports\n\nFlowMind is a \"Diagram-as-Code\" tool, so we treat your diagram data as a first-class citizen.\n\n### JSON (FlowMind Native)\nDownloads the raw `.json` file containing all node positions, styles, and data.\n* **Best for**: Backups, Version Control, Sharing editable files with other FlowMind users.\n\n### FlowMind DSL\nCopies the simplified Domain Specific Language (DSL) representation to your clipboard.\n* **Best for**: Storing diagram logic in your codebase comments or generating similar flows via AI.\n\n### Mermaid.js\nConverts your current diagram into [Mermaid](https://mermaid.js.org/) syntax and copies it to the clipboard.\n* **Best for**: Embedding diagrams in GitHub `README.md` files, Notion, or Obsidian.\n* **Supported**: Basic Flowcharts, Sequence Diagrams.\n\n### PlantUML\nCopies the PlantUML representation of your diagram.\n* **Best for**: Enterprise wikis (Confluence) or legacy documentation systems.\n\n### Figma\nCopies a vector representation compatible with Figma's paste format.\n* **Best for**: Handing off diagrams to designers for high-fidelity polishing.\n\n> [!WARNING]\n> Figma export is experimental. Complex custom nodes may not transfer 100% perfectly.","src/content/docs/exporting.md","c82101b5ec898f30",{"html":217,"metadata":218},"\u003Cp>FlowMind offers a wide range of export options to help you use your diagrams in presentations, documentation, or other external tools.\u003C/p>\n\u003Cblockquote>\n\u003Cp>[!TIP]\nAll export options are available via the \u003Cstrong>“Export”\u003C/strong> button in the top right corner of the toolbar.\u003C/p>\n\u003C/blockquote>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"image-exports\">Image Exports\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#image-exports\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Image Exports”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Perfect for slides, documents, or sharing on Slack.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"png-portable-network-graphics\">PNG (Portable Network Graphics)\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#png-portable-network-graphics\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “PNG (Portable Network Graphics)”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Exports a high-resolution, pixel-based image of your current flow.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Best for\u003C/strong>: Slides, Web, General Sharing.\u003C/li>\n\u003Cli>\u003Cstrong>Settings\u003C/strong>: Includes transparency by default if enabled in settings.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"jpeg-joint-photographic-experts-group\">JPEG (Joint Photographic Experts Group)\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#jpeg-joint-photographic-experts-group\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “JPEG (Joint Photographic Experts Group)”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Exports a compressed image file.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Best for\u003C/strong>: Email attachments, situations where file size matters.\u003C/li>\n\u003Cli>\u003Cstrong>Note\u003C/strong>: Does not support transparency (background will be white).\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"data--code-exports\">Data & Code Exports\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#data--code-exports\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Data & Code Exports”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>FlowMind is a “Diagram-as-Code” tool, so we treat your diagram data as a first-class citizen.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"json-flowmind-native\">JSON (FlowMind Native)\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#json-flowmind-native\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “JSON (FlowMind Native)”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Downloads the raw \u003Ccode dir=\"auto\">.json\u003C/code> file containing all node positions, styles, and data.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Best for\u003C/strong>: Backups, Version Control, Sharing editable files with other FlowMind users.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"flowmind-dsl\">FlowMind DSL\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#flowmind-dsl\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “FlowMind DSL”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Copies the simplified Domain Specific Language (DSL) representation to your clipboard.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Best for\u003C/strong>: Storing diagram logic in your codebase comments or generating similar flows via AI.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"mermaidjs\">Mermaid.js\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#mermaidjs\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Mermaid.js”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Converts your current diagram into \u003Ca href=\"https://mermaid.js.org/\">Mermaid\u003C/a> syntax and copies it to the clipboard.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Best for\u003C/strong>: Embedding diagrams in GitHub \u003Ccode dir=\"auto\">README.md\u003C/code> files, Notion, or Obsidian.\u003C/li>\n\u003Cli>\u003Cstrong>Supported\u003C/strong>: Basic Flowcharts, Sequence Diagrams.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"plantuml\">PlantUML\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#plantuml\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “PlantUML”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Copies the PlantUML representation of your diagram.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Best for\u003C/strong>: Enterprise wikis (Confluence) or legacy documentation systems.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"figma\">Figma\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#figma\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Figma”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Copies a vector representation compatible with Figma’s paste format.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Best for\u003C/strong>: Handing off diagrams to designers for high-fidelity polishing.\u003C/li>\n\u003C/ul>\n\u003Cblockquote>\n\u003Cp>[!WARNING]\nFigma export is experimental. Complex custom nodes may not transfer 100% perfectly.\u003C/p>\n\u003C/blockquote>",{"headings":219,"localImagePaths":247,"remoteImagePaths":248,"frontmatter":249,"imagePaths":250},[220,223,226,229,232,235,238,241,244],{"depth":29,"slug":221,"text":222},"image-exports","Image Exports",{"depth":36,"slug":224,"text":225},"png-portable-network-graphics","PNG (Portable Network Graphics)",{"depth":36,"slug":227,"text":228},"jpeg-joint-photographic-experts-group","JPEG (Joint Photographic Experts Group)",{"depth":29,"slug":230,"text":231},"data--code-exports","Data & Code Exports",{"depth":36,"slug":233,"text":234},"json-flowmind-native","JSON (FlowMind Native)",{"depth":36,"slug":236,"text":237},"flowmind-dsl","FlowMind DSL",{"depth":36,"slug":239,"text":240},"mermaidjs","Mermaid.js",{"depth":36,"slug":242,"text":243},"plantuml","PlantUML",{"depth":36,"slug":245,"text":246},"figma","Figma",[],[],{"draft":19,"title":209},[],"introduction",{"id":251,"data":253,"body":258,"filePath":259,"digest":260,"rendered":261},{"title":254,"editUrl":15,"head":255,"template":17,"sidebar":256,"pagefind":15,"draft":19},"Introduction",[],{"hidden":19,"attrs":257},{},"**OpenFlowKit** is a next-generation diagramming tool that bridges the gap between AI-generated visualization and precise, code-based editing. Designed for developers, architects, and product managers, OpenFlowKit allows you to create complex flowcharts, sequence diagrams, and system architectures using natural language or our specialized DSL.\n\n## Why OpenFlowKit?\n\nTraditional diagramming tools often force a choice between:\n1. **Drag-and-drop tools**: Easy to start, but hard to maintain and version control.\n2. **Code-based tools (like Mermaid)**: Great for versioning, but can be tedious to write from scratch.\n\nFlowMind gives you the best of both worlds. You can start with a text prompt to generate an initial structure, then refine it using our **Hybrid Editor**—manipulating nodes visually on the canvas *or* editing the underlying code directly.\n\n## Key Features\n\n### AI-Powered Generation\nSimply describe your system: *\"Create a login flow with OAuth fallback and error handling.\"* FlowMind's Gemini integration scaffolds the entire diagram effectively instantly.\n\n### Hybrid Canvas\nOur canvas isn't just a static image. It's a fully interactive graph environment.\n* **Drag & Drop**: Move nodes, auto-snap alignment.\n* **Smart Layouts**: One-click re-organization using Elk.js.\n* **Properties Panel**: Fine-tune specific node styling without touching CSS.\n\n### Diagram-as-Code\nEvery diagram is backed by a readable, editable JSON structure and compatible with Mermaid.js syntax. This means your documentation can live alongside your code.\n\n### Premium Aesthetics\nBuilt with a \"Design First\" code, FlowMind diagrams are presentation-ready by default. No more ugly, default-grey boxes.\n\n## Next Steps\n\nReady to get started?\n\n* Check out the [Quick Start](/docs/quick-start) guide to build your first flow.\n* Learn about the [Canvas Basics](/docs/canvas-basics).\n* Master the [OpenFlow DSL](/docs/openflow-dsl).","src/content/docs/introduction.md","c51ee361c0cdb381",{"html":262,"metadata":263},"\u003Cp>\u003Cstrong>OpenFlowKit\u003C/strong> is a next-generation diagramming tool that bridges the gap between AI-generated visualization and precise, code-based editing. Designed for developers, architects, and product managers, OpenFlowKit allows you to create complex flowcharts, sequence diagrams, and system architectures using natural language or our specialized DSL.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"why-openflowkit\">Why OpenFlowKit?\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#why-openflowkit\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Why OpenFlowKit?”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Traditional diagramming tools often force a choice between:\u003C/p>\n\u003Col>\n\u003Cli>\u003Cstrong>Drag-and-drop tools\u003C/strong>: Easy to start, but hard to maintain and version control.\u003C/li>\n\u003Cli>\u003Cstrong>Code-based tools (like Mermaid)\u003C/strong>: Great for versioning, but can be tedious to write from scratch.\u003C/li>\n\u003C/ol>\n\u003Cp>FlowMind gives you the best of both worlds. You can start with a text prompt to generate an initial structure, then refine it using our \u003Cstrong>Hybrid Editor\u003C/strong>—manipulating nodes visually on the canvas \u003Cem>or\u003C/em> editing the underlying code directly.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"key-features\">Key Features\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#key-features\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Key Features”\u003C/span>\u003C/a>\u003C/div>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"ai-powered-generation\">AI-Powered Generation\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#ai-powered-generation\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “AI-Powered Generation”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Simply describe your system: \u003Cem>“Create a login flow with OAuth fallback and error handling.”\u003C/em> FlowMind’s Gemini integration scaffolds the entire diagram effectively instantly.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"hybrid-canvas\">Hybrid Canvas\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#hybrid-canvas\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Hybrid Canvas”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Our canvas isn’t just a static image. It’s a fully interactive graph environment.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Drag & Drop\u003C/strong>: Move nodes, auto-snap alignment.\u003C/li>\n\u003Cli>\u003Cstrong>Smart Layouts\u003C/strong>: One-click re-organization using Elk.js.\u003C/li>\n\u003Cli>\u003Cstrong>Properties Panel\u003C/strong>: Fine-tune specific node styling without touching CSS.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"diagram-as-code\">Diagram-as-Code\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#diagram-as-code\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Diagram-as-Code”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Every diagram is backed by a readable, editable JSON structure and compatible with Mermaid.js syntax. This means your documentation can live alongside your code.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"premium-aesthetics\">Premium Aesthetics\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#premium-aesthetics\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Premium Aesthetics”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Built with a “Design First” code, FlowMind diagrams are presentation-ready by default. No more ugly, default-grey boxes.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"next-steps\">Next Steps\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#next-steps\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Next Steps”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Ready to get started?\u003C/p>\n\u003Cul>\n\u003Cli>Check out the \u003Ca href=\"/docs/quick-start\">Quick Start\u003C/a> guide to build your first flow.\u003C/li>\n\u003Cli>Learn about the \u003Ca href=\"/docs/canvas-basics\">Canvas Basics\u003C/a>.\u003C/li>\n\u003Cli>Master the \u003Ca href=\"/docs/openflow-dsl\">OpenFlow DSL\u003C/a>.\u003C/li>\n\u003C/ul>",{"headings":264,"localImagePaths":286,"remoteImagePaths":287,"frontmatter":288,"imagePaths":289},[265,268,271,274,277,280,283],{"depth":29,"slug":266,"text":267},"why-openflowkit","Why OpenFlowKit?",{"depth":29,"slug":269,"text":270},"key-features","Key Features",{"depth":36,"slug":272,"text":273},"ai-powered-generation","AI-Powered Generation",{"depth":36,"slug":275,"text":276},"hybrid-canvas","Hybrid Canvas",{"depth":36,"slug":278,"text":279},"diagram-as-code","Diagram-as-Code",{"depth":36,"slug":281,"text":282},"premium-aesthetics","Premium Aesthetics",{"depth":29,"slug":284,"text":285},"next-steps","Next Steps",[],[],{"draft":19,"title":254},[],"mermaid-integration",{"id":290,"data":292,"body":297,"filePath":298,"digest":299,"rendered":300},{"title":293,"editUrl":15,"head":294,"template":17,"sidebar":295,"pagefind":15,"draft":19},"Mermaid Integration",[],{"hidden":19,"attrs":296},{},"FlowMind maintains high compatibility with [Mermaid.js](https://mermaid.js.org/), the industry standard for diagram-as-code.\n\n## Importing Mermaid\n\nYou can paste existing Mermaid code directly into FlowMind.\n\n1. Click the **\"Import\"** button in the toolbar.\n2. Select **\"Mermaid\"**.\n3. Paste your code snippet.\n\n### Supported Diagram Types\nCurrently, FlowMind optimizes for:\n* **Flowcharts** (`graph TD`, `graph LR`)\n* **Sequence Diagrams** (Partial support via conversion)\n\n```mermaid\ngraph TD\n A[Start] --> B{Is it working?}\n B -- Yes --> C[Great!]\n B -- No --> D[Debug]\n```\n\n## Exporting to Mermaid\n\nYou can also export any FlowMind diagram *back* to Mermaid syntax.\nThis is perfect for embedding diagrams in GitHub `README.md` files or Notion documents.\n\n1. Open the **Code Panel** (bottom panel).\n2. Switch to the **\"Mermaid\"** tab.\n3. Copy the generated code.","src/content/docs/mermaid-integration.md","e5e04608cc88e2fa",{"html":301,"metadata":302},"\u003Cp>FlowMind maintains high compatibility with \u003Ca href=\"https://mermaid.js.org/\">Mermaid.js\u003C/a>, the industry standard for diagram-as-code.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"importing-mermaid\">Importing Mermaid\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#importing-mermaid\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Importing Mermaid”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>You can paste existing Mermaid code directly into FlowMind.\u003C/p>\n\u003Col>\n\u003Cli>Click the \u003Cstrong>“Import”\u003C/strong> button in the toolbar.\u003C/li>\n\u003Cli>Select \u003Cstrong>“Mermaid”\u003C/strong>.\u003C/li>\n\u003Cli>Paste your code snippet.\u003C/li>\n\u003C/ol>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"supported-diagram-types\">Supported Diagram Types\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#supported-diagram-types\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Supported Diagram Types”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Currently, FlowMind optimizes for:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Flowcharts\u003C/strong> (\u003Ccode dir=\"auto\">graph TD\u003C/code>, \u003Ccode dir=\"auto\">graph LR\u003C/code>)\u003C/li>\n\u003Cli>\u003Cstrong>Sequence Diagrams\u003C/strong> (Partial support via conversion)\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"expressive-code\">\u003Clink rel=\"stylesheet\" href=\"/_astro/ec.v4551.css\">\u003Cscript type=\"module\" src=\"/_astro/ec.0vx5m.js\">\u003C/script>\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"mermaid\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">graph TD\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">A[Start] --> B{Is it working?}\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">B -- Yes --> C[Great!]\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">B -- No --> D[Debug]\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"graph TD A[Start] --> B{Is it working?} B -- Yes --> C[Great!] B -- No --> D[Debug]\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"exporting-to-mermaid\">Exporting to Mermaid\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#exporting-to-mermaid\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Exporting to Mermaid”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>You can also export any FlowMind diagram \u003Cem>back\u003C/em> to Mermaid syntax.\nThis is perfect for embedding diagrams in GitHub \u003Ccode dir=\"auto\">README.md\u003C/code> files or Notion documents.\u003C/p>\n\u003Col>\n\u003Cli>Open the \u003Cstrong>Code Panel\u003C/strong> (bottom panel).\u003C/li>\n\u003Cli>Switch to the \u003Cstrong>“Mermaid”\u003C/strong> tab.\u003C/li>\n\u003Cli>Copy the generated code.\u003C/li>\n\u003C/ol>",{"headings":303,"localImagePaths":313,"remoteImagePaths":314,"frontmatter":315,"imagePaths":316},[304,307,310],{"depth":29,"slug":305,"text":306},"importing-mermaid","Importing Mermaid",{"depth":36,"slug":308,"text":309},"supported-diagram-types","Supported Diagram Types",{"depth":29,"slug":311,"text":312},"exporting-to-mermaid","Exporting to Mermaid",[],[],{"draft":19,"title":293},[],"mermaid-vs-openflow",{"id":317,"data":319,"body":324,"filePath":325,"digest":326,"rendered":327},{"title":320,"editUrl":15,"head":321,"template":17,"sidebar":322,"pagefind":15,"draft":19},"Mermaid vs OpenFlow",[],{"hidden":19,"attrs":323},{},"# Mermaid.js vs OpenFlowKit\n\nMermaid.js is an incredible text-based diagramming tool that has become the standard for markdown-based documentation. However, when you need a presentation-ready, highly interactive canvas, raw Mermaid can sometimes feel limiting.\n\nThis is why **OpenFlowKit is built on top of Mermaid.js**, giving you the best of both worlds: Diagram-as-code speed with visual-editor polish.\n\n## 1. Aesthetics and Branding\n\n**Mermaid.js:**\n- Renders SVGs based on predefined themes (default, dark, forest, neutral).\n- Customizing styles requires inline CSS classes, which can clutter your markdown.\n\n**OpenFlowKit:**\n- Features a full **White-Label Design System**.\n- You can inject [Theming](/docs/en/theming) tokens dynamically (colors, corner radii, fonts).\n- Nodes automatically adopt glassmorphism, shadows, and modern UI treatments without writing a single line of CSS.\n\n## 2. Interaction and Editing\n\n**Mermaid.js:**\n- Strictly code-in, diagram-out. To move a node, you rewrite the code.\n- Layouts are handled automatically by Dagre, which is great but offers zero manual control if a line routes awkwardly.\n\n**OpenFlowKit:**\n- **Two-Way Sync**: Write code and watch the canvas update, *or* drag a node on the canvas and watch the code update automatically. \n- You get full drag-and-drop capabilities, manual edge routing, and [Smart Layouts](/docs/en/smart-layout) via ELK.js.\n\n## 3. Export Options\n\n**Mermaid.js:**\n- Typically exports as SVG or PNG via a CLI or browser extension.\n\n**OpenFlowKit:**\n- Native [Exporting](/docs/en/exporting) to SVG, high-res PNG/JPG.\n- **Figma Editable**: OpenFlowKit can export diagrams directly to your clipboard in a format that pastes into Figma as native, editable vector layers and text objects.\n\n## 4. Artificial Intelligence\n\nWhile AI can write Mermaid syntax, iterating on it is difficult.\n\n**OpenFlowKit:**\n- Integrated [Flowpilot AI](/docs/en/ask-flowpilot) directly into the [Command Center](/docs/en/command-center).\n- You can prompt the AI, generate the canvas, and then manually adjust the final 10% visually instead of trying to perfectly craft a prompt to fix a misaligned node.\n- Supports **BYOK (Bring Your Own Key)** for 7 different AI providers.\n\n## Direct Compatibility\n\nWe love Mermaid. That is why OpenFlowKit has a native [Mermaid Integration](/docs/en/mermaid-integration). You can paste any existing Mermaid flowchart or state diagram into OpenFlowKit, and it will instantly convert it into editable, styled React Flow nodes.\n\nTry converting your Mermaid diagrams today in the [Editor](/#/canvas).","src/content/docs/mermaid-vs-openflow.md","56ab5fb5e741bb01",{"html":328,"metadata":329},"\u003Cdiv class=\"sl-heading-wrapper level-h1\">\u003Ch1 id=\"mermaidjs-vs-openflowkit\">Mermaid.js vs OpenFlowKit\u003C/h1>\u003Ca class=\"sl-anchor-link\" href=\"#mermaidjs-vs-openflowkit\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Mermaid.js vs OpenFlowKit”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Mermaid.js is an incredible text-based diagramming tool that has become the standard for markdown-based documentation. However, when you need a presentation-ready, highly interactive canvas, raw Mermaid can sometimes feel limiting.\u003C/p>\n\u003Cp>This is why \u003Cstrong>OpenFlowKit is built on top of Mermaid.js\u003C/strong>, giving you the best of both worlds: Diagram-as-code speed with visual-editor polish.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"1-aesthetics-and-branding\">1. Aesthetics and Branding\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#1-aesthetics-and-branding\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “1. Aesthetics and Branding”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>\u003Cstrong>Mermaid.js:\u003C/strong>\u003C/p>\n\u003Cul>\n\u003Cli>Renders SVGs based on predefined themes (default, dark, forest, neutral).\u003C/li>\n\u003Cli>Customizing styles requires inline CSS classes, which can clutter your markdown.\u003C/li>\n\u003C/ul>\n\u003Cp>\u003Cstrong>OpenFlowKit:\u003C/strong>\u003C/p>\n\u003Cul>\n\u003Cli>Features a full \u003Cstrong>White-Label Design System\u003C/strong>.\u003C/li>\n\u003Cli>You can inject \u003Ca href=\"/docs/en/theming\">Theming\u003C/a> tokens dynamically (colors, corner radii, fonts).\u003C/li>\n\u003Cli>Nodes automatically adopt glassmorphism, shadows, and modern UI treatments without writing a single line of CSS.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"2-interaction-and-editing\">2. Interaction and Editing\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#2-interaction-and-editing\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “2. Interaction and Editing”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>\u003Cstrong>Mermaid.js:\u003C/strong>\u003C/p>\n\u003Cul>\n\u003Cli>Strictly code-in, diagram-out. To move a node, you rewrite the code.\u003C/li>\n\u003Cli>Layouts are handled automatically by Dagre, which is great but offers zero manual control if a line routes awkwardly.\u003C/li>\n\u003C/ul>\n\u003Cp>\u003Cstrong>OpenFlowKit:\u003C/strong>\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Two-Way Sync\u003C/strong>: Write code and watch the canvas update, \u003Cem>or\u003C/em> drag a node on the canvas and watch the code update automatically.\u003C/li>\n\u003Cli>You get full drag-and-drop capabilities, manual edge routing, and \u003Ca href=\"/docs/en/smart-layout\">Smart Layouts\u003C/a> via ELK.js.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"3-export-options\">3. Export Options\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#3-export-options\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “3. Export Options”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>\u003Cstrong>Mermaid.js:\u003C/strong>\u003C/p>\n\u003Cul>\n\u003Cli>Typically exports as SVG or PNG via a CLI or browser extension.\u003C/li>\n\u003C/ul>\n\u003Cp>\u003Cstrong>OpenFlowKit:\u003C/strong>\u003C/p>\n\u003Cul>\n\u003Cli>Native \u003Ca href=\"/docs/en/exporting\">Exporting\u003C/a> to SVG, high-res PNG/JPG.\u003C/li>\n\u003Cli>\u003Cstrong>Figma Editable\u003C/strong>: OpenFlowKit can export diagrams directly to your clipboard in a format that pastes into Figma as native, editable vector layers and text objects.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"4-artificial-intelligence\">4. Artificial Intelligence\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#4-artificial-intelligence\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “4. Artificial Intelligence”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>While AI can write Mermaid syntax, iterating on it is difficult.\u003C/p>\n\u003Cp>\u003Cstrong>OpenFlowKit:\u003C/strong>\u003C/p>\n\u003Cul>\n\u003Cli>Integrated \u003Ca href=\"/docs/en/ask-flowpilot\">Flowpilot AI\u003C/a> directly into the \u003Ca href=\"/docs/en/command-center\">Command Center\u003C/a>.\u003C/li>\n\u003Cli>You can prompt the AI, generate the canvas, and then manually adjust the final 10% visually instead of trying to perfectly craft a prompt to fix a misaligned node.\u003C/li>\n\u003Cli>Supports \u003Cstrong>BYOK (Bring Your Own Key)\u003C/strong> for 7 different AI providers.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"direct-compatibility\">Direct Compatibility\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#direct-compatibility\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Direct Compatibility”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>We love Mermaid. That is why OpenFlowKit has a native \u003Ca href=\"/docs/en/mermaid-integration\">Mermaid Integration\u003C/a>. You can paste any existing Mermaid flowchart or state diagram into OpenFlowKit, and it will instantly convert it into editable, styled React Flow nodes.\u003C/p>\n\u003Cp>Try converting your Mermaid diagrams today in the \u003Ca href=\"/#/canvas\">Editor\u003C/a>.\u003C/p>",{"headings":330,"localImagePaths":349,"remoteImagePaths":350,"frontmatter":351,"imagePaths":352},[331,334,337,340,343,346],{"depth":67,"slug":332,"text":333},"mermaidjs-vs-openflowkit","Mermaid.js vs OpenFlowKit",{"depth":29,"slug":335,"text":336},"1-aesthetics-and-branding","1. Aesthetics and Branding",{"depth":29,"slug":338,"text":339},"2-interaction-and-editing","2. Interaction and Editing",{"depth":29,"slug":341,"text":342},"3-export-options","3. Export Options",{"depth":29,"slug":344,"text":345},"4-artificial-intelligence","4. Artificial Intelligence",{"depth":29,"slug":347,"text":348},"direct-compatibility","Direct Compatibility",[],[],{"draft":19,"title":320},[],"node-types",{"id":353,"data":355,"body":360,"filePath":361,"digest":362,"rendered":363},{"title":356,"editUrl":15,"head":357,"template":17,"sidebar":358,"pagefind":15,"draft":19},"Node Types",[],{"hidden":19,"attrs":359},{},"FlowMind supports several specialized node types to handle different diagramming needs.\n\n## 1. Custom Node (Default)\n\nThe workhorse of your diagrams. It supports a title, an optional icon, and rich connection handles.\n* **Best for**: Process steps, services, database tables, or general entities.\n* **Features**: Resizable, editable label, support for icons.\n\n## 2. Text Node / Annotation\n\nA lightweight, borderless node used for adding comments or labels to the canvas without affecting the flow structure.\n* **Best for**: Adding sticky notes, section headers, or explanatory text.\n* **Usage**: Select \"Text\" from the toolbar or press \\`T\\`.\n\n## 3. Group Node\n\nContainer nodes that visually group other nodes together. Moving a group moves all nodes inside it.\n* **Best for**: Visualizing sub-systems, VPCs, or logical boundaries.\n* **Usage**: Select nodes -> Right Click -> \"Group Selection\".\n\n## 4. Swimlane Node\n\nVertical or horizontal lanes to organize processes by actor or department.\n* **Best for**: Cross-functional flowcharts.\n\n## 5. Image Node\n\nEmbed arbitrary images directly onto the canvas.\n* **Best for**: Adding logos, screenshots, or reference diagrams.\n* **Usage**: Drag and drop an image file directly onto the canvas.","src/content/docs/node-types.md","4d34e08a385b3dd4",{"html":364,"metadata":365},"\u003Cp>FlowMind supports several specialized node types to handle different diagramming needs.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"1-custom-node-default\">1. Custom Node (Default)\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#1-custom-node-default\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “1. Custom Node (Default)”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>The workhorse of your diagrams. It supports a title, an optional icon, and rich connection handles.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Best for\u003C/strong>: Process steps, services, database tables, or general entities.\u003C/li>\n\u003Cli>\u003Cstrong>Features\u003C/strong>: Resizable, editable label, support for icons.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"2-text-node--annotation\">2. Text Node / Annotation\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#2-text-node--annotation\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “2. Text Node / Annotation”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>A lightweight, borderless node used for adding comments or labels to the canvas without affecting the flow structure.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Best for\u003C/strong>: Adding sticky notes, section headers, or explanatory text.\u003C/li>\n\u003Cli>\u003Cstrong>Usage\u003C/strong>: Select “Text” from the toolbar or press `T`.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"3-group-node\">3. Group Node\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#3-group-node\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “3. Group Node”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Container nodes that visually group other nodes together. Moving a group moves all nodes inside it.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Best for\u003C/strong>: Visualizing sub-systems, VPCs, or logical boundaries.\u003C/li>\n\u003Cli>\u003Cstrong>Usage\u003C/strong>: Select nodes -> Right Click -> “Group Selection”.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"4-swimlane-node\">4. Swimlane Node\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#4-swimlane-node\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “4. Swimlane Node”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Vertical or horizontal lanes to organize processes by actor or department.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Best for\u003C/strong>: Cross-functional flowcharts.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"5-image-node\">5. Image Node\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#5-image-node\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “5. Image Node”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Embed arbitrary images directly onto the canvas.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Best for\u003C/strong>: Adding logos, screenshots, or reference diagrams.\u003C/li>\n\u003Cli>\u003Cstrong>Usage\u003C/strong>: Drag and drop an image file directly onto the canvas.\u003C/li>\n\u003C/ul>",{"headings":366,"localImagePaths":382,"remoteImagePaths":383,"frontmatter":384,"imagePaths":385},[367,370,373,376,379],{"depth":29,"slug":368,"text":369},"1-custom-node-default","1. Custom Node (Default)",{"depth":29,"slug":371,"text":372},"2-text-node--annotation","2. Text Node / Annotation",{"depth":29,"slug":374,"text":375},"3-group-node","3. Group Node",{"depth":29,"slug":377,"text":378},"4-swimlane-node","4. Swimlane Node",{"depth":29,"slug":380,"text":381},"5-image-node","5. Image Node",[],[],{"draft":19,"title":356},[],"openflow-dsl",{"id":386,"data":388,"body":393,"filePath":394,"digest":395,"rendered":396},{"title":389,"editUrl":15,"head":390,"template":17,"sidebar":391,"pagefind":15,"draft":19},"OpenFlow DSL",[],{"hidden":19,"attrs":392},{},"# 🧠 FlowMind DSL Syntax Guide (V2)\n\nFlowMind uses a clean, human-readable DSL to define diagrams using text.\nVersion 2 introduces:\n\n* Explicit node IDs\n* Styling attributes\n* Groups / containers\n* Edge customization\n\n---\n\n# 1️⃣ Document Header\n\nEvery DSL file can begin with optional metadata:\n\n```yaml\nflow: \"My Awesome Workflow\"\ndirection: TB\n```\n\n### Fields\n\n| Field | Description |\n| ----------- | -------------------------------------------------------------- |\n| `flow` | Title of the diagram |\n| `direction` | Layout direction: `TB` (Top to Bottom) or `LR` (Left to Right) |\n\n---\n\n# 2️⃣ Nodes\n\nNodes define diagram elements.\n\n## Basic Syntax\n\n```\n[start] Start Process\n[process] Handle Request\n[end] End Process\n```\n\n---\n\n## With Explicit IDs\n\nUseful for clarity, especially in large flows.\n\n```\n[start] start: Start Process\n[process] proc1: Handle Request\n[end] end: End Process\n\nstart -> proc1\nproc1 -> end\n```\n\n---\n\n## With Attributes\n\nAttributes use JSON-like syntax:\n\n```\n[process] p1: Critical Step { color: \"red\", icon: \"alert-triangle\" }\n[system] db: Database { icon: \"database\" }\n```\n\n### Attribute Examples\n\n| Attribute | Purpose |\n| --------- | --------------------- |\n| `color` | Override node color |\n| `icon` | Add icon |\n| `style` | Custom style modifier |\n\n---\n\n## Supported Node Types\n\n| DSL Type | Shape | Default Color |\n| ----------- | ----------------- | ------------- |\n| `start` | Capsule | Emerald |\n| `end` | Capsule | Red |\n| `process` | Rounded rectangle | Slate |\n| `decision` | Diamond | Amber |\n| `system` | Custom node | Violet |\n| `note` | Sticky note | Yellow |\n| `section` | Group container | Blue |\n| `container` | Generic group | Gray |\n\nIf a node is referenced in a connection but not declared, it defaults to `process`.\n\n---\n\n# 3️⃣ Edges (Connections)\n\nConnections define flow between nodes.\n\n## Basic Connection\n\n```\nStart Process -> Handle Request\n```\n\n---\n\n## Edge Types\n\n| Symbol | Meaning |\n| ------ | ----------- |\n| `->` | Solid line |\n| `-->` | Curved line |\n| `..>` | Dashed line |\n| `==>` | Thick line |\n\nExample:\n\n```\nA ..> B\nC ==> D\n```\n\n---\n\n## Labeled Connections\n\nUse pipes:\n\n```\nIs Valid? ->|Yes| Save Data\nIs Valid? ->|No| Return Error\n```\n\n---\n\n## Edge Attributes\n\n```\nA -> B { style: \"dashed\", label: \"Async\" }\n```\n\n---\n\n# 4️⃣ Groups\n\nUse `group` to cluster nodes.\n\n```\ngroup \"Backend Services\" {\n [process] api: API Server\n [system] db: Database\n api -> db\n}\n```\n\nGroups help visually separate logical areas.\n\n---\n\n# 5️⃣ Comments\n\nLines starting with `#` are ignored.\n\n```\n# This is a comment\n[start] Begin\n```\n\n---\n\n# ✅ Complete Example\n\n```yaml\nflow: \"User Login Flow\"\ndirection: TB\n\n# Define Nodes\n[start] user: User\n[process] login: Login Page { icon: \"log-in\" }\n\ngroup \"Authentication\" {\n [system] auth: Auth Service\n [decision] check: Is Valid?\n}\n\n[end] dash: Dashboard\n[end] err: Error\n\n# Define Logic\nuser -> login\nlogin -> auth\nauth -> check\n\ncheck ->|Yes| dash { color: \"green\" }\ncheck ->|No| err { color: \"red\", style: \"dashed\" }\n```\n\n---\n\n# 🤖 LLM Agent Prompt Template\n\nIf someone wants to generate FlowMind DSL using an LLM agent, they can paste the following prompt:\n\n---\n\n## Copy-Paste Prompt for LLM\n\n```\nYou are an expert FlowMind DSL V2 generator.\n\nYour job is to convert a user's workflow description into valid FlowMind DSL.\n\nYou must strictly follow the FlowMind DSL V2 specification defined below.\n\n========================================\nFLOWMIND DSL V2 SPECIFICATION\n========================================\n\n1. DOCUMENT HEADER (Required)\n\nEvery output MUST begin with:\n\nflow: \"Title Here\"\ndirection: TB or LR\n\nRules:\n- Always generate a meaningful title.\n- Default to TB unless user clearly needs horizontal layout.\n\n----------------------------------------\n\n2. NODE DECLARATION RULES\n\nNode syntax:\n\n[type] id: Label { optional_attributes }\n\nExample:\n[process] p1: Handle Request\n[decision] d1: Is Valid? { icon: \"help-circle\" }\n\nRules:\n- ALWAYS use explicit IDs.\n- IDs must be short, lowercase, no spaces.\n- IDs must be unique.\n- Use semantic naming (start, login, checkAuth, db, etc).\n- Do NOT reuse labels as IDs.\n- Do NOT skip node declarations.\n\nIf a node is referenced in a connection, it MUST be declared first.\n\n----------------------------------------\n\n3. SUPPORTED NODE TYPES\n\nUse ONLY these types:\n\nstart\nend\nprocess\ndecision\nsystem\nnote\nsection\ncontainer\n\nGuidelines:\n\nstart → beginning of flow\nend → termination states\nprocess → actions or steps\ndecision → branching logic\nsystem → external system/service/database\nnote → annotations\nsection → major grouped area\ncontainer → generic grouping\n\n----------------------------------------\n\n4. NODE ATTRIBUTES (Optional)\n\nAttributes use JSON-like syntax:\n\n{ color: \"red\", icon: \"database\", style: \"dashed\" }\n\nRules:\n- Only add attributes if meaningful.\n- Keep styling minimal.\n- Do not invent unsupported properties.\n\n----------------------------------------\n\n5. EDGES (CONNECTIONS)\n\nBasic syntax:\nid1 -> id2\n\nEdge types:\n-> solid\n--> curved\n..> dashed\n==> thick\n\nLabeled edges:\nid1 ->|Yes| id2\n\nEdge with attributes:\nid1 -> id2 { label: \"Async\", style: \"dashed\" }\n\nRules:\n- Always connect using IDs, not labels.\n- Decision nodes MUST use labeled edges.\n- Every branch from a decision must be explicit.\n- No floating nodes.\n\n----------------------------------------\n\n6. GROUPS\n\nUse grouping when logical clustering exists.\n\nSyntax:\n\ngroup \"Group Name\" {\n node declarations\n internal connections\n}\n\nRules:\n- Groups should wrap related nodes only.\n- Connections across groups should be declared outside the group block.\n\n----------------------------------------\n\n7. COMMENTS\n\nUse # for comments sparingly.\nDo not over-comment.\n\n----------------------------------------\n\n8. OUTPUT RULES (STRICT)\n\nYou MUST:\n\n- Output ONLY valid FlowMind DSL\n- Do NOT explain\n- Do NOT use markdown formatting\n- Do NOT wrap in code blocks\n- Do NOT add commentary\n- Do NOT describe what you are doing\n- Do NOT output anything except the DSL\n\nIf user description is vague:\n- Make reasonable assumptions\n- Choose logical structure\n- Keep flow clean and readable\n\n========================================\nLOGIC CONVERSION STRATEGY\n========================================\n\nWhen converting user input:\n\n1. Identify:\n - Start event\n - End states\n - Actions\n - Decisions\n - External systems\n - Logical clusters\n\n2. Convert:\n - Events → start / end\n - Actions → process\n - Branching → decision\n - Databases/APIs → system\n - Parallel logic → separate branches\n - Error paths → explicit end nodes\n\n3. Ensure:\n - Every path leads to an end\n - No orphan nodes\n - Clean logical readability\n\n========================================\nUSER REQUEST\n========================================\n\nConvert the following workflow description into FlowMind DSL V2:\n\n{{USER_WORKFLOW_DESCRIPTION}}\n\nGenerate the DSL now.\n```\n\n---","src/content/docs/openflow-dsl.md","2f9ac96cd24eecfb",{"html":397,"metadata":398},"\u003Cdiv class=\"sl-heading-wrapper level-h1\">\u003Ch1 id=\"-flowmind-dsl-syntax-guide-v2\">🧠 FlowMind DSL Syntax Guide (V2)\u003C/h1>\u003Ca class=\"sl-anchor-link\" href=\"#-flowmind-dsl-syntax-guide-v2\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “🧠 FlowMind DSL Syntax Guide (V2)”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>FlowMind uses a clean, human-readable DSL to define diagrams using text.\nVersion 2 introduces:\u003C/p>\n\u003Cul>\n\u003Cli>Explicit node IDs\u003C/li>\n\u003Cli>Styling attributes\u003C/li>\n\u003Cli>Groups / containers\u003C/li>\n\u003Cli>Edge customization\u003C/li>\n\u003C/ul>\n\u003Chr>\n\u003Cdiv class=\"sl-heading-wrapper level-h1\">\u003Ch1 id=\"1️⃣-document-header\">1️⃣ Document Header\u003C/h1>\u003Ca class=\"sl-anchor-link\" href=\"#1️⃣-document-header\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “1️⃣ Document Header”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Every DSL file can begin with optional metadata:\u003C/p>\n\u003Cdiv class=\"expressive-code\">\u003Clink rel=\"stylesheet\" href=\"/_astro/ec.v4551.css\">\u003Cscript type=\"module\" src=\"/_astro/ec.0vx5m.js\">\u003C/script>\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"yaml\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#7FDBCA;--1:#111111\">flow\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">: \u003C/span>\u003Cspan style=\"--0:#D9F5DD;--1:#111111\">\"\u003C/span>\u003Cspan style=\"--0:#ECC48D;--1:#984E4D\">My Awesome Workflow\u003C/span>\u003Cspan style=\"--0:#D9F5DD;--1:#111111\">\"\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#7FDBCA;--1:#111111\">direction\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">: \u003C/span>\u003Cspan style=\"--0:#ECC48D;--1:#3B61B0\">TB\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"flow: "My Awesome Workflow"direction: TB\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"fields\">Fields\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#fields\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Fields”\u003C/span>\u003C/a>\u003C/div>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>Field\u003C/th>\u003Cth>Description\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">flow\u003C/code>\u003C/td>\u003Ctd>Title of the diagram\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">direction\u003C/code>\u003C/td>\u003Ctd>Layout direction: \u003Ccode dir=\"auto\">TB\u003C/code> (Top to Bottom) or \u003Ccode dir=\"auto\">LR\u003C/code> (Left to Right)\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Chr>\n\u003Cdiv class=\"sl-heading-wrapper level-h1\">\u003Ch1 id=\"2️⃣-nodes\">2️⃣ Nodes\u003C/h1>\u003Ca class=\"sl-anchor-link\" href=\"#2️⃣-nodes\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “2️⃣ Nodes”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Nodes define diagram elements.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"basic-syntax\">Basic Syntax\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#basic-syntax\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Basic Syntax”\u003C/span>\u003C/a>\u003C/div>\n\u003Cdiv class=\"expressive-code\">\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"plaintext\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">[start] Start Process\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">[process] Handle Request\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">[end] End Process\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"[start] Start Process[process] Handle Request[end] End Process\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Chr>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"with-explicit-ids\">With Explicit IDs\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#with-explicit-ids\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “With Explicit IDs”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Useful for clarity, especially in large flows.\u003C/p>\n\u003Cdiv class=\"expressive-code\">\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"plaintext\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">[start] start: Start Process\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">[process] proc1: Handle Request\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">[end] end: End Process\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">start -> proc1\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">proc1 -> end\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"[start] start: Start Process[process] proc1: Handle Request[end] end: End Processstart -> proc1proc1 -> end\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Chr>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"with-attributes\">With Attributes\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#with-attributes\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “With Attributes”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Attributes use JSON-like syntax:\u003C/p>\n\u003Cdiv class=\"expressive-code\">\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"plaintext\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">[process] p1: Critical Step { color: \"red\", icon: \"alert-triangle\" }\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">[system] db: Database { icon: \"database\" }\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"[process] p1: Critical Step { color: "red", icon: "alert-triangle" }[system] db: Database { icon: "database" }\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"attribute-examples\">Attribute Examples\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#attribute-examples\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Attribute Examples”\u003C/span>\u003C/a>\u003C/div>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>Attribute\u003C/th>\u003Cth>Purpose\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">color\u003C/code>\u003C/td>\u003Ctd>Override node color\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">icon\u003C/code>\u003C/td>\u003Ctd>Add icon\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">style\u003C/code>\u003C/td>\u003Ctd>Custom style modifier\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Chr>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"supported-node-types\">Supported Node Types\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#supported-node-types\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Supported Node Types”\u003C/span>\u003C/a>\u003C/div>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>DSL Type\u003C/th>\u003Cth>Shape\u003C/th>\u003Cth>Default Color\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">start\u003C/code>\u003C/td>\u003Ctd>Capsule\u003C/td>\u003Ctd>Emerald\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">end\u003C/code>\u003C/td>\u003Ctd>Capsule\u003C/td>\u003Ctd>Red\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">process\u003C/code>\u003C/td>\u003Ctd>Rounded rectangle\u003C/td>\u003Ctd>Slate\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">decision\u003C/code>\u003C/td>\u003Ctd>Diamond\u003C/td>\u003Ctd>Amber\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">system\u003C/code>\u003C/td>\u003Ctd>Custom node\u003C/td>\u003Ctd>Violet\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">note\u003C/code>\u003C/td>\u003Ctd>Sticky note\u003C/td>\u003Ctd>Yellow\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">section\u003C/code>\u003C/td>\u003Ctd>Group container\u003C/td>\u003Ctd>Blue\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">container\u003C/code>\u003C/td>\u003Ctd>Generic group\u003C/td>\u003Ctd>Gray\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Cp>If a node is referenced in a connection but not declared, it defaults to \u003Ccode dir=\"auto\">process\u003C/code>.\u003C/p>\n\u003Chr>\n\u003Cdiv class=\"sl-heading-wrapper level-h1\">\u003Ch1 id=\"3️⃣-edges-connections\">3️⃣ Edges (Connections)\u003C/h1>\u003Ca class=\"sl-anchor-link\" href=\"#3️⃣-edges-connections\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “3️⃣ Edges (Connections)”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Connections define flow between nodes.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"basic-connection\">Basic Connection\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#basic-connection\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Basic Connection”\u003C/span>\u003C/a>\u003C/div>\n\u003Cdiv class=\"expressive-code\">\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"plaintext\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Start Process -> Handle Request\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"Start Process -> Handle Request\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Chr>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"edge-types\">Edge Types\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#edge-types\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Edge Types”\u003C/span>\u003C/a>\u003C/div>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>Symbol\u003C/th>\u003Cth>Meaning\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">->\u003C/code>\u003C/td>\u003Ctd>Solid line\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">-->\u003C/code>\u003C/td>\u003Ctd>Curved line\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">..>\u003C/code>\u003C/td>\u003Ctd>Dashed line\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">==>\u003C/code>\u003C/td>\u003Ctd>Thick line\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Cp>Example:\u003C/p>\n\u003Cdiv class=\"expressive-code\">\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"plaintext\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">A ..> B\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">C ==> D\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"A ..> BC ==> D\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Chr>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"labeled-connections\">Labeled Connections\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#labeled-connections\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Labeled Connections”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Use pipes:\u003C/p>\n\u003Cdiv class=\"expressive-code\">\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"plaintext\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Is Valid? ->|Yes| Save Data\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Is Valid? ->|No| Return Error\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"Is Valid? ->|Yes| Save DataIs Valid? ->|No| Return Error\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Chr>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"edge-attributes\">Edge Attributes\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#edge-attributes\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Edge Attributes”\u003C/span>\u003C/a>\u003C/div>\n\u003Cdiv class=\"expressive-code\">\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"plaintext\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">A -> B { style: \"dashed\", label: \"Async\" }\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"A -> B { style: "dashed", label: "Async" }\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Chr>\n\u003Cdiv class=\"sl-heading-wrapper level-h1\">\u003Ch1 id=\"4️⃣-groups\">4️⃣ Groups\u003C/h1>\u003Ca class=\"sl-anchor-link\" href=\"#4️⃣-groups\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “4️⃣ Groups”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Use \u003Ccode dir=\"auto\">group\u003C/code> to cluster nodes.\u003C/p>\n\u003Cdiv class=\"expressive-code\">\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"plaintext\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">group \"Backend Services\" {\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">[process] api: API Server\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">[system] db: Database\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">api -> db\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">}\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"group "Backend Services" { [process] api: API Server [system] db: Database api -> db}\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Cp>Groups help visually separate logical areas.\u003C/p>\n\u003Chr>\n\u003Cdiv class=\"sl-heading-wrapper level-h1\">\u003Ch1 id=\"5️⃣-comments\">5️⃣ Comments\u003C/h1>\u003Ca class=\"sl-anchor-link\" href=\"#5️⃣-comments\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “5️⃣ Comments”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Lines starting with \u003Ccode dir=\"auto\">#\u003C/code> are ignored.\u003C/p>\n\u003Cdiv class=\"expressive-code\">\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"plaintext\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\"># This is a comment\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">[start] Begin\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"# This is a comment[start] Begin\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Chr>\n\u003Cdiv class=\"sl-heading-wrapper level-h1\">\u003Ch1 id=\"-complete-example\">✅ Complete Example\u003C/h1>\u003Ca class=\"sl-anchor-link\" href=\"#-complete-example\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “✅ Complete Example”\u003C/span>\u003C/a>\u003C/div>\n\u003Cdiv class=\"expressive-code\">\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"yaml\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#7FDBCA;--1:#111111\">flow\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">: \u003C/span>\u003Cspan style=\"--0:#D9F5DD;--1:#111111\">\"\u003C/span>\u003Cspan style=\"--0:#ECC48D;--1:#984E4D\">User Login Flow\u003C/span>\u003Cspan style=\"--0:#D9F5DD;--1:#111111\">\"\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#7FDBCA;--1:#111111\">direction\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">: \u003C/span>\u003Cspan style=\"--0:#ECC48D;--1:#3B61B0\">TB\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#919F9F;--1:#5F636F\"># Define Nodes\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">[\u003C/span>\u003Cspan style=\"--0:#ECC48D;--1:#3B61B0\">start\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">] \u003C/span>\u003Cspan style=\"--0:#7FDBCA;--1:#111111\">user\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">: \u003C/span>\u003Cspan style=\"--0:#ECC48D;--1:#3B61B0\">User\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">[\u003C/span>\u003Cspan style=\"--0:#ECC48D;--1:#3B61B0\">process\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">] \u003C/span>\u003Cspan style=\"--0:#7FDBCA;--1:#111111\">login\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">: \u003C/span>\u003Cspan style=\"--0:#7FDBCA;--1:#111111\">Login Page { icon\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">: \u003C/span>\u003Cspan style=\"--0:#D9F5DD;--1:#111111\">\"\u003C/span>\u003Cspan style=\"--0:#ECC48D;--1:#984E4D\">log-in\u003C/span>\u003Cspan style=\"--0:#D9F5DD;--1:#111111\">\"\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> }\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#ECC48D;--1:#3B61B0\">group \"Authentication\" {\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">[\u003C/span>\u003Cspan style=\"--0:#ECC48D;--1:#3B61B0\">system\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">] \u003C/span>\u003Cspan style=\"--0:#7FDBCA;--1:#111111\">auth\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">: \u003C/span>\u003Cspan style=\"--0:#ECC48D;--1:#3B61B0\">Auth Service\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">[\u003C/span>\u003Cspan style=\"--0:#ECC48D;--1:#3B61B0\">decision\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">] \u003C/span>\u003Cspan style=\"--0:#7FDBCA;--1:#111111\">check\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">: \u003C/span>\u003Cspan style=\"--0:#ECC48D;--1:#3B61B0\">Is Valid?\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">}\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">[\u003C/span>\u003Cspan style=\"--0:#ECC48D;--1:#3B61B0\">end\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">] \u003C/span>\u003Cspan style=\"--0:#7FDBCA;--1:#111111\">dash\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">: \u003C/span>\u003Cspan style=\"--0:#ECC48D;--1:#3B61B0\">Dashboard\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">[\u003C/span>\u003Cspan style=\"--0:#ECC48D;--1:#3B61B0\">end\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">] \u003C/span>\u003Cspan style=\"--0:#7FDBCA;--1:#111111\">err\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">: \u003C/span>\u003Cspan style=\"--0:#ECC48D;--1:#3B61B0\">Error\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#919F9F;--1:#5F636F\"># Define Logic\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#ECC48D;--1:#3B61B0\">user -> login\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#ECC48D;--1:#3B61B0\">login -> auth\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#ECC48D;--1:#3B61B0\">auth -> check\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#7FDBCA;--1:#111111\">check ->|Yes| dash { color\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">: \u003C/span>\u003Cspan style=\"--0:#D9F5DD;--1:#111111\">\"\u003C/span>\u003Cspan style=\"--0:#ECC48D;--1:#984E4D\">green\u003C/span>\u003Cspan style=\"--0:#D9F5DD;--1:#111111\">\"\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> }\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#7FDBCA;--1:#111111\">check ->|No| err { color\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">: \u003C/span>\u003Cspan style=\"--0:#D9F5DD;--1:#111111\">\"\u003C/span>\u003Cspan style=\"--0:#ECC48D;--1:#984E4D\">red\u003C/span>\u003Cspan style=\"--0:#D9F5DD;--1:#111111\">\"\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">, \u003C/span>\u003Cspan style=\"--0:#7FDBCA;--1:#111111\">style\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">: \u003C/span>\u003Cspan style=\"--0:#D9F5DD;--1:#111111\">\"\u003C/span>\u003Cspan style=\"--0:#ECC48D;--1:#984E4D\">dashed\u003C/span>\u003Cspan style=\"--0:#D9F5DD;--1:#111111\">\"\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> }\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"flow: "User Login Flow"direction: TB# Define Nodes[start] user: User[process] login: Login Page { icon: "log-in" }group "Authentication" { [system] auth: Auth Service [decision] check: Is Valid?}[end] dash: Dashboard[end] err: Error# Define Logicuser -> loginlogin -> authauth -> checkcheck ->|Yes| dash { color: "green" }check ->|No| err { color: "red", style: "dashed" }\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Chr>\n\u003Cdiv class=\"sl-heading-wrapper level-h1\">\u003Ch1 id=\"-llm-agent-prompt-template\">🤖 LLM Agent Prompt Template\u003C/h1>\u003Ca class=\"sl-anchor-link\" href=\"#-llm-agent-prompt-template\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “🤖 LLM Agent Prompt Template”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>If someone wants to generate FlowMind DSL using an LLM agent, they can paste the following prompt:\u003C/p>\n\u003Chr>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"copy-paste-prompt-for-llm\">Copy-Paste Prompt for LLM\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#copy-paste-prompt-for-llm\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Copy-Paste Prompt for LLM”\u003C/span>\u003C/a>\u003C/div>\n\u003Cdiv class=\"expressive-code\">\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"plaintext\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">You are an expert FlowMind DSL V2 generator.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Your job is to convert a user's workflow description into valid FlowMind DSL.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">You must strictly follow the FlowMind DSL V2 specification defined below.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">========================================\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">FLOWMIND DSL V2 SPECIFICATION\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">========================================\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">1. DOCUMENT HEADER (Required)\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Every output MUST begin with:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">flow: \"Title Here\"\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">direction: TB or LR\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Rules:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Always generate a meaningful title.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Default to TB unless user clearly needs horizontal layout.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">----------------------------------------\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">2. NODE DECLARATION RULES\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Node syntax:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">[type] id: Label { optional_attributes }\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Example:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">[process] p1: Handle Request\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">[decision] d1: Is Valid? { icon: \"help-circle\" }\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Rules:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- ALWAYS use explicit IDs.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- IDs must be short, lowercase, no spaces.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- IDs must be unique.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Use semantic naming (start, login, checkAuth, db, etc).\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Do NOT reuse labels as IDs.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Do NOT skip node declarations.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">If a node is referenced in a connection, it MUST be declared first.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">----------------------------------------\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">3. SUPPORTED NODE TYPES\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Use ONLY these types:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">start\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">end\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">process\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">decision\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">system\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">note\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">section\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">container\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Guidelines:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">start → beginning of flow\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">end → termination states\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">process → actions or steps\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">decision → branching logic\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">system → external system/service/database\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">note → annotations\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">section → major grouped area\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">container → generic grouping\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">----------------------------------------\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">4. NODE ATTRIBUTES (Optional)\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Attributes use JSON-like syntax:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">{ color: \"red\", icon: \"database\", style: \"dashed\" }\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Rules:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Only add attributes if meaningful.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Keep styling minimal.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Do not invent unsupported properties.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">----------------------------------------\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">5. EDGES (CONNECTIONS)\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Basic syntax:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">id1 -> id2\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Edge types:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">-> solid\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">--> curved\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">..> dashed\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">==> thick\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Labeled edges:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">id1 ->|Yes| id2\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Edge with attributes:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">id1 -> id2 { label: \"Async\", style: \"dashed\" }\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Rules:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Always connect using IDs, not labels.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Decision nodes MUST use labeled edges.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Every branch from a decision must be explicit.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- No floating nodes.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">----------------------------------------\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">6. GROUPS\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Use grouping when logical clustering exists.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Syntax:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">group \"Group Name\" {\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">node declarations\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">internal connections\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">}\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Rules:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Groups should wrap related nodes only.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Connections across groups should be declared outside the group block.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">----------------------------------------\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">7. COMMENTS\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Use # for comments sparingly.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Do not over-comment.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">----------------------------------------\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">8. OUTPUT RULES (STRICT)\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">You MUST:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Output ONLY valid FlowMind DSL\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Do NOT explain\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Do NOT use markdown formatting\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Do NOT wrap in code blocks\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Do NOT add commentary\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Do NOT describe what you are doing\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Do NOT output anything except the DSL\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">If user description is vague:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Make reasonable assumptions\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Choose logical structure\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Keep flow clean and readable\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">========================================\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">LOGIC CONVERSION STRATEGY\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">========================================\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">When converting user input:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">1. Identify:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Start event\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- End states\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Actions\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Decisions\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- External systems\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Logical clusters\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">2. Convert:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Events → start / end\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Actions → process\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Branching → decision\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Databases/APIs → system\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Parallel logic → separate branches\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Error paths → explicit end nodes\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">3. Ensure:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Every path leads to an end\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- No orphan nodes\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Clean logical readability\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">========================================\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">USER REQUEST\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">========================================\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Convert the following workflow description into FlowMind DSL V2:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">{{USER_WORKFLOW_DESCRIPTION}}\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Generate the DSL now.\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"You are an expert FlowMind DSL V2 generator.Your job is to convert a user's workflow description into valid FlowMind DSL.You must strictly follow the FlowMind DSL V2 specification defined below.========================================FLOWMIND DSL V2 SPECIFICATION========================================1. DOCUMENT HEADER (Required)Every output MUST begin with:flow: "Title Here"direction: TB or LRRules:- Always generate a meaningful title.- Default to TB unless user clearly needs horizontal layout.----------------------------------------2. NODE DECLARATION RULESNode syntax:[type] id: Label { optional_attributes }Example:[process] p1: Handle Request[decision] d1: Is Valid? { icon: "help-circle" }Rules:- ALWAYS use explicit IDs.- IDs must be short, lowercase, no spaces.- IDs must be unique.- Use semantic naming (start, login, checkAuth, db, etc).- Do NOT reuse labels as IDs.- Do NOT skip node declarations.If a node is referenced in a connection, it MUST be declared first.----------------------------------------3. SUPPORTED NODE TYPESUse ONLY these types:startendprocessdecisionsystemnotesectioncontainerGuidelines:start → beginning of flowend → termination statesprocess → actions or stepsdecision → branching logicsystem → external system/service/databasenote → annotationssection → major grouped areacontainer → generic grouping----------------------------------------4. NODE ATTRIBUTES (Optional)Attributes use JSON-like syntax:{ color: "red", icon: "database", style: "dashed" }Rules:- Only add attributes if meaningful.- Keep styling minimal.- Do not invent unsupported properties.----------------------------------------5. EDGES (CONNECTIONS)Basic syntax:id1 -> id2Edge types:-> solid--> curved..> dashed==> thickLabeled edges:id1 ->|Yes| id2Edge with attributes:id1 -> id2 { label: "Async", style: "dashed" }Rules:- Always connect using IDs, not labels.- Decision nodes MUST use labeled edges.- Every branch from a decision must be explicit.- No floating nodes.----------------------------------------6. GROUPSUse grouping when logical clustering exists.Syntax:group "Group Name" { node declarations internal connections}Rules:- Groups should wrap related nodes only.- Connections across groups should be declared outside the group block.----------------------------------------7. COMMENTSUse # for comments sparingly.Do not over-comment.----------------------------------------8. OUTPUT RULES (STRICT)You MUST:- Output ONLY valid FlowMind DSL- Do NOT explain- Do NOT use markdown formatting- Do NOT wrap in code blocks- Do NOT add commentary- Do NOT describe what you are doing- Do NOT output anything except the DSLIf user description is vague:- Make reasonable assumptions- Choose logical structure- Keep flow clean and readable========================================LOGIC CONVERSION STRATEGY========================================When converting user input:1. Identify: - Start event - End states - Actions - Decisions - External systems - Logical clusters2. Convert: - Events → start / end - Actions → process - Branching → decision - Databases/APIs → system - Parallel logic → separate branches - Error paths → explicit end nodes3. Ensure: - Every path leads to an end - No orphan nodes - Clean logical readability========================================USER REQUEST========================================Convert the following workflow description into FlowMind DSL V2:{{USER_WORKFLOW_DESCRIPTION}}Generate the DSL now.\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Chr>",{"headings":399,"localImagePaths":457,"remoteImagePaths":458,"frontmatter":459,"imagePaths":460},[400,403,406,409,412,415,418,421,424,427,430,433,436,439,442,445,448,451,454],{"depth":67,"slug":401,"text":402},"-flowmind-dsl-syntax-guide-v2","🧠 FlowMind DSL Syntax Guide (V2)",{"depth":67,"slug":404,"text":405},"1️⃣-document-header","1️⃣ Document Header",{"depth":36,"slug":407,"text":408},"fields","Fields",{"depth":67,"slug":410,"text":411},"2️⃣-nodes","2️⃣ Nodes",{"depth":29,"slug":413,"text":414},"basic-syntax","Basic Syntax",{"depth":29,"slug":416,"text":417},"with-explicit-ids","With Explicit IDs",{"depth":29,"slug":419,"text":420},"with-attributes","With Attributes",{"depth":36,"slug":422,"text":423},"attribute-examples","Attribute Examples",{"depth":29,"slug":425,"text":426},"supported-node-types","Supported Node Types",{"depth":67,"slug":428,"text":429},"3️⃣-edges-connections","3️⃣ Edges (Connections)",{"depth":29,"slug":431,"text":432},"basic-connection","Basic Connection",{"depth":29,"slug":434,"text":435},"edge-types","Edge Types",{"depth":29,"slug":437,"text":438},"labeled-connections","Labeled Connections",{"depth":29,"slug":440,"text":441},"edge-attributes","Edge Attributes",{"depth":67,"slug":443,"text":444},"4️⃣-groups","4️⃣ Groups",{"depth":67,"slug":446,"text":447},"5️⃣-comments","5️⃣ Comments",{"depth":67,"slug":449,"text":450},"-complete-example","✅ Complete Example",{"depth":67,"slug":452,"text":453},"-llm-agent-prompt-template","🤖 LLM Agent Prompt Template",{"depth":29,"slug":455,"text":456},"copy-paste-prompt-for-llm","Copy-Paste Prompt for LLM",[],[],{"draft":19,"title":389},[],"playback-history",{"id":461,"data":463,"body":468,"filePath":469,"digest":470,"rendered":471},{"title":464,"editUrl":15,"head":465,"template":17,"sidebar":466,"pagefind":15,"draft":19},"Playback & History",[],{"hidden":19,"attrs":467},{},"FlowMind automatically tracks every change you make. The **Playback** features allows you to travel back in time to review your decision process.\n\n## History Timeline\n\nClick the **Clock Icon** in the top navigation bar to open the History Timeline.\n\n### Version Checkpoints\nEvery time you perform a significant action (adding a node, changing a color, auto-layout), a \"snapshot\" is saved.\n* **Undo/Redo**: Uses this same system to jump back and forth (`Cmd+Z`).\n\n## Playback Mode\n\nPress the **Play** button in the History panel to watch a \"movie\" of your diagram being built from start to finish.\n* **Speed Control**: Adjust playback speed (1x, 2x, 4x).\n* **Scrubbing**: Drag the slider to specific points in time.\n* **Restore**: Found an older version you like better? Click \"Restore\" to revert the canvas to that state perfectly.","src/content/docs/playback-history.md","54fa2cf041ba3931",{"html":472,"metadata":473},"\u003Cp>FlowMind automatically tracks every change you make. The \u003Cstrong>Playback\u003C/strong> features allows you to travel back in time to review your decision process.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"history-timeline\">History Timeline\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#history-timeline\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “History Timeline”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Click the \u003Cstrong>Clock Icon\u003C/strong> in the top navigation bar to open the History Timeline.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"version-checkpoints\">Version Checkpoints\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#version-checkpoints\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Version Checkpoints”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Every time you perform a significant action (adding a node, changing a color, auto-layout), a “snapshot” is saved.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Undo/Redo\u003C/strong>: Uses this same system to jump back and forth (\u003Ccode dir=\"auto\">Cmd+Z\u003C/code>).\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"playback-mode\">Playback Mode\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#playback-mode\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Playback Mode”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Press the \u003Cstrong>Play\u003C/strong> button in the History panel to watch a “movie” of your diagram being built from start to finish.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Speed Control\u003C/strong>: Adjust playback speed (1x, 2x, 4x).\u003C/li>\n\u003Cli>\u003Cstrong>Scrubbing\u003C/strong>: Drag the slider to specific points in time.\u003C/li>\n\u003Cli>\u003Cstrong>Restore\u003C/strong>: Found an older version you like better? Click “Restore” to revert the canvas to that state perfectly.\u003C/li>\n\u003C/ul>",{"headings":474,"localImagePaths":484,"remoteImagePaths":485,"frontmatter":486,"imagePaths":487},[475,478,481],{"depth":29,"slug":476,"text":477},"history-timeline","History Timeline",{"depth":36,"slug":479,"text":480},"version-checkpoints","Version Checkpoints",{"depth":29,"slug":482,"text":483},"playback-mode","Playback Mode",[],[],{"draft":19,"title":464},[],"payment-flow",{"id":488,"data":490,"body":495,"filePath":496,"digest":497,"rendered":498},{"title":491,"editUrl":15,"head":492,"template":17,"sidebar":493,"pagefind":15,"draft":19},"Payment Flow Visualization",[],{"hidden":19,"attrs":494},{},"# How to Visualize Payment Flows (Stripe, PayPal, etc.)\n\nWhen building e-commerce or SaaS applications, understanding the exact sequence of a payment flow is critical. A single missed webhook can lead to a dropped order or an angry customer.\n\nOpenFlowKit allows you to map out complex asynchronous payment architectures quickly using a variety of [Node Types](/docs/en/node-types).\n\n## Why build payment architectures with OpenFlowKit?\n\n- **Shareability**: Everyone from the PM to the backend engineer needs to see the same flow.\n- **Clarity**: Mapping out happy paths, failures, and webhook retries visually is much easier than reading through Stripe API documentation.\n- **Speed**: Use the [Command Center](/docs/en/command-center) and AI to generate the boilerplate flow in seconds.\n\n## Example: Stripe Checkout Flow\n\nHere is a common Stripe Checkout implementation mapped out. Notice how we use different node shapes to distinguish between client-side actions, server-side actions, and third-party API calls.\n\n```mermaid\nsequenceDiagram\n participant User\n participant Client as Frontend (React)\n participant Server as Backend (Node.js)\n participant Stripe\n \n User->>Client: Clicks \"Pay $50\"\n Client->>Server: POST /create-checkout-session\n Server->>Stripe: API Request: Create Session\n Stripe-->>Server: Returns Session ID & URL\n Server-->>Client: Returns Checkout URL\n \n Client->>User: Redirects to Stripe Checkout\n User->>Stripe: Enters Credit Card Info\n \n alt Payment Success\n Stripe-->>User: Redirect to Success URL\n Stripe->>Server: Webhook event: checkout.session.completed\n Server->>Server: Fulfills Order / Updates DB\n else Payment Failure\n Stripe-->>User: Redirect to Cancel URL\n User->>Client: Try Again\n end\n```\n\n## Tips for Better Payment Diagrams\n\n1. **Use Swimlanes**: Group actions by responsibility. Put the User in one lane, your API in another, and the Payment Processor (Stripe/PayPal) in a third.\n2. **Color Code**: Use green for happy paths (success), red for failure states (declines/insufficient funds), and gray for retries.\n3. **Explicit Callouts**: Use the **Annotation Node** to document exact webhook payloads or secret keys needed at specific steps.\n\n## AI Prompt Example\n\nTo generate a similar flow using [Ask Flowpilot](/docs/en/ask-flowpilot):\n\n> `\"Generate a flowchart showing a subscription payment flow using Braintree. Include the client requesting a client token, the server generating it, the user submitting a nonce, and the final server-side transaction creation. Show both success and failure branches.\"`\n\nNeed to present this to your team? Try the [Playback History](/docs/en/playback-history) feature to walk through the payment sequence step-by-step.","src/content/docs/payment-flow.md","095f7ae1e29045c0",{"html":499,"metadata":500},"\u003Cdiv class=\"sl-heading-wrapper level-h1\">\u003Ch1 id=\"how-to-visualize-payment-flows-stripe-paypal-etc\">How to Visualize Payment Flows (Stripe, PayPal, etc.)\u003C/h1>\u003Ca class=\"sl-anchor-link\" href=\"#how-to-visualize-payment-flows-stripe-paypal-etc\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “How to Visualize Payment Flows (Stripe, PayPal, etc.)”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>When building e-commerce or SaaS applications, understanding the exact sequence of a payment flow is critical. A single missed webhook can lead to a dropped order or an angry customer.\u003C/p>\n\u003Cp>OpenFlowKit allows you to map out complex asynchronous payment architectures quickly using a variety of \u003Ca href=\"/docs/en/node-types\">Node Types\u003C/a>.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"why-build-payment-architectures-with-openflowkit\">Why build payment architectures with OpenFlowKit?\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#why-build-payment-architectures-with-openflowkit\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Why build payment architectures with OpenFlowKit?”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Cstrong>Shareability\u003C/strong>: Everyone from the PM to the backend engineer needs to see the same flow.\u003C/li>\n\u003Cli>\u003Cstrong>Clarity\u003C/strong>: Mapping out happy paths, failures, and webhook retries visually is much easier than reading through Stripe API documentation.\u003C/li>\n\u003Cli>\u003Cstrong>Speed\u003C/strong>: Use the \u003Ca href=\"/docs/en/command-center\">Command Center\u003C/a> and AI to generate the boilerplate flow in seconds.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"example-stripe-checkout-flow\">Example: Stripe Checkout Flow\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#example-stripe-checkout-flow\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Example: Stripe Checkout Flow”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Here is a common Stripe Checkout implementation mapped out. Notice how we use different node shapes to distinguish between client-side actions, server-side actions, and third-party API calls.\u003C/p>\n\u003Cdiv class=\"expressive-code\">\u003Clink rel=\"stylesheet\" href=\"/_astro/ec.v4551.css\">\u003Cscript type=\"module\" src=\"/_astro/ec.0vx5m.js\">\u003C/script>\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"mermaid\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">sequenceDiagram\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">participant User\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">participant Client as Frontend (React)\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">participant Server as Backend (Node.js)\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">participant Stripe\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">User->>Client: Clicks \"Pay $50\"\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">Client->>Server: POST /create-checkout-session\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">Server->>Stripe: API Request: Create Session\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">Stripe-->>Server: Returns Session ID & URL\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">Server-->>Client: Returns Checkout URL\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">Client->>User: Redirects to Stripe Checkout\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">User->>Stripe: Enters Credit Card Info\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">alt Payment Success\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">Stripe-->>User: Redirect to Success URL\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">Stripe->>Server: Webhook event: checkout.session.completed\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">Server->>Server: Fulfills Order / Updates DB\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">else Payment Failure\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">Stripe-->>User: Redirect to Cancel URL\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">User->>Client: Try Again\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">end\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"sequenceDiagram participant User participant Client as Frontend (React) participant Server as Backend (Node.js) participant Stripe User->>Client: Clicks "Pay $50" Client->>Server: POST /create-checkout-session Server->>Stripe: API Request: Create Session Stripe-->>Server: Returns Session ID & URL Server-->>Client: Returns Checkout URL Client->>User: Redirects to Stripe Checkout User->>Stripe: Enters Credit Card Info alt Payment Success Stripe-->>User: Redirect to Success URL Stripe->>Server: Webhook event: checkout.session.completed Server->>Server: Fulfills Order / Updates DB else Payment Failure Stripe-->>User: Redirect to Cancel URL User->>Client: Try Again end\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"tips-for-better-payment-diagrams\">Tips for Better Payment Diagrams\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#tips-for-better-payment-diagrams\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Tips for Better Payment Diagrams”\u003C/span>\u003C/a>\u003C/div>\n\u003Col>\n\u003Cli>\u003Cstrong>Use Swimlanes\u003C/strong>: Group actions by responsibility. Put the User in one lane, your API in another, and the Payment Processor (Stripe/PayPal) in a third.\u003C/li>\n\u003Cli>\u003Cstrong>Color Code\u003C/strong>: Use green for happy paths (success), red for failure states (declines/insufficient funds), and gray for retries.\u003C/li>\n\u003Cli>\u003Cstrong>Explicit Callouts\u003C/strong>: Use the \u003Cstrong>Annotation Node\u003C/strong> to document exact webhook payloads or secret keys needed at specific steps.\u003C/li>\n\u003C/ol>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"ai-prompt-example\">AI Prompt Example\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#ai-prompt-example\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “AI Prompt Example”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>To generate a similar flow using \u003Ca href=\"/docs/en/ask-flowpilot\">Ask Flowpilot\u003C/a>:\u003C/p>\n\u003Cblockquote>\n\u003Cp>\u003Ccode dir=\"auto\">\"Generate a flowchart showing a subscription payment flow using Braintree. Include the client requesting a client token, the server generating it, the user submitting a nonce, and the final server-side transaction creation. Show both success and failure branches.\"\u003C/code>\u003C/p>\n\u003C/blockquote>\n\u003Cp>Need to present this to your team? Try the \u003Ca href=\"/docs/en/playback-history\">Playback History\u003C/a> feature to walk through the payment sequence step-by-step.\u003C/p>",{"headings":501,"localImagePaths":517,"remoteImagePaths":518,"frontmatter":519,"imagePaths":520},[502,505,508,511,514],{"depth":67,"slug":503,"text":504},"how-to-visualize-payment-flows-stripe-paypal-etc","How to Visualize Payment Flows (Stripe, PayPal, etc.)",{"depth":29,"slug":506,"text":507},"why-build-payment-architectures-with-openflowkit","Why build payment architectures with OpenFlowKit?",{"depth":29,"slug":509,"text":510},"example-stripe-checkout-flow","Example: Stripe Checkout Flow",{"depth":29,"slug":512,"text":513},"tips-for-better-payment-diagrams","Tips for Better Payment Diagrams",{"depth":29,"slug":515,"text":516},"ai-prompt-example","AI Prompt Example",[],[],{"draft":19,"title":491},[],"prompting-agents",{"id":521,"data":523,"body":528,"filePath":529,"digest":530,"rendered":531},{"title":524,"editUrl":15,"head":525,"template":17,"sidebar":526,"pagefind":15,"draft":19},"Prompting AI Agents",[],{"hidden":19,"attrs":527},{},"# How to Prompt AI Agents (Cursor, Copilot, ChatGPT)\n\nOpenFlowKit is built to be AI-native. While it includes **Flowpilot** (our built-in AI assistant), you often want to generate diagrams directly inside your IDE using tools like Cursor, GitHub Copilot, or even regular ChatGPT.\n\nTo get the best results from any LLM, you need to point them to our syntax rules.\n\n## The Magic Keyword: `llms.txt`\n\nThe secret to perfect AI generation is our `llms.txt` file. We host a machine-readable set of rules that teaches any AI exactly how to write OpenFlow DSL V2 code.\n\nWhen prompting an AI agent, just include a reference to this file.\n\n### Example Prompt for Cursor IDE\nOpen your Composer or Chat window and type:\n\n> `\"Read https://openflowkit.com/llms.txt and then generate an architecture diagram showing our Next.js frontend connecting to a Supabase backend.\"`\n\n### Example Prompt for ChatGPT\nIf you are using ChatGPT with web-browsing enabled:\n\n> `\"Go to https://openflowkit.com/llms.txt to learn the OpenFlowKit syntax. Then, write a flowchart detailing an OAuth2 login sequence. Output the result using the \\`\\`\\`openflow code block.\"`\n\n## Best Practices for Prompting\n\nEven with the rules, LLMs can sometimes get confused. Here are three tips for perfect diagrams every time:\n\n1. **Be specific about shapes**: Instead of just saying \"add a database\", say \"add a Node with the `[process]` type labeled 'Database'\". \n2. **Name your connections**: The diagram is much more useful if edges have labels. Example: \"Connect the frontend to the backend with the label '|REST API|'\".\n3. **Use Groups for clarity**: If you have multiple microservices, tell the AI to wrap them in a group: \"Put the 'Auth Service' and 'User DB' inside a group called 'Backend Infrastructure'.\"\n\n[Return to Editor](/#/canvas)","src/content/docs/prompting-agents.md","e05426de02f38fab",{"html":532,"metadata":533},"\u003Cdiv class=\"sl-heading-wrapper level-h1\">\u003Ch1 id=\"how-to-prompt-ai-agents-cursor-copilot-chatgpt\">How to Prompt AI Agents (Cursor, Copilot, ChatGPT)\u003C/h1>\u003Ca class=\"sl-anchor-link\" href=\"#how-to-prompt-ai-agents-cursor-copilot-chatgpt\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “How to Prompt AI Agents (Cursor, Copilot, ChatGPT)”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>OpenFlowKit is built to be AI-native. While it includes \u003Cstrong>Flowpilot\u003C/strong> (our built-in AI assistant), you often want to generate diagrams directly inside your IDE using tools like Cursor, GitHub Copilot, or even regular ChatGPT.\u003C/p>\n\u003Cp>To get the best results from any LLM, you need to point them to our syntax rules.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"the-magic-keyword-llmstxt\">The Magic Keyword: \u003Ccode dir=\"auto\">llms.txt\u003C/code>\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#the-magic-keyword-llmstxt\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “The Magic Keyword: llms.txt”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>The secret to perfect AI generation is our \u003Ccode dir=\"auto\">llms.txt\u003C/code> file. We host a machine-readable set of rules that teaches any AI exactly how to write OpenFlow DSL V2 code.\u003C/p>\n\u003Cp>When prompting an AI agent, just include a reference to this file.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"example-prompt-for-cursor-ide\">Example Prompt for Cursor IDE\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#example-prompt-for-cursor-ide\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Example Prompt for Cursor IDE”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Open your Composer or Chat window and type:\u003C/p>\n\u003Cblockquote>\n\u003Cp>\u003Ccode dir=\"auto\">\"Read https://openflowkit.com/llms.txt and then generate an architecture diagram showing our Next.js frontend connecting to a Supabase backend.\"\u003C/code>\u003C/p>\n\u003C/blockquote>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"example-prompt-for-chatgpt\">Example Prompt for ChatGPT\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#example-prompt-for-chatgpt\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Example Prompt for ChatGPT”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>If you are using ChatGPT with web-browsing enabled:\u003C/p>\n\u003Cblockquote>\n\u003Cp>\u003Ccode dir=\"auto\">\"Go to https://openflowkit.com/llms.txt to learn the OpenFlowKit syntax. Then, write a flowchart detailing an OAuth2 login sequence. Output the result using the \\\u003C/code>“openflow code block.”`\u003C/p>\n\u003C/blockquote>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"best-practices-for-prompting\">Best Practices for Prompting\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#best-practices-for-prompting\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Best Practices for Prompting”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Even with the rules, LLMs can sometimes get confused. Here are three tips for perfect diagrams every time:\u003C/p>\n\u003Col>\n\u003Cli>\u003Cstrong>Be specific about shapes\u003C/strong>: Instead of just saying “add a database”, say “add a Node with the \u003Ccode dir=\"auto\">[process]\u003C/code> type labeled ‘Database’”.\u003C/li>\n\u003Cli>\u003Cstrong>Name your connections\u003C/strong>: The diagram is much more useful if edges have labels. Example: “Connect the frontend to the backend with the label ‘|REST API|’”.\u003C/li>\n\u003Cli>\u003Cstrong>Use Groups for clarity\u003C/strong>: If you have multiple microservices, tell the AI to wrap them in a group: “Put the ‘Auth Service’ and ‘User DB’ inside a group called ‘Backend Infrastructure’.”\u003C/li>\n\u003C/ol>\n\u003Cp>\u003Ca href=\"/#/canvas\">Return to Editor\u003C/a>\u003C/p>",{"headings":534,"localImagePaths":550,"remoteImagePaths":551,"frontmatter":552,"imagePaths":553},[535,538,541,544,547],{"depth":67,"slug":536,"text":537},"how-to-prompt-ai-agents-cursor-copilot-chatgpt","How to Prompt AI Agents (Cursor, Copilot, ChatGPT)",{"depth":29,"slug":539,"text":540},"the-magic-keyword-llmstxt","The Magic Keyword: llms.txt",{"depth":36,"slug":542,"text":543},"example-prompt-for-cursor-ide","Example Prompt for Cursor IDE",{"depth":36,"slug":545,"text":546},"example-prompt-for-chatgpt","Example Prompt for ChatGPT",{"depth":29,"slug":548,"text":549},"best-practices-for-prompting","Best Practices for Prompting",[],[],{"draft":19,"title":524},[],"roadmap",{"id":554,"data":556,"body":561,"filePath":562,"digest":563,"rendered":564},{"title":557,"editUrl":15,"head":558,"template":17,"sidebar":559,"pagefind":15,"draft":19},"Roadmap",[],{"hidden":19,"attrs":560},{},"# 🗺️ OpenFlowKit Product Roadmap\n\nWe are building the standard for open-source, white-label diagramming. This roadmap outlines our vision for the future of **OpenFlowKit**.\n\n> **Note**: This is a living document. Priorities may change based on community feedback.\n\n---\n\n## 🚀 Q3 2026: The AI Expansion (v1.2)\n*Focus: Making the diagram generation smarter, faster, and more versatile.*\n\n### 🧠 Multi-Model AI Support\nMove beyond a single provider. We will support a \"Bring Your Own Key\" model for all major LLMs:\n- **Anthropic Claude 3.5 Sonnet**: Optimized for complex system architecture diagrams.\n- **OpenAI GPT-4o**: Fast, reasoning-heavy generation for business logic flows.\n- **Local LLMs (Ollama)**: run Llama 3 or Mistral locally for 100% offline, air-gapped diagram generation.\n\n### ⚡ Real-time \"Copilot\" Mode\n- **Autocomplete for Flows**: As you drag a node, the AI suggests the next 3 most logical steps based on your current graph context.\n- **Smart Refactoring**: Select a mess of nodes and ask AI to \"Optimize Layout\" or \"Group into Subgraph\".\n\n\n---\n\n## 🤝 Q4 2026: Collaboration & Teams (v2.0)\n*Focus: Turning a solo developer tool into a team powerhouse.*\n\n### 👥 Real-Time Multiplayer\n- **Live Cursors**: See where your teammates are looking.\n- **Conflict-Free Editing**: Powered by **Yjs** and CRDTs for seamless collaborative sessions.\n- **Presence**: \"Who's on this flow?\" indicators.\n\n### 💬 Contextual Comments\n- Pin comments directly to nodes or edges.\n- @mention team members to assigned tasks within the diagram.\n- Resolve threads as you complete the implementation.\n\n### 💾 Cloud Persistence Adapter\n- Optional reference implementation for saving flows to PostgreSQL/Supabase.\n- \"Project\" view to organize hundreds of diagrams.\n\n---\n\n## 🛠️ 2027: The Platform Era (v3.0)\n*Focus: Deep integration into the developer ecosystem.*\n\n### 🔌 IDE Extensions\n- **VS Code Extension**: Edit `.flow` or `.mermaid` files directly inside VS Code with our premium GUI.\n- **IntelliJ / JetBrains Plugin**: Native support for Java/Kotlin ecosystem diagrams.\n\n### 🎨 Advanced Design System\n- **Figma Sync**: Two-way synchronization. Push changes from Figma to OpenFlowKit and vice-versa.\n- **Custom React Nodes**: A plugin API to let developers render *any* React component inside a node (Charts, Data Grids, Videos).\n\n### 📊 Data-Driven Diagrams\n- **Live Metrics**: Bind node colors/sizes to real-time API data (e.g., Server Health visualization).\n- **SQL-to-ERD**: Connect to your DB and auto-generate the Entity Relationship Diagram.\n\n---\n\n## 💡 Community Wishlist\nFeatures we are exploring based on user requests:\n- [ ] **Presentation Mode**: Slide-by-slide walkthrough of complex flows.\n- [ ] **Accessibility (A11y)**: Screen reader support and keyboard navigation improvements.\n- [ ] **Internationalization (i18n)**: Translating the UI into 10+ languages.\n\n---\n\n*Current Version: v1.0.0-beta* \n*Last Updated: February 2026*","src/content/docs/roadmap.md","b07de293af53b142",{"html":565,"metadata":566},"\u003Cdiv class=\"sl-heading-wrapper level-h1\">\u003Ch1 id=\"️-openflowkit-product-roadmap\">🗺️ OpenFlowKit Product Roadmap\u003C/h1>\u003Ca class=\"sl-anchor-link\" href=\"#️-openflowkit-product-roadmap\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “🗺️ OpenFlowKit Product Roadmap”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>We are building the standard for open-source, white-label diagramming. This roadmap outlines our vision for the future of \u003Cstrong>OpenFlowKit\u003C/strong>.\u003C/p>\n\u003Cblockquote>\n\u003Cp>\u003Cstrong>Note\u003C/strong>: This is a living document. Priorities may change based on community feedback.\u003C/p>\n\u003C/blockquote>\n\u003Chr>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"-q3-2026-the-ai-expansion-v12\">🚀 Q3 2026: The AI Expansion (v1.2)\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#-q3-2026-the-ai-expansion-v12\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “🚀 Q3 2026: The AI Expansion (v1.2)”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>\u003Cem>Focus: Making the diagram generation smarter, faster, and more versatile.\u003C/em>\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"-multi-model-ai-support\">🧠 Multi-Model AI Support\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#-multi-model-ai-support\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “🧠 Multi-Model AI Support”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Move beyond a single provider. We will support a “Bring Your Own Key” model for all major LLMs:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Anthropic Claude 3.5 Sonnet\u003C/strong>: Optimized for complex system architecture diagrams.\u003C/li>\n\u003Cli>\u003Cstrong>OpenAI GPT-4o\u003C/strong>: Fast, reasoning-heavy generation for business logic flows.\u003C/li>\n\u003Cli>\u003Cstrong>Local LLMs (Ollama)\u003C/strong>: run Llama 3 or Mistral locally for 100% offline, air-gapped diagram generation.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"-real-time-copilot-mode\">⚡ Real-time “Copilot” Mode\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#-real-time-copilot-mode\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “⚡ Real-time “Copilot” Mode”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Cstrong>Autocomplete for Flows\u003C/strong>: As you drag a node, the AI suggests the next 3 most logical steps based on your current graph context.\u003C/li>\n\u003Cli>\u003Cstrong>Smart Refactoring\u003C/strong>: Select a mess of nodes and ask AI to “Optimize Layout” or “Group into Subgraph”.\u003C/li>\n\u003C/ul>\n\u003Chr>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"-q4-2026-collaboration--teams-v20\">🤝 Q4 2026: Collaboration & Teams (v2.0)\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#-q4-2026-collaboration--teams-v20\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “🤝 Q4 2026: Collaboration & Teams (v2.0)”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>\u003Cem>Focus: Turning a solo developer tool into a team powerhouse.\u003C/em>\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"-real-time-multiplayer\">👥 Real-Time Multiplayer\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#-real-time-multiplayer\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “👥 Real-Time Multiplayer”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Cstrong>Live Cursors\u003C/strong>: See where your teammates are looking.\u003C/li>\n\u003Cli>\u003Cstrong>Conflict-Free Editing\u003C/strong>: Powered by \u003Cstrong>Yjs\u003C/strong> and CRDTs for seamless collaborative sessions.\u003C/li>\n\u003Cli>\u003Cstrong>Presence\u003C/strong>: “Who’s on this flow?” indicators.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"-contextual-comments\">💬 Contextual Comments\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#-contextual-comments\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “💬 Contextual Comments”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>Pin comments directly to nodes or edges.\u003C/li>\n\u003Cli>@mention team members to assigned tasks within the diagram.\u003C/li>\n\u003Cli>Resolve threads as you complete the implementation.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"-cloud-persistence-adapter\">💾 Cloud Persistence Adapter\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#-cloud-persistence-adapter\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “💾 Cloud Persistence Adapter”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>Optional reference implementation for saving flows to PostgreSQL/Supabase.\u003C/li>\n\u003Cli>“Project” view to organize hundreds of diagrams.\u003C/li>\n\u003C/ul>\n\u003Chr>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"️-2027-the-platform-era-v30\">🛠️ 2027: The Platform Era (v3.0)\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#️-2027-the-platform-era-v30\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “🛠️ 2027: The Platform Era (v3.0)”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>\u003Cem>Focus: Deep integration into the developer ecosystem.\u003C/em>\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"-ide-extensions\">🔌 IDE Extensions\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#-ide-extensions\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “🔌 IDE Extensions”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Cstrong>VS Code Extension\u003C/strong>: Edit \u003Ccode dir=\"auto\">.flow\u003C/code> or \u003Ccode dir=\"auto\">.mermaid\u003C/code> files directly inside VS Code with our premium GUI.\u003C/li>\n\u003Cli>\u003Cstrong>IntelliJ / JetBrains Plugin\u003C/strong>: Native support for Java/Kotlin ecosystem diagrams.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"-advanced-design-system\">🎨 Advanced Design System\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#-advanced-design-system\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “🎨 Advanced Design System”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Cstrong>Figma Sync\u003C/strong>: Two-way synchronization. Push changes from Figma to OpenFlowKit and vice-versa.\u003C/li>\n\u003Cli>\u003Cstrong>Custom React Nodes\u003C/strong>: A plugin API to let developers render \u003Cem>any\u003C/em> React component inside a node (Charts, Data Grids, Videos).\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"-data-driven-diagrams\">📊 Data-Driven Diagrams\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#-data-driven-diagrams\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “📊 Data-Driven Diagrams”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Cstrong>Live Metrics\u003C/strong>: Bind node colors/sizes to real-time API data (e.g., Server Health visualization).\u003C/li>\n\u003Cli>\u003Cstrong>SQL-to-ERD\u003C/strong>: Connect to your DB and auto-generate the Entity Relationship Diagram.\u003C/li>\n\u003C/ul>\n\u003Chr>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"-community-wishlist\">💡 Community Wishlist\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#-community-wishlist\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “💡 Community Wishlist”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Features we are exploring based on user requests:\u003C/p>\n\u003Cul class=\"contains-task-list\">\n\u003Cli class=\"task-list-item\">\u003Cinput type=\"checkbox\" disabled> \u003Cstrong>Presentation Mode\u003C/strong>: Slide-by-slide walkthrough of complex flows.\u003C/li>\n\u003Cli class=\"task-list-item\">\u003Cinput type=\"checkbox\" disabled> \u003Cstrong>Accessibility (A11y)\u003C/strong>: Screen reader support and keyboard navigation improvements.\u003C/li>\n\u003Cli class=\"task-list-item\">\u003Cinput type=\"checkbox\" disabled> \u003Cstrong>Internationalization (i18n)\u003C/strong>: Translating the UI into 10+ languages.\u003C/li>\n\u003C/ul>\n\u003Chr>\n\u003Cp>\u003Cem>Current Version: v1.0.0-beta\u003C/em>\u003Cbr>\n\u003Cem>Last Updated: February 2026\u003C/em>\u003C/p>",{"headings":567,"localImagePaths":607,"remoteImagePaths":608,"frontmatter":609,"imagePaths":610},[568,571,574,577,580,583,586,589,592,595,598,601,604],{"depth":67,"slug":569,"text":570},"️-openflowkit-product-roadmap","🗺️ OpenFlowKit Product Roadmap",{"depth":29,"slug":572,"text":573},"-q3-2026-the-ai-expansion-v12","🚀 Q3 2026: The AI Expansion (v1.2)",{"depth":36,"slug":575,"text":576},"-multi-model-ai-support","🧠 Multi-Model AI Support",{"depth":36,"slug":578,"text":579},"-real-time-copilot-mode","⚡ Real-time “Copilot” Mode",{"depth":29,"slug":581,"text":582},"-q4-2026-collaboration--teams-v20","🤝 Q4 2026: Collaboration & Teams (v2.0)",{"depth":36,"slug":584,"text":585},"-real-time-multiplayer","👥 Real-Time Multiplayer",{"depth":36,"slug":587,"text":588},"-contextual-comments","💬 Contextual Comments",{"depth":36,"slug":590,"text":591},"-cloud-persistence-adapter","💾 Cloud Persistence Adapter",{"depth":29,"slug":593,"text":594},"️-2027-the-platform-era-v30","🛠️ 2027: The Platform Era (v3.0)",{"depth":36,"slug":596,"text":597},"-ide-extensions","🔌 IDE Extensions",{"depth":36,"slug":599,"text":600},"-advanced-design-system","🎨 Advanced Design System",{"depth":36,"slug":602,"text":603},"-data-driven-diagrams","📊 Data-Driven Diagrams",{"depth":29,"slug":605,"text":606},"-community-wishlist","💡 Community Wishlist",[],[],{"draft":19,"title":557},[],"quick-start",{"id":611,"data":613,"body":618,"filePath":619,"digest":620,"rendered":621},{"title":614,"editUrl":15,"head":615,"template":17,"sidebar":616,"pagefind":15,"draft":19},"Quick Start",[],{"hidden":19,"attrs":617},{},"This guide will help you create your first diagram in FlowMind in under 2 minutes.\n\n## 1. Create a New Flow\n\nFrom the Dashboard, click the **\"Create New\"** button (or press \\`Cmd+N\\`). You will be taken to a fresh canvas.\n\n## 2. Using AI Generation\n\nThe fastest way to start is with a prompt.\n\n1. Locate the command bar at the bottom of the screen.\n2. Type a description of your flow.\n * *Example:* \"Create a user registration flow that includes email verification and database checks.\"\n3. Press \\`Enter\\`.\n\nFlowMind will generate a complete diagram structure for you.\n\n## 3. Editing Nodes\n\nOnce generated, you can refine the diagram:\n\n* **Move**: Click and drag any node to reposition it.\n* **Edit Text**: Double-click a node to change its label.\n* **Connect**: Drag from the handles (dots) on a node's edge to connect it to another node.\n\n## 4. Using Smart Layout\n\nIf your diagram gets messy, click the **\"Auto Layout\"** button in the top toolbar. FlowMind uses the ELK layout engine to automatically organize your nodes into a clean hierarchy.\n\n## 5. Exporting\n\nWhen you're happy with your flow:\n\n1. Click the **Export** button in the top right.\n2. Choose your format (PNG, SVG, or JSON).\n3. Download your file.\n\n[PLACEHOLDER: GIF showing the creation process]","src/content/docs/quick-start.md","10e8d77dc7a52505",{"html":622,"metadata":623},"\u003Cp>This guide will help you create your first diagram in FlowMind in under 2 minutes.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"1-create-a-new-flow\">1. Create a New Flow\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#1-create-a-new-flow\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “1. Create a New Flow”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>From the Dashboard, click the \u003Cstrong>“Create New”\u003C/strong> button (or press `Cmd+N`). You will be taken to a fresh canvas.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"2-using-ai-generation\">2. Using AI Generation\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#2-using-ai-generation\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “2. Using AI Generation”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>The fastest way to start is with a prompt.\u003C/p>\n\u003Col>\n\u003Cli>Locate the command bar at the bottom of the screen.\u003C/li>\n\u003Cli>Type a description of your flow.\n\u003Cul>\n\u003Cli>\u003Cem>Example:\u003C/em> “Create a user registration flow that includes email verification and database checks.”\u003C/li>\n\u003C/ul>\n\u003C/li>\n\u003Cli>Press `Enter`.\u003C/li>\n\u003C/ol>\n\u003Cp>FlowMind will generate a complete diagram structure for you.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"3-editing-nodes\">3. Editing Nodes\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#3-editing-nodes\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “3. Editing Nodes”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Once generated, you can refine the diagram:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Move\u003C/strong>: Click and drag any node to reposition it.\u003C/li>\n\u003Cli>\u003Cstrong>Edit Text\u003C/strong>: Double-click a node to change its label.\u003C/li>\n\u003Cli>\u003Cstrong>Connect\u003C/strong>: Drag from the handles (dots) on a node’s edge to connect it to another node.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"4-using-smart-layout\">4. Using Smart Layout\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#4-using-smart-layout\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “4. Using Smart Layout”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>If your diagram gets messy, click the \u003Cstrong>“Auto Layout”\u003C/strong> button in the top toolbar. FlowMind uses the ELK layout engine to automatically organize your nodes into a clean hierarchy.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"5-exporting\">5. Exporting\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#5-exporting\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “5. Exporting”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>When you’re happy with your flow:\u003C/p>\n\u003Col>\n\u003Cli>Click the \u003Cstrong>Export\u003C/strong> button in the top right.\u003C/li>\n\u003Cli>Choose your format (PNG, SVG, or JSON).\u003C/li>\n\u003Cli>Download your file.\u003C/li>\n\u003C/ol>\n\u003Cp>[PLACEHOLDER: GIF showing the creation process]\u003C/p>",{"headings":624,"localImagePaths":640,"remoteImagePaths":641,"frontmatter":642,"imagePaths":643},[625,628,631,634,637],{"depth":29,"slug":626,"text":627},"1-create-a-new-flow","1. Create a New Flow",{"depth":29,"slug":629,"text":630},"2-using-ai-generation","2. Using AI Generation",{"depth":29,"slug":632,"text":633},"3-editing-nodes","3. Editing Nodes",{"depth":29,"slug":635,"text":636},"4-using-smart-layout","4. Using Smart Layout",{"depth":29,"slug":638,"text":639},"5-exporting","5. Exporting",[],[],{"draft":19,"title":614},[],"smart-layout",{"id":644,"data":646,"body":651,"filePath":652,"digest":653,"rendered":654},{"title":647,"editUrl":15,"head":648,"template":17,"sidebar":649,"pagefind":15,"draft":19},"Smart Layout",[],{"hidden":19,"attrs":650},{},"FlowMind includes a powerful \"Smart Layout\" engine powered by **ELK (Eclipse Layout Kernel)**. \n\n## How it Works\n\nDrawing complex diagrams by hand is tedious. You spend more time ALIGNING boxes than thinking about the logic. \nSmart Layout fixes this by running a force-directed algorithm to automatically arrange your nodes.\n\n### Usage\n1. Click the **Layout** button in the Command Center (or top toolbar).\n2. The engine calculates the optimal position for every node and edge.\n3. The diagram animates smoothly to its new structure.\n\n### Features\n* **Hierarchical Layering**: Perfect for flowcharts and organizational trees.\n* **Collision Detection**: Ensures nodes never overlap.\n* **Edge Routing**: Minimizes line crossings for cleaner readability.\n\n> [!TIP]\n> Use Smart Layout after importing a raw Mermaid text or generating a large flow with AI to instantly tidy up the result.","src/content/docs/smart-layout.md","dbe9103f66b6c221",{"html":655,"metadata":656},"\u003Cp>FlowMind includes a powerful “Smart Layout” engine powered by \u003Cstrong>ELK (Eclipse Layout Kernel)\u003C/strong>.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"how-it-works\">How it Works\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#how-it-works\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “How it Works”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Drawing complex diagrams by hand is tedious. You spend more time ALIGNING boxes than thinking about the logic.\nSmart Layout fixes this by running a force-directed algorithm to automatically arrange your nodes.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"usage\">Usage\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#usage\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Usage”\u003C/span>\u003C/a>\u003C/div>\n\u003Col>\n\u003Cli>Click the \u003Cstrong>Layout\u003C/strong> button in the Command Center (or top toolbar).\u003C/li>\n\u003Cli>The engine calculates the optimal position for every node and edge.\u003C/li>\n\u003Cli>The diagram animates smoothly to its new structure.\u003C/li>\n\u003C/ol>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"features\">Features\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#features\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Features”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Cstrong>Hierarchical Layering\u003C/strong>: Perfect for flowcharts and organizational trees.\u003C/li>\n\u003Cli>\u003Cstrong>Collision Detection\u003C/strong>: Ensures nodes never overlap.\u003C/li>\n\u003Cli>\u003Cstrong>Edge Routing\u003C/strong>: Minimizes line crossings for cleaner readability.\u003C/li>\n\u003C/ul>\n\u003Cblockquote>\n\u003Cp>[!TIP]\nUse Smart Layout after importing a raw Mermaid text or generating a large flow with AI to instantly tidy up the result.\u003C/p>\n\u003C/blockquote>",{"headings":657,"localImagePaths":663,"remoteImagePaths":664,"frontmatter":665,"imagePaths":666},[658,659,662],{"depth":29,"slug":101,"text":102},{"depth":36,"slug":660,"text":661},"usage","Usage",{"depth":36,"slug":188,"text":189},[],[],{"draft":19,"title":647},[],"properties-panel",{"id":667,"data":669,"body":674,"filePath":675,"digest":676,"rendered":677},{"title":670,"editUrl":15,"head":671,"template":17,"sidebar":672,"pagefind":15,"draft":19},"Properties Panel",[],{"hidden":19,"attrs":673},{},"The Properties Panel is your control center for customizing individual nodes. It appears on the right side of the screen when you select a node.\n\n## Node Customization\n\n### Label Editing\nYou can rename any node directly from the panel. The label updates in real-time on the canvas.\n\n### Visual Styling\nMake your diagrams pop with custom styles:\n* **Colors**: Choose from a curated palette of semantic colors (Red for danger, Green for success, etc.).\n* **Icons**: Add an icon to any node to make it instantly recognizable. We support the full Lucide React icon library.\n* **Stroke Style**: Toggle between `Solid` and `Dashed` borders (great for representing tentative or future states).\n\n### Layout & Sizing\n* **Width/Height**: Manually set dimensions for pixel-perfect alignment.\n* **Position**: View and edit exact X/Y coordinates.\n\n## Bulk Editing\n\n> [!TIP]\n> You can select multiple nodes (`Shift + Click`) to edit them all at once!\n\nWhen multiple nodes are selected, the Properties Panel will apply changes (like color or icon) to **all** selected nodes.","src/content/docs/properties-panel.md","001f39fdaaca3a9b",{"html":678,"metadata":679},"\u003Cp>The Properties Panel is your control center for customizing individual nodes. It appears on the right side of the screen when you select a node.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"node-customization\">Node Customization\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#node-customization\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Node Customization”\u003C/span>\u003C/a>\u003C/div>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"label-editing\">Label Editing\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#label-editing\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Label Editing”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>You can rename any node directly from the panel. The label updates in real-time on the canvas.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"visual-styling\">Visual Styling\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#visual-styling\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Visual Styling”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Make your diagrams pop with custom styles:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Colors\u003C/strong>: Choose from a curated palette of semantic colors (Red for danger, Green for success, etc.).\u003C/li>\n\u003Cli>\u003Cstrong>Icons\u003C/strong>: Add an icon to any node to make it instantly recognizable. We support the full Lucide React icon library.\u003C/li>\n\u003Cli>\u003Cstrong>Stroke Style\u003C/strong>: Toggle between \u003Ccode dir=\"auto\">Solid\u003C/code> and \u003Ccode dir=\"auto\">Dashed\u003C/code> borders (great for representing tentative or future states).\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"layout--sizing\">Layout & Sizing\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#layout--sizing\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Layout & Sizing”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Cstrong>Width/Height\u003C/strong>: Manually set dimensions for pixel-perfect alignment.\u003C/li>\n\u003Cli>\u003Cstrong>Position\u003C/strong>: View and edit exact X/Y coordinates.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"bulk-editing\">Bulk Editing\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#bulk-editing\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Bulk Editing”\u003C/span>\u003C/a>\u003C/div>\n\u003Cblockquote>\n\u003Cp>[!TIP]\nYou can select multiple nodes (\u003Ccode dir=\"auto\">Shift + Click\u003C/code>) to edit them all at once!\u003C/p>\n\u003C/blockquote>\n\u003Cp>When multiple nodes are selected, the Properties Panel will apply changes (like color or icon) to \u003Cstrong>all\u003C/strong> selected nodes.\u003C/p>",{"headings":680,"localImagePaths":696,"remoteImagePaths":697,"frontmatter":698,"imagePaths":699},[681,684,687,690,693],{"depth":29,"slug":682,"text":683},"node-customization","Node Customization",{"depth":36,"slug":685,"text":686},"label-editing","Label Editing",{"depth":36,"slug":688,"text":689},"visual-styling","Visual Styling",{"depth":36,"slug":691,"text":692},"layout--sizing","Layout & Sizing",{"depth":29,"slug":694,"text":695},"bulk-editing","Bulk Editing",[],[],{"draft":19,"title":670},[],"theming",{"id":700,"data":702,"body":707,"filePath":708,"digest":709,"rendered":710},{"title":703,"editUrl":15,"head":704,"template":17,"sidebar":705,"pagefind":15,"draft":19},"Theming",[],{"hidden":19,"attrs":706},{},"Customize FlowMind to match your personal preference or brand identity.\n\n## Brand Settings\n\nNavigate to **Settings > Brand Kit** to configure:\n\n* **Primary Color**: The main accent color for buttons, active states, and focused nodes.\n* **Background**: The canvas background color.\n* **Surface**: The color of panels and sidebars.\n* **Logo**: Upload your own logo to replace the FlowMind icon in the sidebar.\n\n\n\n## Export Settings\n\nWhen exporting images (PNG/SVG):\n* **Transparent Background**: Toggle this if you want to overlay the diagram on slides.\n* **Scale**: Increase scale (e.g., 2x, 3x) for high-resolution printing.\n* **Include Watermark**: You can disable the branding watermark in the export settings.","src/content/docs/theming.md","136feaa41f956dc6",{"html":711,"metadata":712},"\u003Cp>Customize FlowMind to match your personal preference or brand identity.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"brand-settings\">Brand Settings\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#brand-settings\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Brand Settings”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Navigate to \u003Cstrong>Settings > Brand Kit\u003C/strong> to configure:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Primary Color\u003C/strong>: The main accent color for buttons, active states, and focused nodes.\u003C/li>\n\u003Cli>\u003Cstrong>Background\u003C/strong>: The canvas background color.\u003C/li>\n\u003Cli>\u003Cstrong>Surface\u003C/strong>: The color of panels and sidebars.\u003C/li>\n\u003Cli>\u003Cstrong>Logo\u003C/strong>: Upload your own logo to replace the FlowMind icon in the sidebar.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"export-settings\">Export Settings\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#export-settings\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Export Settings”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>When exporting images (PNG/SVG):\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Transparent Background\u003C/strong>: Toggle this if you want to overlay the diagram on slides.\u003C/li>\n\u003Cli>\u003Cstrong>Scale\u003C/strong>: Increase scale (e.g., 2x, 3x) for high-resolution printing.\u003C/li>\n\u003Cli>\u003Cstrong>Include Watermark\u003C/strong>: You can disable the branding watermark in the export settings.\u003C/li>\n\u003C/ul>",{"headings":713,"localImagePaths":720,"remoteImagePaths":721,"frontmatter":722,"imagePaths":723},[714,717],{"depth":29,"slug":715,"text":716},"brand-settings","Brand Settings",{"depth":29,"slug":718,"text":719},"export-settings","Export Settings",[],[],{"draft":19,"title":703},[],"tr/ask-flowpilot",{"id":724,"data":726,"body":730,"filePath":731,"digest":732,"rendered":733},{"title":155,"editUrl":15,"head":727,"template":17,"sidebar":728,"pagefind":15,"draft":19},[],{"hidden":19,"attrs":729},{},"# Flowpilot Asistanına Sor\n\nBu sayfa, `DocsPage.tsx` içindeki AI Asistan bileşeni tarafından dinamik olarak değiştirilir. Bu dosya yalnızca Vite dinamik glob içe aktarıcısını ve yönlendirme mantığını karşılamak için mevcuttur.","src/content/docs/tr/ask-flowpilot.md","027005108468d86a",{"html":734,"metadata":735},"\u003Cdiv class=\"sl-heading-wrapper level-h1\">\u003Ch1 id=\"flowpilot-asistanına-sor\">Flowpilot Asistanına Sor\u003C/h1>\u003Ca class=\"sl-anchor-link\" href=\"#flowpilot-asistanına-sor\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Flowpilot Asistanına Sor”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Bu sayfa, \u003Ccode dir=\"auto\">DocsPage.tsx\u003C/code> içindeki AI Asistan bileşeni tarafından dinamik olarak değiştirilir. Bu dosya yalnızca Vite dinamik glob içe aktarıcısını ve yönlendirme mantığını karşılamak için mevcuttur.\u003C/p>",{"headings":736,"localImagePaths":740,"remoteImagePaths":741,"frontmatter":742,"imagePaths":743},[737],{"depth":67,"slug":738,"text":739},"flowpilot-asistanına-sor","Flowpilot Asistanına Sor",[],[],{"draft":19,"title":155},[],"v1-beta-launch",{"id":744,"data":746,"body":751,"filePath":752,"digest":753,"rendered":754},{"title":747,"editUrl":15,"head":748,"template":17,"sidebar":749,"pagefind":15,"draft":19},"V1 Beta Launch",[],{"hidden":19,"attrs":750},{},"# 🚀 OpenFlowKit V1 Beta: The Future of Diagram-as-Code is Here\n\nWe are beyond excited to officially announce the **OpenFlowKit V1 Beta**. What started as a simple flowchart tool has evolved into a comprehensive, white-label diagramming ecosystem designed for developers who demand premium aesthetics and local-first reliability.\n\nThis release marks a fundamental shift in our mission: **OpenFlowKit is no longer just an app; it's a foundation for your next project.**\n\n---\n\n## 🏗️ What's New in V1 Beta?\n\n### 🎨 The Brand Engine (True White-Labeling)\nMost diagramming tools force you to look like their product. OpenFlowKit is the first open-source tool built to look like **yours**.\n- **Dynamic Palette Generation**: Enter one primary color, and our engine generates a smooth, harmonious design system including surface, background, and accent colors.\n- **Typography Integration**: Native Google Fonts support allows you to sync your app's typography directly with the canvas.\n- **UI Physics**: Toggle Glassmorphism and adjust border radiuses to match your brand's aesthetic density.\n\n### 📜 Diagram-as-Code (DaC) Second-to-None\nWe treat diagrams as data. Whether you're a Mermaid.js power user or prefer a custom DSL, we've got you covered.\n- **Expanded Mermaid Support**: Full fidelity for Flowcharts, State Diagrams, and Subgraphs.\n- **FlowMind DSL**: A human-readable notation designed for rapid prototyping without touching a mouse.\n- **Live Sync**: Visual changes and code changes stay perfectly in sync, offering the best of both worlds.\n\n### 💎 Figma Fidelity Export\nStop screenshotting! Our \"Figma-First\" export strategy ensures your diagrams belong in your design files.\n- **Vector Perfection**: Export clean SVGs that maintain stroke precision and rounded corners.\n- **Editable Text**: Labels are exported as native SVG text blocks, meaning you can fix typos directly in Figma without redrawing.\n\n### 🔑 Privacy-First AI (BYOK)\nAI is powerful, but your data is private. Our **Bring Your Own Key** model puts you in control.\n- **Gemini Powered**: Use your own Gemini API key for intelligent diagram generation.\n- **Local Storage**: Your API keys are stored locally in your browser and never touch our servers.\n\n### 🖼️ Image-to-Flowchart (Vision AI)\nSketch it, scan it, ship it.\n- **Visual Recognition**: Upload a photo of a whiteboard session or napkin sketch.\n- **Instant Conversion**: Our AI analyzes the visual structure and converts it into a fully editable, semantic flowchart in seconds.\n\n### 📦 The Library Ecosystem\nIn addition to the standalone editor, we've extracted OpenFlowKit's core into `@openflowkit/core`. This allows developers to embed our state-of-the-art parsers and theming logic into their own applications.\n\n---\n\n## 🌟 The Philosophy: Premium & Open\nWe believe that open-source tools shouldn't \"look\" like open-source tools. OpenFlowKit V1 Beta brings the polish of a billion-dollar SaaS product to the open-source community, 100% free under the MIT license.\n\n---\n\n## 🛣️ What's Next?\nThe V1 Beta is just the beginning. We are working on:\n- **Collaborative Real-Time Editing** (Yjs/WebRTC).\n- **Expanded Component Libraries** for wireframing.\n- **Direct Figma Plugin** integration.\n\n---\n\n## ❤️ Get Involved\nOpenFlowKit is built by and for developers.\n- ⭐️ **Star us on GitHub**: Help us reach more developers!\n- 💬 **Join the Discussion**: Share your brand kits and feedback.\n- 🛠️ **Contribute**: Check out the `CONTRIBUTING.md` to help build the future of diagramming.\n\n**Happy Diagramming!** \n*The OpenFlowKit Team*","src/content/docs/v1-beta-launch.md","427102a3c87c3431",{"html":755,"metadata":756},"\u003Cdiv class=\"sl-heading-wrapper level-h1\">\u003Ch1 id=\"-openflowkit-v1-beta-the-future-of-diagram-as-code-is-here\">🚀 OpenFlowKit V1 Beta: The Future of Diagram-as-Code is Here\u003C/h1>\u003Ca class=\"sl-anchor-link\" href=\"#-openflowkit-v1-beta-the-future-of-diagram-as-code-is-here\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “🚀 OpenFlowKit V1 Beta: The Future of Diagram-as-Code is Here”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>We are beyond excited to officially announce the \u003Cstrong>OpenFlowKit V1 Beta\u003C/strong>. What started as a simple flowchart tool has evolved into a comprehensive, white-label diagramming ecosystem designed for developers who demand premium aesthetics and local-first reliability.\u003C/p>\n\u003Cp>This release marks a fundamental shift in our mission: \u003Cstrong>OpenFlowKit is no longer just an app; it’s a foundation for your next project.\u003C/strong>\u003C/p>\n\u003Chr>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"️-whats-new-in-v1-beta\">🏗️ What’s New in V1 Beta?\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#️-whats-new-in-v1-beta\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “🏗️ What’s New in V1 Beta?”\u003C/span>\u003C/a>\u003C/div>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"-the-brand-engine-true-white-labeling\">🎨 The Brand Engine (True White-Labeling)\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#-the-brand-engine-true-white-labeling\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “🎨 The Brand Engine (True White-Labeling)”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Most diagramming tools force you to look like their product. OpenFlowKit is the first open-source tool built to look like \u003Cstrong>yours\u003C/strong>.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Dynamic Palette Generation\u003C/strong>: Enter one primary color, and our engine generates a smooth, harmonious design system including surface, background, and accent colors.\u003C/li>\n\u003Cli>\u003Cstrong>Typography Integration\u003C/strong>: Native Google Fonts support allows you to sync your app’s typography directly with the canvas.\u003C/li>\n\u003Cli>\u003Cstrong>UI Physics\u003C/strong>: Toggle Glassmorphism and adjust border radiuses to match your brand’s aesthetic density.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"-diagram-as-code-dac-second-to-none\">📜 Diagram-as-Code (DaC) Second-to-None\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#-diagram-as-code-dac-second-to-none\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “📜 Diagram-as-Code (DaC) Second-to-None”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>We treat diagrams as data. Whether you’re a Mermaid.js power user or prefer a custom DSL, we’ve got you covered.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Expanded Mermaid Support\u003C/strong>: Full fidelity for Flowcharts, State Diagrams, and Subgraphs.\u003C/li>\n\u003Cli>\u003Cstrong>FlowMind DSL\u003C/strong>: A human-readable notation designed for rapid prototyping without touching a mouse.\u003C/li>\n\u003Cli>\u003Cstrong>Live Sync\u003C/strong>: Visual changes and code changes stay perfectly in sync, offering the best of both worlds.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"-figma-fidelity-export\">💎 Figma Fidelity Export\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#-figma-fidelity-export\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “💎 Figma Fidelity Export”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Stop screenshotting! Our “Figma-First” export strategy ensures your diagrams belong in your design files.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Vector Perfection\u003C/strong>: Export clean SVGs that maintain stroke precision and rounded corners.\u003C/li>\n\u003Cli>\u003Cstrong>Editable Text\u003C/strong>: Labels are exported as native SVG text blocks, meaning you can fix typos directly in Figma without redrawing.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"-privacy-first-ai-byok\">🔑 Privacy-First AI (BYOK)\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#-privacy-first-ai-byok\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “🔑 Privacy-First AI (BYOK)”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>AI is powerful, but your data is private. Our \u003Cstrong>Bring Your Own Key\u003C/strong> model puts you in control.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Gemini Powered\u003C/strong>: Use your own Gemini API key for intelligent diagram generation.\u003C/li>\n\u003Cli>\u003Cstrong>Local Storage\u003C/strong>: Your API keys are stored locally in your browser and never touch our servers.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"️-image-to-flowchart-vision-ai\">🖼️ Image-to-Flowchart (Vision AI)\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#️-image-to-flowchart-vision-ai\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “🖼️ Image-to-Flowchart (Vision AI)”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Sketch it, scan it, ship it.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Visual Recognition\u003C/strong>: Upload a photo of a whiteboard session or napkin sketch.\u003C/li>\n\u003Cli>\u003Cstrong>Instant Conversion\u003C/strong>: Our AI analyzes the visual structure and converts it into a fully editable, semantic flowchart in seconds.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"-the-library-ecosystem\">📦 The Library Ecosystem\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#-the-library-ecosystem\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “📦 The Library Ecosystem”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>In addition to the standalone editor, we’ve extracted OpenFlowKit’s core into \u003Ccode dir=\"auto\">@openflowkit/core\u003C/code>. This allows developers to embed our state-of-the-art parsers and theming logic into their own applications.\u003C/p>\n\u003Chr>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"-the-philosophy-premium--open\">🌟 The Philosophy: Premium & Open\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#-the-philosophy-premium--open\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “🌟 The Philosophy: Premium & Open”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>We believe that open-source tools shouldn’t “look” like open-source tools. OpenFlowKit V1 Beta brings the polish of a billion-dollar SaaS product to the open-source community, 100% free under the MIT license.\u003C/p>\n\u003Chr>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"️-whats-next\">🛣️ What’s Next?\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#️-whats-next\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “🛣️ What’s Next?”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>The V1 Beta is just the beginning. We are working on:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Collaborative Real-Time Editing\u003C/strong> (Yjs/WebRTC).\u003C/li>\n\u003Cli>\u003Cstrong>Expanded Component Libraries\u003C/strong> for wireframing.\u003C/li>\n\u003Cli>\u003Cstrong>Direct Figma Plugin\u003C/strong> integration.\u003C/li>\n\u003C/ul>\n\u003Chr>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"️-get-involved\">❤️ Get Involved\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#️-get-involved\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “❤️ Get Involved”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>OpenFlowKit is built by and for developers.\u003C/p>\n\u003Cul>\n\u003Cli>⭐️ \u003Cstrong>Star us on GitHub\u003C/strong>: Help us reach more developers!\u003C/li>\n\u003Cli>💬 \u003Cstrong>Join the Discussion\u003C/strong>: Share your brand kits and feedback.\u003C/li>\n\u003Cli>🛠️ \u003Cstrong>Contribute\u003C/strong>: Check out the \u003Ccode dir=\"auto\">CONTRIBUTING.md\u003C/code> to help build the future of diagramming.\u003C/li>\n\u003C/ul>\n\u003Cp>\u003Cstrong>Happy Diagramming!\u003C/strong>\u003Cbr>\n\u003Cem>The OpenFlowKit Team\u003C/em>\u003C/p>",{"headings":757,"localImagePaths":791,"remoteImagePaths":792,"frontmatter":793,"imagePaths":794},[758,761,764,767,770,773,776,779,782,785,788],{"depth":67,"slug":759,"text":760},"-openflowkit-v1-beta-the-future-of-diagram-as-code-is-here","🚀 OpenFlowKit V1 Beta: The Future of Diagram-as-Code is Here",{"depth":29,"slug":762,"text":763},"️-whats-new-in-v1-beta","🏗️ What’s New in V1 Beta?",{"depth":36,"slug":765,"text":766},"-the-brand-engine-true-white-labeling","🎨 The Brand Engine (True White-Labeling)",{"depth":36,"slug":768,"text":769},"-diagram-as-code-dac-second-to-none","📜 Diagram-as-Code (DaC) Second-to-None",{"depth":36,"slug":771,"text":772},"-figma-fidelity-export","💎 Figma Fidelity Export",{"depth":36,"slug":774,"text":775},"-privacy-first-ai-byok","🔑 Privacy-First AI (BYOK)",{"depth":36,"slug":777,"text":778},"️-image-to-flowchart-vision-ai","🖼️ Image-to-Flowchart (Vision AI)",{"depth":36,"slug":780,"text":781},"-the-library-ecosystem","📦 The Library Ecosystem",{"depth":29,"slug":783,"text":784},"-the-philosophy-premium--open","🌟 The Philosophy: Premium & Open",{"depth":29,"slug":786,"text":787},"️-whats-next","🛣️ What’s Next?",{"depth":29,"slug":789,"text":790},"️-get-involved","❤️ Get Involved",[],[],{"draft":19,"title":747},[],"tr/ai-generation",{"id":795,"data":797,"body":801,"filePath":802,"digest":803,"rendered":804},{"title":89,"editUrl":15,"head":798,"template":17,"sidebar":799,"pagefind":15,"draft":19},[],{"hidden":19,"attrs":800},{},"FlowMind, doğal dili anlayarak yapısal diyagramlara dönüştürmek için Google'ın **Gemini 2.0 Flash** modelinden yararlanır.\n\n## Nasıl Çalışır?\n\n1. **Niyet Analizi**: Yapay zeka, isteminizi analiz ederek *hedefi* (örn. \"Giriş Akışı\") ve *aktörleri* (Kullanıcı, Sunucu, Veritabanı) anlar.\n2. **Yapısal Üretim**: Düğümleri ve bağlantıları temsil eden geçerli bir FlowMind DSL JSON nesnesi oluşturur.\n3. **Düzen Optimizasyonu**: Motor, oluşturulan grafiğin okunabilir olmasını sağlamak için akıllı düzen algoritmaları uygular.\n\n## İstemler İçin En İyi Uygulamalar\n\nEn iyi sonuçları elde etmek için **adımlar** ve **çıktı** hakkında spesifik olun.\n\n### ❌ Çok Belirsiz\n> \"Bir sistem diyagramı yap.\"\n\n### ✅ İyi\n> \"Bir e-ticaret platformu için üst düzey sistem mimarisi oluştur. Web Uygulaması, API Ağ Geçidi, Kullanıcı Servisi, Ürün Servisi ve ortak bir PostgreSQL veritabanı içersin.\"\n\n### ✅ Daha İyi (Süreç Akışı)\n> \"Kullanıcı şifre sıfırlama süreci için bir akış diyagramı çiz. 'Kullanıcı şifremi unuttum'a tıklar' ile başla, e-postanın var olup olmadığını kontrol et. Evet ise benzersiz token gönder. Hayır ise hata göster. 'Kullanıcı yeni şifresini girer' ile bitir.\"\n\n## Yapay Zeka Sonuçlarını Düzenleme\n\nYapay zeka üretimi bir başlangıç noktasıdır, son nokta değil. Her zaman şunları yapabilirsiniz:\n* Eksik adımları manuel olarak ekleyin.\n* Netlik için düğümleri yeniden adlandırın.\n* Belirli bölümleri yeniden oluşturun (Yakında).\n\n## 🔑 Kendi Anahtarını Getir (BYOK)\n\nFlowMind varsayılan olarak sınırlı kotaya sahip paylaşımlı bir API anahtarı kullanır. Yoğun kullanım, gizlilik veya kendi faturalandırmanızı kullanmak için kendi **Gemini API Anahtarınızı** getirebilirsiniz.\n\n1. **Google AI Studio**'ya gidin ve [API Anahtarı Alın](https://aistudio.google.com/app/apikey).\n2. FlowMind'da **Ayarlar**'ı (Dişli Simgesi) açın veya herhangi bir **Marka Kiti**'ne tıklayın.\n3. **Yapay Zeka** sekmesine gidin.\n4. Anahtarınızı güvenli giriş alanına yapıştırın.\n\n> [!NOTE]\n> Anahtarınız tarayıcınızın `localStorage` alanında yerel olarak saklanır ve sunucularımıza hiçbir zaman gönderilmez. Yalnızca Google'a yapılan istemci taraflı API çağrıları için kullanılır.","src/content/docs/tr/ai-generation.md","c843d448cc232314",{"html":805,"metadata":806},"\u003Cp>FlowMind, doğal dili anlayarak yapısal diyagramlara dönüştürmek için Google’ın \u003Cstrong>Gemini 2.0 Flash\u003C/strong> modelinden yararlanır.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"nasıl-çalışır\">Nasıl Çalışır?\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#nasıl-çalışır\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Nasıl Çalışır?”\u003C/span>\u003C/a>\u003C/div>\n\u003Col>\n\u003Cli>\u003Cstrong>Niyet Analizi\u003C/strong>: Yapay zeka, isteminizi analiz ederek \u003Cem>hedefi\u003C/em> (örn. “Giriş Akışı”) ve \u003Cem>aktörleri\u003C/em> (Kullanıcı, Sunucu, Veritabanı) anlar.\u003C/li>\n\u003Cli>\u003Cstrong>Yapısal Üretim\u003C/strong>: Düğümleri ve bağlantıları temsil eden geçerli bir FlowMind DSL JSON nesnesi oluşturur.\u003C/li>\n\u003Cli>\u003Cstrong>Düzen Optimizasyonu\u003C/strong>: Motor, oluşturulan grafiğin okunabilir olmasını sağlamak için akıllı düzen algoritmaları uygular.\u003C/li>\n\u003C/ol>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"i̇stemler-i̇çin-en-i̇yi-uygulamalar\">İstemler İçin En İyi Uygulamalar\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#i̇stemler-i̇çin-en-i̇yi-uygulamalar\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “İstemler İçin En İyi Uygulamalar”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>En iyi sonuçları elde etmek için \u003Cstrong>adımlar\u003C/strong> ve \u003Cstrong>çıktı\u003C/strong> hakkında spesifik olun.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"-çok-belirsiz\">❌ Çok Belirsiz\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#-çok-belirsiz\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “❌ Çok Belirsiz”\u003C/span>\u003C/a>\u003C/div>\n\u003Cblockquote>\n\u003Cp>“Bir sistem diyagramı yap.”\u003C/p>\n\u003C/blockquote>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"-i̇yi\">✅ İyi\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#-i̇yi\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “✅ İyi”\u003C/span>\u003C/a>\u003C/div>\n\u003Cblockquote>\n\u003Cp>“Bir e-ticaret platformu için üst düzey sistem mimarisi oluştur. Web Uygulaması, API Ağ Geçidi, Kullanıcı Servisi, Ürün Servisi ve ortak bir PostgreSQL veritabanı içersin.”\u003C/p>\n\u003C/blockquote>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"-daha-i̇yi-süreç-akışı\">✅ Daha İyi (Süreç Akışı)\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#-daha-i̇yi-süreç-akışı\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “✅ Daha İyi (Süreç Akışı)”\u003C/span>\u003C/a>\u003C/div>\n\u003Cblockquote>\n\u003Cp>“Kullanıcı şifre sıfırlama süreci için bir akış diyagramı çiz. ‘Kullanıcı şifremi unuttum’a tıklar’ ile başla, e-postanın var olup olmadığını kontrol et. Evet ise benzersiz token gönder. Hayır ise hata göster. ‘Kullanıcı yeni şifresini girer’ ile bitir.”\u003C/p>\n\u003C/blockquote>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"yapay-zeka-sonuçlarını-düzenleme\">Yapay Zeka Sonuçlarını Düzenleme\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#yapay-zeka-sonuçlarını-düzenleme\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Yapay Zeka Sonuçlarını Düzenleme”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Yapay zeka üretimi bir başlangıç noktasıdır, son nokta değil. Her zaman şunları yapabilirsiniz:\u003C/p>\n\u003Cul>\n\u003Cli>Eksik adımları manuel olarak ekleyin.\u003C/li>\n\u003Cli>Netlik için düğümleri yeniden adlandırın.\u003C/li>\n\u003Cli>Belirli bölümleri yeniden oluşturun (Yakında).\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"-kendi-anahtarını-getir-byok\">🔑 Kendi Anahtarını Getir (BYOK)\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#-kendi-anahtarını-getir-byok\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “🔑 Kendi Anahtarını Getir (BYOK)”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>FlowMind varsayılan olarak sınırlı kotaya sahip paylaşımlı bir API anahtarı kullanır. Yoğun kullanım, gizlilik veya kendi faturalandırmanızı kullanmak için kendi \u003Cstrong>Gemini API Anahtarınızı\u003C/strong> getirebilirsiniz.\u003C/p>\n\u003Col>\n\u003Cli>\u003Cstrong>Google AI Studio\u003C/strong>’ya gidin ve \u003Ca href=\"https://aistudio.google.com/app/apikey\">API Anahtarı Alın\u003C/a>.\u003C/li>\n\u003Cli>FlowMind’da \u003Cstrong>Ayarlar\u003C/strong>’ı (Dişli Simgesi) açın veya herhangi bir \u003Cstrong>Marka Kiti\u003C/strong>’ne tıklayın.\u003C/li>\n\u003Cli>\u003Cstrong>Yapay Zeka\u003C/strong> sekmesine gidin.\u003C/li>\n\u003Cli>Anahtarınızı güvenli giriş alanına yapıştırın.\u003C/li>\n\u003C/ol>\n\u003Cblockquote>\n\u003Cp>[!NOTE]\nAnahtarınız tarayıcınızın \u003Ccode dir=\"auto\">localStorage\u003C/code> alanında yerel olarak saklanır ve sunucularımıza hiçbir zaman gönderilmez. Yalnızca Google’a yapılan istemci taraflı API çağrıları için kullanılır.\u003C/p>\n\u003C/blockquote>",{"headings":807,"localImagePaths":829,"remoteImagePaths":830,"frontmatter":831,"imagePaths":832},[808,811,814,817,820,823,826],{"depth":29,"slug":809,"text":810},"nasıl-çalışır","Nasıl Çalışır?",{"depth":29,"slug":812,"text":813},"i̇stemler-i̇çin-en-i̇yi-uygulamalar","İstemler İçin En İyi Uygulamalar",{"depth":36,"slug":815,"text":816},"-çok-belirsiz","❌ Çok Belirsiz",{"depth":36,"slug":818,"text":819},"-i̇yi","✅ İyi",{"depth":36,"slug":821,"text":822},"-daha-i̇yi-süreç-akışı","✅ Daha İyi (Süreç Akışı)",{"depth":29,"slug":824,"text":825},"yapay-zeka-sonuçlarını-düzenleme","Yapay Zeka Sonuçlarını Düzenleme",{"depth":29,"slug":827,"text":828},"-kendi-anahtarını-getir-byok","🔑 Kendi Anahtarını Getir (BYOK)",[],[],{"draft":19,"title":89},[],"tr/canvas-basics",{"id":833,"data":835,"body":839,"filePath":840,"digest":841,"rendered":842},{"title":14,"editUrl":15,"head":836,"template":17,"sidebar":837,"pagefind":15,"draft":19},[],{"hidden":19,"attrs":838},{},"FlowMind tuvali sonsuz, etkileşimli bir çalışma alanıdır. Etkin biçimde gezinmek ve kullanmak için aşağıdaki rehberi inceleyin.\n\n## Gezinti\n\n* **Kaydırma**: Belirli fare eylemi (örn. Boşluk Tuşu + Sürükle veya Orta Tıklama + Sürükle) tuval görünümünü taşır.\n* **Yakınlaştırma**: Fare tekerleğini kullanarak yakınlaştırın ve uzaklaştırın.\n* **Görünüme Sığdır**: Tüm düğümleri görünüme sığdırmak için \\`Shift + 1\\` tuşlarına basın.\n\n## Düğüm İşlemleri\n\n### Düğüm Seçme\n* **Tekli Seçim**: Bir düğüme tıklayın.\n* **Çoklu Seçim**: \\`Shift\\` tuşunu basılı tutarak birden fazla düğüme tıklayın veya etraflarına bir seçim kutusu çizmek için tıklayıp sürükleyin.\n\n### Kopyalama\nBir veya daha fazla düğümü seçin ve kopyalamak için \\`Cmd + D\\` (Mac) veya \\`Ctrl + D\\` (Windows) tuşlarına basın.\n\n### Silme\nDüğümleri seçin ve \\`Backspace\\` veya \\`Delete\\` tuşuna basın.\n\n## Mini Harita\n\nSağ alt köşedeki Mini Harita, tüm akışınıza genel bir bakış sunar. Büyük diyagramlarda hızlıca gezinmek için mini haritanın içindeki görünüm kutusunu sürükleyebilirsiniz.\n\n[YER TUTUCU: Çağrı açıklamalarıyla Tuval Arayüzü görseli]","src/content/docs/tr/canvas-basics.md","c525107ec2515892",{"html":843,"metadata":844},"\u003Cp>FlowMind tuvali sonsuz, etkileşimli bir çalışma alanıdır. Etkin biçimde gezinmek ve kullanmak için aşağıdaki rehberi inceleyin.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"gezinti\">Gezinti\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#gezinti\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Gezinti”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Cstrong>Kaydırma\u003C/strong>: Belirli fare eylemi (örn. Boşluk Tuşu + Sürükle veya Orta Tıklama + Sürükle) tuval görünümünü taşır.\u003C/li>\n\u003Cli>\u003Cstrong>Yakınlaştırma\u003C/strong>: Fare tekerleğini kullanarak yakınlaştırın ve uzaklaştırın.\u003C/li>\n\u003Cli>\u003Cstrong>Görünüme Sığdır\u003C/strong>: Tüm düğümleri görünüme sığdırmak için `Shift + 1` tuşlarına basın.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"düğüm-i̇şlemleri\">Düğüm İşlemleri\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#düğüm-i̇şlemleri\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Düğüm İşlemleri”\u003C/span>\u003C/a>\u003C/div>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"düğüm-seçme\">Düğüm Seçme\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#düğüm-seçme\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Düğüm Seçme”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Cstrong>Tekli Seçim\u003C/strong>: Bir düğüme tıklayın.\u003C/li>\n\u003Cli>\u003Cstrong>Çoklu Seçim\u003C/strong>: `Shift` tuşunu basılı tutarak birden fazla düğüme tıklayın veya etraflarına bir seçim kutusu çizmek için tıklayıp sürükleyin.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"kopyalama\">Kopyalama\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#kopyalama\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Kopyalama”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Bir veya daha fazla düğümü seçin ve kopyalamak için `Cmd + D` (Mac) veya `Ctrl + D` (Windows) tuşlarına basın.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"silme\">Silme\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#silme\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Silme”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Düğümleri seçin ve `Backspace` veya `Delete` tuşuna basın.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"mini-harita\">Mini Harita\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#mini-harita\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Mini Harita”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Sağ alt köşedeki Mini Harita, tüm akışınıza genel bir bakış sunar. Büyük diyagramlarda hızlıca gezinmek için mini haritanın içindeki görünüm kutusunu sürükleyebilirsiniz.\u003C/p>\n\u003Cp>[YER TUTUCU: Çağrı açıklamalarıyla Tuval Arayüzü görseli]\u003C/p>",{"headings":845,"localImagePaths":864,"remoteImagePaths":865,"frontmatter":866,"imagePaths":867},[846,849,852,855,858,861],{"depth":29,"slug":847,"text":848},"gezinti","Gezinti",{"depth":29,"slug":850,"text":851},"düğüm-i̇şlemleri","Düğüm İşlemleri",{"depth":36,"slug":853,"text":854},"düğüm-seçme","Düğüm Seçme",{"depth":36,"slug":856,"text":857},"kopyalama","Kopyalama",{"depth":36,"slug":859,"text":860},"silme","Silme",{"depth":29,"slug":862,"text":863},"mini-harita","Mini Harita",[],[],{"draft":19,"title":14},[],"tr/command-center",{"id":868,"data":870,"body":874,"filePath":875,"digest":876,"rendered":877},{"title":176,"editUrl":15,"head":871,"template":17,"sidebar":872,"pagefind":15,"draft":19},[],{"hidden":19,"attrs":873},{},"Komut Merkezi, ekranın alt kısmındaki kayan araç çubuğudur. FlowMind'ın \"klavye öncelikli\" iş akışının kalbidir.\n\n> [!NOTE]\n> Komut Merkezini istediğiniz zaman `Cmd + K` (Mac) veya `Ctrl + K` (Windows) tuşlarına basarak açabilirsiniz.\n\n## Özellikler\n\n### 1. Şablonlar\nSıfırdan başlamayın. Önceden hazırlanmış diyagram kütüphanesine erişin:\n* AWS Mimari Şablonları\n* Kullanıcı Yolculuğu Haritaları\n* Veritabanı Şemaları\n* Organizasyon Şemaları\n\n### 2. Tasarım Sistemi / Görseller\nDiyagramınızı zenginleştirmek için varlık kütüphanesine erişin:\n* **Tel Çerçeveler**: Hızlı taslaklar oluşturmak için düşük kaliteli UI bileşenlerini (Düğmeler, Girişler, Modaller) sürükleyip bırakın.\n* **İkonlar**: Herhangi bir ikonu bağımsız bir düğüm olarak arayın ve ekleyin.\n\n### 3. Yapay Zeka Copilot\nKomut Merkezindeki metin girişi, yapay zeka motorumuza doğrudan bağlantınızdır. Ne oluşturmak istediğinizi yazın ve `Enter` tuşuna basarak anında oluşturun.\n\n### 4. Düzen ve Araçlar\nYardımcı işlevlere hızlıca erişin:\n* **Otomatik Düzen**: Karmaşıklığı düzenleyin.\n* **Görünümü Sıfırla**: Merkeze geri dönün.\n* **Kodu Biçimlendir**: DSL'nizi düzenleyin.","src/content/docs/tr/command-center.md","98fcf5c5e7afa893",{"html":878,"metadata":879},"\u003Cp>Komut Merkezi, ekranın alt kısmındaki kayan araç çubuğudur. FlowMind’ın “klavye öncelikli” iş akışının kalbidir.\u003C/p>\n\u003Cblockquote>\n\u003Cp>[!NOTE]\nKomut Merkezini istediğiniz zaman \u003Ccode dir=\"auto\">Cmd + K\u003C/code> (Mac) veya \u003Ccode dir=\"auto\">Ctrl + K\u003C/code> (Windows) tuşlarına basarak açabilirsiniz.\u003C/p>\n\u003C/blockquote>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"özellikler\">Özellikler\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#özellikler\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Özellikler”\u003C/span>\u003C/a>\u003C/div>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"1-şablonlar\">1. Şablonlar\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#1-şablonlar\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “1. Şablonlar”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Sıfırdan başlamayın. Önceden hazırlanmış diyagram kütüphanesine erişin:\u003C/p>\n\u003Cul>\n\u003Cli>AWS Mimari Şablonları\u003C/li>\n\u003Cli>Kullanıcı Yolculuğu Haritaları\u003C/li>\n\u003Cli>Veritabanı Şemaları\u003C/li>\n\u003Cli>Organizasyon Şemaları\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"2-tasarım-sistemi--görseller\">2. Tasarım Sistemi / Görseller\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#2-tasarım-sistemi--görseller\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “2. Tasarım Sistemi / Görseller”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Diyagramınızı zenginleştirmek için varlık kütüphanesine erişin:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Tel Çerçeveler\u003C/strong>: Hızlı taslaklar oluşturmak için düşük kaliteli UI bileşenlerini (Düğmeler, Girişler, Modaller) sürükleyip bırakın.\u003C/li>\n\u003Cli>\u003Cstrong>İkonlar\u003C/strong>: Herhangi bir ikonu bağımsız bir düğüm olarak arayın ve ekleyin.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"3-yapay-zeka-copilot\">3. Yapay Zeka Copilot\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#3-yapay-zeka-copilot\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “3. Yapay Zeka Copilot”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Komut Merkezindeki metin girişi, yapay zeka motorumuza doğrudan bağlantınızdır. Ne oluşturmak istediğinizi yazın ve \u003Ccode dir=\"auto\">Enter\u003C/code> tuşuna basarak anında oluşturun.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"4-düzen-ve-araçlar\">4. Düzen ve Araçlar\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#4-düzen-ve-araçlar\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “4. Düzen ve Araçlar”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Yardımcı işlevlere hızlıca erişin:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Otomatik Düzen\u003C/strong>: Karmaşıklığı düzenleyin.\u003C/li>\n\u003Cli>\u003Cstrong>Görünümü Sıfırla\u003C/strong>: Merkeze geri dönün.\u003C/li>\n\u003Cli>\u003Cstrong>Kodu Biçimlendir\u003C/strong>: DSL’nizi düzenleyin.\u003C/li>\n\u003C/ul>",{"headings":880,"localImagePaths":896,"remoteImagePaths":897,"frontmatter":898,"imagePaths":899},[881,884,887,890,893],{"depth":29,"slug":882,"text":883},"özellikler","Özellikler",{"depth":36,"slug":885,"text":886},"1-şablonlar","1. Şablonlar",{"depth":36,"slug":888,"text":889},"2-tasarım-sistemi--görseller","2. Tasarım Sistemi / Görseller",{"depth":36,"slug":891,"text":892},"3-yapay-zeka-copilot","3. Yapay Zeka Copilot",{"depth":36,"slug":894,"text":895},"4-düzen-ve-araçlar","4. Düzen ve Araçlar",[],[],{"draft":19,"title":176},[],"tr/exporting",{"id":900,"data":902,"body":906,"filePath":907,"digest":908,"rendered":909},{"title":209,"editUrl":15,"head":903,"template":17,"sidebar":904,"pagefind":15,"draft":19},[],{"hidden":19,"attrs":905},{},"FlowMind, diyagramlarınızı sunumlarda, belgelerde veya diğer harici araçlarda kullanmanıza yardımcı olmak için geniş bir dışa aktarma seçenekleri yelpazesi sunar.\n\n> [!TIP]\n> Tüm dışa aktarma seçeneklerine araç çubuğunun sağ üst köşesindeki **\"Dışa Aktar\"** düğmesinden ulaşabilirsiniz.\n\n## Görsel Dışa Aktarma\n\nSlaytlar, belgeler veya Slack'te paylaşmak için idealdir.\n\n### PNG (Taşınabilir Ağ Grafikleri)\nMevcut akışınızın yüksek çözünürlüklü, piksel tabanlı bir görselini dışa aktarır.\n* **En İyi Kullanım**: Slaytlar, Web, Genel Paylaşım.\n* **Ayarlar**: Ayarlarda etkinleştirilmişse varsayılan olarak şeffaflık içerir.\n\n### JPEG (Ortak Fotoğrafçılık Uzmanları Grubu)\nSıkıştırılmış bir görsel dosyası dışa aktarır.\n* **En İyi Kullanım**: E-posta ekleri, dosya boyutunun önemli olduğu durumlar.\n* **Not**: Şeffaflığı desteklemez (arka plan beyaz olacaktır).\n\n## Veri ve Kod Dışa Aktarma\n\nFlowMind bir \"Kod Olarak Diyagram\" aracıdır; bu nedenle diyagram verilerinizi birinci sınıf vatandaş olarak ele alıyoruz.\n\n### JSON (FlowMind Yerel Formatı)\nTüm düğüm konumlarını, stillerini ve verilerini içeren ham `.json` dosyasını indirir.\n* **En İyi Kullanım**: Yedekleme, Sürüm Kontrolü, Diğer FlowMind kullanıcılarıyla düzenlenebilir dosya paylaşımı.\n\n### FlowMind DSL\nBasitleştirilmiş Alan Spesifik Dil (DSL) temsilini panonuza kopyalar.\n* **En İyi Kullanım**: Diyagram mantığını kod tabanı yorumlarında saklamak veya yapay zeka aracılığıyla benzer akışlar oluşturmak.\n\n### Mermaid.js\nMevcut diyagramınızı [Mermaid](https://mermaid.js.org/) sözdizimine dönüştürür ve panoya kopyalar.\n* **En İyi Kullanım**: GitHub `README.md` dosyalarına, Notion veya Obsidian'a diyagram gömme.\n* **Desteklenen**: Temel Akış Şemaları, Sekans Diyagramları.\n\n### PlantUML\nDiyagramınızın PlantUML temsilini kopyalar.\n* **En İyi Kullanım**: Kurumsal wikiler (Confluence) veya eski dokümantasyon sistemleri.\n\n### Figma\nFigma'nın yapıştırma formatıyla uyumlu bir vektör temsilini kopyalar.\n* **En İyi Kullanım**: Yüksek kaliteli parlatma için diyagramları tasarımcılara teslim etme.\n\n> [!WARNING]\n> Figma dışa aktarma deneyseldir. Karmaşık özel düğümler %100 mükemmel aktarılmayabilir.","src/content/docs/tr/exporting.md","7aee34f54b65b811",{"html":910,"metadata":911},"\u003Cp>FlowMind, diyagramlarınızı sunumlarda, belgelerde veya diğer harici araçlarda kullanmanıza yardımcı olmak için geniş bir dışa aktarma seçenekleri yelpazesi sunar.\u003C/p>\n\u003Cblockquote>\n\u003Cp>[!TIP]\nTüm dışa aktarma seçeneklerine araç çubuğunun sağ üst köşesindeki \u003Cstrong>“Dışa Aktar”\u003C/strong> düğmesinden ulaşabilirsiniz.\u003C/p>\n\u003C/blockquote>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"görsel-dışa-aktarma\">Görsel Dışa Aktarma\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#görsel-dışa-aktarma\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Görsel Dışa Aktarma”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Slaytlar, belgeler veya Slack’te paylaşmak için idealdir.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"png-taşınabilir-ağ-grafikleri\">PNG (Taşınabilir Ağ Grafikleri)\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#png-taşınabilir-ağ-grafikleri\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “PNG (Taşınabilir Ağ Grafikleri)”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Mevcut akışınızın yüksek çözünürlüklü, piksel tabanlı bir görselini dışa aktarır.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>En İyi Kullanım\u003C/strong>: Slaytlar, Web, Genel Paylaşım.\u003C/li>\n\u003Cli>\u003Cstrong>Ayarlar\u003C/strong>: Ayarlarda etkinleştirilmişse varsayılan olarak şeffaflık içerir.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"jpeg-ortak-fotoğrafçılık-uzmanları-grubu\">JPEG (Ortak Fotoğrafçılık Uzmanları Grubu)\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#jpeg-ortak-fotoğrafçılık-uzmanları-grubu\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “JPEG (Ortak Fotoğrafçılık Uzmanları Grubu)”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Sıkıştırılmış bir görsel dosyası dışa aktarır.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>En İyi Kullanım\u003C/strong>: E-posta ekleri, dosya boyutunun önemli olduğu durumlar.\u003C/li>\n\u003Cli>\u003Cstrong>Not\u003C/strong>: Şeffaflığı desteklemez (arka plan beyaz olacaktır).\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"veri-ve-kod-dışa-aktarma\">Veri ve Kod Dışa Aktarma\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#veri-ve-kod-dışa-aktarma\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Veri ve Kod Dışa Aktarma”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>FlowMind bir “Kod Olarak Diyagram” aracıdır; bu nedenle diyagram verilerinizi birinci sınıf vatandaş olarak ele alıyoruz.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"json-flowmind-yerel-formatı\">JSON (FlowMind Yerel Formatı)\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#json-flowmind-yerel-formatı\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “JSON (FlowMind Yerel Formatı)”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Tüm düğüm konumlarını, stillerini ve verilerini içeren ham \u003Ccode dir=\"auto\">.json\u003C/code> dosyasını indirir.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>En İyi Kullanım\u003C/strong>: Yedekleme, Sürüm Kontrolü, Diğer FlowMind kullanıcılarıyla düzenlenebilir dosya paylaşımı.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"flowmind-dsl\">FlowMind DSL\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#flowmind-dsl\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “FlowMind DSL”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Basitleştirilmiş Alan Spesifik Dil (DSL) temsilini panonuza kopyalar.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>En İyi Kullanım\u003C/strong>: Diyagram mantığını kod tabanı yorumlarında saklamak veya yapay zeka aracılığıyla benzer akışlar oluşturmak.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"mermaidjs\">Mermaid.js\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#mermaidjs\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Mermaid.js”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Mevcut diyagramınızı \u003Ca href=\"https://mermaid.js.org/\">Mermaid\u003C/a> sözdizimine dönüştürür ve panoya kopyalar.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>En İyi Kullanım\u003C/strong>: GitHub \u003Ccode dir=\"auto\">README.md\u003C/code> dosyalarına, Notion veya Obsidian’a diyagram gömme.\u003C/li>\n\u003Cli>\u003Cstrong>Desteklenen\u003C/strong>: Temel Akış Şemaları, Sekans Diyagramları.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"plantuml\">PlantUML\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#plantuml\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “PlantUML”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Diyagramınızın PlantUML temsilini kopyalar.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>En İyi Kullanım\u003C/strong>: Kurumsal wikiler (Confluence) veya eski dokümantasyon sistemleri.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"figma\">Figma\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#figma\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Figma”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Figma’nın yapıştırma formatıyla uyumlu bir vektör temsilini kopyalar.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>En İyi Kullanım\u003C/strong>: Yüksek kaliteli parlatma için diyagramları tasarımcılara teslim etme.\u003C/li>\n\u003C/ul>\n\u003Cblockquote>\n\u003Cp>[!WARNING]\nFigma dışa aktarma deneyseldir. Karmaşık özel düğümler %100 mükemmel aktarılmayabilir.\u003C/p>\n\u003C/blockquote>",{"headings":912,"localImagePaths":932,"remoteImagePaths":933,"frontmatter":934,"imagePaths":935},[913,916,919,922,925,928,929,930,931],{"depth":29,"slug":914,"text":915},"görsel-dışa-aktarma","Görsel Dışa Aktarma",{"depth":36,"slug":917,"text":918},"png-taşınabilir-ağ-grafikleri","PNG (Taşınabilir Ağ Grafikleri)",{"depth":36,"slug":920,"text":921},"jpeg-ortak-fotoğrafçılık-uzmanları-grubu","JPEG (Ortak Fotoğrafçılık Uzmanları Grubu)",{"depth":29,"slug":923,"text":924},"veri-ve-kod-dışa-aktarma","Veri ve Kod Dışa Aktarma",{"depth":36,"slug":926,"text":927},"json-flowmind-yerel-formatı","JSON (FlowMind Yerel Formatı)",{"depth":36,"slug":236,"text":237},{"depth":36,"slug":239,"text":240},{"depth":36,"slug":242,"text":243},{"depth":36,"slug":245,"text":246},[],[],{"draft":19,"title":209},[],"tr/introduction",{"id":936,"data":938,"body":942,"filePath":943,"digest":944,"rendered":945},{"title":254,"editUrl":15,"head":939,"template":17,"sidebar":940,"pagefind":15,"draft":19},[],{"hidden":19,"attrs":941},{},"**OpenFlowKit**, yapay zeka destekli görselleştirme ile hassas, kod tabanlı düzenleme arasındaki boşluğu dolduran yeni nesil bir diyagram aracıdır. Geliştiriciler, mimarlar ve ürün yöneticileri için tasarlanan OpenFlowKit, doğal dil veya özel DSL'imizi kullanarak karmaşık akış şemaları, sıra diyagramları ve sistem mimarileri oluşturmanıza olanak tanır.\n\n## Neden OpenFlowKit?\n\nGeleneksel diyagram araçları genellikle şu seçenekler arasında tercih yapmaya zorlar:\n1. **Sürükle-bırak araçları**: Başlamak kolay, ancak sürdürmesi ve versiyon kontrolü zor.\n2. **Kod tabanlı araçlar (Mermaid gibi)**: Versiyon kontrolü için harika, ancak sıfırdan yazmak zahmetli olabilir.\n\nOpenFlowKit size her iki dünyanın en iyisini sunar. Bir metin istemiyle başlangıç yapısını oluşturabilir, ardından **Hibrit Editörümüzü** kullanarak düzenleyebilirsiniz—düğümleri tuval üzerinde görsel olarak manipüle edebilir *veya* altta yatan kodu doğrudan düzenleyebilirsiniz.\n\n## Temel Özellikler\n\n### Yapay Zeka Destekli Üretim\nSisteminizi basitçe tanımlayın: *\"OAuth yedekli ve hata işlemeli bir giriş akışı oluştur.\"* OpenFlowKit'in Gemini entegrasyonu tüm diyagramı anında oluşturur.\n\n### Hibrit Tuval\nTuvalimiz sadece statik bir görüntü değil. Tamamen etkileşimli bir grafik ortamıdır.\n* **Sürükle & Bırak**: Düğümleri taşıyın, otomatik hizalama.\n* **Akıllı Düzenler**: Elk.js kullanarak tek tıkla yeniden düzenleme.\n* **Özellikler Paneli**: CSS'e dokunmadan belirli düğüm stillerini ince ayarlayın.\n\n### Kod Olarak Diyagram\nHer diyagram okunabilir, düzenlenebilir bir JSON yapısı ile desteklenir ve Mermaid.js sözdizimi ile uyumludur. Bu, dokümantasyonunuzun kodunuzla birlikte yaşayabileceği anlamına gelir.\n\n### Premium Estetik\n\"Önce Tasarım\" yaklaşımıyla oluşturulan OpenFlowKit diyagramları varsayılan olarak sunum için hazırdır. Artık çirkin, varsayılan gri kutular yok.\n\n## Sonraki Adımlar\n\nBaşlamaya hazır mısınız?\n\n* İlk akışınızı oluşturmak için [Hızlı Başlangıç](/docs/tr/quick-start) kılavuzuna göz atın.\n* [Tuval Temelleri](/docs/tr/canvas-basics) hakkında bilgi edinin.\n* [OpenFlow DSL](/docs/tr/openflow-dsl)'de ustalaşın.","src/content/docs/tr/introduction.md","350bc3a863554c4c",{"html":946,"metadata":947},"\u003Cp>\u003Cstrong>OpenFlowKit\u003C/strong>, yapay zeka destekli görselleştirme ile hassas, kod tabanlı düzenleme arasındaki boşluğu dolduran yeni nesil bir diyagram aracıdır. Geliştiriciler, mimarlar ve ürün yöneticileri için tasarlanan OpenFlowKit, doğal dil veya özel DSL’imizi kullanarak karmaşık akış şemaları, sıra diyagramları ve sistem mimarileri oluşturmanıza olanak tanır.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"neden-openflowkit\">Neden OpenFlowKit?\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#neden-openflowkit\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Neden OpenFlowKit?”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Geleneksel diyagram araçları genellikle şu seçenekler arasında tercih yapmaya zorlar:\u003C/p>\n\u003Col>\n\u003Cli>\u003Cstrong>Sürükle-bırak araçları\u003C/strong>: Başlamak kolay, ancak sürdürmesi ve versiyon kontrolü zor.\u003C/li>\n\u003Cli>\u003Cstrong>Kod tabanlı araçlar (Mermaid gibi)\u003C/strong>: Versiyon kontrolü için harika, ancak sıfırdan yazmak zahmetli olabilir.\u003C/li>\n\u003C/ol>\n\u003Cp>OpenFlowKit size her iki dünyanın en iyisini sunar. Bir metin istemiyle başlangıç yapısını oluşturabilir, ardından \u003Cstrong>Hibrit Editörümüzü\u003C/strong> kullanarak düzenleyebilirsiniz—düğümleri tuval üzerinde görsel olarak manipüle edebilir \u003Cem>veya\u003C/em> altta yatan kodu doğrudan düzenleyebilirsiniz.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"temel-özellikler\">Temel Özellikler\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#temel-özellikler\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Temel Özellikler”\u003C/span>\u003C/a>\u003C/div>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"yapay-zeka-destekli-üretim\">Yapay Zeka Destekli Üretim\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#yapay-zeka-destekli-üretim\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Yapay Zeka Destekli Üretim”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Sisteminizi basitçe tanımlayın: \u003Cem>“OAuth yedekli ve hata işlemeli bir giriş akışı oluştur.”\u003C/em> OpenFlowKit’in Gemini entegrasyonu tüm diyagramı anında oluşturur.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"hibrit-tuval\">Hibrit Tuval\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#hibrit-tuval\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Hibrit Tuval”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Tuvalimiz sadece statik bir görüntü değil. Tamamen etkileşimli bir grafik ortamıdır.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Sürükle & Bırak\u003C/strong>: Düğümleri taşıyın, otomatik hizalama.\u003C/li>\n\u003Cli>\u003Cstrong>Akıllı Düzenler\u003C/strong>: Elk.js kullanarak tek tıkla yeniden düzenleme.\u003C/li>\n\u003Cli>\u003Cstrong>Özellikler Paneli\u003C/strong>: CSS’e dokunmadan belirli düğüm stillerini ince ayarlayın.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"kod-olarak-diyagram\">Kod Olarak Diyagram\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#kod-olarak-diyagram\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Kod Olarak Diyagram”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Her diyagram okunabilir, düzenlenebilir bir JSON yapısı ile desteklenir ve Mermaid.js sözdizimi ile uyumludur. Bu, dokümantasyonunuzun kodunuzla birlikte yaşayabileceği anlamına gelir.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"premium-estetik\">Premium Estetik\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#premium-estetik\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Premium Estetik”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>“Önce Tasarım” yaklaşımıyla oluşturulan OpenFlowKit diyagramları varsayılan olarak sunum için hazırdır. Artık çirkin, varsayılan gri kutular yok.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"sonraki-adımlar\">Sonraki Adımlar\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#sonraki-adımlar\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Sonraki Adımlar”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Başlamaya hazır mısınız?\u003C/p>\n\u003Cul>\n\u003Cli>İlk akışınızı oluşturmak için \u003Ca href=\"/docs/tr/quick-start\">Hızlı Başlangıç\u003C/a> kılavuzuna göz atın.\u003C/li>\n\u003Cli>\u003Ca href=\"/docs/tr/canvas-basics\">Tuval Temelleri\u003C/a> hakkında bilgi edinin.\u003C/li>\n\u003Cli>\u003Ca href=\"/docs/tr/openflow-dsl\">OpenFlow DSL\u003C/a>’de ustalaşın.\u003C/li>\n\u003C/ul>",{"headings":948,"localImagePaths":970,"remoteImagePaths":971,"frontmatter":972,"imagePaths":973},[949,952,955,958,961,964,967],{"depth":29,"slug":950,"text":951},"neden-openflowkit","Neden OpenFlowKit?",{"depth":29,"slug":953,"text":954},"temel-özellikler","Temel Özellikler",{"depth":36,"slug":956,"text":957},"yapay-zeka-destekli-üretim","Yapay Zeka Destekli Üretim",{"depth":36,"slug":959,"text":960},"hibrit-tuval","Hibrit Tuval",{"depth":36,"slug":962,"text":963},"kod-olarak-diyagram","Kod Olarak Diyagram",{"depth":36,"slug":965,"text":966},"premium-estetik","Premium Estetik",{"depth":29,"slug":968,"text":969},"sonraki-adımlar","Sonraki Adımlar",[],[],{"draft":19,"title":254},[],"tr/node-types",{"id":974,"data":976,"body":980,"filePath":981,"digest":982,"rendered":983},{"title":356,"editUrl":15,"head":977,"template":17,"sidebar":978,"pagefind":15,"draft":19},[],{"hidden":19,"attrs":979},{},"FlowMind, farklı diyagram ihtiyaçlarını karşılamak için çeşitli özel düğüm türlerini destekler.\n\n## 1. Özel Düğüm (Varsayılan)\n\nDiyagramlarınızın temel yapı taşı. Başlık, isteğe bağlı ikon ve zengin bağlantı tutamaçlarını destekler.\n* **En İyi Kullanım**: Süreç adımları, servisler, veritabanı tabloları veya genel varlıklar.\n* **Özellikler**: Yeniden boyutlandırılabilir, düzenlenebilir etiket, ikon desteği.\n\n## 2. Metin Düğümü / Açıklama\n\nAkış yapısını etkilemeden tuvale yorum veya etiket eklemek için kullanılan hafif, kenarsız bir düğüm.\n* **En İyi Kullanım**: Yapışkan notlar, bölüm başlıkları veya açıklayıcı metin ekleme.\n* **Kullanım**: Araç çubuğundan \"Metin\" seçin veya \\`T\\` tuşuna basın.\n\n## 3. Grup Düğümü\n\nDiğer düğümleri görsel olarak bir arada tutan kapsayıcı düğümler. Bir grubu taşımak, içindeki tüm düğümleri de taşır.\n* **En İyi Kullanım**: Alt sistemleri, VPC'leri veya mantıksal sınırları görselleştirme.\n* **Kullanım**: Düğümleri seçin → Sağ Tıklayın → \"Seçimi Grupla\".\n\n## 4. Yüzme Şeridi Düğümü\n\nSüreçleri aktöre veya departmana göre düzenlemek için dikey veya yatay şeritler.\n* **En İyi Kullanım**: Çok işlevli akış şemaları.\n\n## 5. Görsel Düğümü\n\nİsteğe bağlı görselleri doğrudan tuvale yerleştirin.\n* **En İyi Kullanım**: Logo, ekran görüntüsü veya referans diyagramı ekleme.\n* **Kullanım**: Bir görsel dosyasını doğrudan tuvalin üzerine sürükleyip bırakın.","src/content/docs/tr/node-types.md","d56aa30dae1afddb",{"html":984,"metadata":985},"\u003Cp>FlowMind, farklı diyagram ihtiyaçlarını karşılamak için çeşitli özel düğüm türlerini destekler.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"1-özel-düğüm-varsayılan\">1. Özel Düğüm (Varsayılan)\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#1-özel-düğüm-varsayılan\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “1. Özel Düğüm (Varsayılan)”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Diyagramlarınızın temel yapı taşı. Başlık, isteğe bağlı ikon ve zengin bağlantı tutamaçlarını destekler.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>En İyi Kullanım\u003C/strong>: Süreç adımları, servisler, veritabanı tabloları veya genel varlıklar.\u003C/li>\n\u003Cli>\u003Cstrong>Özellikler\u003C/strong>: Yeniden boyutlandırılabilir, düzenlenebilir etiket, ikon desteği.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"2-metin-düğümü--açıklama\">2. Metin Düğümü / Açıklama\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#2-metin-düğümü--açıklama\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “2. Metin Düğümü / Açıklama”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Akış yapısını etkilemeden tuvale yorum veya etiket eklemek için kullanılan hafif, kenarsız bir düğüm.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>En İyi Kullanım\u003C/strong>: Yapışkan notlar, bölüm başlıkları veya açıklayıcı metin ekleme.\u003C/li>\n\u003Cli>\u003Cstrong>Kullanım\u003C/strong>: Araç çubuğundan “Metin” seçin veya `T` tuşuna basın.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"3-grup-düğümü\">3. Grup Düğümü\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#3-grup-düğümü\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “3. Grup Düğümü”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Diğer düğümleri görsel olarak bir arada tutan kapsayıcı düğümler. Bir grubu taşımak, içindeki tüm düğümleri de taşır.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>En İyi Kullanım\u003C/strong>: Alt sistemleri, VPC’leri veya mantıksal sınırları görselleştirme.\u003C/li>\n\u003Cli>\u003Cstrong>Kullanım\u003C/strong>: Düğümleri seçin → Sağ Tıklayın → “Seçimi Grupla”.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"4-yüzme-şeridi-düğümü\">4. Yüzme Şeridi Düğümü\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#4-yüzme-şeridi-düğümü\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “4. Yüzme Şeridi Düğümü”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Süreçleri aktöre veya departmana göre düzenlemek için dikey veya yatay şeritler.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>En İyi Kullanım\u003C/strong>: Çok işlevli akış şemaları.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"5-görsel-düğümü\">5. Görsel Düğümü\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#5-görsel-düğümü\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “5. Görsel Düğümü”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>İsteğe bağlı görselleri doğrudan tuvale yerleştirin.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>En İyi Kullanım\u003C/strong>: Logo, ekran görüntüsü veya referans diyagramı ekleme.\u003C/li>\n\u003Cli>\u003Cstrong>Kullanım\u003C/strong>: Bir görsel dosyasını doğrudan tuvalin üzerine sürükleyip bırakın.\u003C/li>\n\u003C/ul>",{"headings":986,"localImagePaths":1002,"remoteImagePaths":1003,"frontmatter":1004,"imagePaths":1005},[987,990,993,996,999],{"depth":29,"slug":988,"text":989},"1-özel-düğüm-varsayılan","1. Özel Düğüm (Varsayılan)",{"depth":29,"slug":991,"text":992},"2-metin-düğümü--açıklama","2. Metin Düğümü / Açıklama",{"depth":29,"slug":994,"text":995},"3-grup-düğümü","3. Grup Düğümü",{"depth":29,"slug":997,"text":998},"4-yüzme-şeridi-düğümü","4. Yüzme Şeridi Düğümü",{"depth":29,"slug":1000,"text":1001},"5-görsel-düğümü","5. Görsel Düğümü",[],[],{"draft":19,"title":356},[],"tr/keyboard-shortcuts",{"id":1006,"data":1008,"body":1012,"filePath":1013,"digest":1014,"rendered":1015},{"title":128,"editUrl":15,"head":1009,"template":17,"sidebar":1010,"pagefind":15,"draft":19},[],{"hidden":19,"attrs":1011},{},"İş akışınızı hızlandırmak için bu klavye kısayollarıyla FlowMind'ı ustalıkla kullanın.\n\n## Genel\n\n| Eylem | MacOS | Windows/Linux |\n| :--- | :--- | :--- |\n| **Komut Paleti** | \\`Cmd + K\\` | \\`Ctrl + K\\` |\n| **Kaydet** | \\`Cmd + S\\` | \\`Ctrl + S\\` |\n| **Geri Al** | \\`Cmd + Z\\` | \\`Ctrl + Z\\` |\n| **Yeniden Yap** | \\`Cmd + Shift + Z\\` | \\`Ctrl + Shift + Z\\` |\n\n## Tuval Gezintisi\n\n| Eylem | MacOS | Windows/Linux |\n| :--- | :--- | :--- |\n| **Yakınlaştır** | \\`+\\` | \\`+\\` |\n| **Uzaklaştır** | \\`-\\` | \\`-\\` |\n| **Görünüme Sığdır** | \\`Shift + 1\\` | \\`Shift + 1\\` |\n\n## Düzenleme\n\n| Eylem | MacOS | Windows/Linux |\n| :--- | :--- | :--- |\n| **Düğümü Kopyala** | \\`Cmd + D\\` veya \\`Alt + Sürükle\\` | \\`Ctrl + D\\` veya \\`Alt + Sürükle\\` |\n| **Düğümü Sil** | \\`Backspace\\` | \\`Backspace\\` |\n| **Tümünü Seç** | \\`Cmd + A\\` | \\`Ctrl + A\\` |\n| **Seçimi Grupla** | \\`Cmd + G\\` | \\`Ctrl + G\\` |\n\n> **Not:** Kısayollar yalnızca tuval odakta iken aktiftir.","src/content/docs/tr/keyboard-shortcuts.md","078b6955cd684b89",{"html":1016,"metadata":1017},"\u003Cp>İş akışınızı hızlandırmak için bu klavye kısayollarıyla FlowMind’ı ustalıkla kullanın.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"genel\">Genel\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#genel\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Genel”\u003C/span>\u003C/a>\u003C/div>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth align=\"left\">Eylem\u003C/th>\u003Cth align=\"left\">MacOS\u003C/th>\u003Cth align=\"left\">Windows/Linux\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd align=\"left\">\u003Cstrong>Komut Paleti\u003C/strong>\u003C/td>\u003Ctd align=\"left\">`Cmd + K`\u003C/td>\u003Ctd align=\"left\">`Ctrl + K`\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd align=\"left\">\u003Cstrong>Kaydet\u003C/strong>\u003C/td>\u003Ctd align=\"left\">`Cmd + S`\u003C/td>\u003Ctd align=\"left\">`Ctrl + S`\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd align=\"left\">\u003Cstrong>Geri Al\u003C/strong>\u003C/td>\u003Ctd align=\"left\">`Cmd + Z`\u003C/td>\u003Ctd align=\"left\">`Ctrl + Z`\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd align=\"left\">\u003Cstrong>Yeniden Yap\u003C/strong>\u003C/td>\u003Ctd align=\"left\">`Cmd + Shift + Z`\u003C/td>\u003Ctd align=\"left\">`Ctrl + Shift + Z`\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"tuval-gezintisi\">Tuval Gezintisi\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#tuval-gezintisi\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Tuval Gezintisi”\u003C/span>\u003C/a>\u003C/div>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth align=\"left\">Eylem\u003C/th>\u003Cth align=\"left\">MacOS\u003C/th>\u003Cth align=\"left\">Windows/Linux\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd align=\"left\">\u003Cstrong>Yakınlaştır\u003C/strong>\u003C/td>\u003Ctd align=\"left\">`+`\u003C/td>\u003Ctd align=\"left\">`+`\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd align=\"left\">\u003Cstrong>Uzaklaştır\u003C/strong>\u003C/td>\u003Ctd align=\"left\">`-`\u003C/td>\u003Ctd align=\"left\">`-`\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd align=\"left\">\u003Cstrong>Görünüme Sığdır\u003C/strong>\u003C/td>\u003Ctd align=\"left\">`Shift + 1`\u003C/td>\u003Ctd align=\"left\">`Shift + 1`\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"düzenleme\">Düzenleme\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#düzenleme\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Düzenleme”\u003C/span>\u003C/a>\u003C/div>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth align=\"left\">Eylem\u003C/th>\u003Cth align=\"left\">MacOS\u003C/th>\u003Cth align=\"left\">Windows/Linux\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd align=\"left\">\u003Cstrong>Düğümü Kopyala\u003C/strong>\u003C/td>\u003Ctd align=\"left\">`Cmd + D` veya `Alt + Sürükle`\u003C/td>\u003Ctd align=\"left\">`Ctrl + D` veya `Alt + Sürükle`\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd align=\"left\">\u003Cstrong>Düğümü Sil\u003C/strong>\u003C/td>\u003Ctd align=\"left\">`Backspace`\u003C/td>\u003Ctd align=\"left\">`Backspace`\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd align=\"left\">\u003Cstrong>Tümünü Seç\u003C/strong>\u003C/td>\u003Ctd align=\"left\">`Cmd + A`\u003C/td>\u003Ctd align=\"left\">`Ctrl + A`\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd align=\"left\">\u003Cstrong>Seçimi Grupla\u003C/strong>\u003C/td>\u003Ctd align=\"left\">`Cmd + G`\u003C/td>\u003Ctd align=\"left\">`Ctrl + G`\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Cblockquote>\n\u003Cp>\u003Cstrong>Not:\u003C/strong> Kısayollar yalnızca tuval odakta iken aktiftir.\u003C/p>\n\u003C/blockquote>",{"headings":1018,"localImagePaths":1028,"remoteImagePaths":1029,"frontmatter":1030,"imagePaths":1031},[1019,1022,1025],{"depth":29,"slug":1020,"text":1021},"genel","Genel",{"depth":29,"slug":1023,"text":1024},"tuval-gezintisi","Tuval Gezintisi",{"depth":29,"slug":1026,"text":1027},"düzenleme","Düzenleme",[],[],{"draft":19,"title":128},[],"tr/mermaid-integration",{"id":1032,"data":1034,"body":1038,"filePath":1039,"digest":1040,"rendered":1041},{"title":293,"editUrl":15,"head":1035,"template":17,"sidebar":1036,"pagefind":15,"draft":19},[],{"hidden":19,"attrs":1037},{},"FlowMind, kod olarak diyagram için endüstri standardı olan [Mermaid.js](https://mermaid.js.org/) ile yüksek uyumluluk sağlar.\n\n## Mermaid İçe Aktarma\n\nMevcut Mermaid kodunu doğrudan FlowMind'a yapıştırabilirsiniz.\n\n1. Araç çubuğundaki **\"İçe Aktar\"** düğmesine tıklayın.\n2. **\"Mermaid\"** seçeneğini seçin.\n3. Kod parçacığınızı yapıştırın.\n\n### Desteklenen Diyagram Türleri\nFlowMind şu an için aşağıdakileri optimize etmektedir:\n* **Akış Şemaları** (`graph TD`, `graph LR`)\n* **Sekans Diyagramları** (Dönüşüm yoluyla kısmi destek)\n\n```mermaid\ngraph TD\n A[Başlat] --> B{Çalışıyor mu?}\n B -- Evet --> C[Harika!]\n B -- Hayır --> D[Hata Ayıkla]\n```\n\n## Mermaid'e Dışa Aktarma\n\nHerhangi bir FlowMind diyagramını Mermaid sözdizimine *geri* aktarabilirsiniz.\nBu özellik, GitHub `README.md` dosyalarına veya Notion belgelerine diyagram gömmek için idealdir.\n\n1. **Kod Paneli**'ni açın (alt panel).\n2. **\"Mermaid\"** sekmesine geçin.\n3. Oluşturulan kodu kopyalayın.","src/content/docs/tr/mermaid-integration.md","4d3dd83100824861",{"html":1042,"metadata":1043},"\u003Cp>FlowMind, kod olarak diyagram için endüstri standardı olan \u003Ca href=\"https://mermaid.js.org/\">Mermaid.js\u003C/a> ile yüksek uyumluluk sağlar.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"mermaid-i̇çe-aktarma\">Mermaid İçe Aktarma\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#mermaid-i̇çe-aktarma\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Mermaid İçe Aktarma”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Mevcut Mermaid kodunu doğrudan FlowMind’a yapıştırabilirsiniz.\u003C/p>\n\u003Col>\n\u003Cli>Araç çubuğundaki \u003Cstrong>“İçe Aktar”\u003C/strong> düğmesine tıklayın.\u003C/li>\n\u003Cli>\u003Cstrong>“Mermaid”\u003C/strong> seçeneğini seçin.\u003C/li>\n\u003Cli>Kod parçacığınızı yapıştırın.\u003C/li>\n\u003C/ol>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"desteklenen-diyagram-türleri\">Desteklenen Diyagram Türleri\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#desteklenen-diyagram-türleri\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Desteklenen Diyagram Türleri”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>FlowMind şu an için aşağıdakileri optimize etmektedir:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Akış Şemaları\u003C/strong> (\u003Ccode dir=\"auto\">graph TD\u003C/code>, \u003Ccode dir=\"auto\">graph LR\u003C/code>)\u003C/li>\n\u003Cli>\u003Cstrong>Sekans Diyagramları\u003C/strong> (Dönüşüm yoluyla kısmi destek)\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"expressive-code\">\u003Clink rel=\"stylesheet\" href=\"/_astro/ec.v4551.css\">\u003Cscript type=\"module\" src=\"/_astro/ec.0vx5m.js\">\u003C/script>\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"mermaid\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">graph TD\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">A[Başlat] --> B{Çalışıyor mu?}\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">B -- Evet --> C[Harika!]\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">B -- Hayır --> D[Hata Ayıkla]\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"graph TD A[Başlat] --> B{Çalışıyor mu?} B -- Evet --> C[Harika!] B -- Hayır --> D[Hata Ayıkla]\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"mermaide-dışa-aktarma\">Mermaid’e Dışa Aktarma\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#mermaide-dışa-aktarma\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Mermaid’e Dışa Aktarma”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Herhangi bir FlowMind diyagramını Mermaid sözdizimine \u003Cem>geri\u003C/em> aktarabilirsiniz.\nBu özellik, GitHub \u003Ccode dir=\"auto\">README.md\u003C/code> dosyalarına veya Notion belgelerine diyagram gömmek için idealdir.\u003C/p>\n\u003Col>\n\u003Cli>\u003Cstrong>Kod Paneli\u003C/strong>’ni açın (alt panel).\u003C/li>\n\u003Cli>\u003Cstrong>“Mermaid”\u003C/strong> sekmesine geçin.\u003C/li>\n\u003Cli>Oluşturulan kodu kopyalayın.\u003C/li>\n\u003C/ol>",{"headings":1044,"localImagePaths":1054,"remoteImagePaths":1055,"frontmatter":1056,"imagePaths":1057},[1045,1048,1051],{"depth":29,"slug":1046,"text":1047},"mermaid-i̇çe-aktarma","Mermaid İçe Aktarma",{"depth":36,"slug":1049,"text":1050},"desteklenen-diyagram-türleri","Desteklenen Diyagram Türleri",{"depth":29,"slug":1052,"text":1053},"mermaide-dışa-aktarma","Mermaid’e Dışa Aktarma",[],[],{"draft":19,"title":293},[],"tr/playback-history",{"id":1058,"data":1060,"body":1064,"filePath":1065,"digest":1066,"rendered":1067},{"title":464,"editUrl":15,"head":1061,"template":17,"sidebar":1062,"pagefind":15,"draft":19},[],{"hidden":19,"attrs":1063},{},"FlowMind, yaptığınız her değişikliği otomatik olarak izler. **Oynatma** özelliği, karar sürecinizi gözden geçirmek için zamanda geriye gitmenizi sağlar.\n\n## Geçmiş Zaman Çizelgesi\n\nGeçmiş Zaman Çizelgesini açmak için üst gezinme çubuğundaki **Saat İkonuna** tıklayın.\n\n### Sürüm Kontrol Noktaları\nÖnemli bir eylem gerçekleştirdiğinizde (düğüm ekleme, renk değiştirme, otomatik düzen) her seferinde bir \"anlık görüntü\" kaydedilir.\n* **Geri Al/Yeniden Yap**: Aynı sistemi kullanarak ileri geri atlar (`Cmd+Z`).\n\n## Oynatma Modu\n\nDiyagramınızın baştan sona inşa edildiğini izlemek için Geçmiş panelindeki **Oynat** düğmesine basın.\n* **Hız Kontrolü**: Oynatma hızını ayarlayın (1x, 2x, 4x).\n* **Kaydırma**: Sürgüyü belirli noktalara sürükleyin.\n* **Geri Yükle**: Daha eski bir sürümü beğendiniz mi? Tuvali o duruma mükemmel biçimde geri döndürmek için \"Geri Yükle\"ye tıklayın.","src/content/docs/tr/playback-history.md","0b9fe5276a4dcce9",{"html":1068,"metadata":1069},"\u003Cp>FlowMind, yaptığınız her değişikliği otomatik olarak izler. \u003Cstrong>Oynatma\u003C/strong> özelliği, karar sürecinizi gözden geçirmek için zamanda geriye gitmenizi sağlar.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"geçmiş-zaman-çizelgesi\">Geçmiş Zaman Çizelgesi\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#geçmiş-zaman-çizelgesi\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Geçmiş Zaman Çizelgesi”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Geçmiş Zaman Çizelgesini açmak için üst gezinme çubuğundaki \u003Cstrong>Saat İkonuna\u003C/strong> tıklayın.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"sürüm-kontrol-noktaları\">Sürüm Kontrol Noktaları\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#sürüm-kontrol-noktaları\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Sürüm Kontrol Noktaları”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Önemli bir eylem gerçekleştirdiğinizde (düğüm ekleme, renk değiştirme, otomatik düzen) her seferinde bir “anlık görüntü” kaydedilir.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Geri Al/Yeniden Yap\u003C/strong>: Aynı sistemi kullanarak ileri geri atlar (\u003Ccode dir=\"auto\">Cmd+Z\u003C/code>).\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"oynatma-modu\">Oynatma Modu\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#oynatma-modu\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Oynatma Modu”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Diyagramınızın baştan sona inşa edildiğini izlemek için Geçmiş panelindeki \u003Cstrong>Oynat\u003C/strong> düğmesine basın.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Hız Kontrolü\u003C/strong>: Oynatma hızını ayarlayın (1x, 2x, 4x).\u003C/li>\n\u003Cli>\u003Cstrong>Kaydırma\u003C/strong>: Sürgüyü belirli noktalara sürükleyin.\u003C/li>\n\u003Cli>\u003Cstrong>Geri Yükle\u003C/strong>: Daha eski bir sürümü beğendiniz mi? Tuvali o duruma mükemmel biçimde geri döndürmek için “Geri Yükle”ye tıklayın.\u003C/li>\n\u003C/ul>",{"headings":1070,"localImagePaths":1080,"remoteImagePaths":1081,"frontmatter":1082,"imagePaths":1083},[1071,1074,1077],{"depth":29,"slug":1072,"text":1073},"geçmiş-zaman-çizelgesi","Geçmiş Zaman Çizelgesi",{"depth":36,"slug":1075,"text":1076},"sürüm-kontrol-noktaları","Sürüm Kontrol Noktaları",{"depth":29,"slug":1078,"text":1079},"oynatma-modu","Oynatma Modu",[],[],{"draft":19,"title":464},[],"tr/openflow-dsl",{"id":1084,"data":1086,"body":1090,"filePath":1091,"digest":1092,"rendered":1093},{"title":389,"editUrl":15,"head":1087,"template":17,"sidebar":1088,"pagefind":15,"draft":19},[],{"hidden":19,"attrs":1089},{},"# 🧠 FlowMind DSL Sözdizimi Rehberi (V2)\n\nFlowMind, diyagramları metin kullanarak tanımlamak için temiz, insan tarafından okunabilir bir DSL kullanır.\nSürüm 2 şunları sunar:\n\n* Açık düğüm kimlikleri\n* Stil özellikleri\n* Gruplar / kapsayıcılar\n* Kenar özelleştirmesi\n\n---\n\n# 1️⃣ Belge Başlığı\n\nHer DSL dosyası isteğe bağlı meta verilerle başlayabilir:\n\n```yaml\nflow: \"Harika İş Akışım\"\ndirection: TB\n```\n\n### Alanlar\n\n| Alan | Açıklama |\n| ----------- | -------------------------------------------------------------- |\n| `flow` | Diyagramın başlığı |\n| `direction` | Düzen yönü: `TB` (Yukarıdan Aşağıya) veya `LR` (Soldan Sağa) |\n\n---\n\n# 2️⃣ Düğümler\n\nDüğümler diyagram öğelerini tanımlar.\n\n## Temel Sözdizimi\n\n```\n[start] Süreci Başlat\n[process] İsteği İşle\n[end] Süreci Sonlandır\n```\n\n---\n\n## Açık Kimliklerle\n\nÖzellikle büyük akışlarda netlik için kullanışlıdır.\n\n```\n[start] start: Süreci Başlat\n[process] proc1: İsteği İşle\n[end] end: Süreci Sonlandır\n\nstart -> proc1\nproc1 -> end\n```\n\n---\n\n## Özelliklerle\n\nÖzellikler JSON benzeri sözdizimi kullanır:\n\n```\n[process] p1: Kritik Adım { color: \"red\", icon: \"alert-triangle\" }\n[system] db: Veritabanı { icon: \"database\" }\n```\n\n### Özellik Örnekleri\n\n| Özellik | Amaç |\n| --------- | --------------------- |\n| `color` | Düğüm rengini geçersiz kıl |\n| `icon` | İkon ekle |\n| `style` | Özel stil değiştirici |\n\n---\n\n## Desteklenen Düğüm Türleri\n\n| DSL Türü | Şekil | Varsayılan Renk |\n| ----------- | ----------------- | ------------- |\n| `start` | Kapsül | Zümrüt |\n| `end` | Kapsül | Kırmızı |\n| `process` | Yuvarlak dikdörtgen | Arduvaz |\n| `decision` | Elmas | Amber |\n| `system` | Özel düğüm | Mor |\n| `note` | Yapışkan not | Sarı |\n| `section` | Grup kapsayıcısı | Mavi |\n| `container` | Genel grup | Gri |\n\nBir düğüm bağlantıda referans alınır ancak tanımlanmazsa varsayılan olarak `process` kullanılır.\n\n---\n\n# 3️⃣ Kenarlar (Bağlantılar)\n\nBağlantılar düğümler arasındaki akışı tanımlar.\n\n## Temel Bağlantı\n\n```\nSüreci Başlat -> İsteği İşle\n```\n\n---\n\n## Kenar Türleri\n\n| Sembol | Anlam |\n| ------ | ----------- |\n| `->` | Düz çizgi |\n| `-->` | Kavisli çizgi |\n| `..>` | Kesik çizgi |\n| `==>` | Kalın çizgi |\n\nÖrnek:\n\n```\nA ..> B\nC ==> D\n```\n\n---\n\n## Etiketli Bağlantılar\n\nPipe karakterleri kullanın:\n\n```\nGeçerli mi? ->|Evet| Veriyi Kaydet\nGeçerli mi? ->|Hayır| Hata Döndür\n```\n\n---\n\n## Kenar Özellikleri\n\n```\nA -> B { style: \"dashed\", label: \"Async\" }\n```\n\n---\n\n# 4️⃣ Gruplar\n\nDüğümleri kümelemek için `group` kullanın.\n\n```\ngroup \"Backend Servisleri\" {\n [process] api: API Sunucusu\n [system] db: Veritabanı\n api -> db\n}\n```\n\nGruplar mantıksal alanları görsel olarak ayırmaya yardımcı olur.\n\n---\n\n# 5️⃣ Yorumlar\n\n`#` ile başlayan satırlar yoksayılır.\n\n```\n# Bu bir yorumdur\n[start] Başla\n```\n\n---\n\n# ✅ Tam Örnek\n\n```yaml\nflow: \"Kullanıcı Giriş Akışı\"\ndirection: TB\n\n# Düğümleri Tanımla\n[start] user: Kullanıcı\n[process] login: Giriş Sayfası { icon: \"log-in\" }\n\ngroup \"Kimlik Doğrulama\" {\n [system] auth: Auth Servisi\n [decision] check: Geçerli mi?\n}\n\n[end] dash: Gösterge Paneli\n[end] err: Hata\n\n# Mantığı Tanımla\nuser -> login\nlogin -> auth\nauth -> check\n\ncheck ->|Evet| dash { color: \"green\" }\ncheck ->|Hayır| err { color: \"red\", style: \"dashed\" }\n```\n\n---\n\n# 🤖 LLM Ajan İstem Şablonu\n\nBir LLM ajanı kullanarak FlowMind DSL oluşturmak isteyenler aşağıdaki istemi kullanabilir:\n\n---\n\n## LLM için Kopyala-Yapıştır İstemi\n\n```\nSen uzman bir FlowMind DSL V2 oluşturucususun.\n\nGörevin, kullanıcının iş akışı açıklamasını geçerli FlowMind DSL'ye dönüştürmektir.\n\nAşağıda tanımlanan FlowMind DSL V2 spesifikasyonunu kesinlikle takip etmelisin.\n\n========================================\nFLOWMIND DSL V2 SPESİFİKASYONU\n========================================\n\n1. BELGE BAŞLIĞI (Zorunlu)\n\nHer çıktı şununla başlamalıdır:\n\nflow: \"Başlık Buraya\"\ndirection: TB veya LR\n\nKurallar:\n- Her zaman anlamlı bir başlık oluştur.\n- Kullanıcı açıkça yatay düzen belirtmediği sürece TB'yi varsayılan olarak kullan.\n\n----------------------------------------\n\n2. DÜĞÜM TANIMLAMA KURALLARI\n\nDüğüm sözdizimi:\n\n[tür] kimlik: Etiket { isteğe_bağlı_özellikler }\n\nÖrnek:\n[process] p1: İsteği İşle\n[decision] d1: Geçerli mi? { icon: \"help-circle\" }\n\nKurallar:\n- HER ZAMAN açık kimlikler kullan.\n- Kimlikler kısa, küçük harf ve boşluksuz olmalıdır.\n- Kimlikler benzersiz olmalıdır.\n- Anlamlı isimler kullan (start, login, checkAuth, db, vb.).\n- Etiketleri kimlik olarak KULLANMA.\n- Düğüm tanımlamalarını ATLAMA.\n\nBir düğüm bağlantıda referans alınıyorsa önce tanımlanmış OLMALIDIR.\n\n----------------------------------------\n\n3. DESTEKLENEN DÜĞÜM TÜRLERİ\n\nYALNIZCA bu türleri kullan:\n\nstart\nend\nprocess\ndecision\nsystem\nnote\nsection\ncontainer\n\nKılavuz:\n\nstart → akışın başlangıcı\nend → bitiş durumları\nprocess → eylemler veya adımlar\ndecision → dallanma mantığı\nsystem → harici sistem/servis/veritabanı\nnote → açıklamalar\nsection → ana gruplu alan\ncontainer → genel gruplama\n\n----------------------------------------\n\n4. DÜĞÜM ÖZELLİKLERİ (İsteğe Bağlı)\n\nÖzellikler JSON benzeri sözdizimi kullanır:\n\n{ color: \"red\", icon: \"database\", style: \"dashed\" }\n\nKurallar:\n- Özelliği yalnızca anlamlıysa ekle.\n- Stili minimal tut.\n- Desteklenmeyen özellikler uydurma.\n\n----------------------------------------\n\n5. KENARLAR (BAĞLANTILAR)\n\nTemel sözdizimi:\nkimlik1 -> kimlik2\n\nKenar türleri:\n-> düz\n--> kavisli\n..> kesik\n==> kalın\n\nEtiketli kenarlar:\nkimlik1 ->|Evet| kimlik2\n\nÖzellikli kenar:\nkimlik1 -> kimlik2 { label: \"Async\", style: \"dashed\" }\n\nKurallar:\n- Her zaman etiket değil kimlik kullanarak bağlan.\n- Karar düğümleri etiketli kenarlar KULLANMALIDIR.\n- Karardan gelen her dal açık olmalıdır.\n- Yalnız düğüm bırakma.\n\n----------------------------------------\n\n6. GRUPLAR\n\nMantıksal kümeleme mevcutsa gruplama kullan.\n\nSözdizimi:\n\ngroup \"Grup Adı\" {\n düğüm tanımlamaları\n iç bağlantılar\n}\n\nKurallar:\n- Gruplar yalnızca ilgili düğümleri kapsamalıdır.\n- Gruplar arası bağlantılar grup bloğunun dışında tanımlanmalıdır.\n\n----------------------------------------\n\n7. YORUMLAR\n\nYorumlar için # kullan; aşırıya kaçma.\nAşırı yorum yapma.\n\n----------------------------------------\n\n8. ÇIKTI KURALLARI (KATI)\n\nZORUNLU:\n\n- YALNIZCA geçerli FlowMind DSL çıktısı üret\n- Açıklama YAPMA\n- Markdown biçimlendirmesi KULLANMA\n- Kod bloğuna SARMA\n- Yorum EKLEMEema\n- Ne yaptığını AÇIKLAMA\n- DSL dışında hiçbir şey ÇIKARMAK\n\nKullanıcı açıklaması belirsizse:\n- Makul varsayımlar yap\n- Mantıklı yapı seç\n- Akışı temiz ve okunabilir tut\n\n========================================\nMANTIK DÖNÜŞÜM STRATEJİSİ\n========================================\n\nKullanıcı girdisini dönüştürürken:\n\n1. Belirle:\n - Başlangıç olayı\n - Bitiş durumları\n - Eylemler\n - Kararlar\n - Harici sistemler\n - Mantıksal kümeler\n\n2. Dönüştür:\n - Olaylar → start / end\n - Eylemler → process\n - Dallanma → decision\n - Veritabanları/API'ler → system\n - Paralel mantık → ayrı dallar\n - Hata yolları → açık end düğümleri\n\n3. Sağla:\n - Her yol bir uca ulaşır\n - Yalnız düğüm yok\n - Temiz mantıksal okunabilirlik\n\n========================================\nKULLANICI İSTEĞİ\n========================================\n\nAşağıdaki iş akışı açıklamasını FlowMind DSL V2'ye dönüştür:\n\n{{KULLANICI_İŞ_AKIŞI_AÇIKLAMASI}}\n\nDSL'yi şimdi oluştur.\n```\n\n---","src/content/docs/tr/openflow-dsl.md","b3a917640dcc8af7",{"html":1094,"metadata":1095},"\u003Cdiv class=\"sl-heading-wrapper level-h1\">\u003Ch1 id=\"-flowmind-dsl-sözdizimi-rehberi-v2\">🧠 FlowMind DSL Sözdizimi Rehberi (V2)\u003C/h1>\u003Ca class=\"sl-anchor-link\" href=\"#-flowmind-dsl-sözdizimi-rehberi-v2\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “🧠 FlowMind DSL Sözdizimi Rehberi (V2)”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>FlowMind, diyagramları metin kullanarak tanımlamak için temiz, insan tarafından okunabilir bir DSL kullanır.\nSürüm 2 şunları sunar:\u003C/p>\n\u003Cul>\n\u003Cli>Açık düğüm kimlikleri\u003C/li>\n\u003Cli>Stil özellikleri\u003C/li>\n\u003Cli>Gruplar / kapsayıcılar\u003C/li>\n\u003Cli>Kenar özelleştirmesi\u003C/li>\n\u003C/ul>\n\u003Chr>\n\u003Cdiv class=\"sl-heading-wrapper level-h1\">\u003Ch1 id=\"1️⃣-belge-başlığı\">1️⃣ Belge Başlığı\u003C/h1>\u003Ca class=\"sl-anchor-link\" href=\"#1️⃣-belge-başlığı\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “1️⃣ Belge Başlığı”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Her DSL dosyası isteğe bağlı meta verilerle başlayabilir:\u003C/p>\n\u003Cdiv class=\"expressive-code\">\u003Clink rel=\"stylesheet\" href=\"/_astro/ec.v4551.css\">\u003Cscript type=\"module\" src=\"/_astro/ec.0vx5m.js\">\u003C/script>\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"yaml\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#7FDBCA;--1:#111111\">flow\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">: \u003C/span>\u003Cspan style=\"--0:#D9F5DD;--1:#111111\">\"\u003C/span>\u003Cspan style=\"--0:#ECC48D;--1:#984E4D\">Harika İş Akışım\u003C/span>\u003Cspan style=\"--0:#D9F5DD;--1:#111111\">\"\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#7FDBCA;--1:#111111\">direction\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">: \u003C/span>\u003Cspan style=\"--0:#ECC48D;--1:#3B61B0\">TB\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"flow: "Harika İş Akışım"direction: TB\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"alanlar\">Alanlar\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#alanlar\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Alanlar”\u003C/span>\u003C/a>\u003C/div>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>Alan\u003C/th>\u003Cth>Açıklama\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">flow\u003C/code>\u003C/td>\u003Ctd>Diyagramın başlığı\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">direction\u003C/code>\u003C/td>\u003Ctd>Düzen yönü: \u003Ccode dir=\"auto\">TB\u003C/code> (Yukarıdan Aşağıya) veya \u003Ccode dir=\"auto\">LR\u003C/code> (Soldan Sağa)\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Chr>\n\u003Cdiv class=\"sl-heading-wrapper level-h1\">\u003Ch1 id=\"2️⃣-düğümler\">2️⃣ Düğümler\u003C/h1>\u003Ca class=\"sl-anchor-link\" href=\"#2️⃣-düğümler\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “2️⃣ Düğümler”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Düğümler diyagram öğelerini tanımlar.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"temel-sözdizimi\">Temel Sözdizimi\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#temel-sözdizimi\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Temel Sözdizimi”\u003C/span>\u003C/a>\u003C/div>\n\u003Cdiv class=\"expressive-code\">\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"plaintext\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">[start] Süreci Başlat\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">[process] İsteği İşle\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">[end] Süreci Sonlandır\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"[start] Süreci Başlat[process] İsteği İşle[end] Süreci Sonlandır\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Chr>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"açık-kimliklerle\">Açık Kimliklerle\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#açık-kimliklerle\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Açık Kimliklerle”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Özellikle büyük akışlarda netlik için kullanışlıdır.\u003C/p>\n\u003Cdiv class=\"expressive-code\">\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"plaintext\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">[start] start: Süreci Başlat\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">[process] proc1: İsteği İşle\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">[end] end: Süreci Sonlandır\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">start -> proc1\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">proc1 -> end\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"[start] start: Süreci Başlat[process] proc1: İsteği İşle[end] end: Süreci Sonlandırstart -> proc1proc1 -> end\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Chr>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"özelliklerle\">Özelliklerle\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#özelliklerle\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Özelliklerle”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Özellikler JSON benzeri sözdizimi kullanır:\u003C/p>\n\u003Cdiv class=\"expressive-code\">\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"plaintext\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">[process] p1: Kritik Adım { color: \"red\", icon: \"alert-triangle\" }\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">[system] db: Veritabanı { icon: \"database\" }\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"[process] p1: Kritik Adım { color: "red", icon: "alert-triangle" }[system] db: Veritabanı { icon: "database" }\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"özellik-örnekleri\">Özellik Örnekleri\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#özellik-örnekleri\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Özellik Örnekleri”\u003C/span>\u003C/a>\u003C/div>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>Özellik\u003C/th>\u003Cth>Amaç\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">color\u003C/code>\u003C/td>\u003Ctd>Düğüm rengini geçersiz kıl\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">icon\u003C/code>\u003C/td>\u003Ctd>İkon ekle\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">style\u003C/code>\u003C/td>\u003Ctd>Özel stil değiştirici\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Chr>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"desteklenen-düğüm-türleri\">Desteklenen Düğüm Türleri\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#desteklenen-düğüm-türleri\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Desteklenen Düğüm Türleri”\u003C/span>\u003C/a>\u003C/div>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>DSL Türü\u003C/th>\u003Cth>Şekil\u003C/th>\u003Cth>Varsayılan Renk\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">start\u003C/code>\u003C/td>\u003Ctd>Kapsül\u003C/td>\u003Ctd>Zümrüt\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">end\u003C/code>\u003C/td>\u003Ctd>Kapsül\u003C/td>\u003Ctd>Kırmızı\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">process\u003C/code>\u003C/td>\u003Ctd>Yuvarlak dikdörtgen\u003C/td>\u003Ctd>Arduvaz\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">decision\u003C/code>\u003C/td>\u003Ctd>Elmas\u003C/td>\u003Ctd>Amber\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">system\u003C/code>\u003C/td>\u003Ctd>Özel düğüm\u003C/td>\u003Ctd>Mor\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">note\u003C/code>\u003C/td>\u003Ctd>Yapışkan not\u003C/td>\u003Ctd>Sarı\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">section\u003C/code>\u003C/td>\u003Ctd>Grup kapsayıcısı\u003C/td>\u003Ctd>Mavi\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">container\u003C/code>\u003C/td>\u003Ctd>Genel grup\u003C/td>\u003Ctd>Gri\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Cp>Bir düğüm bağlantıda referans alınır ancak tanımlanmazsa varsayılan olarak \u003Ccode dir=\"auto\">process\u003C/code> kullanılır.\u003C/p>\n\u003Chr>\n\u003Cdiv class=\"sl-heading-wrapper level-h1\">\u003Ch1 id=\"3️⃣-kenarlar-bağlantılar\">3️⃣ Kenarlar (Bağlantılar)\u003C/h1>\u003Ca class=\"sl-anchor-link\" href=\"#3️⃣-kenarlar-bağlantılar\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “3️⃣ Kenarlar (Bağlantılar)”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Bağlantılar düğümler arasındaki akışı tanımlar.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"temel-bağlantı\">Temel Bağlantı\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#temel-bağlantı\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Temel Bağlantı”\u003C/span>\u003C/a>\u003C/div>\n\u003Cdiv class=\"expressive-code\">\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"plaintext\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Süreci Başlat -> İsteği İşle\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"Süreci Başlat -> İsteği İşle\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Chr>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"kenar-türleri\">Kenar Türleri\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#kenar-türleri\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Kenar Türleri”\u003C/span>\u003C/a>\u003C/div>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>Sembol\u003C/th>\u003Cth>Anlam\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">->\u003C/code>\u003C/td>\u003Ctd>Düz çizgi\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">-->\u003C/code>\u003C/td>\u003Ctd>Kavisli çizgi\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">..>\u003C/code>\u003C/td>\u003Ctd>Kesik çizgi\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">==>\u003C/code>\u003C/td>\u003Ctd>Kalın çizgi\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Cp>Örnek:\u003C/p>\n\u003Cdiv class=\"expressive-code\">\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"plaintext\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">A ..> B\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">C ==> D\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"A ..> BC ==> D\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Chr>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"etiketli-bağlantılar\">Etiketli Bağlantılar\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#etiketli-bağlantılar\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Etiketli Bağlantılar”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Pipe karakterleri kullanın:\u003C/p>\n\u003Cdiv class=\"expressive-code\">\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"plaintext\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Geçerli mi? ->|Evet| Veriyi Kaydet\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Geçerli mi? ->|Hayır| Hata Döndür\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"Geçerli mi? ->|Evet| Veriyi KaydetGeçerli mi? ->|Hayır| Hata Döndür\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Chr>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"kenar-özellikleri\">Kenar Özellikleri\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#kenar-özellikleri\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Kenar Özellikleri”\u003C/span>\u003C/a>\u003C/div>\n\u003Cdiv class=\"expressive-code\">\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"plaintext\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">A -> B { style: \"dashed\", label: \"Async\" }\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"A -> B { style: "dashed", label: "Async" }\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Chr>\n\u003Cdiv class=\"sl-heading-wrapper level-h1\">\u003Ch1 id=\"4️⃣-gruplar\">4️⃣ Gruplar\u003C/h1>\u003Ca class=\"sl-anchor-link\" href=\"#4️⃣-gruplar\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “4️⃣ Gruplar”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Düğümleri kümelemek için \u003Ccode dir=\"auto\">group\u003C/code> kullanın.\u003C/p>\n\u003Cdiv class=\"expressive-code\">\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"plaintext\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">group \"Backend Servisleri\" {\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">[process] api: API Sunucusu\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">[system] db: Veritabanı\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">api -> db\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">}\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"group "Backend Servisleri" { [process] api: API Sunucusu [system] db: Veritabanı api -> db}\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Cp>Gruplar mantıksal alanları görsel olarak ayırmaya yardımcı olur.\u003C/p>\n\u003Chr>\n\u003Cdiv class=\"sl-heading-wrapper level-h1\">\u003Ch1 id=\"5️⃣-yorumlar\">5️⃣ Yorumlar\u003C/h1>\u003Ca class=\"sl-anchor-link\" href=\"#5️⃣-yorumlar\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “5️⃣ Yorumlar”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>\u003Ccode dir=\"auto\">#\u003C/code> ile başlayan satırlar yoksayılır.\u003C/p>\n\u003Cdiv class=\"expressive-code\">\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"plaintext\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\"># Bu bir yorumdur\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">[start] Başla\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"# Bu bir yorumdur[start] Başla\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Chr>\n\u003Cdiv class=\"sl-heading-wrapper level-h1\">\u003Ch1 id=\"-tam-örnek\">✅ Tam Örnek\u003C/h1>\u003Ca class=\"sl-anchor-link\" href=\"#-tam-örnek\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “✅ Tam Örnek”\u003C/span>\u003C/a>\u003C/div>\n\u003Cdiv class=\"expressive-code\">\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"yaml\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#7FDBCA;--1:#111111\">flow\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">: \u003C/span>\u003Cspan style=\"--0:#D9F5DD;--1:#111111\">\"\u003C/span>\u003Cspan style=\"--0:#ECC48D;--1:#984E4D\">Kullanıcı Giriş Akışı\u003C/span>\u003Cspan style=\"--0:#D9F5DD;--1:#111111\">\"\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#7FDBCA;--1:#111111\">direction\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">: \u003C/span>\u003Cspan style=\"--0:#ECC48D;--1:#3B61B0\">TB\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#919F9F;--1:#5F636F\"># Düğümleri Tanımla\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">[\u003C/span>\u003Cspan style=\"--0:#ECC48D;--1:#3B61B0\">start\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">] \u003C/span>\u003Cspan style=\"--0:#7FDBCA;--1:#111111\">user\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">: \u003C/span>\u003Cspan style=\"--0:#ECC48D;--1:#3B61B0\">Kullanıcı\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">[\u003C/span>\u003Cspan style=\"--0:#ECC48D;--1:#3B61B0\">process\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">] \u003C/span>\u003Cspan style=\"--0:#7FDBCA;--1:#111111\">login\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">: \u003C/span>\u003Cspan style=\"--0:#7FDBCA;--1:#111111\">Giriş Sayfası { icon\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">: \u003C/span>\u003Cspan style=\"--0:#D9F5DD;--1:#111111\">\"\u003C/span>\u003Cspan style=\"--0:#ECC48D;--1:#984E4D\">log-in\u003C/span>\u003Cspan style=\"--0:#D9F5DD;--1:#111111\">\"\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> }\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#ECC48D;--1:#3B61B0\">group \"Kimlik Doğrulama\" {\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">[\u003C/span>\u003Cspan style=\"--0:#ECC48D;--1:#3B61B0\">system\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">] \u003C/span>\u003Cspan style=\"--0:#7FDBCA;--1:#111111\">auth\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">: \u003C/span>\u003Cspan style=\"--0:#ECC48D;--1:#3B61B0\">Auth Servisi\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">[\u003C/span>\u003Cspan style=\"--0:#ECC48D;--1:#3B61B0\">decision\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">] \u003C/span>\u003Cspan style=\"--0:#7FDBCA;--1:#111111\">check\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">: \u003C/span>\u003Cspan style=\"--0:#ECC48D;--1:#3B61B0\">Geçerli mi?\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">}\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">[\u003C/span>\u003Cspan style=\"--0:#ECC48D;--1:#3B61B0\">end\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">] \u003C/span>\u003Cspan style=\"--0:#7FDBCA;--1:#111111\">dash\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">: \u003C/span>\u003Cspan style=\"--0:#ECC48D;--1:#3B61B0\">Gösterge Paneli\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">[\u003C/span>\u003Cspan style=\"--0:#ECC48D;--1:#3B61B0\">end\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">] \u003C/span>\u003Cspan style=\"--0:#7FDBCA;--1:#111111\">err\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">: \u003C/span>\u003Cspan style=\"--0:#ECC48D;--1:#3B61B0\">Hata\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#919F9F;--1:#5F636F\"># Mantığı Tanımla\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#ECC48D;--1:#3B61B0\">user -> login\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#ECC48D;--1:#3B61B0\">login -> auth\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#ECC48D;--1:#3B61B0\">auth -> check\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#7FDBCA;--1:#111111\">check ->|Evet| dash { color\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">: \u003C/span>\u003Cspan style=\"--0:#D9F5DD;--1:#111111\">\"\u003C/span>\u003Cspan style=\"--0:#ECC48D;--1:#984E4D\">green\u003C/span>\u003Cspan style=\"--0:#D9F5DD;--1:#111111\">\"\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> }\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#7FDBCA;--1:#111111\">check ->|Hayır| err { color\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">: \u003C/span>\u003Cspan style=\"--0:#D9F5DD;--1:#111111\">\"\u003C/span>\u003Cspan style=\"--0:#ECC48D;--1:#984E4D\">red\u003C/span>\u003Cspan style=\"--0:#D9F5DD;--1:#111111\">\"\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">, \u003C/span>\u003Cspan style=\"--0:#7FDBCA;--1:#111111\">style\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">: \u003C/span>\u003Cspan style=\"--0:#D9F5DD;--1:#111111\">\"\u003C/span>\u003Cspan style=\"--0:#ECC48D;--1:#984E4D\">dashed\u003C/span>\u003Cspan style=\"--0:#D9F5DD;--1:#111111\">\"\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> }\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"flow: "Kullanıcı Giriş Akışı"direction: TB# Düğümleri Tanımla[start] user: Kullanıcı[process] login: Giriş Sayfası { icon: "log-in" }group "Kimlik Doğrulama" { [system] auth: Auth Servisi [decision] check: Geçerli mi?}[end] dash: Gösterge Paneli[end] err: Hata# Mantığı Tanımlauser -> loginlogin -> authauth -> checkcheck ->|Evet| dash { color: "green" }check ->|Hayır| err { color: "red", style: "dashed" }\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Chr>\n\u003Cdiv class=\"sl-heading-wrapper level-h1\">\u003Ch1 id=\"-llm-ajan-i̇stem-şablonu\">🤖 LLM Ajan İstem Şablonu\u003C/h1>\u003Ca class=\"sl-anchor-link\" href=\"#-llm-ajan-i̇stem-şablonu\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “🤖 LLM Ajan İstem Şablonu”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Bir LLM ajanı kullanarak FlowMind DSL oluşturmak isteyenler aşağıdaki istemi kullanabilir:\u003C/p>\n\u003Chr>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"llm-için-kopyala-yapıştır-i̇stemi\">LLM için Kopyala-Yapıştır İstemi\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#llm-için-kopyala-yapıştır-i̇stemi\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “LLM için Kopyala-Yapıştır İstemi”\u003C/span>\u003C/a>\u003C/div>\n\u003Cdiv class=\"expressive-code\">\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"plaintext\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Sen uzman bir FlowMind DSL V2 oluşturucususun.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Görevin, kullanıcının iş akışı açıklamasını geçerli FlowMind DSL'ye dönüştürmektir.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Aşağıda tanımlanan FlowMind DSL V2 spesifikasyonunu kesinlikle takip etmelisin.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">========================================\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">FLOWMIND DSL V2 SPESİFİKASYONU\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">========================================\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">1. BELGE BAŞLIĞI (Zorunlu)\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Her çıktı şununla başlamalıdır:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">flow: \"Başlık Buraya\"\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">direction: TB veya LR\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Kurallar:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Her zaman anlamlı bir başlık oluştur.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Kullanıcı açıkça yatay düzen belirtmediği sürece TB'yi varsayılan olarak kullan.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">----------------------------------------\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">2. DÜĞÜM TANIMLAMA KURALLARI\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Düğüm sözdizimi:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">[tür] kimlik: Etiket { isteğe_bağlı_özellikler }\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Örnek:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">[process] p1: İsteği İşle\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">[decision] d1: Geçerli mi? { icon: \"help-circle\" }\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Kurallar:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- HER ZAMAN açık kimlikler kullan.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Kimlikler kısa, küçük harf ve boşluksuz olmalıdır.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Kimlikler benzersiz olmalıdır.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Anlamlı isimler kullan (start, login, checkAuth, db, vb.).\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Etiketleri kimlik olarak KULLANMA.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Düğüm tanımlamalarını ATLAMA.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Bir düğüm bağlantıda referans alınıyorsa önce tanımlanmış OLMALIDIR.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">----------------------------------------\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">3. DESTEKLENEN DÜĞÜM TÜRLERİ\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">YALNIZCA bu türleri kullan:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">start\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">end\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">process\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">decision\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">system\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">note\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">section\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">container\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Kılavuz:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">start → akışın başlangıcı\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">end → bitiş durumları\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">process → eylemler veya adımlar\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">decision → dallanma mantığı\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">system → harici sistem/servis/veritabanı\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">note → açıklamalar\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">section → ana gruplu alan\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">container → genel gruplama\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">----------------------------------------\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">4. DÜĞÜM ÖZELLİKLERİ (İsteğe Bağlı)\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Özellikler JSON benzeri sözdizimi kullanır:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">{ color: \"red\", icon: \"database\", style: \"dashed\" }\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Kurallar:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Özelliği yalnızca anlamlıysa ekle.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Stili minimal tut.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Desteklenmeyen özellikler uydurma.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">----------------------------------------\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">5. KENARLAR (BAĞLANTILAR)\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Temel sözdizimi:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">kimlik1 -> kimlik2\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Kenar türleri:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">-> düz\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">--> kavisli\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">..> kesik\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">==> kalın\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Etiketli kenarlar:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">kimlik1 ->|Evet| kimlik2\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Özellikli kenar:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">kimlik1 -> kimlik2 { label: \"Async\", style: \"dashed\" }\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Kurallar:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Her zaman etiket değil kimlik kullanarak bağlan.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Karar düğümleri etiketli kenarlar KULLANMALIDIR.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Karardan gelen her dal açık olmalıdır.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Yalnız düğüm bırakma.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">----------------------------------------\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">6. GRUPLAR\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Mantıksal kümeleme mevcutsa gruplama kullan.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Sözdizimi:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">group \"Grup Adı\" {\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">düğüm tanımlamaları\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">iç bağlantılar\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">}\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Kurallar:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Gruplar yalnızca ilgili düğümleri kapsamalıdır.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Gruplar arası bağlantılar grup bloğunun dışında tanımlanmalıdır.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">----------------------------------------\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">7. YORUMLAR\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Yorumlar için # kullan; aşırıya kaçma.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Aşırı yorum yapma.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">----------------------------------------\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">8. ÇIKTI KURALLARI (KATI)\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">ZORUNLU:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- YALNIZCA geçerli FlowMind DSL çıktısı üret\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Açıklama YAPMA\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Markdown biçimlendirmesi KULLANMA\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Kod bloğuna SARMA\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Yorum EKLEMEema\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Ne yaptığını AÇIKLAMA\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- DSL dışında hiçbir şey ÇIKARMAK\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Kullanıcı açıklaması belirsizse:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Makul varsayımlar yap\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Mantıklı yapı seç\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Akışı temiz ve okunabilir tut\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">========================================\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">MANTIK DÖNÜŞÜM STRATEJİSİ\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">========================================\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Kullanıcı girdisini dönüştürürken:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">1. Belirle:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Başlangıç olayı\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Bitiş durumları\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Eylemler\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Kararlar\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Harici sistemler\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Mantıksal kümeler\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">2. Dönüştür:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Olaylar → start / end\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Eylemler → process\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Dallanma → decision\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Veritabanları/API'ler → system\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Paralel mantık → ayrı dallar\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Hata yolları → açık end düğümleri\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">3. Sağla:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Her yol bir uca ulaşır\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Yalnız düğüm yok\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">- Temiz mantıksal okunabilirlik\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">========================================\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">KULLANICI İSTEĞİ\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">========================================\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Aşağıdaki iş akışı açıklamasını FlowMind DSL V2'ye dönüştür:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">{{KULLANICI_İŞ_AKIŞI_AÇIKLAMASI}}\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">DSL'yi şimdi oluştur.\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"Sen uzman bir FlowMind DSL V2 oluşturucususun.Görevin, kullanıcının iş akışı açıklamasını geçerli FlowMind DSL'ye dönüştürmektir.Aşağıda tanımlanan FlowMind DSL V2 spesifikasyonunu kesinlikle takip etmelisin.========================================FLOWMIND DSL V2 SPESİFİKASYONU========================================1. BELGE BAŞLIĞI (Zorunlu)Her çıktı şununla başlamalıdır:flow: "Başlık Buraya"direction: TB veya LRKurallar:- Her zaman anlamlı bir başlık oluştur.- Kullanıcı açıkça yatay düzen belirtmediği sürece TB'yi varsayılan olarak kullan.----------------------------------------2. DÜĞÜM TANIMLAMA KURALLARIDüğüm sözdizimi:[tür] kimlik: Etiket { isteğe_bağlı_özellikler }Örnek:[process] p1: İsteği İşle[decision] d1: Geçerli mi? { icon: "help-circle" }Kurallar:- HER ZAMAN açık kimlikler kullan.- Kimlikler kısa, küçük harf ve boşluksuz olmalıdır.- Kimlikler benzersiz olmalıdır.- Anlamlı isimler kullan (start, login, checkAuth, db, vb.).- Etiketleri kimlik olarak KULLANMA.- Düğüm tanımlamalarını ATLAMA.Bir düğüm bağlantıda referans alınıyorsa önce tanımlanmış OLMALIDIR.----------------------------------------3. DESTEKLENEN DÜĞÜM TÜRLERİYALNIZCA bu türleri kullan:startendprocessdecisionsystemnotesectioncontainerKılavuz:start → akışın başlangıcıend → bitiş durumlarıprocess → eylemler veya adımlardecision → dallanma mantığısystem → harici sistem/servis/veritabanınote → açıklamalarsection → ana gruplu alancontainer → genel gruplama----------------------------------------4. DÜĞÜM ÖZELLİKLERİ (İsteğe Bağlı)Özellikler JSON benzeri sözdizimi kullanır:{ color: "red", icon: "database", style: "dashed" }Kurallar:- Özelliği yalnızca anlamlıysa ekle.- Stili minimal tut.- Desteklenmeyen özellikler uydurma.----------------------------------------5. KENARLAR (BAĞLANTILAR)Temel sözdizimi:kimlik1 -> kimlik2Kenar türleri:-> düz--> kavisli..> kesik==> kalınEtiketli kenarlar:kimlik1 ->|Evet| kimlik2Özellikli kenar:kimlik1 -> kimlik2 { label: "Async", style: "dashed" }Kurallar:- Her zaman etiket değil kimlik kullanarak bağlan.- Karar düğümleri etiketli kenarlar KULLANMALIDIR.- Karardan gelen her dal açık olmalıdır.- Yalnız düğüm bırakma.----------------------------------------6. GRUPLARMantıksal kümeleme mevcutsa gruplama kullan.Sözdizimi:group "Grup Adı" { düğüm tanımlamaları iç bağlantılar}Kurallar:- Gruplar yalnızca ilgili düğümleri kapsamalıdır.- Gruplar arası bağlantılar grup bloğunun dışında tanımlanmalıdır.----------------------------------------7. YORUMLARYorumlar için # kullan; aşırıya kaçma.Aşırı yorum yapma.----------------------------------------8. ÇIKTI KURALLARI (KATI)ZORUNLU:- YALNIZCA geçerli FlowMind DSL çıktısı üret- Açıklama YAPMA- Markdown biçimlendirmesi KULLANMA- Kod bloğuna SARMA- Yorum EKLEMEema- Ne yaptığını AÇIKLAMA- DSL dışında hiçbir şey ÇIKARMAKKullanıcı açıklaması belirsizse:- Makul varsayımlar yap- Mantıklı yapı seç- Akışı temiz ve okunabilir tut========================================MANTIK DÖNÜŞÜM STRATEJİSİ========================================Kullanıcı girdisini dönüştürürken:1. Belirle: - Başlangıç olayı - Bitiş durumları - Eylemler - Kararlar - Harici sistemler - Mantıksal kümeler2. Dönüştür: - Olaylar → start / end - Eylemler → process - Dallanma → decision - Veritabanları/API'ler → system - Paralel mantık → ayrı dallar - Hata yolları → açık end düğümleri3. Sağla: - Her yol bir uca ulaşır - Yalnız düğüm yok - Temiz mantıksal okunabilirlik========================================KULLANICI İSTEĞİ========================================Aşağıdaki iş akışı açıklamasını FlowMind DSL V2'ye dönüştür:{{KULLANICI_İŞ_AKIŞI_AÇIKLAMASI}}DSL'yi şimdi oluştur.\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Chr>",{"headings":1096,"localImagePaths":1154,"remoteImagePaths":1155,"frontmatter":1156,"imagePaths":1157},[1097,1100,1103,1106,1109,1112,1115,1118,1121,1124,1127,1130,1133,1136,1139,1142,1145,1148,1151],{"depth":67,"slug":1098,"text":1099},"-flowmind-dsl-sözdizimi-rehberi-v2","🧠 FlowMind DSL Sözdizimi Rehberi (V2)",{"depth":67,"slug":1101,"text":1102},"1️⃣-belge-başlığı","1️⃣ Belge Başlığı",{"depth":36,"slug":1104,"text":1105},"alanlar","Alanlar",{"depth":67,"slug":1107,"text":1108},"2️⃣-düğümler","2️⃣ Düğümler",{"depth":29,"slug":1110,"text":1111},"temel-sözdizimi","Temel Sözdizimi",{"depth":29,"slug":1113,"text":1114},"açık-kimliklerle","Açık Kimliklerle",{"depth":29,"slug":1116,"text":1117},"özelliklerle","Özelliklerle",{"depth":36,"slug":1119,"text":1120},"özellik-örnekleri","Özellik Örnekleri",{"depth":29,"slug":1122,"text":1123},"desteklenen-düğüm-türleri","Desteklenen Düğüm Türleri",{"depth":67,"slug":1125,"text":1126},"3️⃣-kenarlar-bağlantılar","3️⃣ Kenarlar (Bağlantılar)",{"depth":29,"slug":1128,"text":1129},"temel-bağlantı","Temel Bağlantı",{"depth":29,"slug":1131,"text":1132},"kenar-türleri","Kenar Türleri",{"depth":29,"slug":1134,"text":1135},"etiketli-bağlantılar","Etiketli Bağlantılar",{"depth":29,"slug":1137,"text":1138},"kenar-özellikleri","Kenar Özellikleri",{"depth":67,"slug":1140,"text":1141},"4️⃣-gruplar","4️⃣ Gruplar",{"depth":67,"slug":1143,"text":1144},"5️⃣-yorumlar","5️⃣ Yorumlar",{"depth":67,"slug":1146,"text":1147},"-tam-örnek","✅ Tam Örnek",{"depth":67,"slug":1149,"text":1150},"-llm-ajan-i̇stem-şablonu","🤖 LLM Ajan İstem Şablonu",{"depth":29,"slug":1152,"text":1153},"llm-için-kopyala-yapıştır-i̇stemi","LLM için Kopyala-Yapıştır İstemi",[],[],{"draft":19,"title":389},[],"tr/quick-start",{"id":1158,"data":1160,"body":1164,"filePath":1165,"digest":1166,"rendered":1167},{"title":614,"editUrl":15,"head":1161,"template":17,"sidebar":1162,"pagefind":15,"draft":19},[],{"hidden":19,"attrs":1163},{},"Bu kılavuz, OpenFlowKit'te 2 dakikadan kısa sürede ilk diyagramınızı oluşturmanıza yardımcı olacaktır.\n\n## 1. Yeni Bir Akış Oluşturun\n\nKontrol Panelinden **\"Yeni Oluştur\"** düğmesine tıklayın (veya \\`Cmd+N\\` tuşuna basın). Temiz bir tuvale yönlendirileceksiniz.\n\n## 2. Yapay Zeka Üretimini Kullanma\n\nBaşlamanın en hızlı yolu bir istemle başlamaktır.\n\n1. Ekranın alt kısmındaki komut çubuğunu bulun.\n2. Akışınızın bir açıklamasını yazın.\n * *Örnek:* \"E-posta doğrulama ve veritabanı kontrolleri içeren bir kullanıcı kayıt akışı oluştur.\"\n3. \\`Enter\\` tuşuna basın.\n\nOpenFlowKit sizin için eksiksiz bir diyagram yapısı oluşturacaktır.\n\n## 3. Düğümleri Düzenleme\n\nOluşturulduktan sonra diyagramı iyileştirebilirsiniz:\n\n* **Taşı**: Herhangi bir düğümü yeniden konumlandırmak için tıklayın ve sürükleyin.\n* **Metni Düzenle**: Etiketini değiştirmek için bir düğüme çift tıklayın.\n* **Bağla**: Bir düğümü başka bir düğüme bağlamak için düğüm kenarındaki tutamaclardan (noktalar) sürükleyin.\n\n## 4. Akıllı Düzen Kullanma\n\nDiyagramınız karmaşıklaşırsa, üst araç çubuğundaki **\"Otomatik Düzen\"** düğmesine tıklayın. OpenFlowKit, düğümlerinizi temiz bir hiyerarşi içinde otomatik olarak düzenlemek için ELK düzen motorunu kullanır.\n\n## 5. Dışa Aktarma\n\nAkışınızdan memnun kaldığınızda:\n\n1. Sağ üstteki **Dışa Aktar** düğmesine tıklayın.\n2. Formatınızı seçin (PNG, SVG veya JSON).\n3. Dosyanızı indirin.\n\n[YER TUTUCU: Oluşturma sürecini gösteren GIF]","src/content/docs/tr/quick-start.md","499fd7a35091afcc",{"html":1168,"metadata":1169},"\u003Cp>Bu kılavuz, OpenFlowKit’te 2 dakikadan kısa sürede ilk diyagramınızı oluşturmanıza yardımcı olacaktır.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"1-yeni-bir-akış-oluşturun\">1. Yeni Bir Akış Oluşturun\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#1-yeni-bir-akış-oluşturun\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “1. Yeni Bir Akış Oluşturun”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Kontrol Panelinden \u003Cstrong>“Yeni Oluştur”\u003C/strong> düğmesine tıklayın (veya `Cmd+N` tuşuna basın). Temiz bir tuvale yönlendirileceksiniz.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"2-yapay-zeka-üretimini-kullanma\">2. Yapay Zeka Üretimini Kullanma\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#2-yapay-zeka-üretimini-kullanma\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “2. Yapay Zeka Üretimini Kullanma”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Başlamanın en hızlı yolu bir istemle başlamaktır.\u003C/p>\n\u003Col>\n\u003Cli>Ekranın alt kısmındaki komut çubuğunu bulun.\u003C/li>\n\u003Cli>Akışınızın bir açıklamasını yazın.\n\u003Cul>\n\u003Cli>\u003Cem>Örnek:\u003C/em> “E-posta doğrulama ve veritabanı kontrolleri içeren bir kullanıcı kayıt akışı oluştur.”\u003C/li>\n\u003C/ul>\n\u003C/li>\n\u003Cli>`Enter` tuşuna basın.\u003C/li>\n\u003C/ol>\n\u003Cp>OpenFlowKit sizin için eksiksiz bir diyagram yapısı oluşturacaktır.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"3-düğümleri-düzenleme\">3. Düğümleri Düzenleme\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#3-düğümleri-düzenleme\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “3. Düğümleri Düzenleme”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Oluşturulduktan sonra diyagramı iyileştirebilirsiniz:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Taşı\u003C/strong>: Herhangi bir düğümü yeniden konumlandırmak için tıklayın ve sürükleyin.\u003C/li>\n\u003Cli>\u003Cstrong>Metni Düzenle\u003C/strong>: Etiketini değiştirmek için bir düğüme çift tıklayın.\u003C/li>\n\u003Cli>\u003Cstrong>Bağla\u003C/strong>: Bir düğümü başka bir düğüme bağlamak için düğüm kenarındaki tutamaclardan (noktalar) sürükleyin.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"4-akıllı-düzen-kullanma\">4. Akıllı Düzen Kullanma\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#4-akıllı-düzen-kullanma\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “4. Akıllı Düzen Kullanma”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Diyagramınız karmaşıklaşırsa, üst araç çubuğundaki \u003Cstrong>“Otomatik Düzen”\u003C/strong> düğmesine tıklayın. OpenFlowKit, düğümlerinizi temiz bir hiyerarşi içinde otomatik olarak düzenlemek için ELK düzen motorunu kullanır.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"5-dışa-aktarma\">5. Dışa Aktarma\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#5-dışa-aktarma\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “5. Dışa Aktarma”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Akışınızdan memnun kaldığınızda:\u003C/p>\n\u003Col>\n\u003Cli>Sağ üstteki \u003Cstrong>Dışa Aktar\u003C/strong> düğmesine tıklayın.\u003C/li>\n\u003Cli>Formatınızı seçin (PNG, SVG veya JSON).\u003C/li>\n\u003Cli>Dosyanızı indirin.\u003C/li>\n\u003C/ol>\n\u003Cp>[YER TUTUCU: Oluşturma sürecini gösteren GIF]\u003C/p>",{"headings":1170,"localImagePaths":1186,"remoteImagePaths":1187,"frontmatter":1188,"imagePaths":1189},[1171,1174,1177,1180,1183],{"depth":29,"slug":1172,"text":1173},"1-yeni-bir-akış-oluşturun","1. Yeni Bir Akış Oluşturun",{"depth":29,"slug":1175,"text":1176},"2-yapay-zeka-üretimini-kullanma","2. Yapay Zeka Üretimini Kullanma",{"depth":29,"slug":1178,"text":1179},"3-düğümleri-düzenleme","3. Düğümleri Düzenleme",{"depth":29,"slug":1181,"text":1182},"4-akıllı-düzen-kullanma","4. Akıllı Düzen Kullanma",{"depth":29,"slug":1184,"text":1185},"5-dışa-aktarma","5. Dışa Aktarma",[],[],{"draft":19,"title":614},[],"tr/roadmap",{"id":1190,"data":1192,"body":1196,"filePath":1197,"digest":1198,"rendered":1199},{"title":557,"editUrl":15,"head":1193,"template":17,"sidebar":1194,"pagefind":15,"draft":19},[],{"hidden":19,"attrs":1195},{},"# 🗺️ OpenFlowKit Ürün Yol Haritası\n\nAçık kaynaklı, beyaz etiketli diyagramlama için standartı oluşturuyoruz. Bu yol haritası **OpenFlowKit**'in geleceğine yönelik vizyonumuzu özetlemektedir.\n\n> **Not**: Bu yaşayan bir belgedir. Öncelikler topluluk geri bildirimlerine göre değişebilir.\n\n---\n\n## 🚀 Ç3 2026: Yapay Zeka Genişlemesi (v1.2)\n*Odak: Diyagram oluşturmayı daha akıllı, daha hızlı ve daha çok yönlü hale getirmek.*\n\n### 🧠 Çok Modelli Yapay Zeka Desteği\nTek bir sağlayıcıyla sınırlı kalmayın. Tüm büyük LLM'ler için \"Kendi Anahtarını Getir\" modelini destekleyeceğiz:\n- **Anthropic Claude 3.5 Sonnet**: Karmaşık sistem mimarisi diyagramları için optimize edilmiş.\n- **OpenAI GPT-4o**: İş mantığı akışları için hızlı, muhakeme ağırlıklı üretim.\n- **Yerel LLM'ler (Ollama)**: %100 çevrimdışı, hava boşluklu diyagram oluşturma için Llama 3 veya Mistral'ı yerel olarak çalıştırın.\n\n### ⚡ Gerçek Zamanlı \"Copilot\" Modu\n- **Akışlar için Otomatik Tamamlama**: Bir düğümü sürüklerken yapay zeka, mevcut grafik bağlamınıza dayanarak en mantıklı 3 sonraki adımı önerir.\n- **Akıllı Yeniden Düzenleme**: Karmaşık düğümleri seçin ve yapay zekadan \"Düzeni Optimize Et\" veya \"Alt Gruba Grupla\" isteyin.\n\n---\n\n## 🤝 Ç4 2026: İş Birliği ve Ekipler (v2.0)\n*Odak: Bireysel bir geliştirici aracını ekip gücü merkezine dönüştürmek.*\n\n### 👥 Gerçek Zamanlı Çok Oyunculu\n- **Canlı İmleçler**: Takım arkadaşlarınızın nereye baktığını görün.\n- **Çakışmasız Düzenleme**: Sorunsuz iş birlikçi oturumlar için **Yjs** ve CRDT'lerle desteklenir.\n- **Varlık**: \"Bu akışta kim var?\" göstergeleri.\n\n### 💬 Bağlamsal Yorumlar\n- Yorumları doğrudan düğümlere veya kenarlara sabitleyin.\n- Diyagram içindeki görevlere takım üyelerini @etiketle.\n- Uygulamayı tamamladıkça konuları çözüme kavuşturun.\n\n### 💾 Bulut Kalıcılık Adaptörü\n- PostgreSQL/Supabase'e akış kaydetmek için isteğe bağlı referans uygulaması.\n- Yüzlerce diyagramı düzenlemek için \"Proje\" görünümü.\n\n---\n\n## 🛠️ 2027: Platform Dönemi (v3.0)\n*Odak: Geliştirici ekosistemine derin entegrasyon.*\n\n### 🔌 IDE Uzantıları\n- **VS Code Uzantısı**: Premium GUI'mizle `.flow` veya `.mermaid` dosyalarını doğrudan VS Code içinde düzenleyin.\n- **IntelliJ / JetBrains Eklentisi**: Java/Kotlin ekosistemi diyagramları için yerel destek.\n\n### 🎨 Gelişmiş Tasarım Sistemi\n- **Figma Senkronizasyonu**: İki yönlü senkronizasyon. Değişiklikleri Figma'dan OpenFlowKit'e ve tersine aktarın.\n- **Özel React Düğümleri**: Geliştiricilerin bir düğüm içinde *herhangi bir* React bileşenini (Grafikler, Veri Tabloları, Videolar) oluşturmasına olanak tanıyan eklenti API'si.\n\n### 📊 Veri Odaklı Diyagramlar\n- **Canlı Metrikler**: Düğüm renklerini/boyutlarını gerçek zamanlı API verilerine bağlayın (örn. Sunucu Sağlığı görselleştirmesi).\n- **SQL'den ERD'ye**: Veritabanınıza bağlanın ve Varlık İlişki Diyagramını otomatik olarak oluşturun.\n\n---\n\n## 💡 Topluluk İstek Listesi\nKullanıcı isteklerine göre incelediğimiz özellikler:\n- [ ] **Sunum Modu**: Karmaşık akışların slayt slayt anlatımı.\n- [ ] **Erişilebilirlik (A11y)**: Ekran okuyucu desteği ve klavye navigasyonu iyileştirmeleri.\n- [ ] **Uluslararasılaştırma (i18n)**: Arayüzü 10'dan fazla dile çevirme.\n\n---\n\n*Mevcut Sürüm: v1.0.0-beta* \n*Son Güncelleme: Şubat 2026*","src/content/docs/tr/roadmap.md","ad6eda23dc0da2eb",{"html":1200,"metadata":1201},"\u003Cdiv class=\"sl-heading-wrapper level-h1\">\u003Ch1 id=\"️-openflowkit-ürün-yol-haritası\">🗺️ OpenFlowKit Ürün Yol Haritası\u003C/h1>\u003Ca class=\"sl-anchor-link\" href=\"#️-openflowkit-ürün-yol-haritası\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “🗺️ OpenFlowKit Ürün Yol Haritası”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Açık kaynaklı, beyaz etiketli diyagramlama için standartı oluşturuyoruz. Bu yol haritası \u003Cstrong>OpenFlowKit\u003C/strong>’in geleceğine yönelik vizyonumuzu özetlemektedir.\u003C/p>\n\u003Cblockquote>\n\u003Cp>\u003Cstrong>Not\u003C/strong>: Bu yaşayan bir belgedir. Öncelikler topluluk geri bildirimlerine göre değişebilir.\u003C/p>\n\u003C/blockquote>\n\u003Chr>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"-ç3-2026-yapay-zeka-genişlemesi-v12\">🚀 Ç3 2026: Yapay Zeka Genişlemesi (v1.2)\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#-ç3-2026-yapay-zeka-genişlemesi-v12\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “🚀 Ç3 2026: Yapay Zeka Genişlemesi (v1.2)”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>\u003Cem>Odak: Diyagram oluşturmayı daha akıllı, daha hızlı ve daha çok yönlü hale getirmek.\u003C/em>\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"-çok-modelli-yapay-zeka-desteği\">🧠 Çok Modelli Yapay Zeka Desteği\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#-çok-modelli-yapay-zeka-desteği\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “🧠 Çok Modelli Yapay Zeka Desteği”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Tek bir sağlayıcıyla sınırlı kalmayın. Tüm büyük LLM’ler için “Kendi Anahtarını Getir” modelini destekleyeceğiz:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Anthropic Claude 3.5 Sonnet\u003C/strong>: Karmaşık sistem mimarisi diyagramları için optimize edilmiş.\u003C/li>\n\u003Cli>\u003Cstrong>OpenAI GPT-4o\u003C/strong>: İş mantığı akışları için hızlı, muhakeme ağırlıklı üretim.\u003C/li>\n\u003Cli>\u003Cstrong>Yerel LLM’ler (Ollama)\u003C/strong>: %100 çevrimdışı, hava boşluklu diyagram oluşturma için Llama 3 veya Mistral’ı yerel olarak çalıştırın.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"-gerçek-zamanlı-copilot-modu\">⚡ Gerçek Zamanlı “Copilot” Modu\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#-gerçek-zamanlı-copilot-modu\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “⚡ Gerçek Zamanlı “Copilot” Modu”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Cstrong>Akışlar için Otomatik Tamamlama\u003C/strong>: Bir düğümü sürüklerken yapay zeka, mevcut grafik bağlamınıza dayanarak en mantıklı 3 sonraki adımı önerir.\u003C/li>\n\u003Cli>\u003Cstrong>Akıllı Yeniden Düzenleme\u003C/strong>: Karmaşık düğümleri seçin ve yapay zekadan “Düzeni Optimize Et” veya “Alt Gruba Grupla” isteyin.\u003C/li>\n\u003C/ul>\n\u003Chr>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"-ç4-2026-i̇ş-birliği-ve-ekipler-v20\">🤝 Ç4 2026: İş Birliği ve Ekipler (v2.0)\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#-ç4-2026-i̇ş-birliği-ve-ekipler-v20\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “🤝 Ç4 2026: İş Birliği ve Ekipler (v2.0)”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>\u003Cem>Odak: Bireysel bir geliştirici aracını ekip gücü merkezine dönüştürmek.\u003C/em>\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"-gerçek-zamanlı-çok-oyunculu\">👥 Gerçek Zamanlı Çok Oyunculu\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#-gerçek-zamanlı-çok-oyunculu\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “👥 Gerçek Zamanlı Çok Oyunculu”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Cstrong>Canlı İmleçler\u003C/strong>: Takım arkadaşlarınızın nereye baktığını görün.\u003C/li>\n\u003Cli>\u003Cstrong>Çakışmasız Düzenleme\u003C/strong>: Sorunsuz iş birlikçi oturumlar için \u003Cstrong>Yjs\u003C/strong> ve CRDT’lerle desteklenir.\u003C/li>\n\u003Cli>\u003Cstrong>Varlık\u003C/strong>: “Bu akışta kim var?” göstergeleri.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"-bağlamsal-yorumlar\">💬 Bağlamsal Yorumlar\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#-bağlamsal-yorumlar\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “💬 Bağlamsal Yorumlar”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>Yorumları doğrudan düğümlere veya kenarlara sabitleyin.\u003C/li>\n\u003Cli>Diyagram içindeki görevlere takım üyelerini @etiketle.\u003C/li>\n\u003Cli>Uygulamayı tamamladıkça konuları çözüme kavuşturun.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"-bulut-kalıcılık-adaptörü\">💾 Bulut Kalıcılık Adaptörü\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#-bulut-kalıcılık-adaptörü\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “💾 Bulut Kalıcılık Adaptörü”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>PostgreSQL/Supabase’e akış kaydetmek için isteğe bağlı referans uygulaması.\u003C/li>\n\u003Cli>Yüzlerce diyagramı düzenlemek için “Proje” görünümü.\u003C/li>\n\u003C/ul>\n\u003Chr>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"️-2027-platform-dönemi-v30\">🛠️ 2027: Platform Dönemi (v3.0)\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#️-2027-platform-dönemi-v30\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “🛠️ 2027: Platform Dönemi (v3.0)”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>\u003Cem>Odak: Geliştirici ekosistemine derin entegrasyon.\u003C/em>\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"-ide-uzantıları\">🔌 IDE Uzantıları\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#-ide-uzantıları\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “🔌 IDE Uzantıları”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Cstrong>VS Code Uzantısı\u003C/strong>: Premium GUI’mizle \u003Ccode dir=\"auto\">.flow\u003C/code> veya \u003Ccode dir=\"auto\">.mermaid\u003C/code> dosyalarını doğrudan VS Code içinde düzenleyin.\u003C/li>\n\u003Cli>\u003Cstrong>IntelliJ / JetBrains Eklentisi\u003C/strong>: Java/Kotlin ekosistemi diyagramları için yerel destek.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"-gelişmiş-tasarım-sistemi\">🎨 Gelişmiş Tasarım Sistemi\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#-gelişmiş-tasarım-sistemi\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “🎨 Gelişmiş Tasarım Sistemi”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Cstrong>Figma Senkronizasyonu\u003C/strong>: İki yönlü senkronizasyon. Değişiklikleri Figma’dan OpenFlowKit’e ve tersine aktarın.\u003C/li>\n\u003Cli>\u003Cstrong>Özel React Düğümleri\u003C/strong>: Geliştiricilerin bir düğüm içinde \u003Cem>herhangi bir\u003C/em> React bileşenini (Grafikler, Veri Tabloları, Videolar) oluşturmasına olanak tanıyan eklenti API’si.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"-veri-odaklı-diyagramlar\">📊 Veri Odaklı Diyagramlar\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#-veri-odaklı-diyagramlar\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “📊 Veri Odaklı Diyagramlar”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Cstrong>Canlı Metrikler\u003C/strong>: Düğüm renklerini/boyutlarını gerçek zamanlı API verilerine bağlayın (örn. Sunucu Sağlığı görselleştirmesi).\u003C/li>\n\u003Cli>\u003Cstrong>SQL’den ERD’ye\u003C/strong>: Veritabanınıza bağlanın ve Varlık İlişki Diyagramını otomatik olarak oluşturun.\u003C/li>\n\u003C/ul>\n\u003Chr>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"-topluluk-i̇stek-listesi\">💡 Topluluk İstek Listesi\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#-topluluk-i̇stek-listesi\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “💡 Topluluk İstek Listesi”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Kullanıcı isteklerine göre incelediğimiz özellikler:\u003C/p>\n\u003Cul class=\"contains-task-list\">\n\u003Cli class=\"task-list-item\">\u003Cinput type=\"checkbox\" disabled> \u003Cstrong>Sunum Modu\u003C/strong>: Karmaşık akışların slayt slayt anlatımı.\u003C/li>\n\u003Cli class=\"task-list-item\">\u003Cinput type=\"checkbox\" disabled> \u003Cstrong>Erişilebilirlik (A11y)\u003C/strong>: Ekran okuyucu desteği ve klavye navigasyonu iyileştirmeleri.\u003C/li>\n\u003Cli class=\"task-list-item\">\u003Cinput type=\"checkbox\" disabled> \u003Cstrong>Uluslararasılaştırma (i18n)\u003C/strong>: Arayüzü 10’dan fazla dile çevirme.\u003C/li>\n\u003C/ul>\n\u003Chr>\n\u003Cp>\u003Cem>Mevcut Sürüm: v1.0.0-beta\u003C/em>\u003Cbr>\n\u003Cem>Son Güncelleme: Şubat 2026\u003C/em>\u003C/p>",{"headings":1202,"localImagePaths":1242,"remoteImagePaths":1243,"frontmatter":1244,"imagePaths":1245},[1203,1206,1209,1212,1215,1218,1221,1224,1227,1230,1233,1236,1239],{"depth":67,"slug":1204,"text":1205},"️-openflowkit-ürün-yol-haritası","🗺️ OpenFlowKit Ürün Yol Haritası",{"depth":29,"slug":1207,"text":1208},"-ç3-2026-yapay-zeka-genişlemesi-v12","🚀 Ç3 2026: Yapay Zeka Genişlemesi (v1.2)",{"depth":36,"slug":1210,"text":1211},"-çok-modelli-yapay-zeka-desteği","🧠 Çok Modelli Yapay Zeka Desteği",{"depth":36,"slug":1213,"text":1214},"-gerçek-zamanlı-copilot-modu","⚡ Gerçek Zamanlı “Copilot” Modu",{"depth":29,"slug":1216,"text":1217},"-ç4-2026-i̇ş-birliği-ve-ekipler-v20","🤝 Ç4 2026: İş Birliği ve Ekipler (v2.0)",{"depth":36,"slug":1219,"text":1220},"-gerçek-zamanlı-çok-oyunculu","👥 Gerçek Zamanlı Çok Oyunculu",{"depth":36,"slug":1222,"text":1223},"-bağlamsal-yorumlar","💬 Bağlamsal Yorumlar",{"depth":36,"slug":1225,"text":1226},"-bulut-kalıcılık-adaptörü","💾 Bulut Kalıcılık Adaptörü",{"depth":29,"slug":1228,"text":1229},"️-2027-platform-dönemi-v30","🛠️ 2027: Platform Dönemi (v3.0)",{"depth":36,"slug":1231,"text":1232},"-ide-uzantıları","🔌 IDE Uzantıları",{"depth":36,"slug":1234,"text":1235},"-gelişmiş-tasarım-sistemi","🎨 Gelişmiş Tasarım Sistemi",{"depth":36,"slug":1237,"text":1238},"-veri-odaklı-diyagramlar","📊 Veri Odaklı Diyagramlar",{"depth":29,"slug":1240,"text":1241},"-topluluk-i̇stek-listesi","💡 Topluluk İstek Listesi",[],[],{"draft":19,"title":557},[],"tr/theming",{"id":1246,"data":1248,"body":1252,"filePath":1253,"digest":1254,"rendered":1255},{"title":703,"editUrl":15,"head":1249,"template":17,"sidebar":1250,"pagefind":15,"draft":19},[],{"hidden":19,"attrs":1251},{},"FlowMind'ı kişisel tercihlerinize veya marka kimliğinize göre özelleştirin.\n\n## Marka Ayarları\n\n**Ayarlar > Marka Kiti** bölümüne giderek aşağıdakileri yapılandırın:\n\n* **Ana Renk**: Düğmeler, etkin durumlar ve odaklanmış düğümler için ana vurgu rengi.\n* **Arka Plan**: Tuval arka plan rengi.\n* **Yüzey**: Panellerin ve kenar çubuklarının rengi.\n* **Logo**: Kenar çubuğundaki FlowMind simgesini değiştirmek için kendi logonuzu yükleyin.\n\n\n\n## Dışa Aktarma Ayarları\n\nGörüntüleri dışa aktarırken (PNG/SVG):\n* **Şeffaf Arka Plan**: Diyagramı slaytların üzerine yerleştirmek istiyorsanız bu seçeneği etkinleştirin.\n* **Ölçek**: Yüksek çözünürlüklü baskı için ölçeği artırın (ör. 2x, 3x).\n* **Filigran Ekle**: Dışa aktarma ayarlarında marka filigranını devre dışı bırakabilirsiniz.","src/content/docs/tr/theming.md","77d55467afdc8f1f",{"html":1256,"metadata":1257},"\u003Cp>FlowMind’ı kişisel tercihlerinize veya marka kimliğinize göre özelleştirin.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"marka-ayarları\">Marka Ayarları\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#marka-ayarları\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Marka Ayarları”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>\u003Cstrong>Ayarlar > Marka Kiti\u003C/strong> bölümüne giderek aşağıdakileri yapılandırın:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Ana Renk\u003C/strong>: Düğmeler, etkin durumlar ve odaklanmış düğümler için ana vurgu rengi.\u003C/li>\n\u003Cli>\u003Cstrong>Arka Plan\u003C/strong>: Tuval arka plan rengi.\u003C/li>\n\u003Cli>\u003Cstrong>Yüzey\u003C/strong>: Panellerin ve kenar çubuklarının rengi.\u003C/li>\n\u003Cli>\u003Cstrong>Logo\u003C/strong>: Kenar çubuğundaki FlowMind simgesini değiştirmek için kendi logonuzu yükleyin.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"dışa-aktarma-ayarları\">Dışa Aktarma Ayarları\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#dışa-aktarma-ayarları\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Dışa Aktarma Ayarları”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Görüntüleri dışa aktarırken (PNG/SVG):\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Şeffaf Arka Plan\u003C/strong>: Diyagramı slaytların üzerine yerleştirmek istiyorsanız bu seçeneği etkinleştirin.\u003C/li>\n\u003Cli>\u003Cstrong>Ölçek\u003C/strong>: Yüksek çözünürlüklü baskı için ölçeği artırın (ör. 2x, 3x).\u003C/li>\n\u003Cli>\u003Cstrong>Filigran Ekle\u003C/strong>: Dışa aktarma ayarlarında marka filigranını devre dışı bırakabilirsiniz.\u003C/li>\n\u003C/ul>",{"headings":1258,"localImagePaths":1265,"remoteImagePaths":1266,"frontmatter":1267,"imagePaths":1268},[1259,1262],{"depth":29,"slug":1260,"text":1261},"marka-ayarları","Marka Ayarları",{"depth":29,"slug":1263,"text":1264},"dışa-aktarma-ayarları","Dışa Aktarma Ayarları",[],[],{"draft":19,"title":703},[],"tr/properties-panel",{"id":1269,"data":1271,"body":1275,"filePath":1276,"digest":1277,"rendered":1278},{"title":670,"editUrl":15,"head":1272,"template":17,"sidebar":1273,"pagefind":15,"draft":19},[],{"hidden":19,"attrs":1274},{},"Özellikler Paneli, bireysel düğümleri özelleştirmek için kontrol merkezinizdir. Bir düğüm seçtiğinizde ekranın sağ tarafında görünür.\n\n## Düğüm Özelleştirme\n\n### Etiket Düzenleme\nHerhangi bir düğümü doğrudan panelden yeniden adlandırabilirsiniz. Etiket, tuval üzerinde gerçek zamanlı olarak güncellenir.\n\n### Görsel Stil\nDiyagramlarınızı özel stillerle öne çıkarın:\n* **Renkler**: Anlamlı renk paletinden seçim yapın (Tehlike için Kırmızı, Başarı için Yeşil vb.).\n* **İkonlar**: Anında tanınabilir hale getirmek için herhangi bir düğüme ikon ekleyin. Tam Lucide React ikon kütüphanesini destekliyoruz.\n* **Çizgi Stili**: `Düz` ve `Kesik` kenarlıklar arasında geçiş yapın (geçici veya gelecekteki durumları temsil etmek için harikadır).\n\n### Düzen ve Boyutlandırma\n* **Genişlik/Yükseklik**: Piksel mükemmeliyetinde hizalama için boyutları manuel olarak ayarlayın.\n* **Konum**: Tam X/Y koordinatlarını görüntüleyin ve düzenleyin.\n\n## Toplu Düzenleme\n\n> [!TIP]\n> Hepsini aynı anda düzenlemek için birden fazla düğümü seçebilirsiniz (`Shift + Tıklama`)!\n\nBirden fazla düğüm seçildiğinde, Özellikler Paneli değişiklikleri (renk veya ikon gibi) **tüm** seçili düğümlere uygular.","src/content/docs/tr/properties-panel.md","65d5fea26de923a0",{"html":1279,"metadata":1280},"\u003Cp>Özellikler Paneli, bireysel düğümleri özelleştirmek için kontrol merkezinizdir. Bir düğüm seçtiğinizde ekranın sağ tarafında görünür.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"düğüm-özelleştirme\">Düğüm Özelleştirme\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#düğüm-özelleştirme\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Düğüm Özelleştirme”\u003C/span>\u003C/a>\u003C/div>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"etiket-düzenleme\">Etiket Düzenleme\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#etiket-düzenleme\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Etiket Düzenleme”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Herhangi bir düğümü doğrudan panelden yeniden adlandırabilirsiniz. Etiket, tuval üzerinde gerçek zamanlı olarak güncellenir.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"görsel-stil\">Görsel Stil\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#görsel-stil\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Görsel Stil”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Diyagramlarınızı özel stillerle öne çıkarın:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Renkler\u003C/strong>: Anlamlı renk paletinden seçim yapın (Tehlike için Kırmızı, Başarı için Yeşil vb.).\u003C/li>\n\u003Cli>\u003Cstrong>İkonlar\u003C/strong>: Anında tanınabilir hale getirmek için herhangi bir düğüme ikon ekleyin. Tam Lucide React ikon kütüphanesini destekliyoruz.\u003C/li>\n\u003Cli>\u003Cstrong>Çizgi Stili\u003C/strong>: \u003Ccode dir=\"auto\">Düz\u003C/code> ve \u003Ccode dir=\"auto\">Kesik\u003C/code> kenarlıklar arasında geçiş yapın (geçici veya gelecekteki durumları temsil etmek için harikadır).\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"düzen-ve-boyutlandırma\">Düzen ve Boyutlandırma\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#düzen-ve-boyutlandırma\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Düzen ve Boyutlandırma”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Cstrong>Genişlik/Yükseklik\u003C/strong>: Piksel mükemmeliyetinde hizalama için boyutları manuel olarak ayarlayın.\u003C/li>\n\u003Cli>\u003Cstrong>Konum\u003C/strong>: Tam X/Y koordinatlarını görüntüleyin ve düzenleyin.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"toplu-düzenleme\">Toplu Düzenleme\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#toplu-düzenleme\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Toplu Düzenleme”\u003C/span>\u003C/a>\u003C/div>\n\u003Cblockquote>\n\u003Cp>[!TIP]\nHepsini aynı anda düzenlemek için birden fazla düğümü seçebilirsiniz (\u003Ccode dir=\"auto\">Shift + Tıklama\u003C/code>)!\u003C/p>\n\u003C/blockquote>\n\u003Cp>Birden fazla düğüm seçildiğinde, Özellikler Paneli değişiklikleri (renk veya ikon gibi) \u003Cstrong>tüm\u003C/strong> seçili düğümlere uygular.\u003C/p>",{"headings":1281,"localImagePaths":1297,"remoteImagePaths":1298,"frontmatter":1299,"imagePaths":1300},[1282,1285,1288,1291,1294],{"depth":29,"slug":1283,"text":1284},"düğüm-özelleştirme","Düğüm Özelleştirme",{"depth":36,"slug":1286,"text":1287},"etiket-düzenleme","Etiket Düzenleme",{"depth":36,"slug":1289,"text":1290},"görsel-stil","Görsel Stil",{"depth":36,"slug":1292,"text":1293},"düzen-ve-boyutlandırma","Düzen ve Boyutlandırma",{"depth":29,"slug":1295,"text":1296},"toplu-düzenleme","Toplu Düzenleme",[],[],{"draft":19,"title":670},[],"tr/smart-layout",{"id":1301,"data":1303,"body":1307,"filePath":1308,"digest":1309,"rendered":1310},{"title":647,"editUrl":15,"head":1304,"template":17,"sidebar":1305,"pagefind":15,"draft":19},[],{"hidden":19,"attrs":1306},{},"FlowMind, **ELK (Eclipse Layout Kernel)** tarafından desteklenen güçlü bir \"Akıllı Düzen\" motoru içerir.\n\n## Nasıl Çalışır?\n\nKarmaşık diyagramları elle çizmek sıkıcıdır. Mantığı düşünmek yerine kutucukları HIZALAMAKLA zaman harcarsınız.\nAkıllı Düzen, düğümleri otomatik olarak düzenlemek için kuvvet yönlü bir algoritma çalıştırarak bu sorunu çözer.\n\n### Kullanım\n1. Komut Merkezindeki (veya üst araç çubuğundaki) **Düzen** düğmesine tıklayın.\n2. Motor, her düğüm ve kenar için en uygun konumu hesaplar.\n3. Diyagram, yeni yapısına akıcı biçimde animasyonla geçer.\n\n### Özellikler\n* **Hiyerarşik Katmanlama**: Akış şemaları ve organizasyon ağaçları için mükemmeldir.\n* **Çakışma Algılama**: Düğümlerin asla üst üste gelmemesini sağlar.\n* **Kenar Yönlendirme**: Daha temiz bir okunabilirlik için çizgi kesişimlerini en aza indirir.\n\n> [!TIP]\n> Ham Mermaid metni içe aktardıktan veya yapay zeka ile büyük bir akış oluşturduktan sonra sonucu anında düzenlemek için Akıllı Düzen'i kullanın.","src/content/docs/tr/smart-layout.md","2077fedcba8a0485",{"html":1311,"metadata":1312},"\u003Cp>FlowMind, \u003Cstrong>ELK (Eclipse Layout Kernel)\u003C/strong> tarafından desteklenen güçlü bir “Akıllı Düzen” motoru içerir.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"nasıl-çalışır\">Nasıl Çalışır?\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#nasıl-çalışır\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Nasıl Çalışır?”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Karmaşık diyagramları elle çizmek sıkıcıdır. Mantığı düşünmek yerine kutucukları HIZALAMAKLA zaman harcarsınız.\nAkıllı Düzen, düğümleri otomatik olarak düzenlemek için kuvvet yönlü bir algoritma çalıştırarak bu sorunu çözer.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"kullanım\">Kullanım\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#kullanım\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Kullanım”\u003C/span>\u003C/a>\u003C/div>\n\u003Col>\n\u003Cli>Komut Merkezindeki (veya üst araç çubuğundaki) \u003Cstrong>Düzen\u003C/strong> düğmesine tıklayın.\u003C/li>\n\u003Cli>Motor, her düğüm ve kenar için en uygun konumu hesaplar.\u003C/li>\n\u003Cli>Diyagram, yeni yapısına akıcı biçimde animasyonla geçer.\u003C/li>\n\u003C/ol>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"özellikler\">Özellikler\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#özellikler\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Özellikler”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Cstrong>Hiyerarşik Katmanlama\u003C/strong>: Akış şemaları ve organizasyon ağaçları için mükemmeldir.\u003C/li>\n\u003Cli>\u003Cstrong>Çakışma Algılama\u003C/strong>: Düğümlerin asla üst üste gelmemesini sağlar.\u003C/li>\n\u003Cli>\u003Cstrong>Kenar Yönlendirme\u003C/strong>: Daha temiz bir okunabilirlik için çizgi kesişimlerini en aza indirir.\u003C/li>\n\u003C/ul>\n\u003Cblockquote>\n\u003Cp>[!TIP]\nHam Mermaid metni içe aktardıktan veya yapay zeka ile büyük bir akış oluşturduktan sonra sonucu anında düzenlemek için Akıllı Düzen’i kullanın.\u003C/p>\n\u003C/blockquote>",{"headings":1313,"localImagePaths":1319,"remoteImagePaths":1320,"frontmatter":1321,"imagePaths":1322},[1314,1315,1318],{"depth":29,"slug":809,"text":810},{"depth":36,"slug":1316,"text":1317},"kullanım","Kullanım",{"depth":36,"slug":882,"text":883},[],[],{"draft":19,"title":647},[],"tr/v1-beta-launch",{"id":1323,"data":1325,"body":1329,"filePath":1330,"digest":1331,"rendered":1332},{"title":747,"editUrl":15,"head":1326,"template":17,"sidebar":1327,"pagefind":15,"draft":19},[],{"hidden":19,"attrs":1328},{},"# 🚀 OpenFlowKit V1 Beta: Kod Olarak Diyagramın Geleceği Burada\n\n**OpenFlowKit V1 Beta**'yı resmi olarak duyurmaktan son derece heyecan duyuyoruz. Basit bir akış şeması aracı olarak başlayan bu proje; premium estetik ve yerel öncelikli güvenilirlik talep eden geliştiriciler için kapsamlı, beyaz etiketli bir diyagram ekosistemine dönüştü.\n\nBu sürüm misyonumuzda köklü bir değişimi simgeliyor: **OpenFlowKit artık sadece bir uygulama değil; bir sonraki projenizin temeli.**\n\n---\n\n## 🏗️ V1 Beta'daki Yenilikler\n\n### 🎨 Marka Motoru (Gerçek Beyaz Etiketleme)\nÇoğu diyagram aracı sizi kendi ürünlerine benzer görünmeye zorlar. OpenFlowKit, **sizin** gibi görünmek için tasarlanmış ilk açık kaynaklı araçtır.\n- **Dinamik Palet Oluşturma**: Tek bir ana renk girin; motorumuz yüzey, arka plan ve vurgu renklerini içeren uyumlu bir tasarım sistemi oluşturur.\n- **Tipografi Entegrasyonu**: Yerel Google Fonts desteği, uygulamanızın tipografisini doğrudan tuval ile senkronize etmenizi sağlar.\n- **UI Fiziği**: Glassmorphism'i açıp kapatın ve markanızın estetik yoğunluğuna uygun kenarlık yarıçaplarını ayarlayın.\n\n### 📜 Eşsiz Kod Olarak Diyagram (DaC)\nDiyagramlara veri olarak bakıyoruz. İster Mermaid.js uzmanı olun ister özel DSL tercih edin, sizi destekliyoruz.\n- **Genişletilmiş Mermaid Desteği**: Akış Şemaları, Durum Diyagramları ve Alt Grafikler için tam uyum.\n- **FlowMind DSL**: Fare kullanmadan hızlı prototipleme için tasarlanmış insan tarafından okunabilir bir gösterim.\n- **Canlı Senkronizasyon**: Görsel değişiklikler ve kod değişiklikleri mükemmel biçimde senkronize kalır; her iki dünyanın da en iyisini sunar.\n\n### 💎 Figma Kalitesinde Dışa Aktarma\nEkran görüntüsü almayı bırakın! \"Figma Öncelikli\" dışa aktarma stratejimiz, diyagramlarınızın tasarım dosyalarınıza ait olmasını sağlar.\n- **Vektör Mükemmeliyeti**: Çizgi hassasiyetini ve yuvarlak köşeleri koruyan temiz SVG'ler dışa aktarın.\n- **Düzenlenebilir Metin**: Etiketler yerel SVG metin blokları olarak dışa aktarılır; yani Figma'da yeniden çizmeden doğrudan yazım hatalarını düzeltebilirsiniz.\n\n### 🔑 Gizlilik Öncelikli Yapay Zeka (BYOK)\nYapay zeka güçlüdür, ancak verileriniz gizlidir. **Kendi Anahtarını Getir** modelimiz kontrolü size verir.\n- **Gemini ile Güçlendirilmiş**: Akıllı diyagram oluşturma için kendi Gemini API anahtarınızı kullanın.\n- **Yerel Depolama**: API anahtarlarınız tarayıcınızda yerel olarak depolanır ve sunucularımıza hiçbir zaman ulaşmaz.\n\n### 🖼️ Görselden Akış Şemasına (Görsel Yapay Zeka)\nÇizin, tarayın, gönderin.\n- **Görsel Tanıma**: Beyaz tahta oturumunuzun veya peçete üzerindeki taslağınızın fotoğrafını yükleyin.\n- **Anında Dönüşüm**: Yapay zekamız görsel yapıyı analiz eder ve saniyeler içinde tam düzenlenebilir, anlamlı bir akış şemasına dönüştürür.\n\n### 📦 Kütüphane Ekosistemi\nBağımsız düzenleyiciye ek olarak OpenFlowKit'in çekirdeğini `@openflowkit/core` olarak ayıkladık. Bu sayede geliştiriciler son teknoloji ayrıştırıcılarımızı ve tema mantığımızı kendi uygulamalarına gömebilir.\n\n---\n\n## 🌟 Felsefe: Premium ve Açık\nAçık kaynaklı araçların açık kaynak \"görünmesi\" gerektiğine inanmıyoruz. OpenFlowKit V1 Beta, milyar dolarlık SaaS ürünlerin kalitesini açık kaynak topluluğuna %100 ücretsiz olarak MIT lisansı altında sunuyor.\n\n---\n\n## 🛣️ Sırada Ne Var?\nV1 Beta yalnızca bir başlangıç. Üzerinde çalıştıklarımız:\n- **İş Birlikçi Gerçek Zamanlı Düzenleme** (Yjs/WebRTC).\n- **Tel çerçeveleme için Genişletilmiş Bileşen Kütüphaneleri**.\n- **Doğrudan Figma Eklentisi** entegrasyonu.\n\n---\n\n## ❤️ Dahil Olun\nOpenFlowKit, geliştiriciler tarafından geliştiriciler için inşa edilmektedir.\n- ⭐️ **GitHub'da Yıldız Verin**: Daha fazla geliştiriciye ulaşmamıza yardım edin!\n- 💬 **Tartışmaya Katılın**: Marka kitlerini ve geri bildirimlerinizi paylaşın.\n- 🛠️ **Katkıda Bulunun**: Diyagramlamanın geleceğini inşa etmeye yardımcı olmak için `CONTRIBUTING.md`'ye göz atın.\n\n**İyi Diyagramlamalar!** \n*OpenFlowKit Ekibi*","src/content/docs/tr/v1-beta-launch.md","3f632d45d81d9bb7",{"html":1333,"metadata":1334},"\u003Cdiv class=\"sl-heading-wrapper level-h1\">\u003Ch1 id=\"-openflowkit-v1-beta-kod-olarak-diyagramın-geleceği-burada\">🚀 OpenFlowKit V1 Beta: Kod Olarak Diyagramın Geleceği Burada\u003C/h1>\u003Ca class=\"sl-anchor-link\" href=\"#-openflowkit-v1-beta-kod-olarak-diyagramın-geleceği-burada\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “🚀 OpenFlowKit V1 Beta: Kod Olarak Diyagramın Geleceği Burada”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>\u003Cstrong>OpenFlowKit V1 Beta\u003C/strong>’yı resmi olarak duyurmaktan son derece heyecan duyuyoruz. Basit bir akış şeması aracı olarak başlayan bu proje; premium estetik ve yerel öncelikli güvenilirlik talep eden geliştiriciler için kapsamlı, beyaz etiketli bir diyagram ekosistemine dönüştü.\u003C/p>\n\u003Cp>Bu sürüm misyonumuzda köklü bir değişimi simgeliyor: \u003Cstrong>OpenFlowKit artık sadece bir uygulama değil; bir sonraki projenizin temeli.\u003C/strong>\u003C/p>\n\u003Chr>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"️-v1-betadaki-yenilikler\">🏗️ V1 Beta’daki Yenilikler\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#️-v1-betadaki-yenilikler\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “🏗️ V1 Beta’daki Yenilikler”\u003C/span>\u003C/a>\u003C/div>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"-marka-motoru-gerçek-beyaz-etiketleme\">🎨 Marka Motoru (Gerçek Beyaz Etiketleme)\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#-marka-motoru-gerçek-beyaz-etiketleme\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “🎨 Marka Motoru (Gerçek Beyaz Etiketleme)”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Çoğu diyagram aracı sizi kendi ürünlerine benzer görünmeye zorlar. OpenFlowKit, \u003Cstrong>sizin\u003C/strong> gibi görünmek için tasarlanmış ilk açık kaynaklı araçtır.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Dinamik Palet Oluşturma\u003C/strong>: Tek bir ana renk girin; motorumuz yüzey, arka plan ve vurgu renklerini içeren uyumlu bir tasarım sistemi oluşturur.\u003C/li>\n\u003Cli>\u003Cstrong>Tipografi Entegrasyonu\u003C/strong>: Yerel Google Fonts desteği, uygulamanızın tipografisini doğrudan tuval ile senkronize etmenizi sağlar.\u003C/li>\n\u003Cli>\u003Cstrong>UI Fiziği\u003C/strong>: Glassmorphism’i açıp kapatın ve markanızın estetik yoğunluğuna uygun kenarlık yarıçaplarını ayarlayın.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"-eşsiz-kod-olarak-diyagram-dac\">📜 Eşsiz Kod Olarak Diyagram (DaC)\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#-eşsiz-kod-olarak-diyagram-dac\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “📜 Eşsiz Kod Olarak Diyagram (DaC)”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Diyagramlara veri olarak bakıyoruz. İster Mermaid.js uzmanı olun ister özel DSL tercih edin, sizi destekliyoruz.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Genişletilmiş Mermaid Desteği\u003C/strong>: Akış Şemaları, Durum Diyagramları ve Alt Grafikler için tam uyum.\u003C/li>\n\u003Cli>\u003Cstrong>FlowMind DSL\u003C/strong>: Fare kullanmadan hızlı prototipleme için tasarlanmış insan tarafından okunabilir bir gösterim.\u003C/li>\n\u003Cli>\u003Cstrong>Canlı Senkronizasyon\u003C/strong>: Görsel değişiklikler ve kod değişiklikleri mükemmel biçimde senkronize kalır; her iki dünyanın da en iyisini sunar.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"-figma-kalitesinde-dışa-aktarma\">💎 Figma Kalitesinde Dışa Aktarma\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#-figma-kalitesinde-dışa-aktarma\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “💎 Figma Kalitesinde Dışa Aktarma”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Ekran görüntüsü almayı bırakın! “Figma Öncelikli” dışa aktarma stratejimiz, diyagramlarınızın tasarım dosyalarınıza ait olmasını sağlar.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Vektör Mükemmeliyeti\u003C/strong>: Çizgi hassasiyetini ve yuvarlak köşeleri koruyan temiz SVG’ler dışa aktarın.\u003C/li>\n\u003Cli>\u003Cstrong>Düzenlenebilir Metin\u003C/strong>: Etiketler yerel SVG metin blokları olarak dışa aktarılır; yani Figma’da yeniden çizmeden doğrudan yazım hatalarını düzeltebilirsiniz.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"-gizlilik-öncelikli-yapay-zeka-byok\">🔑 Gizlilik Öncelikli Yapay Zeka (BYOK)\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#-gizlilik-öncelikli-yapay-zeka-byok\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “🔑 Gizlilik Öncelikli Yapay Zeka (BYOK)”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Yapay zeka güçlüdür, ancak verileriniz gizlidir. \u003Cstrong>Kendi Anahtarını Getir\u003C/strong> modelimiz kontrolü size verir.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Gemini ile Güçlendirilmiş\u003C/strong>: Akıllı diyagram oluşturma için kendi Gemini API anahtarınızı kullanın.\u003C/li>\n\u003Cli>\u003Cstrong>Yerel Depolama\u003C/strong>: API anahtarlarınız tarayıcınızda yerel olarak depolanır ve sunucularımıza hiçbir zaman ulaşmaz.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"️-görselden-akış-şemasına-görsel-yapay-zeka\">🖼️ Görselden Akış Şemasına (Görsel Yapay Zeka)\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#️-görselden-akış-şemasına-görsel-yapay-zeka\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “🖼️ Görselden Akış Şemasına (Görsel Yapay Zeka)”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Çizin, tarayın, gönderin.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Görsel Tanıma\u003C/strong>: Beyaz tahta oturumunuzun veya peçete üzerindeki taslağınızın fotoğrafını yükleyin.\u003C/li>\n\u003Cli>\u003Cstrong>Anında Dönüşüm\u003C/strong>: Yapay zekamız görsel yapıyı analiz eder ve saniyeler içinde tam düzenlenebilir, anlamlı bir akış şemasına dönüştürür.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"-kütüphane-ekosistemi\">📦 Kütüphane Ekosistemi\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#-kütüphane-ekosistemi\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “📦 Kütüphane Ekosistemi”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Bağımsız düzenleyiciye ek olarak OpenFlowKit’in çekirdeğini \u003Ccode dir=\"auto\">@openflowkit/core\u003C/code> olarak ayıkladık. Bu sayede geliştiriciler son teknoloji ayrıştırıcılarımızı ve tema mantığımızı kendi uygulamalarına gömebilir.\u003C/p>\n\u003Chr>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"-felsefe-premium-ve-açık\">🌟 Felsefe: Premium ve Açık\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#-felsefe-premium-ve-açık\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “🌟 Felsefe: Premium ve Açık”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Açık kaynaklı araçların açık kaynak “görünmesi” gerektiğine inanmıyoruz. OpenFlowKit V1 Beta, milyar dolarlık SaaS ürünlerin kalitesini açık kaynak topluluğuna %100 ücretsiz olarak MIT lisansı altında sunuyor.\u003C/p>\n\u003Chr>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"️-sırada-ne-var\">🛣️ Sırada Ne Var?\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#️-sırada-ne-var\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “🛣️ Sırada Ne Var?”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>V1 Beta yalnızca bir başlangıç. Üzerinde çalıştıklarımız:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>İş Birlikçi Gerçek Zamanlı Düzenleme\u003C/strong> (Yjs/WebRTC).\u003C/li>\n\u003Cli>\u003Cstrong>Tel çerçeveleme için Genişletilmiş Bileşen Kütüphaneleri\u003C/strong>.\u003C/li>\n\u003Cli>\u003Cstrong>Doğrudan Figma Eklentisi\u003C/strong> entegrasyonu.\u003C/li>\n\u003C/ul>\n\u003Chr>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"️-dahil-olun\">❤️ Dahil Olun\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#️-dahil-olun\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “❤️ Dahil Olun”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>OpenFlowKit, geliştiriciler tarafından geliştiriciler için inşa edilmektedir.\u003C/p>\n\u003Cul>\n\u003Cli>⭐️ \u003Cstrong>GitHub’da Yıldız Verin\u003C/strong>: Daha fazla geliştiriciye ulaşmamıza yardım edin!\u003C/li>\n\u003Cli>💬 \u003Cstrong>Tartışmaya Katılın\u003C/strong>: Marka kitlerini ve geri bildirimlerinizi paylaşın.\u003C/li>\n\u003Cli>🛠️ \u003Cstrong>Katkıda Bulunun\u003C/strong>: Diyagramlamanın geleceğini inşa etmeye yardımcı olmak için \u003Ccode dir=\"auto\">CONTRIBUTING.md\u003C/code>’ye göz atın.\u003C/li>\n\u003C/ul>\n\u003Cp>\u003Cstrong>İyi Diyagramlamalar!\u003C/strong>\u003Cbr>\n\u003Cem>OpenFlowKit Ekibi\u003C/em>\u003C/p>",{"headings":1335,"localImagePaths":1369,"remoteImagePaths":1370,"frontmatter":1371,"imagePaths":1372},[1336,1339,1342,1345,1348,1351,1354,1357,1360,1363,1366],{"depth":67,"slug":1337,"text":1338},"-openflowkit-v1-beta-kod-olarak-diyagramın-geleceği-burada","🚀 OpenFlowKit V1 Beta: Kod Olarak Diyagramın Geleceği Burada",{"depth":29,"slug":1340,"text":1341},"️-v1-betadaki-yenilikler","🏗️ V1 Beta’daki Yenilikler",{"depth":36,"slug":1343,"text":1344},"-marka-motoru-gerçek-beyaz-etiketleme","🎨 Marka Motoru (Gerçek Beyaz Etiketleme)",{"depth":36,"slug":1346,"text":1347},"-eşsiz-kod-olarak-diyagram-dac","📜 Eşsiz Kod Olarak Diyagram (DaC)",{"depth":36,"slug":1349,"text":1350},"-figma-kalitesinde-dışa-aktarma","💎 Figma Kalitesinde Dışa Aktarma",{"depth":36,"slug":1352,"text":1353},"-gizlilik-öncelikli-yapay-zeka-byok","🔑 Gizlilik Öncelikli Yapay Zeka (BYOK)",{"depth":36,"slug":1355,"text":1356},"️-görselden-akış-şemasına-görsel-yapay-zeka","🖼️ Görselden Akış Şemasına (Görsel Yapay Zeka)",{"depth":36,"slug":1358,"text":1359},"-kütüphane-ekosistemi","📦 Kütüphane Ekosistemi",{"depth":29,"slug":1361,"text":1362},"-felsefe-premium-ve-açık","🌟 Felsefe: Premium ve Açık",{"depth":29,"slug":1364,"text":1365},"️-sırada-ne-var","🛣️ Sırada Ne Var?",{"depth":29,"slug":1367,"text":1368},"️-dahil-olun","❤️ Dahil Olun",[],[],{"draft":19,"title":747},[]]
\ No newline at end of file
+[["Map",1,2,9,10],"meta::meta",["Map",3,4,5,6,7,8],"astro-version","5.18.1","content-config-digest","28e7bc87492477d9","astro-config-digest","{\"root\":{},\"srcDir\":{},\"publicDir\":{},\"outDir\":{},\"cacheDir\":{},\"site\":\"https://docs.openflowkit.com\",\"compressHTML\":true,\"base\":\"/\",\"trailingSlash\":\"ignore\",\"output\":\"static\",\"scopedStyleStrategy\":\"where\",\"build\":{\"format\":\"directory\",\"client\":{},\"server\":{},\"assets\":\"_astro\",\"serverEntry\":\"entry.mjs\",\"redirects\":true,\"inlineStylesheets\":\"auto\",\"concurrency\":1},\"server\":{\"open\":false,\"host\":\"0.0.0.0\",\"port\":4321,\"streaming\":true,\"allowedHosts\":[]},\"redirects\":{},\"image\":{\"endpoint\":{\"route\":\"/_image\"},\"service\":{\"entrypoint\":\"astro/assets/services/sharp\",\"config\":{}},\"domains\":[],\"remotePatterns\":[],\"responsiveStyles\":false},\"devToolbar\":{\"enabled\":true},\"markdown\":{\"syntaxHighlight\":false,\"shikiConfig\":{\"langs\":[],\"langAlias\":{},\"theme\":\"github-dark\",\"themes\":{},\"wrap\":false,\"transformers\":[]},\"remarkPlugins\":[null,null,null],\"rehypePlugins\":[null,[null,{\"experimentalHeadingIdCompat\":false}],null,[null,{\"themes\":[{\"name\":\"Night Owl No Italics\",\"type\":\"dark\",\"colors\":{\"focusBorder\":\"#122d42\",\"foreground\":\"#d6deeb\",\"disabledForeground\":\"#cccccc80\",\"descriptionForeground\":\"#d6deebb3\",\"errorForeground\":\"#ef5350\",\"icon.foreground\":\"#c5c5c5\",\"contrastActiveBorder\":null,\"contrastBorder\":\"#122d42\",\"textBlockQuote.background\":\"#7f7f7f1a\",\"textBlockQuote.border\":\"#007acc80\",\"textCodeBlock.background\":\"#4f4f4f\",\"textLink.activeForeground\":\"#3794ff\",\"textLink.foreground\":\"#3794ff\",\"textPreformat.foreground\":\"#d7ba7d\",\"textSeparator.foreground\":\"#ffffff2e\",\"editor.background\":\"#23262f\",\"editor.foreground\":\"#d6deeb\",\"editorLineNumber.foreground\":\"#4b6479\",\"editorLineNumber.activeForeground\":\"#c5e4fd\",\"editorActiveLineNumber.foreground\":\"#c6c6c6\",\"editor.selectionBackground\":\"#1d3b53\",\"editor.inactiveSelectionBackground\":\"#7e57c25a\",\"editor.selectionHighlightBackground\":\"#5f7e9779\",\"editorError.foreground\":\"#ef5350\",\"editorWarning.foreground\":\"#b39554\",\"editorInfo.foreground\":\"#3794ff\",\"editorHint.foreground\":\"#eeeeeeb2\",\"problemsErrorIcon.foreground\":\"#ef5350\",\"problemsWarningIcon.foreground\":\"#b39554\",\"problemsInfoIcon.foreground\":\"#3794ff\",\"editor.findMatchBackground\":\"#5f7e9779\",\"editor.findMatchHighlightBackground\":\"#1085bb5d\",\"editor.findRangeHighlightBackground\":\"#3a3d4166\",\"editorLink.activeForeground\":\"#4e94ce\",\"editorLightBulb.foreground\":\"#ffcc00\",\"editorLightBulbAutoFix.foreground\":\"#75beff\",\"diffEditor.insertedTextBackground\":\"#99b76d23\",\"diffEditor.insertedTextBorder\":\"#c5e47833\",\"diffEditor.removedTextBackground\":\"#ef535033\",\"diffEditor.removedTextBorder\":\"#ef53504d\",\"diffEditor.insertedLineBackground\":\"#9bb95533\",\"diffEditor.removedLineBackground\":\"#ff000033\",\"editorStickyScroll.background\":\"#011627\",\"editorStickyScrollHover.background\":\"#2a2d2e\",\"editorInlayHint.background\":\"#5f7e97cc\",\"editorInlayHint.foreground\":\"#ffffff\",\"editorInlayHint.typeBackground\":\"#5f7e97cc\",\"editorInlayHint.typeForeground\":\"#ffffff\",\"editorInlayHint.parameterBackground\":\"#5f7e97cc\",\"editorInlayHint.parameterForeground\":\"#ffffff\",\"editorPane.background\":\"#011627\",\"editorGroup.emptyBackground\":\"#011627\",\"editorGroup.focusedEmptyBorder\":null,\"editorGroupHeader.tabsBackground\":\"var(--sl-color-black)\",\"editorGroupHeader.tabsBorder\":\"color-mix(in srgb, var(--sl-color-gray-5), transparent 25%)\",\"editorGroupHeader.noTabsBackground\":\"#011627\",\"editorGroupHeader.border\":null,\"editorGroup.border\":\"#011627\",\"editorGroup.dropBackground\":\"#7e57c273\",\"editorGroup.dropIntoPromptForeground\":\"#d6deeb\",\"editorGroup.dropIntoPromptBackground\":\"#021320\",\"editorGroup.dropIntoPromptBorder\":null,\"sideBySideEditor.horizontalBorder\":\"#011627\",\"sideBySideEditor.verticalBorder\":\"#011627\",\"scrollbar.shadow\":\"#010b14\",\"scrollbarSlider.background\":\"#ffffff17\",\"scrollbarSlider.hoverBackground\":\"#ffffff40\",\"scrollbarSlider.activeBackground\":\"#084d8180\",\"panel.background\":\"#011627\",\"panel.border\":\"#5f7e97\",\"panelTitle.activeBorder\":\"#5f7e97\",\"panelTitle.activeForeground\":\"#ffffffcc\",\"panelTitle.inactiveForeground\":\"#d6deeb80\",\"panelSectionHeader.background\":\"#80808051\",\"terminal.background\":\"#011627\",\"widget.shadow\":\"#011627\",\"editorWidget.background\":\"#021320\",\"editorWidget.foreground\":\"#d6deeb\",\"editorWidget.border\":\"#5f7e97\",\"quickInput.background\":\"#021320\",\"quickInput.foreground\":\"#d6deeb\",\"quickInputTitle.background\":\"#ffffff1a\",\"pickerGroup.foreground\":\"#d1aaff\",\"pickerGroup.border\":\"#011627\",\"editor.hoverHighlightBackground\":\"#7e57c25a\",\"editorHoverWidget.background\":\"#011627\",\"editorHoverWidget.foreground\":\"#d6deeb\",\"editorHoverWidget.border\":\"#5f7e97\",\"editorHoverWidget.statusBarBackground\":\"#011a2f\",\"titleBar.activeBackground\":\"var(--sl-color-black)\",\"titleBar.activeForeground\":\"var(--sl-color-text)\",\"titleBar.inactiveBackground\":\"#010e1a\",\"titleBar.inactiveForeground\":\"#eeefff99\",\"titleBar.border\":\"color-mix(in srgb, var(--sl-color-gray-5), transparent 25%)\",\"toolbar.hoverBackground\":\"#5a5d5e50\",\"toolbar.activeBackground\":\"#63666750\",\"tab.activeBackground\":\"#0b2942\",\"tab.unfocusedActiveBackground\":\"#0b2942\",\"tab.inactiveBackground\":\"#01111d\",\"tab.unfocusedInactiveBackground\":\"#01111d\",\"tab.activeForeground\":\"var(--sl-color-text)\",\"tab.inactiveForeground\":\"#5f7e97\",\"tab.unfocusedActiveForeground\":\"#5f7e97\",\"tab.unfocusedInactiveForeground\":\"#5f7e97\",\"tab.hoverBackground\":null,\"tab.unfocusedHoverBackground\":null,\"tab.hoverForeground\":null,\"tab.unfocusedHoverForeground\":null,\"tab.border\":\"#272b3b\",\"tab.lastPinnedBorder\":\"#585858\",\"tab.activeBorder\":\"transparent\",\"tab.unfocusedActiveBorder\":\"#262a39\",\"tab.activeBorderTop\":\"var(--sl-color-accent-high)\",\"tab.unfocusedActiveBorderTop\":null,\"tab.hoverBorder\":null,\"tab.unfocusedHoverBorder\":null,\"tab.activeModifiedBorder\":\"#3399cc\",\"tab.inactiveModifiedBorder\":\"#3399cc80\",\"tab.unfocusedActiveModifiedBorder\":\"#3399cc80\",\"tab.unfocusedInactiveModifiedBorder\":\"#3399cc40\",\"badge.background\":\"#5f7e97\",\"badge.foreground\":\"#ffffff\",\"button.background\":\"#7e57c2cc\",\"button.foreground\":\"#ffffffcc\",\"button.border\":\"#122d42\",\"button.separator\":\"#ffffff52\",\"button.hoverBackground\":\"#7e57c2\",\"button.secondaryBackground\":\"#3a3d41\",\"button.secondaryForeground\":\"#ffffff\",\"button.secondaryHoverBackground\":\"#46494e\",\"dropdown.background\":\"#011627\",\"dropdown.foreground\":\"#ffffffcc\",\"dropdown.border\":\"#5f7e97\",\"list.activeSelectionBackground\":\"#234d708c\",\"list.activeSelectionForeground\":\"#ffffff\",\"tree.indentGuidesStroke\":\"#585858\",\"input.background\":\"#0b253a\",\"input.foreground\":\"#ffffffcc\",\"input.placeholderForeground\":\"#5f7e97\",\"inputOption.activeBorder\":\"#ffffffcc\",\"inputOption.hoverBackground\":\"#5a5d5e80\",\"inputOption.activeBackground\":\"#122d4266\",\"inputOption.activeForeground\":\"#ffffff\",\"inputValidation.infoBackground\":\"#00589ef2\",\"inputValidation.infoBorder\":\"#64b5f6\",\"inputValidation.warningBackground\":\"#675700f2\",\"inputValidation.warningBorder\":\"#ffca28\",\"inputValidation.errorBackground\":\"#ab0300f2\",\"inputValidation.errorBorder\":\"#ef5350\",\"keybindingLabel.background\":\"#8080802b\",\"keybindingLabel.foreground\":\"#cccccc\",\"keybindingLabel.border\":\"#33333399\",\"keybindingLabel.bottomBorder\":\"#44444499\",\"menu.foreground\":\"#ffffffcc\",\"menu.background\":\"#011627\",\"menu.selectionForeground\":\"#ffffff\",\"menu.selectionBackground\":\"#234d708c\",\"menu.separatorBackground\":\"#606060\",\"editor.snippetTabstopHighlightBackground\":\"#7c7c74c\",\"editor.snippetFinalTabstopHighlightBorder\":\"#525252\",\"terminal.ansiBlack\":\"#011627\",\"terminal.ansiRed\":\"#ef5350\",\"terminal.ansiGreen\":\"#22da6e\",\"terminal.ansiYellow\":\"#c5e478\",\"terminal.ansiBlue\":\"#82aaff\",\"terminal.ansiMagenta\":\"#c792ea\",\"terminal.ansiCyan\":\"#21c7a8\",\"terminal.ansiWhite\":\"#ffffff\",\"terminal.ansiBrightBlack\":\"#575656\",\"terminal.ansiBrightRed\":\"#ef5350\",\"terminal.ansiBrightGreen\":\"#22da6e\",\"terminal.ansiBrightYellow\":\"#ffeb95\",\"terminal.ansiBrightBlue\":\"#82aaff\",\"terminal.ansiBrightMagenta\":\"#c792ea\",\"terminal.ansiBrightCyan\":\"#7fdbca\",\"terminal.ansiBrightWhite\":\"#ffffff\",\"selection.background\":\"#4373c2\",\"input.border\":\"#5f7e97\",\"punctuation.definition.generic.begin.html\":\"#ef5350f2\",\"progress.background\":\"#7e57c2\",\"breadcrumb.foreground\":\"#a599e9\",\"breadcrumb.focusForeground\":\"#ffffff\",\"breadcrumb.activeSelectionForeground\":\"#ffffff\",\"breadcrumbPicker.background\":\"#001122\",\"list.invalidItemForeground\":\"#975f94\",\"list.dropBackground\":\"#011627\",\"list.focusBackground\":\"#010d18\",\"list.focusForeground\":\"#ffffff\",\"list.highlightForeground\":\"#ffffff\",\"list.hoverBackground\":\"#011627\",\"list.hoverForeground\":\"#ffffff\",\"list.inactiveSelectionBackground\":\"#0e293f\",\"list.inactiveSelectionForeground\":\"#5f7e97\",\"activityBar.background\":\"#011627\",\"activityBar.dropBackground\":\"#5f7e97\",\"activityBar.foreground\":\"#5f7e97\",\"activityBar.border\":\"#011627\",\"activityBarBadge.background\":\"#44596b\",\"activityBarBadge.foreground\":\"#ffffff\",\"sideBar.background\":\"#011627\",\"sideBar.foreground\":\"#89a4bb\",\"sideBar.border\":\"#011627\",\"sideBarTitle.foreground\":\"#5f7e97\",\"sideBarSectionHeader.background\":\"#011627\",\"sideBarSectionHeader.foreground\":\"#5f7e97\",\"editorCursor.foreground\":\"#80a4c2\",\"editor.wordHighlightBackground\":\"#f6bbe533\",\"editor.wordHighlightStrongBackground\":\"#e2a2f433\",\"editor.lineHighlightBackground\":\"#0003\",\"editor.rangeHighlightBackground\":\"#7e57c25a\",\"editorIndentGuide.background\":\"#5e81ce52\",\"editorIndentGuide.activeBackground\":\"#7e97ac\",\"editorRuler.foreground\":\"#5e81ce52\",\"editorCodeLens.foreground\":\"#5e82ceb4\",\"editorBracketMatch.background\":\"#5f7e974d\",\"editorOverviewRuler.currentContentForeground\":\"#7e57c2\",\"editorOverviewRuler.incomingContentForeground\":\"#7e57c2\",\"editorOverviewRuler.commonContentForeground\":\"#7e57c2\",\"editorGutter.background\":\"#011627\",\"editorGutter.modifiedBackground\":\"#e2b93d\",\"editorGutter.addedBackground\":\"#9ccc65\",\"editorGutter.deletedBackground\":\"#ef5350\",\"editorSuggestWidget.background\":\"#2c3043\",\"editorSuggestWidget.border\":\"#2b2f40\",\"editorSuggestWidget.foreground\":\"#d6deeb\",\"editorSuggestWidget.highlightForeground\":\"#ffffff\",\"editorSuggestWidget.selectedBackground\":\"#5f7e97\",\"debugExceptionWidget.background\":\"#011627\",\"debugExceptionWidget.border\":\"#5f7e97\",\"editorMarkerNavigation.background\":\"#0b2942\",\"editorMarkerNavigationError.background\":\"#ef5350\",\"editorMarkerNavigationWarning.background\":\"#ffca28\",\"peekView.border\":\"#5f7e97\",\"peekViewEditor.background\":\"#011627\",\"peekViewEditor.matchHighlightBackground\":\"#7e57c25a\",\"peekViewResult.background\":\"#011627\",\"peekViewResult.fileForeground\":\"#5f7e97\",\"peekViewResult.lineForeground\":\"#5f7e97\",\"peekViewResult.matchHighlightBackground\":\"#ffffffcc\",\"peekViewResult.selectionBackground\":\"#2e3250\",\"peekViewResult.selectionForeground\":\"#5f7e97\",\"peekViewTitle.background\":\"#011627\",\"peekViewTitleDescription.foreground\":\"#697098\",\"peekViewTitleLabel.foreground\":\"#5f7e97\",\"merge.currentHeaderBackground\":\"#5f7e97\",\"merge.incomingHeaderBackground\":\"#7e57c25a\",\"statusBar.background\":\"#011627\",\"statusBar.foreground\":\"#5f7e97\",\"statusBar.border\":\"#262a39\",\"statusBar.debuggingBackground\":\"#202431\",\"statusBar.debuggingBorder\":\"#1f2330\",\"statusBar.noFolderBackground\":\"#011627\",\"statusBar.noFolderBorder\":\"#25293a\",\"statusBarItem.activeBackground\":\"#202431\",\"statusBarItem.hoverBackground\":\"#202431\",\"statusBarItem.prominentBackground\":\"#202431\",\"statusBarItem.prominentHoverBackground\":\"#202431\",\"notifications.background\":\"#01111d\",\"notifications.border\":\"#262a39\",\"notificationCenter.border\":\"#262a39\",\"notificationToast.border\":\"#262a39\",\"notifications.foreground\":\"#ffffffcc\",\"notificationLink.foreground\":\"#80cbc4\",\"extensionButton.prominentForeground\":\"#ffffffcc\",\"extensionButton.prominentBackground\":\"#7e57c2cc\",\"extensionButton.prominentHoverBackground\":\"#7e57c2\",\"terminal.selectionBackground\":\"#1b90dd4d\",\"terminalCursor.background\":\"#234d70\",\"debugToolBar.background\":\"#011627\",\"welcomePage.buttonBackground\":\"#011627\",\"welcomePage.buttonHoverBackground\":\"#011627\",\"walkThrough.embeddedEditorBackground\":\"#011627\",\"gitDecoration.modifiedResourceForeground\":\"#a2bffc\",\"gitDecoration.deletedResourceForeground\":\"#ef535090\",\"gitDecoration.untrackedResourceForeground\":\"#c5e478ff\",\"gitDecoration.ignoredResourceForeground\":\"#395a75\",\"gitDecoration.conflictingResourceForeground\":\"#ffeb95cc\",\"source.elm\":\"#5f7e97\",\"string.quoted.single.js\":\"#ffffff\",\"meta.objectliteral.js\":\"#82aaff\"},\"fg\":\"#d6deeb\",\"bg\":\"#23262f\",\"semanticHighlighting\":false,\"settings\":[{\"name\":\"Changed\",\"scope\":[\"markup.changed\",\"meta.diff.header.git\",\"meta.diff.header.from-file\",\"meta.diff.header.to-file\"],\"settings\":{\"foreground\":\"#a2bffc\"}},{\"name\":\"Deleted\",\"scope\":[\"markup.deleted.diff\"],\"settings\":{\"foreground\":\"#f27775fe\"}},{\"name\":\"Inserted\",\"scope\":[\"markup.inserted.diff\"],\"settings\":{\"foreground\":\"#c5e478\"}},{\"name\":\"Global settings\",\"settings\":{\"background\":\"#011627\",\"foreground\":\"#d6deeb\"}},{\"name\":\"Comment\",\"scope\":[\"comment\"],\"settings\":{\"foreground\":\"#919f9f\",\"fontStyle\":\"\"}},{\"name\":\"String\",\"scope\":[\"string\"],\"settings\":{\"foreground\":\"#ecc48d\"}},{\"name\":\"String Quoted\",\"scope\":[\"string.quoted\",\"variable.other.readwrite.js\"],\"settings\":{\"foreground\":\"#ecc48d\"}},{\"name\":\"Support Constant Math\",\"scope\":[\"support.constant.math\"],\"settings\":{\"foreground\":\"#c5e478\"}},{\"name\":\"Number\",\"scope\":[\"constant.numeric\",\"constant.character.numeric\"],\"settings\":{\"foreground\":\"#f78c6c\",\"fontStyle\":\"\"}},{\"name\":\"Built-in constant\",\"scope\":[\"constant.language\",\"punctuation.definition.constant\",\"variable.other.constant\"],\"settings\":{\"foreground\":\"#82aaff\"}},{\"name\":\"User-defined constant\",\"scope\":[\"constant.character\",\"constant.other\"],\"settings\":{\"foreground\":\"#82aaff\"}},{\"name\":\"Constant Character Escape\",\"scope\":[\"constant.character.escape\"],\"settings\":{\"foreground\":\"#f78c6c\"}},{\"name\":\"RegExp String\",\"scope\":[\"string.regexp\",\"string.regexp keyword.other\"],\"settings\":{\"foreground\":\"#5ca7e4\"}},{\"name\":\"Comma in functions\",\"scope\":[\"meta.function punctuation.separator.comma\"],\"settings\":{\"foreground\":\"#889fb2\"}},{\"name\":\"Variable\",\"scope\":[\"variable\"],\"settings\":{\"foreground\":\"#c5e478\"}},{\"name\":\"Keyword\",\"scope\":[\"punctuation.accessor\",\"keyword\"],\"settings\":{\"foreground\":\"#c792ea\",\"fontStyle\":\"\"}},{\"name\":\"Storage\",\"scope\":[\"storage\",\"meta.var.expr\",\"meta.class meta.method.declaration meta.var.expr storage.type.js\",\"storage.type.property.js\",\"storage.type.property.ts\",\"storage.type.property.tsx\"],\"settings\":{\"foreground\":\"#c792ea\",\"fontStyle\":\"\"}},{\"name\":\"Storage type\",\"scope\":[\"storage.type\"],\"settings\":{\"foreground\":\"#c792ea\"}},{\"name\":\"Storage type\",\"scope\":[\"storage.type.function.arrow.js\"],\"settings\":{\"fontStyle\":\"\"}},{\"name\":\"Class name\",\"scope\":[\"entity.name.class\",\"meta.class entity.name.type.class\"],\"settings\":{\"foreground\":\"#ffcb8b\"}},{\"name\":\"Inherited class\",\"scope\":[\"entity.other.inherited-class\"],\"settings\":{\"foreground\":\"#c5e478\"}},{\"name\":\"Function name\",\"scope\":[\"entity.name.function\"],\"settings\":{\"foreground\":\"#c792ea\",\"fontStyle\":\"\"}},{\"name\":\"Meta Tag\",\"scope\":[\"punctuation.definition.tag\",\"meta.tag\"],\"settings\":{\"foreground\":\"#7fdbca\"}},{\"name\":\"HTML Tag names\",\"scope\":[\"entity.name.tag\",\"meta.tag.other.html\",\"meta.tag.other.js\",\"meta.tag.other.tsx\",\"entity.name.tag.tsx\",\"entity.name.tag.js\",\"entity.name.tag\",\"meta.tag.js\",\"meta.tag.tsx\",\"meta.tag.html\"],\"settings\":{\"foreground\":\"#caece6\",\"fontStyle\":\"\"}},{\"name\":\"Tag attribute\",\"scope\":[\"entity.other.attribute-name\"],\"settings\":{\"fontStyle\":\"\",\"foreground\":\"#c5e478\"}},{\"name\":\"Entity Name Tag Custom\",\"scope\":[\"entity.name.tag.custom\"],\"settings\":{\"foreground\":\"#c5e478\"}},{\"name\":\"Library (function & constant)\",\"scope\":[\"support.function\",\"support.constant\"],\"settings\":{\"foreground\":\"#82aaff\"}},{\"name\":\"Support Constant Property Value meta\",\"scope\":[\"support.constant.meta.property-value\"],\"settings\":{\"foreground\":\"#7fdbca\"}},{\"name\":\"Library class/type\",\"scope\":[\"support.type\",\"support.class\"],\"settings\":{\"foreground\":\"#c5e478\"}},{\"name\":\"Support Variable DOM\",\"scope\":[\"support.variable.dom\"],\"settings\":{\"foreground\":\"#c5e478\"}},{\"name\":\"Invalid\",\"scope\":[\"invalid\"],\"settings\":{\"background\":\"#ff2c83\",\"foreground\":\"#ffffff\"}},{\"name\":\"Invalid deprecated\",\"scope\":[\"invalid.deprecated\"],\"settings\":{\"foreground\":\"#ffffff\",\"background\":\"#d3423e\"}},{\"name\":\"Keyword Operator\",\"scope\":[\"keyword.operator\"],\"settings\":{\"foreground\":\"#7fdbca\",\"fontStyle\":\"\"}},{\"name\":\"Keyword Operator Relational\",\"scope\":[\"keyword.operator.relational\"],\"settings\":{\"foreground\":\"#c792ea\",\"fontStyle\":\"\"}},{\"name\":\"Keyword Operator Assignment\",\"scope\":[\"keyword.operator.assignment\"],\"settings\":{\"foreground\":\"#c792ea\"}},{\"name\":\"Keyword Operator Arithmetic\",\"scope\":[\"keyword.operator.arithmetic\"],\"settings\":{\"foreground\":\"#c792ea\"}},{\"name\":\"Keyword Operator Bitwise\",\"scope\":[\"keyword.operator.bitwise\"],\"settings\":{\"foreground\":\"#c792ea\"}},{\"name\":\"Keyword Operator Increment\",\"scope\":[\"keyword.operator.increment\"],\"settings\":{\"foreground\":\"#c792ea\"}},{\"name\":\"Keyword Operator Ternary\",\"scope\":[\"keyword.operator.ternary\"],\"settings\":{\"foreground\":\"#c792ea\"}},{\"name\":\"Double-Slashed Comment\",\"scope\":[\"comment.line.double-slash\"],\"settings\":{\"foreground\":\"#919f9f\"}},{\"name\":\"Object\",\"scope\":[\"object\"],\"settings\":{\"foreground\":\"#cdebf7\"}},{\"name\":\"Null\",\"scope\":[\"constant.language.null\"],\"settings\":{\"foreground\":\"#ff6a83\"}},{\"name\":\"Meta Brace\",\"scope\":[\"meta.brace\"],\"settings\":{\"foreground\":\"#d6deeb\"}},{\"name\":\"Meta Delimiter Period\",\"scope\":[\"meta.delimiter.period\"],\"settings\":{\"foreground\":\"#c792ea\",\"fontStyle\":\"\"}},{\"name\":\"Punctuation Definition String\",\"scope\":[\"punctuation.definition.string\"],\"settings\":{\"foreground\":\"#d9f5dd\"}},{\"name\":\"Punctuation Definition String Markdown\",\"scope\":[\"punctuation.definition.string.begin.markdown\"],\"settings\":{\"foreground\":\"#ff6a83\"}},{\"name\":\"Boolean\",\"scope\":[\"constant.language.boolean\"],\"settings\":{\"foreground\":\"#ff6a83\"}},{\"name\":\"Object Comma\",\"scope\":[\"object.comma\"],\"settings\":{\"foreground\":\"#ffffff\"}},{\"name\":\"Variable Parameter Function\",\"scope\":[\"variable.parameter.function\"],\"settings\":{\"foreground\":\"#7fdbca\",\"fontStyle\":\"\"}},{\"name\":\"Support Type Property Name & entity name tags\",\"scope\":[\"support.type.vendor.property-name\",\"support.constant.vendor.property-value\",\"support.type.property-name\",\"meta.property-list entity.name.tag\"],\"settings\":{\"foreground\":\"#80cbc4\",\"fontStyle\":\"\"}},{\"name\":\"Entity Name tag reference in stylesheets\",\"scope\":[\"meta.property-list entity.name.tag.reference\"],\"settings\":{\"foreground\":\"#57eaf1\"}},{\"name\":\"Constant Other Color RGB Value Punctuation Definition Constant\",\"scope\":[\"constant.other.color.rgb-value punctuation.definition.constant\"],\"settings\":{\"foreground\":\"#f78c6c\"}},{\"name\":\"Constant Other Color\",\"scope\":[\"constant.other.color\"],\"settings\":{\"foreground\":\"#ffeb95\"}},{\"name\":\"Keyword Other Unit\",\"scope\":[\"keyword.other.unit\"],\"settings\":{\"foreground\":\"#ffeb95\"}},{\"name\":\"Meta Selector\",\"scope\":[\"meta.selector\"],\"settings\":{\"foreground\":\"#c792ea\",\"fontStyle\":\"\"}},{\"name\":\"Entity Other Attribute Name Id\",\"scope\":[\"entity.other.attribute-name.id\"],\"settings\":{\"foreground\":\"#fad430\"}},{\"name\":\"Meta Property Name\",\"scope\":[\"meta.property-name\"],\"settings\":{\"foreground\":\"#80cbc4\"}},{\"name\":\"Doctypes\",\"scope\":[\"entity.name.tag.doctype\",\"meta.tag.sgml.doctype\"],\"settings\":{\"foreground\":\"#c792ea\",\"fontStyle\":\"\"}},{\"name\":\"Punctuation Definition Parameters\",\"scope\":[\"punctuation.definition.parameters\"],\"settings\":{\"foreground\":\"#d9f5dd\"}},{\"name\":\"Keyword Control Operator\",\"scope\":[\"keyword.control.operator\"],\"settings\":{\"foreground\":\"#7fdbca\"}},{\"name\":\"Keyword Operator Logical\",\"scope\":[\"keyword.operator.logical\"],\"settings\":{\"foreground\":\"#c792ea\",\"fontStyle\":\"\"}},{\"name\":\"Variable Instances\",\"scope\":[\"variable.instance\",\"variable.other.instance\",\"variable.readwrite.instance\",\"variable.other.readwrite.instance\",\"variable.other.property\"],\"settings\":{\"foreground\":\"#7fdbca\"}},{\"name\":\"Variable Property Other object property\",\"scope\":[\"variable.other.object.property\"],\"settings\":{\"foreground\":\"#faf39f\",\"fontStyle\":\"\"}},{\"name\":\"Variable Property Other object\",\"scope\":[\"variable.other.object.js\"],\"settings\":{\"fontStyle\":\"\"}},{\"name\":\"Entity Name Function\",\"scope\":[\"entity.name.function\"],\"settings\":{\"foreground\":\"#82aaff\",\"fontStyle\":\"\"}},{\"name\":\"Keyword Operator Comparison, returns, imports, and Keyword Operator Ruby\",\"scope\":[\"keyword.control.conditional.js\",\"keyword.operator.comparison\",\"keyword.control.flow.js\",\"keyword.control.flow.ts\",\"keyword.control.flow.tsx\",\"keyword.control.ruby\",\"keyword.control.def.ruby\",\"keyword.control.loop.js\",\"keyword.control.loop.ts\",\"keyword.control.import.js\",\"keyword.control.import.ts\",\"keyword.control.import.tsx\",\"keyword.control.from.js\",\"keyword.control.from.ts\",\"keyword.control.from.tsx\",\"keyword.control.conditional.js\",\"keyword.control.conditional.ts\",\"keyword.control.switch.js\",\"keyword.control.switch.ts\",\"keyword.operator.instanceof.js\",\"keyword.operator.expression.instanceof.ts\",\"keyword.operator.expression.instanceof.tsx\"],\"settings\":{\"foreground\":\"#c792ea\",\"fontStyle\":\"\"}},{\"name\":\"Support Constant, `new` keyword, Special Method Keyword, `debugger`, other keywords\",\"scope\":[\"support.constant\",\"keyword.other.special-method\",\"keyword.other.new\",\"keyword.other.debugger\",\"keyword.control\"],\"settings\":{\"foreground\":\"#7fdbca\"}},{\"name\":\"Support Function\",\"scope\":[\"support.function\"],\"settings\":{\"foreground\":\"#c5e478\"}},{\"name\":\"Invalid Broken\",\"scope\":[\"invalid.broken\"],\"settings\":{\"foreground\":\"#989da0\",\"background\":\"#F78C6C\"}},{\"name\":\"Invalid Unimplemented\",\"scope\":[\"invalid.unimplemented\"],\"settings\":{\"background\":\"#8BD649\",\"foreground\":\"#ffffff\"}},{\"name\":\"Invalid Illegal\",\"scope\":[\"invalid.illegal\"],\"settings\":{\"foreground\":\"#ffffff\",\"background\":\"#ec5f67\"}},{\"name\":\"Language Variable\",\"scope\":[\"variable.language\"],\"settings\":{\"foreground\":\"#7fdbca\"}},{\"name\":\"Support Variable Property\",\"scope\":[\"support.variable.property\"],\"settings\":{\"foreground\":\"#7fdbca\"}},{\"name\":\"Variable Function\",\"scope\":[\"variable.function\"],\"settings\":{\"foreground\":\"#82aaff\"}},{\"name\":\"Variable Interpolation\",\"scope\":[\"variable.interpolation\"],\"settings\":{\"foreground\":\"#ef787f\"}},{\"name\":\"Meta Function Call\",\"scope\":[\"meta.function-call\"],\"settings\":{\"foreground\":\"#82aaff\"}},{\"name\":\"Punctuation Section Embedded\",\"scope\":[\"punctuation.section.embedded\"],\"settings\":{\"foreground\":\"#e2817f\"}},{\"name\":\"Punctuation Tweaks\",\"scope\":[\"punctuation.terminator.expression\",\"punctuation.definition.arguments\",\"punctuation.definition.array\",\"punctuation.section.array\",\"meta.array\"],\"settings\":{\"foreground\":\"#d6deeb\"}},{\"name\":\"More Punctuation Tweaks\",\"scope\":[\"punctuation.definition.list.begin\",\"punctuation.definition.list.end\",\"punctuation.separator.arguments\",\"punctuation.definition.list\"],\"settings\":{\"foreground\":\"#d9f5dd\"}},{\"name\":\"Template Strings\",\"scope\":[\"string.template meta.template.expression\"],\"settings\":{\"foreground\":\"#e2817f\"}},{\"name\":\"Backtics(``) in Template Strings\",\"scope\":[\"string.template punctuation.definition.string\"],\"settings\":{\"foreground\":\"#d6deeb\"}},{\"name\":\"Italics\",\"scope\":[\"italic\"],\"settings\":{\"foreground\":\"#c792ea\",\"fontStyle\":\"italic\"}},{\"name\":\"Bold\",\"scope\":[\"bold\"],\"settings\":{\"foreground\":\"#c5e478\",\"fontStyle\":\"bold\"}},{\"name\":\"Quote\",\"scope\":[\"quote\"],\"settings\":{\"foreground\":\"#969bb7\",\"fontStyle\":\"\"}},{\"name\":\"Raw Code\",\"scope\":[\"raw\"],\"settings\":{\"foreground\":\"#80cbc4\"}},{\"name\":\"CoffeScript Variable Assignment\",\"scope\":[\"variable.assignment.coffee\"],\"settings\":{\"foreground\":\"#31e1eb\"}},{\"name\":\"CoffeScript Parameter Function\",\"scope\":[\"variable.parameter.function.coffee\"],\"settings\":{\"foreground\":\"#d6deeb\"}},{\"name\":\"CoffeeScript Assignments\",\"scope\":[\"variable.assignment.coffee\"],\"settings\":{\"foreground\":\"#7fdbca\"}},{\"name\":\"C# Readwrite Variables\",\"scope\":[\"variable.other.readwrite.cs\"],\"settings\":{\"foreground\":\"#d6deeb\"}},{\"name\":\"C# Classes & Storage types\",\"scope\":[\"entity.name.type.class.cs\",\"storage.type.cs\"],\"settings\":{\"foreground\":\"#ffcb8b\"}},{\"name\":\"C# Namespaces\",\"scope\":[\"entity.name.type.namespace.cs\"],\"settings\":{\"foreground\":\"#b2ccd6\"}},{\"name\":\"C# Unquoted String Zone\",\"scope\":[\"string.unquoted.preprocessor.message.cs\"],\"settings\":{\"foreground\":\"#d6deeb\"}},{\"name\":\"C# Region\",\"scope\":[\"punctuation.separator.hash.cs\",\"keyword.preprocessor.region.cs\",\"keyword.preprocessor.endregion.cs\"],\"settings\":{\"foreground\":\"#ffcb8b\",\"fontStyle\":\"bold\"}},{\"name\":\"C# Other Variables\",\"scope\":[\"variable.other.object.cs\"],\"settings\":{\"foreground\":\"#b2ccd6\"}},{\"name\":\"C# Enum\",\"scope\":[\"entity.name.type.enum.cs\"],\"settings\":{\"foreground\":\"#c5e478\"}},{\"name\":\"Dart String\",\"scope\":[\"string.interpolated.single.dart\",\"string.interpolated.double.dart\"],\"settings\":{\"foreground\":\"#ffcb8b\"}},{\"name\":\"Dart Class\",\"scope\":[\"support.class.dart\"],\"settings\":{\"foreground\":\"#ffcb8b\"}},{\"name\":\"Tag names in Stylesheets\",\"scope\":[\"entity.name.tag.css\",\"entity.name.tag.less\",\"entity.name.tag.custom.css\",\"support.constant.property-value.css\"],\"settings\":{\"foreground\":\"#ff6d6d\",\"fontStyle\":\"\"}},{\"name\":\"Wildcard(*) selector in Stylesheets\",\"scope\":[\"entity.name.tag.wildcard.css\",\"entity.name.tag.wildcard.less\",\"entity.name.tag.wildcard.scss\",\"entity.name.tag.wildcard.sass\"],\"settings\":{\"foreground\":\"#7fdbca\"}},{\"name\":\"CSS Keyword Other Unit\",\"scope\":[\"keyword.other.unit.css\"],\"settings\":{\"foreground\":\"#ffeb95\"}},{\"name\":\"Attribute Name for CSS\",\"scope\":[\"meta.attribute-selector.css entity.other.attribute-name.attribute\",\"variable.other.readwrite.js\"],\"settings\":{\"foreground\":\"#f78c6c\"}},{\"name\":\"Elixir Classes\",\"scope\":[\"source.elixir support.type.elixir\",\"source.elixir meta.module.elixir entity.name.class.elixir\"],\"settings\":{\"foreground\":\"#82aaff\"}},{\"name\":\"Elixir Functions\",\"scope\":[\"source.elixir entity.name.function\"],\"settings\":{\"foreground\":\"#c5e478\"}},{\"name\":\"Elixir Constants\",\"scope\":[\"source.elixir constant.other.symbol.elixir\",\"source.elixir constant.other.keywords.elixir\"],\"settings\":{\"foreground\":\"#82aaff\"}},{\"name\":\"Elixir String Punctuations\",\"scope\":[\"source.elixir punctuation.definition.string\"],\"settings\":{\"foreground\":\"#c5e478\"}},{\"name\":\"Elixir\",\"scope\":[\"source.elixir variable.other.readwrite.module.elixir\",\"source.elixir variable.other.readwrite.module.elixir punctuation.definition.variable.elixir\"],\"settings\":{\"foreground\":\"#c5e478\"}},{\"name\":\"Elixir Binary Punctuations\",\"scope\":[\"source.elixir .punctuation.binary.elixir\"],\"settings\":{\"foreground\":\"#c792ea\",\"fontStyle\":\"\"}},{\"name\":\"Closure Constant Keyword\",\"scope\":[\"constant.keyword.clojure\"],\"settings\":{\"foreground\":\"#7fdbca\"}},{\"name\":\"Go Function Calls\",\"scope\":[\"source.go meta.function-call.go\"],\"settings\":{\"foreground\":\"#dddddd\"}},{\"name\":\"Go Keywords\",\"scope\":[\"source.go keyword.package.go\",\"source.go keyword.import.go\",\"source.go keyword.function.go\",\"source.go keyword.type.go\",\"source.go keyword.struct.go\",\"source.go keyword.interface.go\",\"source.go keyword.const.go\",\"source.go keyword.var.go\",\"source.go keyword.map.go\",\"source.go keyword.channel.go\",\"source.go keyword.control.go\"],\"settings\":{\"foreground\":\"#c792ea\"}},{\"name\":\"Go Constants e.g. nil, string format (%s, %d, etc.)\",\"scope\":[\"source.go constant.language.go\",\"source.go constant.other.placeholder.go\"],\"settings\":{\"foreground\":\"#ff6a83\"}},{\"name\":\"C++ Functions\",\"scope\":[\"entity.name.function.preprocessor.cpp\",\"entity.scope.name.cpp\"],\"settings\":{\"foreground\":\"#7fdbca\"}},{\"name\":\"C++ Meta Namespace\",\"scope\":[\"meta.namespace-block.cpp\"],\"settings\":{\"foreground\":\"#e0dec6\"}},{\"name\":\"C++ Language Primitive Storage\",\"scope\":[\"storage.type.language.primitive.cpp\"],\"settings\":{\"foreground\":\"#ff6a83\"}},{\"name\":\"C++ Preprocessor Macro\",\"scope\":[\"meta.preprocessor.macro.cpp\"],\"settings\":{\"foreground\":\"#d6deeb\"}},{\"name\":\"C++ Variable Parameter\",\"scope\":[\"variable.parameter\"],\"settings\":{\"foreground\":\"#ffcb8b\"}},{\"name\":\"Powershell Variables\",\"scope\":[\"variable.other.readwrite.powershell\"],\"settings\":{\"foreground\":\"#82aaff\"}},{\"name\":\"Powershell Function\",\"scope\":[\"support.function.powershell\"],\"settings\":{\"foreground\":\"#7fdbca\"}},{\"name\":\"ID Attribute Name in HTML\",\"scope\":[\"entity.other.attribute-name.id.html\"],\"settings\":{\"foreground\":\"#c5e478\"}},{\"name\":\"HTML Punctuation Definition Tag\",\"scope\":[\"punctuation.definition.tag.html\"],\"settings\":{\"foreground\":\"#6ae9f0\"}},{\"name\":\"HTML Doctype\",\"scope\":[\"meta.tag.sgml.doctype.html\"],\"settings\":{\"foreground\":\"#c792ea\",\"fontStyle\":\"\"}},{\"name\":\"JavaScript Classes\",\"scope\":[\"meta.class entity.name.type.class.js\"],\"settings\":{\"foreground\":\"#ffcb8b\"}},{\"name\":\"JavaScript Method Declaration e.g. `constructor`\",\"scope\":[\"meta.method.declaration storage.type.js\"],\"settings\":{\"foreground\":\"#82aaff\"}},{\"name\":\"JavaScript Terminator\",\"scope\":[\"terminator.js\"],\"settings\":{\"foreground\":\"#d6deeb\"}},{\"name\":\"JavaScript Meta Punctuation Definition\",\"scope\":[\"meta.js punctuation.definition.js\"],\"settings\":{\"foreground\":\"#d6deeb\"}},{\"name\":\"Entity Names in Code Documentations\",\"scope\":[\"entity.name.type.instance.jsdoc\",\"entity.name.type.instance.phpdoc\"],\"settings\":{\"foreground\":\"#889fb2\"}},{\"name\":\"Other Variables in Code Documentations\",\"scope\":[\"variable.other.jsdoc\",\"variable.other.phpdoc\"],\"settings\":{\"foreground\":\"#78ccf0\"}},{\"name\":\"JavaScript module imports and exports\",\"scope\":[\"variable.other.meta.import.js\",\"meta.import.js variable.other\",\"variable.other.meta.export.js\",\"meta.export.js variable.other\"],\"settings\":{\"foreground\":\"#d6deeb\"}},{\"name\":\"JavaScript Variable Parameter Function\",\"scope\":[\"variable.parameter.function.js\"],\"settings\":{\"foreground\":\"#8b96ea\"}},{\"name\":\"JavaScript[React] Variable Other Object\",\"scope\":[\"variable.other.object.js\",\"variable.other.object.jsx\",\"variable.object.property.js\",\"variable.object.property.jsx\"],\"settings\":{\"foreground\":\"#d6deeb\"}},{\"name\":\"JavaScript Variables\",\"scope\":[\"variable.js\",\"variable.other.js\"],\"settings\":{\"foreground\":\"#d6deeb\"}},{\"name\":\"JavaScript Entity Name Type\",\"scope\":[\"entity.name.type.js\",\"entity.name.type.module.js\"],\"settings\":{\"foreground\":\"#ffcb8b\",\"fontStyle\":\"\"}},{\"name\":\"JavaScript Support Classes\",\"scope\":[\"support.class.js\"],\"settings\":{\"foreground\":\"#d6deeb\"}},{\"name\":\"JSON Property Names\",\"scope\":[\"support.type.property-name.json\"],\"settings\":{\"foreground\":\"#7fdbca\"}},{\"name\":\"JSON Support Constants\",\"scope\":[\"support.constant.json\"],\"settings\":{\"foreground\":\"#c5e478\"}},{\"name\":\"JSON Property values (string)\",\"scope\":[\"meta.structure.dictionary.value.json string.quoted.double\"],\"settings\":{\"foreground\":\"#c789d6\"}},{\"name\":\"Strings in JSON values\",\"scope\":[\"string.quoted.double.json punctuation.definition.string.json\"],\"settings\":{\"foreground\":\"#80cbc4\"}},{\"name\":\"Specific JSON Property values like null\",\"scope\":[\"meta.structure.dictionary.json meta.structure.dictionary.value constant.language\"],\"settings\":{\"foreground\":\"#ff6a83\"}},{\"name\":\"JavaScript Other Variable\",\"scope\":[\"variable.other.object.js\"],\"settings\":{\"foreground\":\"#7fdbca\"}},{\"name\":\"Ruby Variables\",\"scope\":[\"variable.other.ruby\"],\"settings\":{\"foreground\":\"#d6deeb\"}},{\"name\":\"Ruby Class\",\"scope\":[\"entity.name.type.class.ruby\"],\"settings\":{\"foreground\":\"#ecc48d\"}},{\"name\":\"Ruby Hashkeys\",\"scope\":[\"constant.language.symbol.hashkey.ruby\"],\"settings\":{\"foreground\":\"#7fdbca\"}},{\"name\":\"LESS Tag names\",\"scope\":[\"entity.name.tag.less\"],\"settings\":{\"foreground\":\"#7fdbca\"}},{\"name\":\"LESS Keyword Other Unit\",\"scope\":[\"keyword.other.unit.css\"],\"settings\":{\"foreground\":\"#ffeb95\"}},{\"name\":\"Attribute Name for LESS\",\"scope\":[\"meta.attribute-selector.less entity.other.attribute-name.attribute\"],\"settings\":{\"foreground\":\"#f78c6c\"}},{\"name\":\"Markdown Headings\",\"scope\":[\"markup.heading.markdown\",\"markup.heading.setext.1.markdown\",\"markup.heading.setext.2.markdown\"],\"settings\":{\"foreground\":\"#82b1ff\"}},{\"name\":\"Markdown Italics\",\"scope\":[\"markup.italic.markdown\"],\"settings\":{\"foreground\":\"#c792ea\",\"fontStyle\":\"italic\"}},{\"name\":\"Markdown Bold\",\"scope\":[\"markup.bold.markdown\"],\"settings\":{\"foreground\":\"#c5e478\",\"fontStyle\":\"bold\"}},{\"name\":\"Markdown Quote + others\",\"scope\":[\"markup.quote.markdown\"],\"settings\":{\"foreground\":\"#969bb7\",\"fontStyle\":\"\"}},{\"name\":\"Markdown Raw Code + others\",\"scope\":[\"markup.inline.raw.markdown\"],\"settings\":{\"foreground\":\"#80cbc4\"}},{\"name\":\"Markdown Links\",\"scope\":[\"markup.underline.link.markdown\",\"markup.underline.link.image.markdown\"],\"settings\":{\"foreground\":\"#ff869a\",\"fontStyle\":\"underline\"}},{\"name\":\"Markdown Link Title and Description\",\"scope\":[\"string.other.link.title.markdown\",\"string.other.link.description.markdown\"],\"settings\":{\"foreground\":\"#d6deeb\",\"fontStyle\":\"underline\"}},{\"name\":\"Markdown Punctuation\",\"scope\":[\"punctuation.definition.string.markdown\",\"punctuation.definition.string.begin.markdown\",\"punctuation.definition.string.end.markdown\",\"meta.link.inline.markdown punctuation.definition.string\"],\"settings\":{\"foreground\":\"#82b1ff\"}},{\"name\":\"Markdown MetaData Punctuation\",\"scope\":[\"punctuation.definition.metadata.markdown\"],\"settings\":{\"foreground\":\"#7fdbca\"}},{\"name\":\"Markdown List Punctuation\",\"scope\":[\"beginning.punctuation.definition.list.markdown\"],\"settings\":{\"foreground\":\"#82b1ff\"}},{\"name\":\"Markdown Inline Raw String\",\"scope\":[\"markup.inline.raw.string.markdown\"],\"settings\":{\"foreground\":\"#c5e478\"}},{\"name\":\"PHP Variables\",\"scope\":[\"variable.other.php\"],\"settings\":{\"foreground\":\"#bec5d4\"}},{\"name\":\"Support Classes in PHP\",\"scope\":[\"support.class.php\"],\"settings\":{\"foreground\":\"#ffcb8b\"}},{\"name\":\"Punctuations in PHP function calls\",\"scope\":[\"meta.function-call.php punctuation\"],\"settings\":{\"foreground\":\"#d6deeb\"}},{\"name\":\"PHP Global Variables\",\"scope\":[\"variable.other.global.php\"],\"settings\":{\"foreground\":\"#c5e478\"}},{\"name\":\"Declaration Punctuation in PHP Global Variables\",\"scope\":[\"variable.other.global.php punctuation.definition.variable\"],\"settings\":{\"foreground\":\"#c5e478\"}},{\"name\":\"Language Constants in Python\",\"scope\":[\"constant.language.python\"],\"settings\":{\"foreground\":\"#ff6a83\"}},{\"name\":\"Python Function Parameter and Arguments\",\"scope\":[\"variable.parameter.function.python\",\"meta.function-call.arguments.python\"],\"settings\":{\"foreground\":\"#82aaff\"}},{\"name\":\"Python Function Call\",\"scope\":[\"meta.function-call.python\",\"meta.function-call.generic.python\"],\"settings\":{\"foreground\":\"#b2ccd6\"}},{\"name\":\"Punctuations in Python\",\"scope\":[\"punctuation.python\"],\"settings\":{\"foreground\":\"#d6deeb\"}},{\"name\":\"Decorator Functions in Python\",\"scope\":[\"entity.name.function.decorator.python\"],\"settings\":{\"foreground\":\"#c5e478\"}},{\"name\":\"Python Language Variable\",\"scope\":[\"source.python variable.language.special\"],\"settings\":{\"foreground\":\"#8eace3\"}},{\"name\":\"Python import control keyword\",\"scope\":[\"keyword.control\"],\"settings\":{\"foreground\":\"#c792ea\"}},{\"name\":\"SCSS Variable\",\"scope\":[\"variable.scss\",\"variable.sass\",\"variable.parameter.url.scss\",\"variable.parameter.url.sass\"],\"settings\":{\"foreground\":\"#c5e478\"}},{\"name\":\"Variables in SASS At-Rules\",\"scope\":[\"source.css.scss meta.at-rule variable\",\"source.css.sass meta.at-rule variable\"],\"settings\":{\"foreground\":\"#82aaff\"}},{\"name\":\"Variables in SASS At-Rules\",\"scope\":[\"source.css.scss meta.at-rule variable\",\"source.css.sass meta.at-rule variable\"],\"settings\":{\"foreground\":\"#bec5d4\"}},{\"name\":\"Attribute Name for SASS\",\"scope\":[\"meta.attribute-selector.scss entity.other.attribute-name.attribute\",\"meta.attribute-selector.sass entity.other.attribute-name.attribute\"],\"settings\":{\"foreground\":\"#f78c6c\"}},{\"name\":\"Tag names in SASS\",\"scope\":[\"entity.name.tag.scss\",\"entity.name.tag.sass\"],\"settings\":{\"foreground\":\"#7fdbca\"}},{\"name\":\"SASS Keyword Other Unit\",\"scope\":[\"keyword.other.unit.scss\",\"keyword.other.unit.sass\"],\"settings\":{\"foreground\":\"#ffeb95\"}},{\"name\":\"TypeScript[React] Variables and Object Properties\",\"scope\":[\"variable.other.readwrite.alias.ts\",\"variable.other.readwrite.alias.tsx\",\"variable.other.readwrite.ts\",\"variable.other.readwrite.tsx\",\"variable.other.object.ts\",\"variable.other.object.tsx\",\"variable.object.property.ts\",\"variable.object.property.tsx\",\"variable.other.ts\",\"variable.other.tsx\",\"variable.tsx\",\"variable.ts\"],\"settings\":{\"foreground\":\"#d6deeb\"}},{\"name\":\"TypeScript[React] Entity Name Types\",\"scope\":[\"entity.name.type.ts\",\"entity.name.type.tsx\"],\"settings\":{\"foreground\":\"#ffcb8b\"}},{\"name\":\"TypeScript[React] Node Classes\",\"scope\":[\"support.class.node.ts\",\"support.class.node.tsx\"],\"settings\":{\"foreground\":\"#82aaff\"}},{\"name\":\"TypeScript[React] Entity Name Types as Parameters\",\"scope\":[\"meta.type.parameters.ts entity.name.type\",\"meta.type.parameters.tsx entity.name.type\"],\"settings\":{\"foreground\":\"#889fb2\"}},{\"name\":\"TypeScript[React] Import/Export Punctuations\",\"scope\":[\"meta.import.ts punctuation.definition.block\",\"meta.import.tsx punctuation.definition.block\",\"meta.export.ts punctuation.definition.block\",\"meta.export.tsx punctuation.definition.block\"],\"settings\":{\"foreground\":\"#d6deeb\"}},{\"name\":\"TypeScript[React] Punctuation Decorators\",\"scope\":[\"meta.decorator punctuation.decorator.ts\",\"meta.decorator punctuation.decorator.tsx\"],\"settings\":{\"foreground\":\"#82aaff\"}},{\"name\":\"TypeScript[React] Punctuation Decorators\",\"scope\":[\"meta.tag.js meta.jsx.children.tsx\"],\"settings\":{\"foreground\":\"#82aaff\"}},{\"name\":\"YAML Entity Name Tags\",\"scope\":[\"entity.name.tag.yaml\"],\"settings\":{\"foreground\":\"#7fdbca\"}},{\"name\":\"JavaScript Variable Other ReadWrite\",\"scope\":[\"variable.other.readwrite.js\",\"variable.parameter\"],\"settings\":{\"foreground\":\"#d7dbe0\"}},{\"name\":\"Support Class Component\",\"scope\":[\"support.class.component.js\",\"support.class.component.tsx\"],\"settings\":{\"foreground\":\"#f78c6c\",\"fontStyle\":\"\"}},{\"name\":\"Text nested in React tags\",\"scope\":[\"meta.jsx.children\",\"meta.jsx.children.js\",\"meta.jsx.children.tsx\"],\"settings\":{\"foreground\":\"#d6deeb\"}},{\"name\":\"TypeScript Classes\",\"scope\":[\"meta.class entity.name.type.class.tsx\"],\"settings\":{\"foreground\":\"#ffcb8b\"}},{\"name\":\"TypeScript Entity Name Type\",\"scope\":[\"entity.name.type.tsx\",\"entity.name.type.module.tsx\"],\"settings\":{\"foreground\":\"#ffcb8b\"}},{\"name\":\"TypeScript Class Variable Keyword\",\"scope\":[\"meta.class.ts meta.var.expr.ts storage.type.ts\",\"meta.class.tsx meta.var.expr.tsx storage.type.tsx\"],\"settings\":{\"foreground\":\"#c792ea\"}},{\"name\":\"TypeScript Method Declaration e.g. `constructor`\",\"scope\":[\"meta.method.declaration storage.type.ts\",\"meta.method.declaration storage.type.tsx\"],\"settings\":{\"foreground\":\"#82aaff\"}},{\"name\":\"normalize font style of certain components\",\"scope\":[\"meta.property-list.css meta.property-value.css variable.other.less\",\"meta.property-list.scss variable.scss\",\"meta.property-list.sass variable.sass\",\"meta.brace\",\"keyword.operator.operator\",\"keyword.operator.or.regexp\",\"keyword.operator.expression.in\",\"keyword.operator.relational\",\"keyword.operator.assignment\",\"keyword.operator.comparison\",\"keyword.operator.type\",\"keyword.operator\",\"keyword\",\"punctuation.definintion.string\",\"punctuation\",\"variable.other.readwrite.js\",\"storage.type\",\"source.css\",\"string.quoted\"],\"settings\":{\"fontStyle\":\"\"}}],\"styleOverrides\":{\"frames\":{\"editorBackground\":\"var(--sl-color-gray-6)\",\"terminalBackground\":\"var(--sl-color-gray-6)\",\"editorActiveTabBackground\":\"var(--sl-color-gray-6)\",\"terminalTitlebarDotsForeground\":\"color-mix(in srgb, var(--sl-color-gray-5), transparent 25%)\",\"terminalTitlebarDotsOpacity\":\"0.75\",\"inlineButtonForeground\":\"var(--sl-color-text)\",\"frameBoxShadowCssValue\":\"none\"},\"textMarkers\":{\"markBackground\":\"#ffffff17\",\"markBorderColor\":\"#ffffff40\"}}},{\"name\":\"Night Owl Light\",\"type\":\"light\",\"colors\":{\"focusBorder\":\"#93a1a1\",\"foreground\":\"#403f53\",\"disabledForeground\":\"#61616180\",\"descriptionForeground\":\"#403f53\",\"errorForeground\":\"#403f53\",\"icon.foreground\":\"#424242\",\"contrastActiveBorder\":null,\"contrastBorder\":null,\"textBlockQuote.background\":\"#7f7f7f1a\",\"textBlockQuote.border\":\"#007acc80\",\"textCodeBlock.background\":\"#dcdcdc66\",\"textLink.activeForeground\":\"#006ab1\",\"textLink.foreground\":\"#006ab1\",\"textPreformat.foreground\":\"#a31515\",\"textSeparator.foreground\":\"#0000002e\",\"editor.background\":\"#f6f7f9\",\"editor.foreground\":\"#403f53\",\"editorLineNumber.foreground\":\"#90a7b2\",\"editorLineNumber.activeForeground\":\"#403f53\",\"editorActiveLineNumber.foreground\":\"#0b216f\",\"editor.selectionBackground\":\"#e0e0e0\",\"editor.inactiveSelectionBackground\":\"#e0e0e080\",\"editor.selectionHighlightBackground\":\"#339cec33\",\"editorError.foreground\":\"#e64d49\",\"editorWarning.foreground\":\"#daaa01\",\"editorInfo.foreground\":\"#1a85ff\",\"editorHint.foreground\":\"#6c6c6c\",\"problemsErrorIcon.foreground\":\"#e64d49\",\"problemsWarningIcon.foreground\":\"#daaa01\",\"problemsInfoIcon.foreground\":\"#1a85ff\",\"editor.findMatchBackground\":\"#93a1a16c\",\"editor.findMatchHighlightBackground\":\"#93a1a16c\",\"editor.findRangeHighlightBackground\":\"#7497a633\",\"editorLink.activeForeground\":\"#0000ff\",\"editorLightBulb.foreground\":\"#ddb100\",\"editorLightBulbAutoFix.foreground\":\"#007acc\",\"diffEditor.insertedTextBackground\":\"#9ccc2c40\",\"diffEditor.insertedTextBorder\":null,\"diffEditor.removedTextBackground\":\"#ff000033\",\"diffEditor.removedTextBorder\":null,\"diffEditor.insertedLineBackground\":\"#9bb95533\",\"diffEditor.removedLineBackground\":\"#ff000033\",\"editorStickyScroll.background\":\"#fbfbfb\",\"editorStickyScrollHover.background\":\"#f0f0f0\",\"editorInlayHint.background\":\"#2aa29899\",\"editorInlayHint.foreground\":\"#f0f0f0\",\"editorInlayHint.typeBackground\":\"#2aa29899\",\"editorInlayHint.typeForeground\":\"#f0f0f0\",\"editorInlayHint.parameterBackground\":\"#2aa29899\",\"editorInlayHint.parameterForeground\":\"#f0f0f0\",\"editorPane.background\":\"#fbfbfb\",\"editorGroup.emptyBackground\":null,\"editorGroup.focusedEmptyBorder\":null,\"editorGroupHeader.tabsBackground\":\"var(--sl-color-gray-6)\",\"editorGroupHeader.tabsBorder\":\"color-mix(in srgb, var(--sl-color-gray-5), transparent 25%)\",\"editorGroupHeader.noTabsBackground\":\"#f0f0f0\",\"editorGroupHeader.border\":null,\"editorGroup.border\":\"#f0f0f0\",\"editorGroup.dropBackground\":\"#2677cb2d\",\"editorGroup.dropIntoPromptForeground\":\"#403f53\",\"editorGroup.dropIntoPromptBackground\":\"#f0f0f0\",\"editorGroup.dropIntoPromptBorder\":null,\"sideBySideEditor.horizontalBorder\":\"#f0f0f0\",\"sideBySideEditor.verticalBorder\":\"#f0f0f0\",\"scrollbar.shadow\":\"#cccccc\",\"scrollbarSlider.background\":\"#0000001a\",\"scrollbarSlider.hoverBackground\":\"#00000055\",\"scrollbarSlider.activeBackground\":\"#00000099\",\"panel.background\":\"#f0f0f0\",\"panel.border\":\"#d9d9d9\",\"panelTitle.activeBorder\":\"#424242\",\"panelTitle.activeForeground\":\"#424242\",\"panelTitle.inactiveForeground\":\"#424242bf\",\"panelSectionHeader.background\":\"#80808051\",\"terminal.background\":\"#f6f6f6\",\"widget.shadow\":\"#d9d9d9\",\"editorWidget.background\":\"#f0f0f0\",\"editorWidget.foreground\":\"#403f53\",\"editorWidget.border\":\"#d9d9d9\",\"quickInput.background\":\"#f0f0f0\",\"quickInput.foreground\":\"#403f53\",\"quickInputTitle.background\":\"#0000000f\",\"pickerGroup.foreground\":\"#403f53\",\"pickerGroup.border\":\"#d9d9d9\",\"editor.hoverHighlightBackground\":\"#339cec33\",\"editorHoverWidget.background\":\"#f0f0f0\",\"editorHoverWidget.foreground\":\"#403f53\",\"editorHoverWidget.border\":\"#d9d9d9\",\"editorHoverWidget.statusBarBackground\":\"#e4e4e4\",\"titleBar.activeBackground\":\"var(--sl-color-gray-6)\",\"titleBar.activeForeground\":\"var(--sl-color-text)\",\"titleBar.inactiveBackground\":\"#f0f0f099\",\"titleBar.inactiveForeground\":\"#33333399\",\"titleBar.border\":\"color-mix(in srgb, var(--sl-color-gray-5), transparent 25%)\",\"toolbar.hoverBackground\":\"#b8b8b850\",\"toolbar.activeBackground\":\"#a6a6a650\",\"tab.activeBackground\":\"#f6f6f6\",\"tab.unfocusedActiveBackground\":\"#f6f6f6\",\"tab.inactiveBackground\":\"#f0f0f0\",\"tab.unfocusedInactiveBackground\":\"#f0f0f0\",\"tab.activeForeground\":\"var(--sl-color-text)\",\"tab.inactiveForeground\":\"#403f53\",\"tab.unfocusedActiveForeground\":\"#403f53b3\",\"tab.unfocusedInactiveForeground\":\"#403f5380\",\"tab.hoverBackground\":null,\"tab.unfocusedHoverBackground\":null,\"tab.hoverForeground\":null,\"tab.unfocusedHoverForeground\":null,\"tab.border\":\"#f0f0f0\",\"tab.lastPinnedBorder\":\"#a9a9a9\",\"tab.activeBorder\":\"transparent\",\"tab.unfocusedActiveBorder\":null,\"tab.activeBorderTop\":\"var(--sl-color-accent)\",\"tab.unfocusedActiveBorderTop\":null,\"tab.hoverBorder\":null,\"tab.unfocusedHoverBorder\":null,\"tab.activeModifiedBorder\":\"#2aa298\",\"tab.inactiveModifiedBorder\":\"#93a1a1\",\"tab.unfocusedActiveModifiedBorder\":\"#93a1a1\",\"tab.unfocusedInactiveModifiedBorder\":\"#93a1a1\",\"badge.background\":\"#2aa298\",\"badge.foreground\":\"#f0f0f0\",\"button.background\":\"#2aa298\",\"button.foreground\":\"#f0f0f0\",\"button.border\":null,\"button.separator\":\"#f0f0f066\",\"button.hoverBackground\":\"#22827a\",\"button.secondaryBackground\":\"#5f6a79\",\"button.secondaryForeground\":\"#ffffff\",\"button.secondaryHoverBackground\":\"#4c5561\",\"dropdown.background\":\"#f0f0f0\",\"dropdown.foreground\":\"#403f53\",\"dropdown.border\":\"#d9d9d9\",\"list.activeSelectionBackground\":\"#d3e8f8\",\"list.activeSelectionForeground\":\"#403f53\",\"tree.indentGuidesStroke\":\"#a9a9a9\",\"input.background\":\"#f0f0f0\",\"input.foreground\":\"#403f53\",\"input.placeholderForeground\":\"#93a1a1\",\"inputOption.activeBorder\":\"#2aa298\",\"inputOption.hoverBackground\":\"#b8b8b850\",\"inputOption.activeBackground\":\"#93a1a133\",\"inputOption.activeForeground\":\"#000000\",\"inputValidation.infoBackground\":\"#f0f0f0\",\"inputValidation.infoBorder\":\"#d0d0d0\",\"inputValidation.warningBackground\":\"#daaa01\",\"inputValidation.warningBorder\":\"#e0af02\",\"inputValidation.errorBackground\":\"#f76e6e\",\"inputValidation.errorBorder\":\"#de3d3b\",\"keybindingLabel.background\":\"#dddddd66\",\"keybindingLabel.foreground\":\"#555555\",\"keybindingLabel.border\":\"#cccccc66\",\"keybindingLabel.bottomBorder\":\"#bbbbbb66\",\"menu.foreground\":\"#403f53\",\"menu.background\":\"#f0f0f0\",\"menu.selectionForeground\":\"#403f53\",\"menu.selectionBackground\":\"#d3e8f8\",\"menu.separatorBackground\":\"#d4d4d4\",\"editor.snippetTabstopHighlightBackground\":\"#0a326433\",\"editor.snippetFinalTabstopHighlightBorder\":\"#0a326480\",\"terminal.ansiBlack\":\"#403f53\",\"terminal.ansiRed\":\"#de3d3b\",\"terminal.ansiGreen\":\"#08916a\",\"terminal.ansiYellow\":\"#e0af02\",\"terminal.ansiBlue\":\"#288ed7\",\"terminal.ansiMagenta\":\"#d6438a\",\"terminal.ansiCyan\":\"#2aa298\",\"terminal.ansiWhite\":\"#f0f0f0\",\"terminal.ansiBrightBlack\":\"#403f53\",\"terminal.ansiBrightRed\":\"#de3d3b\",\"terminal.ansiBrightGreen\":\"#08916a\",\"terminal.ansiBrightYellow\":\"#daaa01\",\"terminal.ansiBrightBlue\":\"#288ed7\",\"terminal.ansiBrightMagenta\":\"#d6438a\",\"terminal.ansiBrightCyan\":\"#2aa298\",\"terminal.ansiBrightWhite\":\"#f0f0f0\",\"selection.background\":\"#7a8181ad\",\"notifications.background\":\"#f0f0f0\",\"notifications.foreground\":\"#403f53\",\"notificationLink.foreground\":\"#994cc3\",\"notifications.border\":\"#cccccc\",\"notificationCenter.border\":\"#cccccc\",\"notificationToast.border\":\"#cccccc\",\"notificationCenterHeader.foreground\":\"#403f53\",\"notificationCenterHeader.background\":\"#f0f0f0\",\"input.border\":\"#d9d9d9\",\"progressBar.background\":\"#2aa298\",\"list.inactiveSelectionBackground\":\"#e0e7ea\",\"list.inactiveSelectionForeground\":\"#403f53\",\"list.focusBackground\":\"#d3e8f8\",\"list.hoverBackground\":\"#d3e8f8\",\"list.focusForeground\":\"#403f53\",\"list.hoverForeground\":\"#403f53\",\"list.highlightForeground\":\"#403f53\",\"list.errorForeground\":\"#e64d49\",\"list.warningForeground\":\"#daaa01\",\"activityBar.background\":\"#f0f0f0\",\"activityBar.foreground\":\"#403f53\",\"activityBar.dropBackground\":\"#d0d0d0\",\"activityBarBadge.background\":\"#403f53\",\"activityBarBadge.foreground\":\"#f0f0f0\",\"activityBar.border\":\"#f0f0f0\",\"sideBar.background\":\"#f0f0f0\",\"sideBar.foreground\":\"#403f53\",\"sideBarTitle.foreground\":\"#403f53\",\"sideBar.border\":\"#f0f0f0\",\"editorGroup.background\":\"#f6f6f6\",\"editorCursor.foreground\":\"#90a7b2\",\"editor.wordHighlightBackground\":\"#339cec33\",\"editor.wordHighlightStrongBackground\":\"#007dd659\",\"editor.lineHighlightBackground\":\"#f0f0f0\",\"editor.rangeHighlightBackground\":\"#7497a633\",\"editorWhitespace.foreground\":\"#d9d9d9\",\"editorIndentGuide.background\":\"#d9d9d9\",\"editorCodeLens.foreground\":\"#403f53\",\"editorBracketMatch.background\":\"#d3e8f8\",\"editorBracketMatch.border\":\"#2aa298\",\"editorError.border\":\"#fbfbfb\",\"editorWarning.border\":\"#daaa01\",\"editorGutter.addedBackground\":\"#49d0c5\",\"editorGutter.modifiedBackground\":\"#6fbef6\",\"editorGutter.deletedBackground\":\"#f76e6e\",\"editorRuler.foreground\":\"#d9d9d9\",\"editorOverviewRuler.errorForeground\":\"#e64d49\",\"editorOverviewRuler.warningForeground\":\"#daaa01\",\"editorSuggestWidget.background\":\"#f0f0f0\",\"editorSuggestWidget.foreground\":\"#403f53\",\"editorSuggestWidget.highlightForeground\":\"#403f53\",\"editorSuggestWidget.selectedBackground\":\"#d3e8f8\",\"editorSuggestWidget.border\":\"#d9d9d9\",\"debugExceptionWidget.background\":\"#f0f0f0\",\"debugExceptionWidget.border\":\"#d9d9d9\",\"editorMarkerNavigation.background\":\"#d0d0d0\",\"editorMarkerNavigationError.background\":\"#f76e6e\",\"editorMarkerNavigationWarning.background\":\"#daaa01\",\"debugToolBar.background\":\"#f0f0f0\",\"extensionButton.prominentBackground\":\"#2aa298\",\"extensionButton.prominentForeground\":\"#f0f0f0\",\"statusBar.background\":\"#f0f0f0\",\"statusBar.border\":\"#f0f0f0\",\"statusBar.debuggingBackground\":\"#f0f0f0\",\"statusBar.debuggingForeground\":\"#403f53\",\"statusBar.foreground\":\"#403f53\",\"statusBar.noFolderBackground\":\"#f0f0f0\",\"statusBar.noFolderForeground\":\"#403f53\",\"peekView.border\":\"#d9d9d9\",\"peekViewEditor.background\":\"#f6f6f6\",\"peekViewEditorGutter.background\":\"#f6f6f6\",\"peekViewEditor.matchHighlightBackground\":\"#49d0c5\",\"peekViewResult.background\":\"#f0f0f0\",\"peekViewResult.fileForeground\":\"#403f53\",\"peekViewResult.lineForeground\":\"#403f53\",\"peekViewResult.matchHighlightBackground\":\"#49d0c5\",\"peekViewResult.selectionBackground\":\"#e0e7ea\",\"peekViewResult.selectionForeground\":\"#403f53\",\"peekViewTitle.background\":\"#f0f0f0\",\"peekViewTitleLabel.foreground\":\"#403f53\",\"peekViewTitleDescription.foreground\":\"#403f53\",\"terminal.foreground\":\"#403f53\"},\"fg\":\"#403f53\",\"bg\":\"#f6f7f9\",\"semanticHighlighting\":false,\"settings\":[{\"name\":\"Changed\",\"scope\":[\"markup.changed\",\"meta.diff.header.git\",\"meta.diff.header.from-file\",\"meta.diff.header.to-file\"],\"settings\":{\"foreground\":\"#556484\"}},{\"name\":\"Deleted\",\"scope\":[\"markup.deleted.diff\"],\"settings\":{\"foreground\":\"#ae3c3afd\"}},{\"name\":\"Inserted\",\"scope\":[\"markup.inserted.diff\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Global settings\",\"settings\":{\"background\":\"#011627\",\"foreground\":\"#403f53\"}},{\"name\":\"Comment\",\"scope\":[\"comment\"],\"settings\":{\"foreground\":\"#5f636f\"}},{\"name\":\"String\",\"scope\":[\"string\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"String Quoted\",\"scope\":[\"string.quoted\",\"variable.other.readwrite.js\"],\"settings\":{\"foreground\":\"#984e4d\"}},{\"name\":\"Support Constant Math\",\"scope\":[\"support.constant.math\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Number\",\"scope\":[\"constant.numeric\",\"constant.character.numeric\"],\"settings\":{\"foreground\":\"#aa0982\",\"fontStyle\":\"\"}},{\"name\":\"Built-in constant\",\"scope\":[\"constant.language\",\"punctuation.definition.constant\",\"variable.other.constant\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"User-defined constant\",\"scope\":[\"constant.character\",\"constant.other\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Constant Character Escape\",\"scope\":[\"constant.character.escape\"],\"settings\":{\"foreground\":\"#aa0982\"}},{\"name\":\"RegExp String\",\"scope\":[\"string.regexp\",\"string.regexp keyword.other\"],\"settings\":{\"foreground\":\"#3a688f\"}},{\"name\":\"Comma in functions\",\"scope\":[\"meta.function punctuation.separator.comma\"],\"settings\":{\"foreground\":\"#4d667b\"}},{\"name\":\"Variable\",\"scope\":[\"variable\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Keyword\",\"scope\":[\"punctuation.accessor\",\"keyword\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"Storage\",\"scope\":[\"storage\",\"meta.var.expr\",\"meta.class meta.method.declaration meta.var.expr storage.type.js\",\"storage.type.property.js\",\"storage.type.property.ts\",\"storage.type.property.tsx\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"Storage type\",\"scope\":[\"storage.type\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"Storage type\",\"scope\":[\"storage.type.function.arrow.js\"],\"settings\":{\"fontStyle\":\"\"}},{\"name\":\"Class name\",\"scope\":[\"entity.name.class\",\"meta.class entity.name.type.class\"],\"settings\":{\"foreground\":\"#111111\"}},{\"name\":\"Inherited class\",\"scope\":[\"entity.other.inherited-class\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Function name\",\"scope\":[\"entity.name.function\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"Meta Tag\",\"scope\":[\"punctuation.definition.tag\",\"meta.tag\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"HTML Tag names\",\"scope\":[\"entity.name.tag\",\"meta.tag.other.html\",\"meta.tag.other.js\",\"meta.tag.other.tsx\",\"entity.name.tag.tsx\",\"entity.name.tag.js\",\"entity.name.tag\",\"meta.tag.js\",\"meta.tag.tsx\",\"meta.tag.html\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"Tag attribute\",\"scope\":[\"entity.other.attribute-name\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Entity Name Tag Custom\",\"scope\":[\"entity.name.tag.custom\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Library (function & constant)\",\"scope\":[\"support.function\",\"support.constant\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Support Constant Property Value meta\",\"scope\":[\"support.constant.meta.property-value\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"Library class/type\",\"scope\":[\"support.type\",\"support.class\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Support Variable DOM\",\"scope\":[\"support.variable.dom\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Invalid\",\"scope\":[\"invalid\"],\"settings\":{\"foreground\":\"#bb2060\"}},{\"name\":\"Invalid deprecated\",\"scope\":[\"invalid.deprecated\"],\"settings\":{\"foreground\":\"#b23834\"}},{\"name\":\"Keyword Operator\",\"scope\":[\"keyword.operator\"],\"settings\":{\"foreground\":\"#096e72\",\"fontStyle\":\"\"}},{\"name\":\"Keyword Operator Relational\",\"scope\":[\"keyword.operator.relational\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"Keyword Operator Assignment\",\"scope\":[\"keyword.operator.assignment\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"Keyword Operator Arithmetic\",\"scope\":[\"keyword.operator.arithmetic\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"Keyword Operator Bitwise\",\"scope\":[\"keyword.operator.bitwise\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"Keyword Operator Increment\",\"scope\":[\"keyword.operator.increment\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"Keyword Operator Ternary\",\"scope\":[\"keyword.operator.ternary\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"Double-Slashed Comment\",\"scope\":[\"comment.line.double-slash\"],\"settings\":{\"foreground\":\"#5d6376\"}},{\"name\":\"Object\",\"scope\":[\"object\"],\"settings\":{\"foreground\":\"#58656a\"}},{\"name\":\"Null\",\"scope\":[\"constant.language.null\"],\"settings\":{\"foreground\":\"#a24848\"}},{\"name\":\"Meta Brace\",\"scope\":[\"meta.brace\"],\"settings\":{\"foreground\":\"#403f53\"}},{\"name\":\"Meta Delimiter Period\",\"scope\":[\"meta.delimiter.period\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"Punctuation Definition String\",\"scope\":[\"punctuation.definition.string\"],\"settings\":{\"foreground\":\"#111111\"}},{\"name\":\"Punctuation Definition String Markdown\",\"scope\":[\"punctuation.definition.string.begin.markdown\"],\"settings\":{\"foreground\":\"#a24848\"}},{\"name\":\"Boolean\",\"scope\":[\"constant.language.boolean\"],\"settings\":{\"foreground\":\"#a24848\"}},{\"name\":\"Object Comma\",\"scope\":[\"object.comma\"],\"settings\":{\"foreground\":\"#646464\"}},{\"name\":\"Variable Parameter Function\",\"scope\":[\"variable.parameter.function\"],\"settings\":{\"foreground\":\"#096e72\",\"fontStyle\":\"\"}},{\"name\":\"Support Type Property Name & entity name tags\",\"scope\":[\"support.type.vendor.property-name\",\"support.constant.vendor.property-value\",\"support.type.property-name\",\"meta.property-list entity.name.tag\"],\"settings\":{\"foreground\":\"#096e72\",\"fontStyle\":\"\"}},{\"name\":\"Entity Name tag reference in stylesheets\",\"scope\":[\"meta.property-list entity.name.tag.reference\"],\"settings\":{\"foreground\":\"#286d70\"}},{\"name\":\"Constant Other Color RGB Value Punctuation Definition Constant\",\"scope\":[\"constant.other.color.rgb-value punctuation.definition.constant\"],\"settings\":{\"foreground\":\"#aa0982\"}},{\"name\":\"Constant Other Color\",\"scope\":[\"constant.other.color\"],\"settings\":{\"foreground\":\"#aa0982\"}},{\"name\":\"Keyword Other Unit\",\"scope\":[\"keyword.other.unit\"],\"settings\":{\"foreground\":\"#aa0982\"}},{\"name\":\"Meta Selector\",\"scope\":[\"meta.selector\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"Entity Other Attribute Name Id\",\"scope\":[\"entity.other.attribute-name.id\"],\"settings\":{\"foreground\":\"#aa0982\"}},{\"name\":\"Meta Property Name\",\"scope\":[\"meta.property-name\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"Doctypes\",\"scope\":[\"entity.name.tag.doctype\",\"meta.tag.sgml.doctype\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"Punctuation Definition Parameters\",\"scope\":[\"punctuation.definition.parameters\"],\"settings\":{\"foreground\":\"#111111\"}},{\"name\":\"Keyword Control Operator\",\"scope\":[\"keyword.control.operator\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"Keyword Operator Logical\",\"scope\":[\"keyword.operator.logical\"],\"settings\":{\"foreground\":\"#8844ae\",\"fontStyle\":\"\"}},{\"name\":\"Variable Instances\",\"scope\":[\"variable.instance\",\"variable.other.instance\",\"variable.readwrite.instance\",\"variable.other.readwrite.instance\",\"variable.other.property\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"Variable Property Other object property\",\"scope\":[\"variable.other.object.property\"],\"settings\":{\"foreground\":\"#111111\"}},{\"name\":\"Variable Property Other object\",\"scope\":[\"variable.other.object.js\"],\"settings\":{\"fontStyle\":\"\"}},{\"name\":\"Entity Name Function\",\"scope\":[\"entity.name.function\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Keyword Operator Comparison, imports, returns and Keyword Operator Ruby\",\"scope\":[\"keyword.operator.comparison\",\"keyword.control.flow.js\",\"keyword.control.flow.ts\",\"keyword.control.flow.tsx\",\"keyword.control.ruby\",\"keyword.control.module.ruby\",\"keyword.control.class.ruby\",\"keyword.control.def.ruby\",\"keyword.control.loop.js\",\"keyword.control.loop.ts\",\"keyword.control.import.js\",\"keyword.control.import.ts\",\"keyword.control.import.tsx\",\"keyword.control.from.js\",\"keyword.control.from.ts\",\"keyword.control.from.tsx\",\"keyword.operator.instanceof.js\",\"keyword.operator.expression.instanceof.ts\",\"keyword.operator.expression.instanceof.tsx\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"Keyword Control Conditional\",\"scope\":[\"keyword.control.conditional.js\",\"keyword.control.conditional.ts\",\"keyword.control.switch.js\",\"keyword.control.switch.ts\"],\"settings\":{\"foreground\":\"#8844ae\",\"fontStyle\":\"\"}},{\"name\":\"Support Constant, `new` keyword, Special Method Keyword, `debugger`, other keywords\",\"scope\":[\"support.constant\",\"keyword.other.special-method\",\"keyword.other.new\",\"keyword.other.debugger\",\"keyword.control\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"Support Function\",\"scope\":[\"support.function\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Invalid Broken\",\"scope\":[\"invalid.broken\"],\"settings\":{\"foreground\":\"#aa0982\"}},{\"name\":\"Invalid Unimplemented\",\"scope\":[\"invalid.unimplemented\"],\"settings\":{\"foreground\":\"#486e26\"}},{\"name\":\"Invalid Illegal\",\"scope\":[\"invalid.illegal\"],\"settings\":{\"foreground\":\"#984e4d\"}},{\"name\":\"Language Variable\",\"scope\":[\"variable.language\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"Support Variable Property\",\"scope\":[\"support.variable.property\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"Variable Function\",\"scope\":[\"variable.function\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Variable Interpolation\",\"scope\":[\"variable.interpolation\"],\"settings\":{\"foreground\":\"#a64348\"}},{\"name\":\"Meta Function Call\",\"scope\":[\"meta.function-call\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Punctuation Section Embedded\",\"scope\":[\"punctuation.section.embedded\"],\"settings\":{\"foreground\":\"#b23834\"}},{\"name\":\"Punctuation Tweaks\",\"scope\":[\"punctuation.terminator.expression\",\"punctuation.definition.arguments\",\"punctuation.definition.array\",\"punctuation.section.array\",\"meta.array\"],\"settings\":{\"foreground\":\"#403f53\"}},{\"name\":\"More Punctuation Tweaks\",\"scope\":[\"punctuation.definition.list.begin\",\"punctuation.definition.list.end\",\"punctuation.separator.arguments\",\"punctuation.definition.list\"],\"settings\":{\"foreground\":\"#111111\"}},{\"name\":\"Template Strings\",\"scope\":[\"string.template meta.template.expression\"],\"settings\":{\"foreground\":\"#b23834\"}},{\"name\":\"Backtics(``) in Template Strings\",\"scope\":[\"string.template punctuation.definition.string\"],\"settings\":{\"foreground\":\"#403f53\"}},{\"name\":\"Italics\",\"scope\":[\"italic\"],\"settings\":{\"foreground\":\"#8844ae\",\"fontStyle\":\"italic\"}},{\"name\":\"Bold\",\"scope\":[\"bold\"],\"settings\":{\"foreground\":\"#3b61b0\",\"fontStyle\":\"bold\"}},{\"name\":\"Quote\",\"scope\":[\"quote\"],\"settings\":{\"foreground\":\"#5c6285\"}},{\"name\":\"Raw Code\",\"scope\":[\"raw\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"CoffeScript Variable Assignment\",\"scope\":[\"variable.assignment.coffee\"],\"settings\":{\"foreground\":\"#186e73\"}},{\"name\":\"CoffeScript Parameter Function\",\"scope\":[\"variable.parameter.function.coffee\"],\"settings\":{\"foreground\":\"#403f53\"}},{\"name\":\"CoffeeScript Assignments\",\"scope\":[\"variable.assignment.coffee\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"C# Readwrite Variables\",\"scope\":[\"variable.other.readwrite.cs\"],\"settings\":{\"foreground\":\"#403f53\"}},{\"name\":\"C# Classes & Storage types\",\"scope\":[\"entity.name.type.class.cs\",\"storage.type.cs\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"C# Namespaces\",\"scope\":[\"entity.name.type.namespace.cs\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"Tag names in Stylesheets\",\"scope\":[\"entity.name.tag.css\",\"entity.name.tag.less\",\"entity.name.tag.custom.css\",\"support.constant.property-value.css\"],\"settings\":{\"foreground\":\"#984e4d\",\"fontStyle\":\"\"}},{\"name\":\"Wildcard(*) selector in Stylesheets\",\"scope\":[\"entity.name.tag.wildcard.css\",\"entity.name.tag.wildcard.less\",\"entity.name.tag.wildcard.scss\",\"entity.name.tag.wildcard.sass\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"CSS Keyword Other Unit\",\"scope\":[\"keyword.other.unit.css\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Attribute Name for CSS\",\"scope\":[\"meta.attribute-selector.css entity.other.attribute-name.attribute\",\"variable.other.readwrite.js\"],\"settings\":{\"foreground\":\"#aa0982\"}},{\"name\":\"Elixir Classes\",\"scope\":[\"source.elixir support.type.elixir\",\"source.elixir meta.module.elixir entity.name.class.elixir\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Elixir Functions\",\"scope\":[\"source.elixir entity.name.function\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Elixir Constants\",\"scope\":[\"source.elixir constant.other.symbol.elixir\",\"source.elixir constant.other.keywords.elixir\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Elixir String Punctuations\",\"scope\":[\"source.elixir punctuation.definition.string\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Elixir\",\"scope\":[\"source.elixir variable.other.readwrite.module.elixir\",\"source.elixir variable.other.readwrite.module.elixir punctuation.definition.variable.elixir\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Elixir Binary Punctuations\",\"scope\":[\"source.elixir .punctuation.binary.elixir\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"Closure Constant Keyword\",\"scope\":[\"constant.keyword.clojure\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"Go Function Calls\",\"scope\":[\"source.go meta.function-call.go\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"Go Keywords\",\"scope\":[\"source.go keyword.package.go\",\"source.go keyword.import.go\",\"source.go keyword.function.go\",\"source.go keyword.type.go\",\"source.go keyword.struct.go\",\"source.go keyword.interface.go\",\"source.go keyword.const.go\",\"source.go keyword.var.go\",\"source.go keyword.map.go\",\"source.go keyword.channel.go\",\"source.go keyword.control.go\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"Go Constants e.g. nil, string format (%s, %d, etc.)\",\"scope\":[\"source.go constant.language.go\",\"source.go constant.other.placeholder.go\"],\"settings\":{\"foreground\":\"#a24848\"}},{\"name\":\"C++ Functions\",\"scope\":[\"entity.name.function.preprocessor.cpp\",\"entity.scope.name.cpp\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"C++ Meta Namespace\",\"scope\":[\"meta.namespace-block.cpp\"],\"settings\":{\"foreground\":\"#111111\"}},{\"name\":\"C++ Language Primitive Storage\",\"scope\":[\"storage.type.language.primitive.cpp\"],\"settings\":{\"foreground\":\"#a24848\"}},{\"name\":\"C++ Preprocessor Macro\",\"scope\":[\"meta.preprocessor.macro.cpp\"],\"settings\":{\"foreground\":\"#403f53\"}},{\"name\":\"C++ Variable Parameter\",\"scope\":[\"variable.parameter\"],\"settings\":{\"foreground\":\"#111111\"}},{\"name\":\"Powershell Variables\",\"scope\":[\"variable.other.readwrite.powershell\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Powershell Function\",\"scope\":[\"support.function.powershell\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"ID Attribute Name in HTML\",\"scope\":[\"entity.other.attribute-name.id.html\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"HTML Punctuation Definition Tag\",\"scope\":[\"punctuation.definition.tag.html\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"HTML Doctype\",\"scope\":[\"meta.tag.sgml.doctype.html\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"JavaScript Classes\",\"scope\":[\"meta.class entity.name.type.class.js\"],\"settings\":{\"foreground\":\"#111111\"}},{\"name\":\"JavaScript Method Declaration e.g. `constructor`\",\"scope\":[\"meta.method.declaration storage.type.js\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"JavaScript Terminator\",\"scope\":[\"terminator.js\"],\"settings\":{\"foreground\":\"#403f53\"}},{\"name\":\"JavaScript Meta Punctuation Definition\",\"scope\":[\"meta.js punctuation.definition.js\"],\"settings\":{\"foreground\":\"#403f53\"}},{\"name\":\"Entity Names in Code Documentations\",\"scope\":[\"entity.name.type.instance.jsdoc\",\"entity.name.type.instance.phpdoc\"],\"settings\":{\"foreground\":\"#4d667b\"}},{\"name\":\"Other Variables in Code Documentations\",\"scope\":[\"variable.other.jsdoc\",\"variable.other.phpdoc\"],\"settings\":{\"foreground\":\"#3e697c\"}},{\"name\":\"JavaScript module imports and exports\",\"scope\":[\"variable.other.meta.import.js\",\"meta.import.js variable.other\",\"variable.other.meta.export.js\",\"meta.export.js variable.other\"],\"settings\":{\"foreground\":\"#403f53\"}},{\"name\":\"JavaScript Variable Parameter Function\",\"scope\":[\"variable.parameter.function.js\"],\"settings\":{\"foreground\":\"#555ea2\"}},{\"name\":\"JavaScript[React] Variable Other Object\",\"scope\":[\"variable.other.object.js\",\"variable.other.object.jsx\",\"variable.object.property.js\",\"variable.object.property.jsx\"],\"settings\":{\"foreground\":\"#403f53\"}},{\"name\":\"JavaScript Variables\",\"scope\":[\"variable.js\",\"variable.other.js\"],\"settings\":{\"foreground\":\"#403f53\"}},{\"name\":\"JavaScript Entity Name Type\",\"scope\":[\"entity.name.type.js\",\"entity.name.type.module.js\"],\"settings\":{\"foreground\":\"#111111\",\"fontStyle\":\"\"}},{\"name\":\"JavaScript Support Classes\",\"scope\":[\"support.class.js\"],\"settings\":{\"foreground\":\"#403f53\"}},{\"name\":\"JSON Property Names\",\"scope\":[\"support.type.property-name.json\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"JSON Support Constants\",\"scope\":[\"support.constant.json\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"JSON Property values (string)\",\"scope\":[\"meta.structure.dictionary.value.json string.quoted.double\"],\"settings\":{\"foreground\":\"#7c5686\"}},{\"name\":\"Strings in JSON values\",\"scope\":[\"string.quoted.double.json punctuation.definition.string.json\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"Specific JSON Property values like null\",\"scope\":[\"meta.structure.dictionary.json meta.structure.dictionary.value constant.language\"],\"settings\":{\"foreground\":\"#a24848\"}},{\"name\":\"JavaScript Other Variable\",\"scope\":[\"variable.other.object.js\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"Ruby Variables\",\"scope\":[\"variable.other.ruby\"],\"settings\":{\"foreground\":\"#403f53\"}},{\"name\":\"Ruby Class\",\"scope\":[\"entity.name.type.class.ruby\"],\"settings\":{\"foreground\":\"#984e4d\"}},{\"name\":\"Ruby Hashkeys\",\"scope\":[\"constant.language.symbol.hashkey.ruby\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"Ruby Symbols\",\"scope\":[\"constant.language.symbol.ruby\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"LESS Tag names\",\"scope\":[\"entity.name.tag.less\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"LESS Keyword Other Unit\",\"scope\":[\"keyword.other.unit.css\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"Attribute Name for LESS\",\"scope\":[\"meta.attribute-selector.less entity.other.attribute-name.attribute\"],\"settings\":{\"foreground\":\"#aa0982\"}},{\"name\":\"Markdown Headings\",\"scope\":[\"markup.heading.markdown\",\"markup.heading.setext.1.markdown\",\"markup.heading.setext.2.markdown\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Markdown Italics\",\"scope\":[\"markup.italic.markdown\"],\"settings\":{\"foreground\":\"#8844ae\",\"fontStyle\":\"italic\"}},{\"name\":\"Markdown Bold\",\"scope\":[\"markup.bold.markdown\"],\"settings\":{\"foreground\":\"#3b61b0\",\"fontStyle\":\"bold\"}},{\"name\":\"Markdown Quote + others\",\"scope\":[\"markup.quote.markdown\"],\"settings\":{\"foreground\":\"#5c6285\"}},{\"name\":\"Markdown Raw Code + others\",\"scope\":[\"markup.inline.raw.markdown\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"Markdown Links\",\"scope\":[\"markup.underline.link.markdown\",\"markup.underline.link.image.markdown\"],\"settings\":{\"foreground\":\"#954f5a\",\"fontStyle\":\"underline\"}},{\"name\":\"Markdown Link Title and Description\",\"scope\":[\"string.other.link.title.markdown\",\"string.other.link.description.markdown\"],\"settings\":{\"foreground\":\"#403f53\",\"fontStyle\":\"underline\"}},{\"name\":\"Markdown Punctuation\",\"scope\":[\"punctuation.definition.string.markdown\",\"punctuation.definition.string.begin.markdown\",\"punctuation.definition.string.end.markdown\",\"meta.link.inline.markdown punctuation.definition.string\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Markdown MetaData Punctuation\",\"scope\":[\"punctuation.definition.metadata.markdown\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"Markdown List Punctuation\",\"scope\":[\"beginning.punctuation.definition.list.markdown\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Markdown Inline Raw String\",\"scope\":[\"markup.inline.raw.string.markdown\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"PHP Variables\",\"scope\":[\"variable.other.php\",\"variable.other.property.php\"],\"settings\":{\"foreground\":\"#111111\"}},{\"name\":\"Support Classes in PHP\",\"scope\":[\"support.class.php\"],\"settings\":{\"foreground\":\"#111111\"}},{\"name\":\"Punctuations in PHP function calls\",\"scope\":[\"meta.function-call.php punctuation\"],\"settings\":{\"foreground\":\"#403f53\"}},{\"name\":\"PHP Global Variables\",\"scope\":[\"variable.other.global.php\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Declaration Punctuation in PHP Global Variables\",\"scope\":[\"variable.other.global.php punctuation.definition.variable\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Language Constants in Python\",\"scope\":[\"constant.language.python\"],\"settings\":{\"foreground\":\"#a24848\"}},{\"name\":\"Python Function Parameter and Arguments\",\"scope\":[\"variable.parameter.function.python\",\"meta.function-call.arguments.python\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Python Function Call\",\"scope\":[\"meta.function-call.python\",\"meta.function-call.generic.python\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"Punctuations in Python\",\"scope\":[\"punctuation.python\"],\"settings\":{\"foreground\":\"#403f53\"}},{\"name\":\"Decorator Functions in Python\",\"scope\":[\"entity.name.function.decorator.python\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Python Language Variable\",\"scope\":[\"source.python variable.language.special\"],\"settings\":{\"foreground\":\"#aa0982\"}},{\"name\":\"Python import control keyword\",\"scope\":[\"keyword.control\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"SCSS Variable\",\"scope\":[\"variable.scss\",\"variable.sass\",\"variable.parameter.url.scss\",\"variable.parameter.url.sass\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Variables in SASS At-Rules\",\"scope\":[\"source.css.scss meta.at-rule variable\",\"source.css.sass meta.at-rule variable\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"Variables in SASS At-Rules\",\"scope\":[\"source.css.scss meta.at-rule variable\",\"source.css.sass meta.at-rule variable\"],\"settings\":{\"foreground\":\"#111111\"}},{\"name\":\"Attribute Name for SASS\",\"scope\":[\"meta.attribute-selector.scss entity.other.attribute-name.attribute\",\"meta.attribute-selector.sass entity.other.attribute-name.attribute\"],\"settings\":{\"foreground\":\"#aa0982\"}},{\"name\":\"Tag names in SASS\",\"scope\":[\"entity.name.tag.scss\",\"entity.name.tag.sass\"],\"settings\":{\"foreground\":\"#096e72\"}},{\"name\":\"SASS Keyword Other Unit\",\"scope\":[\"keyword.other.unit.scss\",\"keyword.other.unit.sass\"],\"settings\":{\"foreground\":\"#8844ae\"}},{\"name\":\"TypeScript[React] Variables and Object Properties\",\"scope\":[\"variable.other.readwrite.alias.ts\",\"variable.other.readwrite.alias.tsx\",\"variable.other.readwrite.ts\",\"variable.other.readwrite.tsx\",\"variable.other.object.ts\",\"variable.other.object.tsx\",\"variable.object.property.ts\",\"variable.object.property.tsx\",\"variable.other.ts\",\"variable.other.tsx\",\"variable.tsx\",\"variable.ts\"],\"settings\":{\"foreground\":\"#403f53\"}},{\"name\":\"TypeScript[React] Entity Name Types\",\"scope\":[\"entity.name.type.ts\",\"entity.name.type.tsx\"],\"settings\":{\"foreground\":\"#111111\"}},{\"name\":\"TypeScript[React] Node Classes\",\"scope\":[\"support.class.node.ts\",\"support.class.node.tsx\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"TypeScript[React] Entity Name Types as Parameters\",\"scope\":[\"meta.type.parameters.ts entity.name.type\",\"meta.type.parameters.tsx entity.name.type\"],\"settings\":{\"foreground\":\"#4d667b\"}},{\"name\":\"TypeScript[React] Import/Export Punctuations\",\"scope\":[\"meta.import.ts punctuation.definition.block\",\"meta.import.tsx punctuation.definition.block\",\"meta.export.ts punctuation.definition.block\",\"meta.export.tsx punctuation.definition.block\"],\"settings\":{\"foreground\":\"#403f53\"}},{\"name\":\"TypeScript[React] Punctuation Decorators\",\"scope\":[\"meta.decorator punctuation.decorator.ts\",\"meta.decorator punctuation.decorator.tsx\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"TypeScript[React] Punctuation Decorators\",\"scope\":[\"meta.tag.js meta.jsx.children.tsx\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"YAML Entity Name Tags\",\"scope\":[\"entity.name.tag.yaml\"],\"settings\":{\"foreground\":\"#111111\"}},{\"name\":\"JavaScript Variable Other ReadWrite\",\"scope\":[\"variable.other.readwrite.js\",\"variable.parameter\"],\"settings\":{\"foreground\":\"#403f53\"}},{\"name\":\"Support Class Component\",\"scope\":[\"support.class.component.js\",\"support.class.component.tsx\"],\"settings\":{\"foreground\":\"#aa0982\",\"fontStyle\":\"\"}},{\"name\":\"Text nested in React tags\",\"scope\":[\"meta.jsx.children\",\"meta.jsx.children.js\",\"meta.jsx.children.tsx\"],\"settings\":{\"foreground\":\"#403f53\"}},{\"name\":\"TypeScript Classes\",\"scope\":[\"meta.class entity.name.type.class.tsx\"],\"settings\":{\"foreground\":\"#111111\"}},{\"name\":\"TypeScript Entity Name Type\",\"scope\":[\"entity.name.type.tsx\",\"entity.name.type.module.tsx\"],\"settings\":{\"foreground\":\"#111111\"}},{\"name\":\"TypeScript Class Variable Keyword\",\"scope\":[\"meta.class.ts meta.var.expr.ts storage.type.ts\",\"meta.class.tsx meta.var.expr.tsx storage.type.tsx\"],\"settings\":{\"foreground\":\"#76578b\"}},{\"name\":\"TypeScript Method Declaration e.g. `constructor`\",\"scope\":[\"meta.method.declaration storage.type.ts\",\"meta.method.declaration storage.type.tsx\"],\"settings\":{\"foreground\":\"#3b61b0\"}},{\"name\":\"normalize font style of certain components\",\"scope\":[\"meta.property-list.css meta.property-value.css variable.other.less\",\"meta.property-list.scss variable.scss\",\"meta.property-list.sass variable.sass\",\"meta.brace\",\"keyword.operator.operator\",\"keyword.operator.or.regexp\",\"keyword.operator.expression.in\",\"keyword.operator.relational\",\"keyword.operator.assignment\",\"keyword.operator.comparison\",\"keyword.operator.type\",\"keyword.operator\",\"keyword\",\"punctuation.definintion.string\",\"punctuation\",\"variable.other.readwrite.js\",\"storage.type\",\"source.css\",\"string.quoted\"],\"settings\":{\"fontStyle\":\"\"}}],\"styleOverrides\":{\"frames\":{\"editorBackground\":\"var(--sl-color-gray-7)\",\"terminalBackground\":\"var(--sl-color-gray-7)\",\"editorActiveTabBackground\":\"var(--sl-color-gray-7)\",\"terminalTitlebarDotsForeground\":\"color-mix(in srgb, var(--sl-color-gray-5), transparent 25%)\",\"terminalTitlebarDotsOpacity\":\"0.75\",\"inlineButtonForeground\":\"var(--sl-color-text)\",\"frameBoxShadowCssValue\":\"none\"},\"textMarkers\":{\"markBackground\":\"#0000001a\",\"markBorderColor\":\"#00000055\"}}}],\"defaultLocale\":\"en\",\"cascadeLayer\":\"starlight.components\",\"styleOverrides\":{\"borderRadius\":\"0px\",\"borderWidth\":\"1px\",\"codePaddingBlock\":\"0.75rem\",\"codePaddingInline\":\"1rem\",\"codeFontFamily\":\"var(--__sl-font-mono)\",\"codeFontSize\":\"var(--sl-text-code)\",\"codeLineHeight\":\"var(--sl-line-height)\",\"uiFontFamily\":\"var(--__sl-font)\",\"textMarkers\":{\"lineDiffIndicatorMarginLeft\":\"0.25rem\",\"defaultChroma\":\"45\",\"backgroundOpacity\":\"60%\"}},\"plugins\":[{\"name\":\"Starlight Plugin\",\"hooks\":{}},{\"name\":\"astro-expressive-code\",\"hooks\":{}}]}]],\"remarkRehype\":{},\"gfm\":true,\"smartypants\":true},\"security\":{\"checkOrigin\":true,\"allowedDomains\":[],\"actionBodySizeLimit\":1048576},\"env\":{\"schema\":{},\"validateSecrets\":false},\"experimental\":{\"clientPrerender\":false,\"contentIntellisense\":false,\"headingIdCompat\":false,\"preserveScriptOrder\":false,\"liveContentCollections\":false,\"csp\":false,\"staticImportMetaEnv\":false,\"chromeDevtoolsWorkspace\":false,\"failOnPrerenderConflict\":false,\"svgo\":false},\"legacy\":{\"collections\":false},\"prefetch\":{\"prefetchAll\":true},\"i18n\":{\"defaultLocale\":\"en\",\"locales\":[{\"codes\":[\"en\"],\"path\":\"en\"},{\"codes\":[\"tr\"],\"path\":\"tr\"}],\"routing\":{\"prefixDefaultLocale\":false,\"redirectToDefaultLocale\":false,\"fallbackType\":\"redirect\"}}}","docs",["Map",11,12,62,63,102,103,133,134,157,158,192,193,225,226,265,266,297,298,329,330,366,367,394,395,423,424,467,468,495,496,544,545,578,579,607,608,650,651,682,683,714,715,747,748,776,777,815,816,860,861,894,895,926,927,958,959,1004,1005,1054,1055,1076,1077,1111,1112,1153,1154,1181,1182,1208,1209,1244,1245,1275,1276,1300,1301,1345,1346,1369,1370,1393,1394,1417,1418,1441,1442,1472,1473,1496,1497,1534,1535,1558,1559,1585,1586,1607,1608,1629,1630,1654,1655,1696,1697,1727,1728,1748,1749,1778,1779,1817,1818,1844,1845,1877,1878,1902,1903,1932,1933,1957,1958,1988,1989,2039,2040,2060,2061,2090,2091,2112,2113],"canvas-basics",{"id":11,"data":13,"body":22,"filePath":23,"digest":24,"rendered":25},{"title":14,"description":15,"editUrl":16,"head":17,"template":18,"sidebar":19,"pagefind":16,"draft":20},"Canvas Basics","Learn how to move, select, edit, and recover work on the OpenFlowKit canvas.",true,[],"doc",{"hidden":20,"attrs":21},false,{},"The canvas is the main editing surface in OpenFlowKit. It is optimized for desktop and larger-tablet workflows, with direct manipulation on the graph and exact edits in the side rails.\n\n## When to use the canvas\n\nUse the canvas when you want to:\n\n- sketch a diagram manually\n- refine something created by AI, imports, or code\n- inspect structure spatially instead of as text\n- move quickly between direct manipulation and inspector-based editing\n\n## Navigation\n\n### Pan and zoom\n\n- Mouse wheel zooms the canvas\n- `Space + Drag` pans\n- `H` switches to hand mode\n- `V` switches back to selection mode\n- `Shift + 1` fits the current graph in view\n- `Cmd/Ctrl + +/-` zooms in or out\n\n### Move around large diagrams\n\nFor large canvases, combine:\n\n- fit view to regain context\n- search from the Command Center to jump to named nodes\n- auto layout to re-establish readable structure\n\n## Selecting things\n\n### Single selection\n\nClick any node or edge to inspect and edit it.\n\n### Multi-selection\n\nUse either of these:\n\n- `Shift + Click`\n- `Shift + Drag` to draw a selection box\n\nWhen multiple nodes are selected, the right rail switches to **Bulk edit** mode.\n\n## Direct manipulation vs exact editing\n\nThe canvas is where you move, select, and compose the graph. For exact values and family-specific settings, switch to the [Properties Panel](/properties-panel/). For templates, search, layout, and workflow switching, use the [Command Center](/command-center/).\n\n## History and recovery\n\nUse regular undo/redo for short corrections and snapshots for larger rollback points. See [Playback & History](/playback-history/).","src/content/docs/canvas-basics.md","bddd6b0f04382e0f",{"html":26,"metadata":27},"\u003Cp>The canvas is the main editing surface in OpenFlowKit. It is optimized for desktop and larger-tablet workflows, with direct manipulation on the graph and exact edits in the side rails.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"when-to-use-the-canvas\">When to use the canvas\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#when-to-use-the-canvas\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “When to use the canvas”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Use the canvas when you want to:\u003C/p>\n\u003Cul>\n\u003Cli>sketch a diagram manually\u003C/li>\n\u003Cli>refine something created by AI, imports, or code\u003C/li>\n\u003Cli>inspect structure spatially instead of as text\u003C/li>\n\u003Cli>move quickly between direct manipulation and inspector-based editing\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"navigation\">Navigation\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#navigation\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Navigation”\u003C/span>\u003C/a>\u003C/div>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"pan-and-zoom\">Pan and zoom\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#pan-and-zoom\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Pan and zoom”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>Mouse wheel zooms the canvas\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">Space + Drag\u003C/code> pans\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">H\u003C/code> switches to hand mode\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">V\u003C/code> switches back to selection mode\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">Shift + 1\u003C/code> fits the current graph in view\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">Cmd/Ctrl + +/-\u003C/code> zooms in or out\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"move-around-large-diagrams\">Move around large diagrams\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#move-around-large-diagrams\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Move around large diagrams”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>For large canvases, combine:\u003C/p>\n\u003Cul>\n\u003Cli>fit view to regain context\u003C/li>\n\u003Cli>search from the Command Center to jump to named nodes\u003C/li>\n\u003Cli>auto layout to re-establish readable structure\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"selecting-things\">Selecting things\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#selecting-things\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Selecting things”\u003C/span>\u003C/a>\u003C/div>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"single-selection\">Single selection\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#single-selection\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Single selection”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Click any node or edge to inspect and edit it.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"multi-selection\">Multi-selection\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#multi-selection\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Multi-selection”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Use either of these:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Ccode dir=\"auto\">Shift + Click\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">Shift + Drag\u003C/code> to draw a selection box\u003C/li>\n\u003C/ul>\n\u003Cp>When multiple nodes are selected, the right rail switches to \u003Cstrong>Bulk edit\u003C/strong> mode.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"direct-manipulation-vs-exact-editing\">Direct manipulation vs exact editing\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#direct-manipulation-vs-exact-editing\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Direct manipulation vs exact editing”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>The canvas is where you move, select, and compose the graph. For exact values and family-specific settings, switch to the \u003Ca href=\"/properties-panel/\">Properties Panel\u003C/a>. For templates, search, layout, and workflow switching, use the \u003Ca href=\"/command-center/\">Command Center\u003C/a>.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"history-and-recovery\">History and recovery\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#history-and-recovery\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “History and recovery”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Use regular undo/redo for short corrections and snapshots for larger rollback points. See \u003Ca href=\"/playback-history/\">Playback & History\u003C/a>.\u003C/p>",{"headings":28,"localImagePaths":58,"remoteImagePaths":59,"frontmatter":60,"imagePaths":61},[29,33,36,40,43,46,49,52,55],{"depth":30,"slug":31,"text":32},2,"when-to-use-the-canvas","When to use the canvas",{"depth":30,"slug":34,"text":35},"navigation","Navigation",{"depth":37,"slug":38,"text":39},3,"pan-and-zoom","Pan and zoom",{"depth":37,"slug":41,"text":42},"move-around-large-diagrams","Move around large diagrams",{"depth":30,"slug":44,"text":45},"selecting-things","Selecting things",{"depth":37,"slug":47,"text":48},"single-selection","Single selection",{"depth":37,"slug":50,"text":51},"multi-selection","Multi-selection",{"depth":30,"slug":53,"text":54},"direct-manipulation-vs-exact-editing","Direct manipulation vs exact editing",{"depth":30,"slug":56,"text":57},"history-and-recovery","History and recovery",[],[],{"draft":20,"title":14,"description":15},[],"ai-generation",{"id":62,"data":64,"body":70,"filePath":71,"digest":72,"rendered":73},{"title":65,"description":66,"editUrl":16,"head":67,"template":18,"sidebar":68,"pagefind":16,"draft":20},"AI Generation","Generate and refine diagrams in Studio with FlowPilot, BYOK providers, code-to-architecture, and structured imports.",[],{"hidden":20,"attrs":69},{},"OpenFlowKit includes AI-assisted diagram generation through the Studio rail. FlowPilot is best used for first drafts, structural revisions, and code-backed architecture exploration.\n\nAI generation is most valuable when you need to go from ambiguity to structure quickly. It is not the only way to create diagrams in OpenFlowKit, and it is usually not the final step. Think of it as a draft accelerator.\n\n## Where AI lives in the product\n\nAI is available in the Studio panel under **FlowPilot** and through the **Open FlowPilot** command in the Command Center. Common sub-flows include:\n\n| Mode | What it does |\n| --- | --- |\n| **FlowPilot** | Chat-based generation and iteration |\n| **From Code** | Paste source code and generate an architecture diagram |\n| **Import** | Paste SQL, Terraform, K8s, or OpenAPI and generate a draft |\n\nTypical generation flow:\n\n1. capture your prompt and optional image\n2. send it through the configured provider\n3. receive a structured graph representation\n4. compose nodes and edges\n5. apply layout\n6. replace or update the current graph\n\n## Provider model\n\nThe app supports multiple BYOK providers, including:\n\n- Gemini\n- OpenAI\n- Claude\n- Groq\n- NVIDIA\n- Cerebras\n- Mistral\n- OpenRouter\n- Custom OpenAI-compatible endpoint\n\nThis matters because you are not locked to one hosted AI vendor or one billing model.\n\n## When AI is the right tool\n\nUse AI when:\n\n- you are starting from a plain-language idea\n- you want a fast first-pass architecture or workflow draft\n- you want to revise an existing diagram conceptually rather than move boxes one by one\n- you have source code and want a generated architecture view\n\nAvoid AI when:\n\n- you already have a precise text format such as Mermaid or OpenFlow DSL\n- you need deterministic output from infrastructure files\n- the diagram is small enough that manual editing is faster\n\nIn those cases, prefer [OpenFlow DSL](/openflow-dsl/), [Mermaid Integration](/mermaid-integration/), or [Infrastructure Sync](/infra-sync/).\n\n## How to get better results\n\nStrong prompts usually include:\n\n- the intended audience\n- the systems or actors involved\n- important branches or failure paths\n- the preferred diagram direction\n- the level of detail you want\n\nWeak prompts ask for “a diagram” without constraints. Strong prompts explain the system.\n\n## Recommended workflow\n\n1. Generate a first draft with FlowPilot.\n2. Inspect the structure on the canvas.\n3. Use the [Properties Panel](/properties-panel/) to normalize labels, color, and routing.\n4. Run [Smart Layout](/smart-layout/) if the structure is right but spacing is poor.\n5. Save a snapshot before another major rewrite.\n\n## Practical caution\n\nAI output should be treated as a draft, not a certified system model. For documentation, architecture review, or infra communication, you should still check naming, boundaries, and missing branches before exporting or sharing.\n\n## Related pages\n\n- [Ask FlowPilot](/ask-flowpilot/)\n- [Studio Overview](/studio-overview/)\n- [Choose an Input Mode](/choose-input-mode/)\n- [Prompting AI Agents](/prompting-agents/)","src/content/docs/ai-generation.md","176e8d654f1cf25c",{"html":74,"metadata":75},"\u003Cp>OpenFlowKit includes AI-assisted diagram generation through the Studio rail. FlowPilot is best used for first drafts, structural revisions, and code-backed architecture exploration.\u003C/p>\n\u003Cp>AI generation is most valuable when you need to go from ambiguity to structure quickly. It is not the only way to create diagrams in OpenFlowKit, and it is usually not the final step. Think of it as a draft accelerator.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"where-ai-lives-in-the-product\">Where AI lives in the product\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#where-ai-lives-in-the-product\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Where AI lives in the product”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>AI is available in the Studio panel under \u003Cstrong>FlowPilot\u003C/strong> and through the \u003Cstrong>Open FlowPilot\u003C/strong> command in the Command Center. Common sub-flows include:\u003C/p>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>Mode\u003C/th>\u003Cth>What it does\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd>\u003Cstrong>FlowPilot\u003C/strong>\u003C/td>\u003Ctd>Chat-based generation and iteration\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Cstrong>From Code\u003C/strong>\u003C/td>\u003Ctd>Paste source code and generate an architecture diagram\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Cstrong>Import\u003C/strong>\u003C/td>\u003Ctd>Paste SQL, Terraform, K8s, or OpenAPI and generate a draft\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Cp>Typical generation flow:\u003C/p>\n\u003Col>\n\u003Cli>capture your prompt and optional image\u003C/li>\n\u003Cli>send it through the configured provider\u003C/li>\n\u003Cli>receive a structured graph representation\u003C/li>\n\u003Cli>compose nodes and edges\u003C/li>\n\u003Cli>apply layout\u003C/li>\n\u003Cli>replace or update the current graph\u003C/li>\n\u003C/ol>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"provider-model\">Provider model\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#provider-model\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Provider model”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>The app supports multiple BYOK providers, including:\u003C/p>\n\u003Cul>\n\u003Cli>Gemini\u003C/li>\n\u003Cli>OpenAI\u003C/li>\n\u003Cli>Claude\u003C/li>\n\u003Cli>Groq\u003C/li>\n\u003Cli>NVIDIA\u003C/li>\n\u003Cli>Cerebras\u003C/li>\n\u003Cli>Mistral\u003C/li>\n\u003Cli>OpenRouter\u003C/li>\n\u003Cli>Custom OpenAI-compatible endpoint\u003C/li>\n\u003C/ul>\n\u003Cp>This matters because you are not locked to one hosted AI vendor or one billing model.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"when-ai-is-the-right-tool\">When AI is the right tool\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#when-ai-is-the-right-tool\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “When AI is the right tool”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Use AI when:\u003C/p>\n\u003Cul>\n\u003Cli>you are starting from a plain-language idea\u003C/li>\n\u003Cli>you want a fast first-pass architecture or workflow draft\u003C/li>\n\u003Cli>you want to revise an existing diagram conceptually rather than move boxes one by one\u003C/li>\n\u003Cli>you have source code and want a generated architecture view\u003C/li>\n\u003C/ul>\n\u003Cp>Avoid AI when:\u003C/p>\n\u003Cul>\n\u003Cli>you already have a precise text format such as Mermaid or OpenFlow DSL\u003C/li>\n\u003Cli>you need deterministic output from infrastructure files\u003C/li>\n\u003Cli>the diagram is small enough that manual editing is faster\u003C/li>\n\u003C/ul>\n\u003Cp>In those cases, prefer \u003Ca href=\"/openflow-dsl/\">OpenFlow DSL\u003C/a>, \u003Ca href=\"/mermaid-integration/\">Mermaid Integration\u003C/a>, or \u003Ca href=\"/infra-sync/\">Infrastructure Sync\u003C/a>.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"how-to-get-better-results\">How to get better results\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#how-to-get-better-results\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “How to get better results”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Strong prompts usually include:\u003C/p>\n\u003Cul>\n\u003Cli>the intended audience\u003C/li>\n\u003Cli>the systems or actors involved\u003C/li>\n\u003Cli>important branches or failure paths\u003C/li>\n\u003Cli>the preferred diagram direction\u003C/li>\n\u003Cli>the level of detail you want\u003C/li>\n\u003C/ul>\n\u003Cp>Weak prompts ask for “a diagram” without constraints. Strong prompts explain the system.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"recommended-workflow\">Recommended workflow\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#recommended-workflow\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Recommended workflow”\u003C/span>\u003C/a>\u003C/div>\n\u003Col>\n\u003Cli>Generate a first draft with FlowPilot.\u003C/li>\n\u003Cli>Inspect the structure on the canvas.\u003C/li>\n\u003Cli>Use the \u003Ca href=\"/properties-panel/\">Properties Panel\u003C/a> to normalize labels, color, and routing.\u003C/li>\n\u003Cli>Run \u003Ca href=\"/smart-layout/\">Smart Layout\u003C/a> if the structure is right but spacing is poor.\u003C/li>\n\u003Cli>Save a snapshot before another major rewrite.\u003C/li>\n\u003C/ol>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"practical-caution\">Practical caution\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#practical-caution\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Practical caution”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>AI output should be treated as a draft, not a certified system model. For documentation, architecture review, or infra communication, you should still check naming, boundaries, and missing branches before exporting or sharing.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"related-pages\">Related pages\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#related-pages\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Related pages”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/ask-flowpilot/\">Ask FlowPilot\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/studio-overview/\">Studio Overview\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/choose-input-mode/\">Choose an Input Mode\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/prompting-agents/\">Prompting AI Agents\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":76,"localImagePaths":98,"remoteImagePaths":99,"frontmatter":100,"imagePaths":101},[77,80,83,86,89,92,95],{"depth":30,"slug":78,"text":79},"where-ai-lives-in-the-product","Where AI lives in the product",{"depth":30,"slug":81,"text":82},"provider-model","Provider model",{"depth":30,"slug":84,"text":85},"when-ai-is-the-right-tool","When AI is the right tool",{"depth":30,"slug":87,"text":88},"how-to-get-better-results","How to get better results",{"depth":30,"slug":90,"text":91},"recommended-workflow","Recommended workflow",{"depth":30,"slug":93,"text":94},"practical-caution","Practical caution",{"depth":30,"slug":96,"text":97},"related-pages","Related pages",[],[],{"draft":20,"title":65,"description":66},[],"choose-input-mode",{"id":102,"data":104,"body":110,"filePath":111,"digest":112,"rendered":113},{"title":105,"description":106,"editUrl":16,"head":107,"template":18,"sidebar":108,"pagefind":16,"draft":20},"Choose an Input Mode","Decide when to use the canvas, AI, OpenFlow DSL, Mermaid, structured imports, or Infrastructure Sync.",[],{"hidden":20,"attrs":109},{},"OpenFlowKit supports multiple ways to create a diagram. The right choice depends on what you already have and how much control or determinism you need.\n\n## Quick guide\n\n| If you have... | Start with... |\n| --- | --- |\n| a rough idea | [AI Generation](/ai-generation/) |\n| a diagram you want to sketch manually | [Canvas Basics](/canvas-basics/) |\n| editor-native text you want to control precisely | [OpenFlow DSL](/openflow-dsl/) |\n| Mermaid already used elsewhere | [Mermaid Integration](/mermaid-integration/) |\n| SQL, OpenAPI, Terraform, or K8s source text | [Import from Structured Data](/import-from-data/) |\n| infra files you want parsed deterministically | [Infrastructure Sync](/infra-sync/) |\n\n## Rules of thumb\n\n- Choose AI for speed and ideation.\n- Choose OpenFlow DSL for editor-native precision.\n- Choose Mermaid for ecosystem compatibility.\n- Choose structured import when a source artifact already exists.\n- Choose Infra Sync when you want deterministic, non-AI parsing of supported infra inputs.\n\n## Common mistakes\n\n- Using AI when you already have a precise source artifact.\n- Using Mermaid as the editing master when fidelity inside OpenFlowKit matters more.\n- Redrawing infrastructure manually when the source files already exist.\n\n## Recommended pattern\n\nStart with the most structured truthful input you already have. Only move to a looser mode such as AI when the stronger input does not exist.","src/content/docs/choose-input-mode.md","f1816b676f8aaf08",{"html":114,"metadata":115},"\u003Cp>OpenFlowKit supports multiple ways to create a diagram. The right choice depends on what you already have and how much control or determinism you need.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"quick-guide\">Quick guide\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#quick-guide\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Quick guide”\u003C/span>\u003C/a>\u003C/div>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>If you have…\u003C/th>\u003Cth>Start with…\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd>a rough idea\u003C/td>\u003Ctd>\u003Ca href=\"/ai-generation/\">AI Generation\u003C/a>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>a diagram you want to sketch manually\u003C/td>\u003Ctd>\u003Ca href=\"/canvas-basics/\">Canvas Basics\u003C/a>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>editor-native text you want to control precisely\u003C/td>\u003Ctd>\u003Ca href=\"/openflow-dsl/\">OpenFlow DSL\u003C/a>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>Mermaid already used elsewhere\u003C/td>\u003Ctd>\u003Ca href=\"/mermaid-integration/\">Mermaid Integration\u003C/a>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>SQL, OpenAPI, Terraform, or K8s source text\u003C/td>\u003Ctd>\u003Ca href=\"/import-from-data/\">Import from Structured Data\u003C/a>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>infra files you want parsed deterministically\u003C/td>\u003Ctd>\u003Ca href=\"/infra-sync/\">Infrastructure Sync\u003C/a>\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"rules-of-thumb\">Rules of thumb\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#rules-of-thumb\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Rules of thumb”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>Choose AI for speed and ideation.\u003C/li>\n\u003Cli>Choose OpenFlow DSL for editor-native precision.\u003C/li>\n\u003Cli>Choose Mermaid for ecosystem compatibility.\u003C/li>\n\u003Cli>Choose structured import when a source artifact already exists.\u003C/li>\n\u003Cli>Choose Infra Sync when you want deterministic, non-AI parsing of supported infra inputs.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"common-mistakes\">Common mistakes\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#common-mistakes\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Common mistakes”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>Using AI when you already have a precise source artifact.\u003C/li>\n\u003Cli>Using Mermaid as the editing master when fidelity inside OpenFlowKit matters more.\u003C/li>\n\u003Cli>Redrawing infrastructure manually when the source files already exist.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"recommended-pattern\">Recommended pattern\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#recommended-pattern\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Recommended pattern”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Start with the most structured truthful input you already have. Only move to a looser mode such as AI when the stronger input does not exist.\u003C/p>",{"headings":116,"localImagePaths":129,"remoteImagePaths":130,"frontmatter":131,"imagePaths":132},[117,120,123,126],{"depth":30,"slug":118,"text":119},"quick-guide","Quick guide",{"depth":30,"slug":121,"text":122},"rules-of-thumb","Rules of thumb",{"depth":30,"slug":124,"text":125},"common-mistakes","Common mistakes",{"depth":30,"slug":127,"text":128},"recommended-pattern","Recommended pattern",[],[],{"draft":20,"title":105,"description":106},[],"choose-export-format",{"id":133,"data":135,"body":141,"filePath":142,"digest":143,"rendered":144},{"title":136,"description":137,"editUrl":16,"head":138,"template":18,"sidebar":139,"pagefind":16,"draft":20},"Choose an Export Format","Pick the right OpenFlowKit export format for editing, docs, collaboration, embeds, or design-tool handoff.",[],{"hidden":20,"attrs":140},{},"OpenFlowKit supports both visual exports and editable handoff formats. The right format depends on what happens next.\n\n## Quick guide\n\n| Need | Best format |\n| --- | --- |\n| editable archival backup | JSON |\n| editor-native text | OpenFlow DSL |\n| Markdown or repo-friendly text | Mermaid |\n| docs, slides, or tickets | PNG, JPG, or SVG |\n| design-tool handoff | Figma |\n| short playback artifact | GIF or video |\n| live viewer or room access | Share / Embed |\n\n## Rules of thumb\n\n- Use JSON when fidelity matters most.\n- Use OpenFlow DSL when OpenFlowKit remains the editing home.\n- Use Mermaid when another docs or repo workflow expects Mermaid.\n- Use SVG when you need scalable vector output.\n- Use PNG or JPG for lightweight visual sharing.\n- Use share/embed when the diagram should remain interactive.\n\n## Default recommendation\n\nIf you want a safe pattern, keep:\n\n- JSON as the editable master\n- a visual export for presentation\n- Mermaid or DSL only when another text-based workflow needs it","src/content/docs/choose-export-format.md","dc2a49e75ed84600",{"html":145,"metadata":146},"\u003Cp>OpenFlowKit supports both visual exports and editable handoff formats. The right format depends on what happens next.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"quick-guide\">Quick guide\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#quick-guide\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Quick guide”\u003C/span>\u003C/a>\u003C/div>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>Need\u003C/th>\u003Cth>Best format\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd>editable archival backup\u003C/td>\u003Ctd>JSON\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>editor-native text\u003C/td>\u003Ctd>OpenFlow DSL\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>Markdown or repo-friendly text\u003C/td>\u003Ctd>Mermaid\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>docs, slides, or tickets\u003C/td>\u003Ctd>PNG, JPG, or SVG\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>design-tool handoff\u003C/td>\u003Ctd>Figma\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>short playback artifact\u003C/td>\u003Ctd>GIF or video\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>live viewer or room access\u003C/td>\u003Ctd>Share / Embed\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"rules-of-thumb\">Rules of thumb\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#rules-of-thumb\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Rules of thumb”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>Use JSON when fidelity matters most.\u003C/li>\n\u003Cli>Use OpenFlow DSL when OpenFlowKit remains the editing home.\u003C/li>\n\u003Cli>Use Mermaid when another docs or repo workflow expects Mermaid.\u003C/li>\n\u003Cli>Use SVG when you need scalable vector output.\u003C/li>\n\u003Cli>Use PNG or JPG for lightweight visual sharing.\u003C/li>\n\u003Cli>Use share/embed when the diagram should remain interactive.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"default-recommendation\">Default recommendation\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#default-recommendation\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Default recommendation”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>If you want a safe pattern, keep:\u003C/p>\n\u003Cul>\n\u003Cli>JSON as the editable master\u003C/li>\n\u003Cli>a visual export for presentation\u003C/li>\n\u003Cli>Mermaid or DSL only when another text-based workflow needs it\u003C/li>\n\u003C/ul>",{"headings":147,"localImagePaths":153,"remoteImagePaths":154,"frontmatter":155,"imagePaths":156},[148,149,150],{"depth":30,"slug":118,"text":119},{"depth":30,"slug":121,"text":122},{"depth":30,"slug":151,"text":152},"default-recommendation","Default recommendation",[],[],{"draft":20,"title":136,"description":137},[],"architecture-lint",{"id":157,"data":159,"body":165,"filePath":166,"digest":167,"rendered":168},{"title":160,"description":161,"editUrl":16,"head":162,"template":18,"sidebar":163,"pagefind":16,"draft":20},"Architecture Linting","Define JSON-based architecture rules in Studio and highlight diagram violations in real time.",[],{"hidden":20,"attrs":164},{},"Architecture Linting lets you define rules that catch violations directly on the canvas. It is the closest thing OpenFlowKit has to diagram linting for system design.\n\n## Where it lives\n\nOpen Studio and switch to the **Lint** tab.\n\n## What it does\n\nThe lint panel lets you:\n\n- paste or edit JSON-based rules\n- save and clear rule sets\n- see parse errors in the rule file\n- review live violations with error, warning, or info severity\n\nViolations are surfaced while you work, so the diagram becomes something you can validate, not just draw.\n\n## Why this matters\n\nMany diagrams are only descriptive. Architecture linting makes them evaluative as well. That is useful when the diagram represents real constraints, such as:\n\n- a frontend should not talk directly to a database\n- only certain services should cross a trust boundary\n- an imported topology should still conform to platform rules\n\n## Practical workflow\n\n1. Draft or import the diagram.\n2. Open Studio → **Lint**.\n3. Add or paste the rule JSON.\n4. Save rules and review violations.\n5. Fix the diagram and re-check until the rules pass.\n\n## Best use cases\n\n- architecture review\n- governance for platform diagrams\n- validating diagrams created from infrastructure sync\n- checking that large AI-assisted revisions did not break intended boundaries\n\n## Related pages\n\n- [Studio Overview](/studio-overview/)\n- [Infrastructure Sync](/infra-sync/)\n- [Diagram Diff & Compare](/diagram-diff/)","src/content/docs/architecture-lint.md","490a31346eb06e14",{"html":169,"metadata":170},"\u003Cp>Architecture Linting lets you define rules that catch violations directly on the canvas. It is the closest thing OpenFlowKit has to diagram linting for system design.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"where-it-lives\">Where it lives\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#where-it-lives\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Where it lives”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Open Studio and switch to the \u003Cstrong>Lint\u003C/strong> tab.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"what-it-does\">What it does\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#what-it-does\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “What it does”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>The lint panel lets you:\u003C/p>\n\u003Cul>\n\u003Cli>paste or edit JSON-based rules\u003C/li>\n\u003Cli>save and clear rule sets\u003C/li>\n\u003Cli>see parse errors in the rule file\u003C/li>\n\u003Cli>review live violations with error, warning, or info severity\u003C/li>\n\u003C/ul>\n\u003Cp>Violations are surfaced while you work, so the diagram becomes something you can validate, not just draw.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"why-this-matters\">Why this matters\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#why-this-matters\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Why this matters”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Many diagrams are only descriptive. Architecture linting makes them evaluative as well. That is useful when the diagram represents real constraints, such as:\u003C/p>\n\u003Cul>\n\u003Cli>a frontend should not talk directly to a database\u003C/li>\n\u003Cli>only certain services should cross a trust boundary\u003C/li>\n\u003Cli>an imported topology should still conform to platform rules\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"practical-workflow\">Practical workflow\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#practical-workflow\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Practical workflow”\u003C/span>\u003C/a>\u003C/div>\n\u003Col>\n\u003Cli>Draft or import the diagram.\u003C/li>\n\u003Cli>Open Studio → \u003Cstrong>Lint\u003C/strong>.\u003C/li>\n\u003Cli>Add or paste the rule JSON.\u003C/li>\n\u003Cli>Save rules and review violations.\u003C/li>\n\u003Cli>Fix the diagram and re-check until the rules pass.\u003C/li>\n\u003C/ol>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"best-use-cases\">Best use cases\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#best-use-cases\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Best use cases”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>architecture review\u003C/li>\n\u003Cli>governance for platform diagrams\u003C/li>\n\u003Cli>validating diagrams created from infrastructure sync\u003C/li>\n\u003Cli>checking that large AI-assisted revisions did not break intended boundaries\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"related-pages\">Related pages\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#related-pages\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Related pages”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/studio-overview/\">Studio Overview\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/infra-sync/\">Infrastructure Sync\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/diagram-diff/\">Diagram Diff & Compare\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":171,"localImagePaths":188,"remoteImagePaths":189,"frontmatter":190,"imagePaths":191},[172,175,178,181,184,187],{"depth":30,"slug":173,"text":174},"where-it-lives","Where it lives",{"depth":30,"slug":176,"text":177},"what-it-does","What it does",{"depth":30,"slug":179,"text":180},"why-this-matters","Why this matters",{"depth":30,"slug":182,"text":183},"practical-workflow","Practical workflow",{"depth":30,"slug":185,"text":186},"best-use-cases","Best use cases",{"depth":30,"slug":96,"text":97},[],[],{"draft":20,"title":160,"description":161},[],"design-systems-branding",{"id":192,"data":194,"body":200,"filePath":201,"digest":202,"rendered":203},{"title":195,"description":196,"editUrl":16,"head":197,"template":18,"sidebar":198,"pagefind":16,"draft":20},"Design Systems & Branding","Manage reusable design systems in OpenFlowKit and import or export theme definitions for consistent diagrams.",[],{"hidden":20,"attrs":199},{},"OpenFlowKit includes design-system support so your diagrams can inherit a repeatable visual language instead of being styled one by one.\n\n## What the design-system flow supports\n\nFrom the Command Center you can:\n\n- switch the active design system\n- create a new theme from an existing base\n- duplicate and edit themes\n- import theme JSON\n- export the active theme\n\nThis is the right workflow when consistency matters as much as diagram correctness.\n\n## When to use it\n\nUse design systems when:\n\n- multiple diagrams should share a consistent look\n- your team has visual standards you want to reuse\n- you want architecture, workflow, and product diagrams to feel like one system\n- you need to package diagram styling as something reusable instead of manual\n\n## Import and export\n\nThe design-system view supports JSON import and export. That makes it possible to:\n\n- move a theme between environments\n- create branded variants\n- version visual settings outside the current session\n\n## Relationship to Figma\n\nFigma style import is a related workflow. Use it when you want to fetch colors and text styles from a Figma file and apply them to a design system inside OpenFlowKit.\n\n## Recommended pattern\n\nKeep one stable default theme for everyday work and create variants only when the audience or brand needs are genuinely different. Too many themes usually create inconsistency instead of flexibility.\n\n## Related pages\n\n- [Figma Design Import](/figma-design-import/)\n- [Templates & Starter Flows](/templates-assets/)\n- [Command Center](/command-center/)","src/content/docs/design-systems-branding.md","e609f8b0aa7d939a",{"html":204,"metadata":205},"\u003Cp>OpenFlowKit includes design-system support so your diagrams can inherit a repeatable visual language instead of being styled one by one.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"what-the-design-system-flow-supports\">What the design-system flow supports\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#what-the-design-system-flow-supports\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “What the design-system flow supports”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>From the Command Center you can:\u003C/p>\n\u003Cul>\n\u003Cli>switch the active design system\u003C/li>\n\u003Cli>create a new theme from an existing base\u003C/li>\n\u003Cli>duplicate and edit themes\u003C/li>\n\u003Cli>import theme JSON\u003C/li>\n\u003Cli>export the active theme\u003C/li>\n\u003C/ul>\n\u003Cp>This is the right workflow when consistency matters as much as diagram correctness.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"when-to-use-it\">When to use it\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#when-to-use-it\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “When to use it”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Use design systems when:\u003C/p>\n\u003Cul>\n\u003Cli>multiple diagrams should share a consistent look\u003C/li>\n\u003Cli>your team has visual standards you want to reuse\u003C/li>\n\u003Cli>you want architecture, workflow, and product diagrams to feel like one system\u003C/li>\n\u003Cli>you need to package diagram styling as something reusable instead of manual\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"import-and-export\">Import and export\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#import-and-export\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Import and export”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>The design-system view supports JSON import and export. That makes it possible to:\u003C/p>\n\u003Cul>\n\u003Cli>move a theme between environments\u003C/li>\n\u003Cli>create branded variants\u003C/li>\n\u003Cli>version visual settings outside the current session\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"relationship-to-figma\">Relationship to Figma\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#relationship-to-figma\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Relationship to Figma”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Figma style import is a related workflow. Use it when you want to fetch colors and text styles from a Figma file and apply them to a design system inside OpenFlowKit.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"recommended-pattern\">Recommended pattern\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#recommended-pattern\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Recommended pattern”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Keep one stable default theme for everyday work and create variants only when the audience or brand needs are genuinely different. Too many themes usually create inconsistency instead of flexibility.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"related-pages\">Related pages\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#related-pages\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Related pages”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/figma-design-import/\">Figma Design Import\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/templates-assets/\">Templates & Starter Flows\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/command-center/\">Command Center\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":206,"localImagePaths":221,"remoteImagePaths":222,"frontmatter":223,"imagePaths":224},[207,210,213,216,219,220],{"depth":30,"slug":208,"text":209},"what-the-design-system-flow-supports","What the design-system flow supports",{"depth":30,"slug":211,"text":212},"when-to-use-it","When to use it",{"depth":30,"slug":214,"text":215},"import-and-export","Import and export",{"depth":30,"slug":217,"text":218},"relationship-to-figma","Relationship to Figma",{"depth":30,"slug":127,"text":128},{"depth":30,"slug":96,"text":97},[],[],{"draft":20,"title":195,"description":196},[],"command-center",{"id":225,"data":227,"body":233,"filePath":234,"digest":235,"rendered":236},{"title":228,"description":229,"editUrl":16,"head":230,"template":18,"sidebar":231,"pagefind":16,"draft":20},"Command Center","Use the keyboard-first launcher to search, insert assets, start templates, switch into Studio, and run layout or design-system actions.",[],{"hidden":20,"attrs":232},{},"The Command Center is the keyboard-first launcher for the editor. It opens as a floating panel and is the fastest way to move between assets, templates, search, layout, and Studio actions.\n\n> [!NOTE]\n> Open it with `Cmd + K` on macOS or `Ctrl + K` on Windows/Linux.\n\n## Root commands\n\nThe top-level command list includes actions such as:\n\n- Open FlowPilot\n- Edit Flow DSL\n- Edit Mermaid Code\n- Assets\n- Search Nodes\n- Auto Layout\n- Start from Template\n- Design Systems\n\nPlayback-related entries may also appear when the relevant playback surface is active in the current product path.\n\n## Views inside the Command Center\n\n### Assets\n\nUse this to insert:\n\n- sticky notes\n- text blocks\n- sections\n- journey nodes\n- mind map nodes\n- architecture nodes\n- uploaded images\n- browser wireframes\n- mobile wireframes\n\n### Templates\n\nUse templates when you want a proven starting structure instead of a blank canvas.\n\n### Search\n\nUse search to jump to named nodes in larger diagrams.\n\n### Design Systems\n\nUse Design Systems to switch themes, duplicate them, edit them, or import/export theme JSON.\n\n## How it fits with the rest of the editor\n\nThe Command Center is the fastest bridge between the canvas and Studio:\n\n- use the canvas for direct manipulation\n- use the inspector for exact edits\n- use the Command Center for navigation, search, layout, templates, assets, and workflow switching","src/content/docs/command-center.md","099f8d200db010ac",{"html":237,"metadata":238},"\u003Cp>The Command Center is the keyboard-first launcher for the editor. It opens as a floating panel and is the fastest way to move between assets, templates, search, layout, and Studio actions.\u003C/p>\n\u003Cblockquote>\n\u003Cp>[!NOTE]\nOpen it with \u003Ccode dir=\"auto\">Cmd + K\u003C/code> on macOS or \u003Ccode dir=\"auto\">Ctrl + K\u003C/code> on Windows/Linux.\u003C/p>\n\u003C/blockquote>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"root-commands\">Root commands\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#root-commands\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Root commands”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>The top-level command list includes actions such as:\u003C/p>\n\u003Cul>\n\u003Cli>Open FlowPilot\u003C/li>\n\u003Cli>Edit Flow DSL\u003C/li>\n\u003Cli>Edit Mermaid Code\u003C/li>\n\u003Cli>Assets\u003C/li>\n\u003Cli>Search Nodes\u003C/li>\n\u003Cli>Auto Layout\u003C/li>\n\u003Cli>Start from Template\u003C/li>\n\u003Cli>Design Systems\u003C/li>\n\u003C/ul>\n\u003Cp>Playback-related entries may also appear when the relevant playback surface is active in the current product path.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"views-inside-the-command-center\">Views inside the Command Center\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#views-inside-the-command-center\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Views inside the Command Center”\u003C/span>\u003C/a>\u003C/div>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"assets\">Assets\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#assets\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Assets”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Use this to insert:\u003C/p>\n\u003Cul>\n\u003Cli>sticky notes\u003C/li>\n\u003Cli>text blocks\u003C/li>\n\u003Cli>sections\u003C/li>\n\u003Cli>journey nodes\u003C/li>\n\u003Cli>mind map nodes\u003C/li>\n\u003Cli>architecture nodes\u003C/li>\n\u003Cli>uploaded images\u003C/li>\n\u003Cli>browser wireframes\u003C/li>\n\u003Cli>mobile wireframes\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"templates\">Templates\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#templates\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Templates”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Use templates when you want a proven starting structure instead of a blank canvas.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"search\">Search\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#search\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Search”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Use search to jump to named nodes in larger diagrams.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"design-systems\">Design Systems\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#design-systems\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Design Systems”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Use Design Systems to switch themes, duplicate them, edit them, or import/export theme JSON.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"how-it-fits-with-the-rest-of-the-editor\">How it fits with the rest of the editor\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#how-it-fits-with-the-rest-of-the-editor\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “How it fits with the rest of the editor”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>The Command Center is the fastest bridge between the canvas and Studio:\u003C/p>\n\u003Cul>\n\u003Cli>use the canvas for direct manipulation\u003C/li>\n\u003Cli>use the inspector for exact edits\u003C/li>\n\u003Cli>use the Command Center for navigation, search, layout, templates, assets, and workflow switching\u003C/li>\n\u003C/ul>",{"headings":239,"localImagePaths":261,"remoteImagePaths":262,"frontmatter":263,"imagePaths":264},[240,243,246,249,252,255,258],{"depth":30,"slug":241,"text":242},"root-commands","Root commands",{"depth":30,"slug":244,"text":245},"views-inside-the-command-center","Views inside the Command Center",{"depth":37,"slug":247,"text":248},"assets","Assets",{"depth":37,"slug":250,"text":251},"templates","Templates",{"depth":37,"slug":253,"text":254},"search","Search",{"depth":37,"slug":256,"text":257},"design-systems","Design Systems",{"depth":30,"slug":259,"text":260},"how-it-fits-with-the-rest-of-the-editor","How it fits with the rest of the editor",[],[],{"draft":20,"title":228,"description":229},[],"collaboration-sharing",{"id":265,"data":267,"body":273,"filePath":274,"digest":275,"rendered":276},{"title":268,"description":269,"editUrl":16,"head":270,"template":18,"sidebar":271,"pagefind":16,"draft":20},"Collaboration & Sharing","Share room links, understand local-only fallback behavior, and use OpenFlowKit collaboration features safely.",[],{"hidden":20,"attrs":272},{},"OpenFlowKit supports share links and collaboration-oriented room flows while keeping local-first behavior as the default.\n\n## What the share flow includes\n\nThe share dialog can expose:\n\n- a room ID\n- an invite URL\n- current viewer count\n- participant badges\n- connection state such as realtime, connecting, or local-only fallback\n\n## Current collaboration model\n\nThe product includes a collaboration scaffold with presence, transport status, and local cache behavior. In practice, that means you can share a room link and see whether the current session is in live sync or local-only fallback mode.\n\nThis is important because local-first tools should fail gracefully. If realtime sync is not available, the app should not force you to stop working.\n\n## How to use it well\n\n- open the share dialog before inviting others\n- confirm whether the session is in live sync or fallback mode\n- use room links when you want collaborators in the same canvas context\n- export JSON when you need a durable editable backup outside the current browser state\n\n## When to use sharing vs exporting\n\nUse collaboration sharing when:\n\n- the diagram should stay interactive\n- other people should join the current working canvas\n- you want presence and room-based workflows\n\nUse exporting when:\n\n- you need an artifact, not a live session\n- the next destination is docs, slides, or a design tool\n- you need a durable handoff file\n\n## Related pages\n\n- [Exporting](/exporting/)\n- [Choose an Export Format](/choose-export-format/)\n- [Embed Diagrams in GitHub](/github-embed/)","src/content/docs/collaboration-sharing.md","f0415d65450ad5a8",{"html":277,"metadata":278},"\u003Cp>OpenFlowKit supports share links and collaboration-oriented room flows while keeping local-first behavior as the default.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"what-the-share-flow-includes\">What the share flow includes\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#what-the-share-flow-includes\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “What the share flow includes”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>The share dialog can expose:\u003C/p>\n\u003Cul>\n\u003Cli>a room ID\u003C/li>\n\u003Cli>an invite URL\u003C/li>\n\u003Cli>current viewer count\u003C/li>\n\u003Cli>participant badges\u003C/li>\n\u003Cli>connection state such as realtime, connecting, or local-only fallback\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"current-collaboration-model\">Current collaboration model\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#current-collaboration-model\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Current collaboration model”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>The product includes a collaboration scaffold with presence, transport status, and local cache behavior. In practice, that means you can share a room link and see whether the current session is in live sync or local-only fallback mode.\u003C/p>\n\u003Cp>This is important because local-first tools should fail gracefully. If realtime sync is not available, the app should not force you to stop working.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"how-to-use-it-well\">How to use it well\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#how-to-use-it-well\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “How to use it well”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>open the share dialog before inviting others\u003C/li>\n\u003Cli>confirm whether the session is in live sync or fallback mode\u003C/li>\n\u003Cli>use room links when you want collaborators in the same canvas context\u003C/li>\n\u003Cli>export JSON when you need a durable editable backup outside the current browser state\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"when-to-use-sharing-vs-exporting\">When to use sharing vs exporting\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#when-to-use-sharing-vs-exporting\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “When to use sharing vs exporting”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Use collaboration sharing when:\u003C/p>\n\u003Cul>\n\u003Cli>the diagram should stay interactive\u003C/li>\n\u003Cli>other people should join the current working canvas\u003C/li>\n\u003Cli>you want presence and room-based workflows\u003C/li>\n\u003C/ul>\n\u003Cp>Use exporting when:\u003C/p>\n\u003Cul>\n\u003Cli>you need an artifact, not a live session\u003C/li>\n\u003Cli>the next destination is docs, slides, or a design tool\u003C/li>\n\u003Cli>you need a durable handoff file\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"related-pages\">Related pages\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#related-pages\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Related pages”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/exporting/\">Exporting\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/choose-export-format/\">Choose an Export Format\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/github-embed/\">Embed Diagrams in GitHub\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":279,"localImagePaths":293,"remoteImagePaths":294,"frontmatter":295,"imagePaths":296},[280,283,286,289,292],{"depth":30,"slug":281,"text":282},"what-the-share-flow-includes","What the share flow includes",{"depth":30,"slug":284,"text":285},"current-collaboration-model","Current collaboration model",{"depth":30,"slug":287,"text":288},"how-to-use-it-well","How to use it well",{"depth":30,"slug":290,"text":291},"when-to-use-sharing-vs-exporting","When to use sharing vs exporting",{"depth":30,"slug":96,"text":97},[],[],{"draft":20,"title":268,"description":269},[],"ask-flowpilot",{"id":297,"data":299,"body":305,"filePath":306,"digest":307,"rendered":308},{"title":300,"description":301,"editUrl":16,"head":302,"template":18,"sidebar":303,"pagefind":16,"draft":20},"Ask Flowpilot","Use FlowPilot as the chat-based Studio assistant for drafting, revising, and explaining diagrams.",[],{"hidden":20,"attrs":304},{},"FlowPilot is the chat-based assistant inside Studio. It is the fastest way to describe a diagram in plain language, revise an existing draft, or ask for a different structural take before you start polishing the result manually.\n\n## Good use cases\n\nAsk FlowPilot when you want to:\n\n- create a first draft from a text prompt\n- revise an existing system into a cleaner structure\n- expand a rough flow with missing failure branches\n- convert source code or structured input into a diagram draft\n\n## What to include in your prompt\n\nUseful prompts specify:\n\n- the audience\n- the systems or actors involved\n- important branches or constraints\n- preferred direction such as `LR` or `TB`\n- whether you want a high-level overview or a detailed operational flow\n\n## Example prompt\n\n```text\nCreate a left-to-right architecture diagram for a SaaS app with:\nweb client, API gateway, auth service, billing service, Postgres,\nRedis cache, background workers, and S3-backed file storage.\nShow public ingress, async jobs, and failure-handling paths.\n```\n\n## What to do after generation\n\nFlowPilot is strongest as a draft generator, not the final editor. After generation:\n\n- inspect the structure on the canvas\n- relabel and normalize in the [Properties Panel](/properties-panel/)\n- run [Smart Layout](/smart-layout/) if spacing is poor\n- save a snapshot before the next major rewrite\n\n## Related pages\n\n- [AI Generation](/ai-generation/)\n- [Prompting AI Agents](/prompting-agents/)\n- [Choose an Input Mode](/choose-input-mode/)","src/content/docs/ask-flowpilot.md","d6a1e7e44a6e1d61",{"html":309,"metadata":310},"\u003Cp>FlowPilot is the chat-based assistant inside Studio. It is the fastest way to describe a diagram in plain language, revise an existing draft, or ask for a different structural take before you start polishing the result manually.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"good-use-cases\">Good use cases\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#good-use-cases\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Good use cases”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Ask FlowPilot when you want to:\u003C/p>\n\u003Cul>\n\u003Cli>create a first draft from a text prompt\u003C/li>\n\u003Cli>revise an existing system into a cleaner structure\u003C/li>\n\u003Cli>expand a rough flow with missing failure branches\u003C/li>\n\u003Cli>convert source code or structured input into a diagram draft\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"what-to-include-in-your-prompt\">What to include in your prompt\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#what-to-include-in-your-prompt\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “What to include in your prompt”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Useful prompts specify:\u003C/p>\n\u003Cul>\n\u003Cli>the audience\u003C/li>\n\u003Cli>the systems or actors involved\u003C/li>\n\u003Cli>important branches or constraints\u003C/li>\n\u003Cli>preferred direction such as \u003Ccode dir=\"auto\">LR\u003C/code> or \u003Ccode dir=\"auto\">TB\u003C/code>\u003C/li>\n\u003Cli>whether you want a high-level overview or a detailed operational flow\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"example-prompt\">Example prompt\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#example-prompt\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Example prompt”\u003C/span>\u003C/a>\u003C/div>\n\u003Cdiv class=\"expressive-code\">\u003Clink rel=\"stylesheet\" href=\"/_astro/ec.v4551.css\">\u003Cscript type=\"module\" src=\"/_astro/ec.0vx5m.js\">\u003C/script>\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"text\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Create a left-to-right architecture diagram for a SaaS app with:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">web client, API gateway, auth service, billing service, Postgres,\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Redis cache, background workers, and S3-backed file storage.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Show public ingress, async jobs, and failure-handling paths.\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"Create a left-to-right architecture diagram for a SaaS app with:web client, API gateway, auth service, billing service, Postgres,Redis cache, background workers, and S3-backed file storage.Show public ingress, async jobs, and failure-handling paths.\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"what-to-do-after-generation\">What to do after generation\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#what-to-do-after-generation\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “What to do after generation”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>FlowPilot is strongest as a draft generator, not the final editor. After generation:\u003C/p>\n\u003Cul>\n\u003Cli>inspect the structure on the canvas\u003C/li>\n\u003Cli>relabel and normalize in the \u003Ca href=\"/properties-panel/\">Properties Panel\u003C/a>\u003C/li>\n\u003Cli>run \u003Ca href=\"/smart-layout/\">Smart Layout\u003C/a> if spacing is poor\u003C/li>\n\u003Cli>save a snapshot before the next major rewrite\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"related-pages\">Related pages\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#related-pages\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Related pages”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/ai-generation/\">AI Generation\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/prompting-agents/\">Prompting AI Agents\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/choose-input-mode/\">Choose an Input Mode\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":311,"localImagePaths":325,"remoteImagePaths":326,"frontmatter":327,"imagePaths":328},[312,315,318,321,324],{"depth":30,"slug":313,"text":314},"good-use-cases","Good use cases",{"depth":30,"slug":316,"text":317},"what-to-include-in-your-prompt","What to include in your prompt",{"depth":30,"slug":319,"text":320},"example-prompt","Example prompt",{"depth":30,"slug":322,"text":323},"what-to-do-after-generation","What to do after generation",{"depth":30,"slug":96,"text":97},[],[],{"draft":20,"title":300,"description":301},[],"aws-architecture",{"id":329,"data":331,"body":337,"filePath":338,"digest":339,"rendered":340},{"title":332,"description":333,"editUrl":16,"head":334,"template":18,"sidebar":335,"pagefind":16,"draft":20},"AWS Architecture Diagram","Use OpenFlowKit for AWS architecture diagrams with templates, icon-backed assets, AI drafting, DSL, and export workflows.",[],{"hidden":20,"attrs":336},{},"OpenFlowKit is a strong fit for AWS architecture diagrams because it supports provider-backed icon insertion, architecture-oriented layouts, AI-assisted drafting, and code-backed editing in the same workflow.\n\n## Best starting points\n\nFor AWS diagrams, start from the input that already exists:\n\n- an AWS template from the template browser\n- the Assets view with AWS icon catalog\n- AI generation with a provider-specific architecture prompt\n- OpenFlow DSL for a deterministic first pass\n\n## How to choose the starting point\n\n- Use templates when you want a known structural baseline.\n- Use assets when you know the services already and want manual control.\n- Use AI when you want a fast conceptual draft.\n- Use DSL when the graph should be reviewed as text.\n\n## Recommended workflow\n\n1. insert core services first\n2. add boundaries for VPCs, public/private tiers, or trust zones\n3. connect traffic paths and async flows\n4. run [Smart Layout](/smart-layout/)\n5. refine labels, protocols, and visual emphasis\n6. save a snapshot before large revisions\n7. export or share in the format your audience needs\n\n## Asset strategy\n\nThe assets panel can load provider-backed catalogs and previews. Use icon nodes for branded service identity, then use sections or boundaries to show grouping.\n\nThis is usually better than drawing every service as a generic box, especially when the audience expects cloud-provider cues at a glance.\n\n## Example prompt\n\n```text\nCreate an AWS architecture diagram for a three-tier web app with:\nRoute 53, CloudFront, ALB, ECS services, RDS PostgreSQL,\nElastiCache Redis, SQS worker queue, S3 assets bucket, and CloudWatch.\nShow public ingress, internal service traffic, and async worker processing.\n```\n\n## When to use OpenFlow DSL instead\n\nUse DSL when:\n\n- you want the graph reviewed in code form\n- you are iterating quickly on service composition\n- you want to pair the diagram with infrastructure change planning\n\n## Export recommendation\n\nFor architecture reviews:\n\n- export PNG or SVG for slides and docs\n- export JSON for editable backup\n- optionally export Mermaid or PlantUML for repo or docs workflows\n\n## Related pages\n\n- [Infrastructure Sync](/infra-sync/)\n- [Templates & Starter Flows](/templates-assets/)\n- [Choose an Export Format](/choose-export-format/)","src/content/docs/aws-architecture.md","431a9f3d67bef32c",{"html":341,"metadata":342},"\u003Cp>OpenFlowKit is a strong fit for AWS architecture diagrams because it supports provider-backed icon insertion, architecture-oriented layouts, AI-assisted drafting, and code-backed editing in the same workflow.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"best-starting-points\">Best starting points\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#best-starting-points\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Best starting points”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>For AWS diagrams, start from the input that already exists:\u003C/p>\n\u003Cul>\n\u003Cli>an AWS template from the template browser\u003C/li>\n\u003Cli>the Assets view with AWS icon catalog\u003C/li>\n\u003Cli>AI generation with a provider-specific architecture prompt\u003C/li>\n\u003Cli>OpenFlow DSL for a deterministic first pass\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"how-to-choose-the-starting-point\">How to choose the starting point\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#how-to-choose-the-starting-point\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “How to choose the starting point”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>Use templates when you want a known structural baseline.\u003C/li>\n\u003Cli>Use assets when you know the services already and want manual control.\u003C/li>\n\u003Cli>Use AI when you want a fast conceptual draft.\u003C/li>\n\u003Cli>Use DSL when the graph should be reviewed as text.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"recommended-workflow\">Recommended workflow\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#recommended-workflow\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Recommended workflow”\u003C/span>\u003C/a>\u003C/div>\n\u003Col>\n\u003Cli>insert core services first\u003C/li>\n\u003Cli>add boundaries for VPCs, public/private tiers, or trust zones\u003C/li>\n\u003Cli>connect traffic paths and async flows\u003C/li>\n\u003Cli>run \u003Ca href=\"/smart-layout/\">Smart Layout\u003C/a>\u003C/li>\n\u003Cli>refine labels, protocols, and visual emphasis\u003C/li>\n\u003Cli>save a snapshot before large revisions\u003C/li>\n\u003Cli>export or share in the format your audience needs\u003C/li>\n\u003C/ol>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"asset-strategy\">Asset strategy\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#asset-strategy\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Asset strategy”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>The assets panel can load provider-backed catalogs and previews. Use icon nodes for branded service identity, then use sections or boundaries to show grouping.\u003C/p>\n\u003Cp>This is usually better than drawing every service as a generic box, especially when the audience expects cloud-provider cues at a glance.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"example-prompt\">Example prompt\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#example-prompt\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Example prompt”\u003C/span>\u003C/a>\u003C/div>\n\u003Cdiv class=\"expressive-code\">\u003Clink rel=\"stylesheet\" href=\"/_astro/ec.v4551.css\">\u003Cscript type=\"module\" src=\"/_astro/ec.0vx5m.js\">\u003C/script>\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"text\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Create an AWS architecture diagram for a three-tier web app with:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Route 53, CloudFront, ALB, ECS services, RDS PostgreSQL,\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">ElastiCache Redis, SQS worker queue, S3 assets bucket, and CloudWatch.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Show public ingress, internal service traffic, and async worker processing.\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"Create an AWS architecture diagram for a three-tier web app with:Route 53, CloudFront, ALB, ECS services, RDS PostgreSQL,ElastiCache Redis, SQS worker queue, S3 assets bucket, and CloudWatch.Show public ingress, internal service traffic, and async worker processing.\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"when-to-use-openflow-dsl-instead\">When to use OpenFlow DSL instead\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#when-to-use-openflow-dsl-instead\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “When to use OpenFlow DSL instead”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Use DSL when:\u003C/p>\n\u003Cul>\n\u003Cli>you want the graph reviewed in code form\u003C/li>\n\u003Cli>you are iterating quickly on service composition\u003C/li>\n\u003Cli>you want to pair the diagram with infrastructure change planning\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"export-recommendation\">Export recommendation\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#export-recommendation\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Export recommendation”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>For architecture reviews:\u003C/p>\n\u003Cul>\n\u003Cli>export PNG or SVG for slides and docs\u003C/li>\n\u003Cli>export JSON for editable backup\u003C/li>\n\u003Cli>optionally export Mermaid or PlantUML for repo or docs workflows\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"related-pages\">Related pages\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#related-pages\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Related pages”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/infra-sync/\">Infrastructure Sync\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/templates-assets/\">Templates & Starter Flows\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/choose-export-format/\">Choose an Export Format\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":343,"localImagePaths":362,"remoteImagePaths":363,"frontmatter":364,"imagePaths":365},[344,347,350,351,354,355,358,361],{"depth":30,"slug":345,"text":346},"best-starting-points","Best starting points",{"depth":30,"slug":348,"text":349},"how-to-choose-the-starting-point","How to choose the starting point",{"depth":30,"slug":90,"text":91},{"depth":30,"slug":352,"text":353},"asset-strategy","Asset strategy",{"depth":30,"slug":319,"text":320},{"depth":30,"slug":356,"text":357},"when-to-use-openflow-dsl-instead","When to use OpenFlow DSL instead",{"depth":30,"slug":359,"text":360},"export-recommendation","Export recommendation",{"depth":30,"slug":96,"text":97},[],[],{"draft":20,"title":332,"description":333},[],"diagram-diff",{"id":366,"data":368,"body":374,"filePath":375,"digest":376,"rendered":377},{"title":369,"description":370,"editUrl":16,"head":371,"template":18,"sidebar":372,"pagefind":16,"draft":20},"Diagram Diff & Compare","Compare the current diagram against a snapshot baseline and review added, removed, and changed elements.",[],{"hidden":20,"attrs":373},{},"Diagram Diff & Compare lets you inspect how the current graph differs from a saved baseline snapshot.\n\n## What compare mode shows\n\nWhen compare mode is active, OpenFlowKit surfaces:\n\n- added nodes and edges\n- removed nodes and edges\n- changed nodes\n- the baseline snapshot name and timestamp\n\nThis is useful after imports, AI rewrites, or manual restructures when you want to understand what actually changed rather than rely on memory.\n\n## Why it is valuable\n\nLarge diagram edits often fail in two ways:\n\n- the result is visually different but you cannot explain what changed\n- the result looks mostly similar, but a few important relationships disappeared\n\nCompare mode helps with both. It gives you a concrete change view against a known baseline.\n\n## Recommended workflow\n\n1. Save or identify the baseline snapshot.\n2. Make the changes you need.\n3. Enter compare mode against that snapshot.\n4. Review the counts for added, removed, and changed elements.\n5. Exit compare mode and continue editing if needed.\n\n## Good use cases\n\n- checking the impact of a major FlowPilot revision\n- reviewing the result of a large infrastructure refresh\n- comparing before-and-after states during architecture refactors\n- validating that a simplification pass did not delete something important\n\n## Related pages\n\n- [Playback & History](/playback-history/)\n- [AI Generation](/ai-generation/)\n- [Infrastructure Sync](/infra-sync/)","src/content/docs/diagram-diff.md","b19dc6be18c9c92e",{"html":378,"metadata":379},"\u003Cp>Diagram Diff & Compare lets you inspect how the current graph differs from a saved baseline snapshot.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"what-compare-mode-shows\">What compare mode shows\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#what-compare-mode-shows\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “What compare mode shows”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>When compare mode is active, OpenFlowKit surfaces:\u003C/p>\n\u003Cul>\n\u003Cli>added nodes and edges\u003C/li>\n\u003Cli>removed nodes and edges\u003C/li>\n\u003Cli>changed nodes\u003C/li>\n\u003Cli>the baseline snapshot name and timestamp\u003C/li>\n\u003C/ul>\n\u003Cp>This is useful after imports, AI rewrites, or manual restructures when you want to understand what actually changed rather than rely on memory.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"why-it-is-valuable\">Why it is valuable\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#why-it-is-valuable\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Why it is valuable”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Large diagram edits often fail in two ways:\u003C/p>\n\u003Cul>\n\u003Cli>the result is visually different but you cannot explain what changed\u003C/li>\n\u003Cli>the result looks mostly similar, but a few important relationships disappeared\u003C/li>\n\u003C/ul>\n\u003Cp>Compare mode helps with both. It gives you a concrete change view against a known baseline.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"recommended-workflow\">Recommended workflow\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#recommended-workflow\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Recommended workflow”\u003C/span>\u003C/a>\u003C/div>\n\u003Col>\n\u003Cli>Save or identify the baseline snapshot.\u003C/li>\n\u003Cli>Make the changes you need.\u003C/li>\n\u003Cli>Enter compare mode against that snapshot.\u003C/li>\n\u003Cli>Review the counts for added, removed, and changed elements.\u003C/li>\n\u003Cli>Exit compare mode and continue editing if needed.\u003C/li>\n\u003C/ol>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"good-use-cases\">Good use cases\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#good-use-cases\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Good use cases”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>checking the impact of a major FlowPilot revision\u003C/li>\n\u003Cli>reviewing the result of a large infrastructure refresh\u003C/li>\n\u003Cli>comparing before-and-after states during architecture refactors\u003C/li>\n\u003Cli>validating that a simplification pass did not delete something important\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"related-pages\">Related pages\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#related-pages\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Related pages”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/playback-history/\">Playback & History\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/ai-generation/\">AI Generation\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/infra-sync/\">Infrastructure Sync\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":380,"localImagePaths":390,"remoteImagePaths":391,"frontmatter":392,"imagePaths":393},[381,384,387,388,389],{"depth":30,"slug":382,"text":383},"what-compare-mode-shows","What compare mode shows",{"depth":30,"slug":385,"text":386},"why-it-is-valuable","Why it is valuable",{"depth":30,"slug":90,"text":91},{"depth":30,"slug":313,"text":314},{"depth":30,"slug":96,"text":97},[],[],{"draft":20,"title":369,"description":370},[],"diagram-families",{"id":394,"data":396,"body":402,"filePath":403,"digest":404,"rendered":405},{"title":397,"description":398,"editUrl":16,"head":399,"template":18,"sidebar":400,"pagefind":16,"draft":20},"Diagram Families","Choose the right diagram family in OpenFlowKit for flows, architecture maps, mind maps, journeys, class diagrams, ER diagrams, and more.",[],{"hidden":20,"attrs":401},{},"OpenFlowKit supports multiple diagram families because not every problem should be forced into the same node and edge model.\n\n## Families in the current editor\n\n| Family | Best for |\n| --- | --- |\n| `flowchart` | General process and system flows |\n| `architecture` | Cloud, service, and platform diagrams |\n| `mindmap` | Branching ideation and hierarchical thinking |\n| `journey` | User journey or multi-stage experience mapping |\n| `stateDiagram` | State transitions and event-driven logic |\n| `classDiagram` | Object modeling and relationships |\n| `erDiagram` | Tables, entities, and relational structure |\n| `gitGraph` | Git history and branching flows |\n\n## How to choose\n\nUse the family that matches the semantics of the diagram, not just the visual look.\n\n- Choose `flowchart` when the problem is procedural.\n- Choose `architecture` when services, infrastructure, or trust boundaries matter.\n- Choose `mindmap` when branching and hierarchy matter more than exact routing.\n- Choose `journey` when stages, actors, and sentiment or score matter.\n- Choose `classDiagram` or `erDiagram` when the relationships themselves carry meaning.\n\n## Why it matters\n\nDifferent families unlock different node behavior, import paths, layout assumptions, and inspector controls. Picking the right family early usually means less cleanup later.\n\n## Related pages\n\n- [Node Types](/node-types/)\n- [Choose an Input Mode](/choose-input-mode/)\n- [Studio Overview](/studio-overview/)","src/content/docs/diagram-families.md","f0c52d0e97ec568a",{"html":406,"metadata":407},"\u003Cp>OpenFlowKit supports multiple diagram families because not every problem should be forced into the same node and edge model.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"families-in-the-current-editor\">Families in the current editor\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#families-in-the-current-editor\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Families in the current editor”\u003C/span>\u003C/a>\u003C/div>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>Family\u003C/th>\u003Cth>Best for\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">flowchart\u003C/code>\u003C/td>\u003Ctd>General process and system flows\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">architecture\u003C/code>\u003C/td>\u003Ctd>Cloud, service, and platform diagrams\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">mindmap\u003C/code>\u003C/td>\u003Ctd>Branching ideation and hierarchical thinking\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">journey\u003C/code>\u003C/td>\u003Ctd>User journey or multi-stage experience mapping\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">stateDiagram\u003C/code>\u003C/td>\u003Ctd>State transitions and event-driven logic\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">classDiagram\u003C/code>\u003C/td>\u003Ctd>Object modeling and relationships\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">erDiagram\u003C/code>\u003C/td>\u003Ctd>Tables, entities, and relational structure\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">gitGraph\u003C/code>\u003C/td>\u003Ctd>Git history and branching flows\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"how-to-choose\">How to choose\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#how-to-choose\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “How to choose”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Use the family that matches the semantics of the diagram, not just the visual look.\u003C/p>\n\u003Cul>\n\u003Cli>Choose \u003Ccode dir=\"auto\">flowchart\u003C/code> when the problem is procedural.\u003C/li>\n\u003Cli>Choose \u003Ccode dir=\"auto\">architecture\u003C/code> when services, infrastructure, or trust boundaries matter.\u003C/li>\n\u003Cli>Choose \u003Ccode dir=\"auto\">mindmap\u003C/code> when branching and hierarchy matter more than exact routing.\u003C/li>\n\u003Cli>Choose \u003Ccode dir=\"auto\">journey\u003C/code> when stages, actors, and sentiment or score matter.\u003C/li>\n\u003Cli>Choose \u003Ccode dir=\"auto\">classDiagram\u003C/code> or \u003Ccode dir=\"auto\">erDiagram\u003C/code> when the relationships themselves carry meaning.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"why-it-matters\">Why it matters\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#why-it-matters\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Why it matters”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Different families unlock different node behavior, import paths, layout assumptions, and inspector controls. Picking the right family early usually means less cleanup later.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"related-pages\">Related pages\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#related-pages\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Related pages”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/node-types/\">Node Types\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/choose-input-mode/\">Choose an Input Mode\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/studio-overview/\">Studio Overview\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":408,"localImagePaths":419,"remoteImagePaths":420,"frontmatter":421,"imagePaths":422},[409,412,415,418],{"depth":30,"slug":410,"text":411},"families-in-the-current-editor","Families in the current editor",{"depth":30,"slug":413,"text":414},"how-to-choose","How to choose",{"depth":30,"slug":416,"text":417},"why-it-matters","Why it matters",{"depth":30,"slug":96,"text":97},[],[],{"draft":20,"title":397,"description":398},[],"exporting",{"id":423,"data":425,"body":431,"filePath":432,"digest":433,"rendered":434},{"title":426,"description":427,"editUrl":16,"head":428,"template":18,"sidebar":429,"pagefind":16,"draft":20},"Exporting","Export diagrams from OpenFlowKit as images, playback media, JSON, code formats, design-tool handoff, or share/embed links.",[],{"hidden":20,"attrs":430},{},"Export lives in the top-right menu of the editor and covers both downloadable files and clipboard-oriented formats.\n\nThe right export choice depends on whether your next step is editing, publishing, presenting, embedding, or collaboration.\n\n## Downloaded file exports\n\n### PNG and JPG\n\nUse PNG or JPG for:\n\n- docs\n- slides\n- tickets\n- lightweight visual sharing\n\nPNG is usually the better default when you want cleaner transparency handling. JPG is useful when a simple white-background image is enough.\n\n### SVG\n\nUse SVG when you need vector output for docs, websites, or further design-tool handling. SVG is the best choice when the diagram needs to stay crisp across sizes.\n\n### JSON\n\nThis is the most faithful archival format for re-import into OpenFlowKit. Use it for:\n\n- backups\n- browser-to-browser handoff\n- preserving the most editable version of the graph\n- long-term retention of a diagram you may need to revise later\n\nIf you are unsure what to save as the master file, choose JSON.\n\n### Playback video and GIF\n\nUse animated exports when the diagram is meant to communicate change over time rather than a single static state. These are useful for demos, changelogs, social posts, and process walkthroughs.\n\n## Clipboard-oriented exports\n\nThese exports are generated from the current graph and copied rather than downloaded:\n\n- OpenFlow DSL\n- Mermaid\n- PlantUML\n- Figma editable export\n\nUse these when the next tool in the workflow expects text or design-tool-compatible handoff rather than an image.\n\n## Sharing\n\nThe export menu also includes **Share / Embed** for viewer-link and collaboration-oriented workflows. Use this when you want a room link, viewer URL, or embed-style flow instead of a file.\n\n## Recommended export pattern\n\nFor serious work, a practical pattern is:\n\n1. keep JSON as the editable master\n2. export Mermaid or DSL for text workflows\n3. export PNG, JPG, or SVG for presentation\n4. use share/embed when the diagram should remain interactive\n\n## Related pages\n\n- [Choose an Export Format](/choose-export-format/)\n- [Collaboration & Sharing](/collaboration-sharing/)\n- [Embed Diagrams in GitHub](/github-embed/)","src/content/docs/exporting.md","316ce9c7c72656f8",{"html":435,"metadata":436},"\u003Cp>Export lives in the top-right menu of the editor and covers both downloadable files and clipboard-oriented formats.\u003C/p>\n\u003Cp>The right export choice depends on whether your next step is editing, publishing, presenting, embedding, or collaboration.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"downloaded-file-exports\">Downloaded file exports\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#downloaded-file-exports\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Downloaded file exports”\u003C/span>\u003C/a>\u003C/div>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"png-and-jpg\">PNG and JPG\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#png-and-jpg\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “PNG and JPG”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Use PNG or JPG for:\u003C/p>\n\u003Cul>\n\u003Cli>docs\u003C/li>\n\u003Cli>slides\u003C/li>\n\u003Cli>tickets\u003C/li>\n\u003Cli>lightweight visual sharing\u003C/li>\n\u003C/ul>\n\u003Cp>PNG is usually the better default when you want cleaner transparency handling. JPG is useful when a simple white-background image is enough.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"svg\">SVG\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#svg\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “SVG”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Use SVG when you need vector output for docs, websites, or further design-tool handling. SVG is the best choice when the diagram needs to stay crisp across sizes.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"json\">JSON\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#json\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “JSON”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>This is the most faithful archival format for re-import into OpenFlowKit. Use it for:\u003C/p>\n\u003Cul>\n\u003Cli>backups\u003C/li>\n\u003Cli>browser-to-browser handoff\u003C/li>\n\u003Cli>preserving the most editable version of the graph\u003C/li>\n\u003Cli>long-term retention of a diagram you may need to revise later\u003C/li>\n\u003C/ul>\n\u003Cp>If you are unsure what to save as the master file, choose JSON.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"playback-video-and-gif\">Playback video and GIF\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#playback-video-and-gif\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Playback video and GIF”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Use animated exports when the diagram is meant to communicate change over time rather than a single static state. These are useful for demos, changelogs, social posts, and process walkthroughs.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"clipboard-oriented-exports\">Clipboard-oriented exports\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#clipboard-oriented-exports\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Clipboard-oriented exports”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>These exports are generated from the current graph and copied rather than downloaded:\u003C/p>\n\u003Cul>\n\u003Cli>OpenFlow DSL\u003C/li>\n\u003Cli>Mermaid\u003C/li>\n\u003Cli>PlantUML\u003C/li>\n\u003Cli>Figma editable export\u003C/li>\n\u003C/ul>\n\u003Cp>Use these when the next tool in the workflow expects text or design-tool-compatible handoff rather than an image.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"sharing\">Sharing\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#sharing\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Sharing”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>The export menu also includes \u003Cstrong>Share / Embed\u003C/strong> for viewer-link and collaboration-oriented workflows. Use this when you want a room link, viewer URL, or embed-style flow instead of a file.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"recommended-export-pattern\">Recommended export pattern\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#recommended-export-pattern\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Recommended export pattern”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>For serious work, a practical pattern is:\u003C/p>\n\u003Col>\n\u003Cli>keep JSON as the editable master\u003C/li>\n\u003Cli>export Mermaid or DSL for text workflows\u003C/li>\n\u003Cli>export PNG, JPG, or SVG for presentation\u003C/li>\n\u003Cli>use share/embed when the diagram should remain interactive\u003C/li>\n\u003C/ol>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"related-pages\">Related pages\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#related-pages\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Related pages”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/choose-export-format/\">Choose an Export Format\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/collaboration-sharing/\">Collaboration & Sharing\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/github-embed/\">Embed Diagrams in GitHub\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":437,"localImagePaths":463,"remoteImagePaths":464,"frontmatter":465,"imagePaths":466},[438,441,444,447,450,453,456,459,462],{"depth":30,"slug":439,"text":440},"downloaded-file-exports","Downloaded file exports",{"depth":37,"slug":442,"text":443},"png-and-jpg","PNG and JPG",{"depth":37,"slug":445,"text":446},"svg","SVG",{"depth":37,"slug":448,"text":449},"json","JSON",{"depth":37,"slug":451,"text":452},"playback-video-and-gif","Playback video and GIF",{"depth":30,"slug":454,"text":455},"clipboard-oriented-exports","Clipboard-oriented exports",{"depth":30,"slug":457,"text":458},"sharing","Sharing",{"depth":30,"slug":460,"text":461},"recommended-export-pattern","Recommended export pattern",{"depth":30,"slug":96,"text":97},[],[],{"draft":20,"title":426,"description":427},[],"figma-design-import",{"id":467,"data":469,"body":475,"filePath":476,"digest":477,"rendered":478},{"title":470,"description":471,"editUrl":16,"head":472,"template":18,"sidebar":473,"pagefind":16,"draft":20},"Figma Design Import","Fetch colors and text styles from Figma and apply them to an OpenFlowKit design system.",[],{"hidden":20,"attrs":474},{},"OpenFlowKit includes a Figma import flow for design-system work. Instead of recreating theme tokens manually, you can fetch styles from a Figma file and apply them to a diagram theme.\n\n## What you need\n\n- a Figma file URL\n- a personal access token\n\nThe token is used in your browser to fetch styles. This is a token-based import flow, not a permanent synced integration.\n\n## What the import previews\n\nThe current import flow can preview:\n\n- color styles\n- text styles\n- font families represented in those text styles\n\nAfter review, you can apply the result to a design system inside OpenFlowKit.\n\n## Best use cases\n\n- aligning diagrams with an existing design language\n- quickly creating a theme from a product or brand system\n- reducing manual token setup work before building multiple diagrams\n\n## Recommended workflow\n\n1. Open the Figma import flow.\n2. Paste the Figma file URL.\n3. Enter a personal access token.\n4. Fetch styles and review the preview.\n5. Apply the imported result to a design system.\n6. Use that design system across your diagram set.\n\n## Related pages\n\n- [Design Systems & Branding](/design-systems-branding/)\n- [Templates & Starter Flows](/templates-assets/)","src/content/docs/figma-design-import.md","fc98ef85ab6124d2",{"html":479,"metadata":480},"\u003Cp>OpenFlowKit includes a Figma import flow for design-system work. Instead of recreating theme tokens manually, you can fetch styles from a Figma file and apply them to a diagram theme.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"what-you-need\">What you need\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#what-you-need\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “What you need”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>a Figma file URL\u003C/li>\n\u003Cli>a personal access token\u003C/li>\n\u003C/ul>\n\u003Cp>The token is used in your browser to fetch styles. This is a token-based import flow, not a permanent synced integration.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"what-the-import-previews\">What the import previews\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#what-the-import-previews\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “What the import previews”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>The current import flow can preview:\u003C/p>\n\u003Cul>\n\u003Cli>color styles\u003C/li>\n\u003Cli>text styles\u003C/li>\n\u003Cli>font families represented in those text styles\u003C/li>\n\u003C/ul>\n\u003Cp>After review, you can apply the result to a design system inside OpenFlowKit.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"best-use-cases\">Best use cases\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#best-use-cases\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Best use cases”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>aligning diagrams with an existing design language\u003C/li>\n\u003Cli>quickly creating a theme from a product or brand system\u003C/li>\n\u003Cli>reducing manual token setup work before building multiple diagrams\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"recommended-workflow\">Recommended workflow\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#recommended-workflow\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Recommended workflow”\u003C/span>\u003C/a>\u003C/div>\n\u003Col>\n\u003Cli>Open the Figma import flow.\u003C/li>\n\u003Cli>Paste the Figma file URL.\u003C/li>\n\u003Cli>Enter a personal access token.\u003C/li>\n\u003Cli>Fetch styles and review the preview.\u003C/li>\n\u003Cli>Apply the imported result to a design system.\u003C/li>\n\u003Cli>Use that design system across your diagram set.\u003C/li>\n\u003C/ol>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"related-pages\">Related pages\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#related-pages\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Related pages”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/design-systems-branding/\">Design Systems & Branding\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/templates-assets/\">Templates & Starter Flows\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":481,"localImagePaths":491,"remoteImagePaths":492,"frontmatter":493,"imagePaths":494},[482,485,488,489,490],{"depth":30,"slug":483,"text":484},"what-you-need","What you need",{"depth":30,"slug":486,"text":487},"what-the-import-previews","What the import previews",{"depth":30,"slug":185,"text":186},{"depth":30,"slug":90,"text":91},{"depth":30,"slug":96,"text":97},[],[],{"draft":20,"title":470,"description":471},[],"github-embed",{"id":495,"data":497,"body":503,"filePath":504,"digest":505,"rendered":506},{"title":498,"description":499,"editUrl":16,"head":500,"template":18,"sidebar":501,"pagefind":16,"draft":20},"Embed Diagrams in GitHub","Create viewer links for OpenFlowKit diagrams and embed them into GitHub-flavored documentation workflows.",[],{"hidden":20,"attrs":502},{},"OpenFlowKit diagrams can be embedded in any GitHub README or Markdown file as interactive, read-only views. No server setup or GitHub App required.\n\n## How it works\n\nThe `/view` route renders any OpenFlow DSL passed as a URL parameter. You encode your diagram as a URL-safe string and link to it from your README.\n\n```\nhttps://openflowkit.dev/#/view?flow=BASE64_ENCODED_DSL\n```\n\nWhen someone clicks the link, they see the fully rendered, interactive diagram and can pan, zoom, and click **Open in Editor** to load it into the canvas for editing.\n\n## When this is useful\n\nUse the GitHub embed workflow when:\n\n- your team documents systems in Markdown\n- you want a richer diagram experience than a static PNG\n- you want readers to be able to open the diagram back in the editor\n\n## Step-by-step\n\n### 1. Write your diagram in OpenFlow DSL\n\n```\nflow: \"My Architecture\"\ndirection: LR\n\n[browser] client: Web App\n[system] api: API Server\n[system] db: PostgreSQL\n\nclient -> api |HTTP|\napi -> db |SQL|\n```\n\n### 2. Encode it\n\nIn the browser console, or any JavaScript environment:\n\n```js\nconst dsl = `flow: \"My Architecture\"\ndirection: LR\n\n[browser] client: Web App\n[system] api: API Server\n[system] db: PostgreSQL\n\nclient -> api |HTTP|\napi -> db |SQL|`;\n\nconst encoded = btoa(encodeURIComponent(dsl));\nconsole.log(encoded);\n// → paste this into the URL below\n```\n\n### 3. Embed in your README\n\n```markdown\n[](https://openflowkit.dev/#/view?flow=PASTE_ENCODED_VALUE_HERE)\n```\n\nThe outer image link makes GitHub show a clickable preview image. Replace `og-diagram.png` with a screenshot of your diagram for the best preview.\n\nOr link directly without an image:\n\n```markdown\n[View Architecture Diagram →](https://openflowkit.dev/#/view?flow=PASTE_ENCODED_VALUE_HERE)\n```\n\n## Updating diagrams\n\nEdit your DSL, re-encode, and update the URL in the README. Because the entire diagram is in the URL, there is no external file to keep in sync.\n\nFor diagrams you want to iterate on frequently, store the raw DSL in a `.flow` file in your repo and reference it in a comment next to the embed link:\n\n```markdown\n\u003C!-- Source: ./docs/architecture.flow -->\n[View Architecture →](https://openflowkit.dev/#/view?flow=...)\n```\n\n## Encoding helper\n\nYou can also export the viewer URL directly from the OpenFlowKit editor:\n\n1. Open your diagram in the editor\n2. Open **Studio → Code → OpenFlow DSL**\n3. Copy the DSL\n4. Encode it with the snippet above\n\n## Supported DSL features\n\nAll OpenFlow DSL node types and edge types render in the viewer:\n\n- All node types: `[system]`, `[browser]`, `[mobile]`, `[process]`, `[decision]`, `[section]`, `[annotation]`, and more\n- All edge styles: solid, dashed (`..>`), curved (`-->`), thick (`==>`)\n- Edge labels, colors, icons, and grouping sections\n\n## Related reading\n\n- [OpenFlow DSL Reference](/openflow-dsl/)\n- [Exporting Diagrams](/exporting/)\n- [Import from Structured Data](/import-from-data/)","src/content/docs/github-embed.md","abce7abf23fbf0ce",{"html":507,"metadata":508},"\u003Cp>OpenFlowKit diagrams can be embedded in any GitHub README or Markdown file as interactive, read-only views. No server setup or GitHub App required.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"how-it-works\">How it works\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#how-it-works\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “How it works”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>The \u003Ccode dir=\"auto\">/view\u003C/code> route renders any OpenFlow DSL passed as a URL parameter. You encode your diagram as a URL-safe string and link to it from your README.\u003C/p>\n\u003Cdiv class=\"expressive-code\">\u003Clink rel=\"stylesheet\" href=\"/_astro/ec.v4551.css\">\u003Cscript type=\"module\" src=\"/_astro/ec.0vx5m.js\">\u003C/script>\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"plaintext\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">https://openflowkit.dev/#/view?flow=BASE64_ENCODED_DSL\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"https://openflowkit.dev/#/view?flow=BASE64_ENCODED_DSL\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Cp>When someone clicks the link, they see the fully rendered, interactive diagram and can pan, zoom, and click \u003Cstrong>Open in Editor\u003C/strong> to load it into the canvas for editing.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"when-this-is-useful\">When this is useful\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#when-this-is-useful\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “When this is useful”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Use the GitHub embed workflow when:\u003C/p>\n\u003Cul>\n\u003Cli>your team documents systems in Markdown\u003C/li>\n\u003Cli>you want a richer diagram experience than a static PNG\u003C/li>\n\u003Cli>you want readers to be able to open the diagram back in the editor\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"step-by-step\">Step-by-step\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#step-by-step\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Step-by-step”\u003C/span>\u003C/a>\u003C/div>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"1-write-your-diagram-in-openflow-dsl\">1. Write your diagram in OpenFlow DSL\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#1-write-your-diagram-in-openflow-dsl\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “1. Write your diagram in OpenFlow DSL”\u003C/span>\u003C/a>\u003C/div>\n\u003Cdiv class=\"expressive-code\">\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"plaintext\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">flow: \"My Architecture\"\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">direction: LR\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">[browser] client: Web App\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">[system] api: API Server\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">[system] db: PostgreSQL\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">client -> api |HTTP|\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">api -> db |SQL|\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"flow: "My Architecture"direction: LR[browser] client: Web App[system] api: API Server[system] db: PostgreSQLclient -> api |HTTP|api -> db |SQL|\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"2-encode-it\">2. Encode it\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#2-encode-it\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “2. Encode it”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>In the browser console, or any JavaScript environment:\u003C/p>\n\u003Cdiv class=\"expressive-code\">\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"js\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#C792EA;--1:#8844AE\">const \u003C/span>\u003Cspan style=\"--0:#82AAFF;--1:#3B61B0\">dsl\u003C/span>\u003Cspan style=\"--0:#C792EA;--1:#8844AE\"> = \u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">`\u003C/span>\u003Cspan style=\"--0:#ECC48D;--1:#3B61B0\">flow: \"My Architecture\"\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#ECC48D;--1:#3B61B0\">direction: LR\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#ECC48D;--1:#3B61B0\">[browser] client: Web App\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#ECC48D;--1:#3B61B0\">[system] api: API Server\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#ECC48D;--1:#3B61B0\">[system] db: PostgreSQL\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#ECC48D;--1:#3B61B0\">client -> api |HTTP|\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#ECC48D;--1:#3B61B0\">api -> db |SQL|\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">`\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">;\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#C792EA;--1:#8844AE\">const \u003C/span>\u003Cspan style=\"--0:#82AAFF;--1:#3B61B0\">encoded\u003C/span>\u003Cspan style=\"--0:#C792EA;--1:#8844AE\"> = \u003C/span>\u003Cspan style=\"--0:#82AAFF;--1:#3B61B0\">btoa\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">(\u003C/span>\u003Cspan style=\"--0:#82AAFF;--1:#3B61B0\">encodeURIComponent\u003C/span>\u003Cspan style=\"--1:#403F53\">\u003Cspan style=\"--0:#D6DEEB\">(\u003C/span>\u003Cspan style=\"--0:#D7DBE0\">dsl\u003C/span>\u003Cspan style=\"--0:#D6DEEB\">));\u003C/span>\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#7FDBCA;--1:#096E72\">console\u003C/span>\u003Cspan style=\"--0:#C792EA;--1:#8844AE\">.\u003C/span>\u003Cspan style=\"--0:#82AAFF;--1:#3B61B0\">log\u003C/span>\u003Cspan style=\"--1:#403F53\">\u003Cspan style=\"--0:#D6DEEB\">(\u003C/span>\u003Cspan style=\"--0:#D7DBE0\">encoded\u003C/span>\u003Cspan style=\"--0:#D6DEEB\">);\u003C/span>\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#919F9F;--1:#5D6376\">// → paste this into the URL below\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"const dsl = `flow: "My Architecture"direction: LR[browser] client: Web App[system] api: API Server[system] db: PostgreSQLclient -> api |HTTP|api -> db |SQL|`;const encoded = btoa(encodeURIComponent(dsl));console.log(encoded);// → paste this into the URL below\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"3-embed-in-your-readme\">3. Embed in your README\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#3-embed-in-your-readme\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “3. Embed in your README”\u003C/span>\u003C/a>\u003C/div>\n\u003Cdiv class=\"expressive-code\">\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"markdown\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">[\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">![\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--0td:underline;--1:#403F53;--1td:underline\">Architecture Diagram\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">]\u003C/span>\u003Cspan style=\"--0:#7FDBCA;--1:#096E72\">(\u003C/span>\u003Cspan style=\"--0:#FF869A;--0td:underline;--1:#954F5A;--1td:underline\">https://openflowkit.dev/og-diagram.png\u003C/span>\u003Cspan style=\"--0:#7FDBCA;--1:#096E72\">)\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">]\u003C/span>\u003Cspan style=\"--0:#7FDBCA;--1:#096E72\">(\u003C/span>\u003Cspan style=\"--0:#FF869A;--0td:underline;--1:#954F5A;--1td:underline\">https://openflowkit.dev/#/view?flow=PASTE_ENCODED_VALUE_HERE\u003C/span>\u003Cspan style=\"--0:#7FDBCA;--1:#096E72\">)\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"[](https://openflowkit.dev/#/view?flow=PASTE_ENCODED_VALUE_HERE)\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Cp>The outer image link makes GitHub show a clickable preview image. Replace \u003Ccode dir=\"auto\">og-diagram.png\u003C/code> with a screenshot of your diagram for the best preview.\u003C/p>\n\u003Cp>Or link directly without an image:\u003C/p>\n\u003Cdiv class=\"expressive-code\">\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"markdown\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">[\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--0td:underline;--1:#403F53;--1td:underline\">View Architecture Diagram →\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">]\u003C/span>\u003Cspan style=\"--0:#7FDBCA;--1:#096E72\">(\u003C/span>\u003Cspan style=\"--0:#FF869A;--0td:underline;--1:#954F5A;--1td:underline\">https://openflowkit.dev/#/view?flow=PASTE_ENCODED_VALUE_HERE\u003C/span>\u003Cspan style=\"--0:#7FDBCA;--1:#096E72\">)\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"[View Architecture Diagram →](https://openflowkit.dev/#/view?flow=PASTE_ENCODED_VALUE_HERE)\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"updating-diagrams\">Updating diagrams\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#updating-diagrams\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Updating diagrams”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Edit your DSL, re-encode, and update the URL in the README. Because the entire diagram is in the URL, there is no external file to keep in sync.\u003C/p>\n\u003Cp>For diagrams you want to iterate on frequently, store the raw DSL in a \u003Ccode dir=\"auto\">.flow\u003C/code> file in your repo and reference it in a comment next to the embed link:\u003C/p>\n\u003Cdiv class=\"expressive-code\">\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"markdown\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#919F9F;--1:#5F636F\"><!-- Source: ./docs/architecture.flow -->\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">[\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--0td:underline;--1:#403F53;--1td:underline\">View Architecture →\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">]\u003C/span>\u003Cspan style=\"--0:#7FDBCA;--1:#096E72\">(\u003C/span>\u003Cspan style=\"--0:#FF869A;--0td:underline;--1:#954F5A;--1td:underline\">https://openflowkit.dev/#/view?flow=...\u003C/span>\u003Cspan style=\"--0:#7FDBCA;--1:#096E72\">)\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"\u003C!-- Source: ./docs/architecture.flow -->[View Architecture →](https://openflowkit.dev/#/view?flow=...)\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"encoding-helper\">Encoding helper\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#encoding-helper\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Encoding helper”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>You can also export the viewer URL directly from the OpenFlowKit editor:\u003C/p>\n\u003Col>\n\u003Cli>Open your diagram in the editor\u003C/li>\n\u003Cli>Open \u003Cstrong>Studio → Code → OpenFlow DSL\u003C/strong>\u003C/li>\n\u003Cli>Copy the DSL\u003C/li>\n\u003Cli>Encode it with the snippet above\u003C/li>\n\u003C/ol>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"supported-dsl-features\">Supported DSL features\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#supported-dsl-features\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Supported DSL features”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>All OpenFlow DSL node types and edge types render in the viewer:\u003C/p>\n\u003Cul>\n\u003Cli>All node types: \u003Ccode dir=\"auto\">[system]\u003C/code>, \u003Ccode dir=\"auto\">[browser]\u003C/code>, \u003Ccode dir=\"auto\">[mobile]\u003C/code>, \u003Ccode dir=\"auto\">[process]\u003C/code>, \u003Ccode dir=\"auto\">[decision]\u003C/code>, \u003Ccode dir=\"auto\">[section]\u003C/code>, \u003Ccode dir=\"auto\">[annotation]\u003C/code>, and more\u003C/li>\n\u003Cli>All edge styles: solid, dashed (\u003Ccode dir=\"auto\">..>\u003C/code>), curved (\u003Ccode dir=\"auto\">-->\u003C/code>), thick (\u003Ccode dir=\"auto\">==>\u003C/code>)\u003C/li>\n\u003Cli>Edge labels, colors, icons, and grouping sections\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"related-reading\">Related reading\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#related-reading\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Related reading”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/openflow-dsl/\">OpenFlow DSL Reference\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/exporting/\">Exporting Diagrams\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/import-from-data/\">Import from Structured Data\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":509,"localImagePaths":540,"remoteImagePaths":541,"frontmatter":542,"imagePaths":543},[510,513,516,519,522,525,528,531,534,537],{"depth":30,"slug":511,"text":512},"how-it-works","How it works",{"depth":30,"slug":514,"text":515},"when-this-is-useful","When this is useful",{"depth":30,"slug":517,"text":518},"step-by-step","Step-by-step",{"depth":37,"slug":520,"text":521},"1-write-your-diagram-in-openflow-dsl","1. Write your diagram in OpenFlow DSL",{"depth":37,"slug":523,"text":524},"2-encode-it","2. Encode it",{"depth":37,"slug":526,"text":527},"3-embed-in-your-readme","3. Embed in your README",{"depth":30,"slug":529,"text":530},"updating-diagrams","Updating diagrams",{"depth":30,"slug":532,"text":533},"encoding-helper","Encoding helper",{"depth":30,"slug":535,"text":536},"supported-dsl-features","Supported DSL features",{"depth":30,"slug":538,"text":539},"related-reading","Related reading",[],[],{"draft":20,"title":498,"description":499},[],"infra-sync",{"id":544,"data":546,"body":552,"filePath":553,"digest":554,"rendered":555},{"title":547,"description":548,"editUrl":16,"head":549,"template":18,"sidebar":550,"pagefind":16,"draft":20},"Infrastructure Sync (Living Diagrams)","Parse Terraform state, Kubernetes manifests, and Docker Compose files directly into diagrams without depending on an AI provider.",[],{"hidden":20,"attrs":551},{},"Infrastructure Sync converts real infrastructure files into OpenFlow diagrams deterministically. It works offline for supported inputs and produces diagrams that stay close to your actual infrastructure sources.\n\n## Supported formats\n\n- **Terraform State** (`.tfstate` JSON)\n- **Kubernetes YAML**\n- **Docker Compose YAML**\n- **Terraform HCL** through the AI-assisted path when needed\n\n## When to use it\n\nUse Infrastructure Sync when:\n\n- you already have real infrastructure files\n- you want deterministic parsing\n- you need an offline-friendly import path\n- you want an editable starting point for architecture review\n\n## Why it is different from AI import\n\nAI import is useful when the model needs to interpret messy or conceptual input. Infrastructure Sync is for cases where the source artifact already contains the structure and you want OpenFlowKit to parse it rather than reinterpret it.\n\nThat distinction matters for trust. If the goal is to stay close to the underlying infra source, deterministic parsing is usually the better first move.\n\n## How to use it\n\n1. Open Studio.\n2. Switch to the **Infra** tab.\n3. Select the matching format.\n4. Paste or drop the file contents.\n5. Generate the diagram.\n6. Review the summary.\n7. Apply it to the canvas.\n\n## After import\n\nThe result is still an editable OpenFlowKit diagram. After applying it to the canvas, you can:\n\n- annotate it\n- regroup it\n- run layout\n- export it\n- compare it against later snapshots\n- apply lint rules for architecture review\n\n## Best use cases\n\n- cloud topology reviews\n- current-state architecture documentation\n- infra change communication\n- turning operational source files into something easier to discuss visually\n\n## Related pages\n\n- [Import from Structured Data](/import-from-data/)\n- [Architecture Linting](/architecture-lint/)\n- [Diagram Diff & Compare](/diagram-diff/)","src/content/docs/infra-sync.md","76eac2378973d52a",{"html":556,"metadata":557},"\u003Cp>Infrastructure Sync converts real infrastructure files into OpenFlow diagrams deterministically. It works offline for supported inputs and produces diagrams that stay close to your actual infrastructure sources.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"supported-formats\">Supported formats\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#supported-formats\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Supported formats”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Cstrong>Terraform State\u003C/strong> (\u003Ccode dir=\"auto\">.tfstate\u003C/code> JSON)\u003C/li>\n\u003Cli>\u003Cstrong>Kubernetes YAML\u003C/strong>\u003C/li>\n\u003Cli>\u003Cstrong>Docker Compose YAML\u003C/strong>\u003C/li>\n\u003Cli>\u003Cstrong>Terraform HCL\u003C/strong> through the AI-assisted path when needed\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"when-to-use-it\">When to use it\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#when-to-use-it\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “When to use it”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Use Infrastructure Sync when:\u003C/p>\n\u003Cul>\n\u003Cli>you already have real infrastructure files\u003C/li>\n\u003Cli>you want deterministic parsing\u003C/li>\n\u003Cli>you need an offline-friendly import path\u003C/li>\n\u003Cli>you want an editable starting point for architecture review\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"why-it-is-different-from-ai-import\">Why it is different from AI import\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#why-it-is-different-from-ai-import\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Why it is different from AI import”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>AI import is useful when the model needs to interpret messy or conceptual input. Infrastructure Sync is for cases where the source artifact already contains the structure and you want OpenFlowKit to parse it rather than reinterpret it.\u003C/p>\n\u003Cp>That distinction matters for trust. If the goal is to stay close to the underlying infra source, deterministic parsing is usually the better first move.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"how-to-use-it\">How to use it\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#how-to-use-it\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “How to use it”\u003C/span>\u003C/a>\u003C/div>\n\u003Col>\n\u003Cli>Open Studio.\u003C/li>\n\u003Cli>Switch to the \u003Cstrong>Infra\u003C/strong> tab.\u003C/li>\n\u003Cli>Select the matching format.\u003C/li>\n\u003Cli>Paste or drop the file contents.\u003C/li>\n\u003Cli>Generate the diagram.\u003C/li>\n\u003Cli>Review the summary.\u003C/li>\n\u003Cli>Apply it to the canvas.\u003C/li>\n\u003C/ol>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"after-import\">After import\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#after-import\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “After import”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>The result is still an editable OpenFlowKit diagram. After applying it to the canvas, you can:\u003C/p>\n\u003Cul>\n\u003Cli>annotate it\u003C/li>\n\u003Cli>regroup it\u003C/li>\n\u003Cli>run layout\u003C/li>\n\u003Cli>export it\u003C/li>\n\u003Cli>compare it against later snapshots\u003C/li>\n\u003Cli>apply lint rules for architecture review\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"best-use-cases\">Best use cases\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#best-use-cases\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Best use cases”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>cloud topology reviews\u003C/li>\n\u003Cli>current-state architecture documentation\u003C/li>\n\u003Cli>infra change communication\u003C/li>\n\u003Cli>turning operational source files into something easier to discuss visually\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"related-pages\">Related pages\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#related-pages\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Related pages”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/import-from-data/\">Import from Structured Data\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/architecture-lint/\">Architecture Linting\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/diagram-diff/\">Diagram Diff & Compare\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":558,"localImagePaths":574,"remoteImagePaths":575,"frontmatter":576,"imagePaths":577},[559,562,563,566,569,572,573],{"depth":30,"slug":560,"text":561},"supported-formats","Supported formats",{"depth":30,"slug":211,"text":212},{"depth":30,"slug":564,"text":565},"why-it-is-different-from-ai-import","Why it is different from AI import",{"depth":30,"slug":567,"text":568},"how-to-use-it","How to use it",{"depth":30,"slug":570,"text":571},"after-import","After import",{"depth":30,"slug":185,"text":186},{"depth":30,"slug":96,"text":97},[],[],{"title":547,"description":548},[],"import-from-data",{"id":578,"data":580,"body":586,"filePath":587,"digest":588,"rendered":589},{"title":581,"description":582,"editUrl":16,"head":583,"template":18,"sidebar":584,"pagefind":16,"draft":20},"Import from Structured Data","Turn SQL, OpenAPI, Terraform, and Kubernetes source text into editable diagrams from the Studio import flows.",[],{"hidden":20,"attrs":585},{},"The structured import flows in Studio convert source text into editable diagrams. This is useful when you already have SQL, OpenAPI, Terraform, or Kubernetes-related content and want a visual model quickly.\n\n## How it works\n\nPaste your source text, choose the matching mode, and generate the diagram. Depending on the input type, OpenFlowKit either runs a specialized AI-assisted import or a deterministic parser-based flow.\n\nOne common pipeline is:\n\n```text\nYour text → specialized prompt → AI model → DSL → ELK layout → canvas\n```\n\nAll your existing AI provider and API key settings apply.\n\nFor fully deterministic infrastructure parsing that does not need AI, use [Infrastructure Sync](/infra-sync/).\n\n## SQL DDL → Entity-Relationship Diagram\n\nPaste one or more `CREATE TABLE` statements to generate an ER diagram.\n\nFlowPilot will:\n\n- create one node per table\n- list primary keys, foreign keys, and key columns inside each node\n- draw edges between tables that share foreign key relationships\n- group related tables where the model can infer a useful structure\n\n## OpenAPI and service-structure imports\n\nUse OpenAPI import when you want a service or endpoint-level first pass from an existing API spec.\n\n## When to choose this flow\n\nChoose structured import when a source artifact already exists and you want a fast editable draft. Choose manual editing when the diagram is primarily conceptual. Choose [Infrastructure Sync](/infra-sync/) when determinism matters more than AI interpretation.","src/content/docs/import-from-data.md","607c700fb1045d48",{"html":590,"metadata":591},"\u003Cp>The structured import flows in Studio convert source text into editable diagrams. This is useful when you already have SQL, OpenAPI, Terraform, or Kubernetes-related content and want a visual model quickly.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"how-it-works\">How it works\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#how-it-works\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “How it works”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Paste your source text, choose the matching mode, and generate the diagram. Depending on the input type, OpenFlowKit either runs a specialized AI-assisted import or a deterministic parser-based flow.\u003C/p>\n\u003Cp>One common pipeline is:\u003C/p>\n\u003Cdiv class=\"expressive-code\">\u003Clink rel=\"stylesheet\" href=\"/_astro/ec.v4551.css\">\u003Cscript type=\"module\" src=\"/_astro/ec.0vx5m.js\">\u003C/script>\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"text\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Your text → specialized prompt → AI model → DSL → ELK layout → canvas\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"Your text → specialized prompt → AI model → DSL → ELK layout → canvas\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Cp>All your existing AI provider and API key settings apply.\u003C/p>\n\u003Cp>For fully deterministic infrastructure parsing that does not need AI, use \u003Ca href=\"/infra-sync/\">Infrastructure Sync\u003C/a>.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"sql-ddl--entity-relationship-diagram\">SQL DDL → Entity-Relationship Diagram\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#sql-ddl--entity-relationship-diagram\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “SQL DDL → Entity-Relationship Diagram”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Paste one or more \u003Ccode dir=\"auto\">CREATE TABLE\u003C/code> statements to generate an ER diagram.\u003C/p>\n\u003Cp>FlowPilot will:\u003C/p>\n\u003Cul>\n\u003Cli>create one node per table\u003C/li>\n\u003Cli>list primary keys, foreign keys, and key columns inside each node\u003C/li>\n\u003Cli>draw edges between tables that share foreign key relationships\u003C/li>\n\u003Cli>group related tables where the model can infer a useful structure\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"openapi-and-service-structure-imports\">OpenAPI and service-structure imports\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#openapi-and-service-structure-imports\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “OpenAPI and service-structure imports”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Use OpenAPI import when you want a service or endpoint-level first pass from an existing API spec.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"when-to-choose-this-flow\">When to choose this flow\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#when-to-choose-this-flow\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “When to choose this flow”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Choose structured import when a source artifact already exists and you want a fast editable draft. Choose manual editing when the diagram is primarily conceptual. Choose \u003Ca href=\"/infra-sync/\">Infrastructure Sync\u003C/a> when determinism matters more than AI interpretation.\u003C/p>",{"headings":592,"localImagePaths":603,"remoteImagePaths":604,"frontmatter":605,"imagePaths":606},[593,594,597,600],{"depth":30,"slug":511,"text":512},{"depth":30,"slug":595,"text":596},"sql-ddl--entity-relationship-diagram","SQL DDL → Entity-Relationship Diagram",{"depth":30,"slug":598,"text":599},"openapi-and-service-structure-imports","OpenAPI and service-structure imports",{"depth":30,"slug":601,"text":602},"when-to-choose-this-flow","When to choose this flow",[],[],{"draft":20,"title":581,"description":582},[],"introduction",{"id":607,"data":609,"body":615,"filePath":616,"digest":617,"rendered":618},{"title":610,"description":611,"editUrl":16,"head":612,"template":18,"sidebar":613,"pagefind":16,"draft":20},"Introduction","OpenFlowKit is a local-first diagramming workspace for technical flows, architecture maps, code-backed diagrams, and AI-assisted editing.",[],{"hidden":20,"attrs":614},{},"OpenFlowKit is a local-first diagramming workspace for technical teams. It combines a visual canvas, code-friendly representations, deterministic imports, AI-assisted generation, and share/export workflows in one browser-based tool.\n\n## What OpenFlowKit is good at\n\nOpenFlowKit works best when a diagram needs to evolve instead of staying static:\n\n- start from a blank canvas, template, AI prompt, code representation, or imported source artifact\n- refine the result visually instead of treating generation as a one-shot output\n- keep a text representation close to the editor model when needed\n- export or share the same diagram across docs, design, and collaboration workflows\n\n## Core product surfaces\n\nThe current product centers on four major surfaces:\n\n- A visual canvas for direct editing\n- A command-driven launcher for search, templates, assets, layout, and design systems\n- A Studio rail for AI, code, imports, infrastructure sync, and linting\n- Export, embed, and share flows for moving work outside the editor\n\n## Diagram families in the app\n\nThe editor currently has first-class support for these diagram types:\n\n- `flowchart`\n- `stateDiagram`\n- `classDiagram`\n- `erDiagram`\n- `gitGraph`\n- `mindmap`\n- `journey`\n- `architecture`\n\nYou will also see reusable node families for general-purpose flows, architecture icon nodes, annotations, sections, images, and wireframe-style surfaces.\n\n## Core product concepts\n\n### Local-first by default\n\nDiagram state lives in the browser by default. You choose when to export, share, or join collaboration-style room flows.\n\n### Multiple input modes\n\nOpenFlowKit does not force a single source of truth. You can work visually, with AI, through OpenFlow DSL, through Mermaid, or from structured imports.\n\n### Editable outputs\n\nGenerated and imported diagrams come back into the same editable canvas model rather than becoming dead screenshots.\n\n## Start here\n\n- Read [Quick Start](/quick-start/) for the fastest first-run workflow.\n- Read [Studio Overview](/studio-overview/) for the AI, code, import, and lint flows.\n- Read [Choose an Input Mode](/choose-input-mode/) if you are not sure where to start.","src/content/docs/introduction.md","8324305db910b4bd",{"html":619,"metadata":620},"\u003Cp>OpenFlowKit is a local-first diagramming workspace for technical teams. It combines a visual canvas, code-friendly representations, deterministic imports, AI-assisted generation, and share/export workflows in one browser-based tool.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"what-openflowkit-is-good-at\">What OpenFlowKit is good at\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#what-openflowkit-is-good-at\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “What OpenFlowKit is good at”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>OpenFlowKit works best when a diagram needs to evolve instead of staying static:\u003C/p>\n\u003Cul>\n\u003Cli>start from a blank canvas, template, AI prompt, code representation, or imported source artifact\u003C/li>\n\u003Cli>refine the result visually instead of treating generation as a one-shot output\u003C/li>\n\u003Cli>keep a text representation close to the editor model when needed\u003C/li>\n\u003Cli>export or share the same diagram across docs, design, and collaboration workflows\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"core-product-surfaces\">Core product surfaces\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#core-product-surfaces\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Core product surfaces”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>The current product centers on four major surfaces:\u003C/p>\n\u003Cul>\n\u003Cli>A visual canvas for direct editing\u003C/li>\n\u003Cli>A command-driven launcher for search, templates, assets, layout, and design systems\u003C/li>\n\u003Cli>A Studio rail for AI, code, imports, infrastructure sync, and linting\u003C/li>\n\u003Cli>Export, embed, and share flows for moving work outside the editor\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"diagram-families-in-the-app\">Diagram families in the app\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#diagram-families-in-the-app\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Diagram families in the app”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>The editor currently has first-class support for these diagram types:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Ccode dir=\"auto\">flowchart\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">stateDiagram\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">classDiagram\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">erDiagram\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">gitGraph\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">mindmap\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">journey\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">architecture\u003C/code>\u003C/li>\n\u003C/ul>\n\u003Cp>You will also see reusable node families for general-purpose flows, architecture icon nodes, annotations, sections, images, and wireframe-style surfaces.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"core-product-concepts\">Core product concepts\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#core-product-concepts\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Core product concepts”\u003C/span>\u003C/a>\u003C/div>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"local-first-by-default\">Local-first by default\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#local-first-by-default\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Local-first by default”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Diagram state lives in the browser by default. You choose when to export, share, or join collaboration-style room flows.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"multiple-input-modes\">Multiple input modes\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#multiple-input-modes\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Multiple input modes”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>OpenFlowKit does not force a single source of truth. You can work visually, with AI, through OpenFlow DSL, through Mermaid, or from structured imports.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"editable-outputs\">Editable outputs\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#editable-outputs\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Editable outputs”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Generated and imported diagrams come back into the same editable canvas model rather than becoming dead screenshots.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"start-here\">Start here\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#start-here\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Start here”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>Read \u003Ca href=\"/quick-start/\">Quick Start\u003C/a> for the fastest first-run workflow.\u003C/li>\n\u003Cli>Read \u003Ca href=\"/studio-overview/\">Studio Overview\u003C/a> for the AI, code, import, and lint flows.\u003C/li>\n\u003Cli>Read \u003Ca href=\"/choose-input-mode/\">Choose an Input Mode\u003C/a> if you are not sure where to start.\u003C/li>\n\u003C/ul>",{"headings":621,"localImagePaths":646,"remoteImagePaths":647,"frontmatter":648,"imagePaths":649},[622,625,628,631,634,637,640,643],{"depth":30,"slug":623,"text":624},"what-openflowkit-is-good-at","What OpenFlowKit is good at",{"depth":30,"slug":626,"text":627},"core-product-surfaces","Core product surfaces",{"depth":30,"slug":629,"text":630},"diagram-families-in-the-app","Diagram families in the app",{"depth":30,"slug":632,"text":633},"core-product-concepts","Core product concepts",{"depth":37,"slug":635,"text":636},"local-first-by-default","Local-first by default",{"depth":37,"slug":638,"text":639},"multiple-input-modes","Multiple input modes",{"depth":37,"slug":641,"text":642},"editable-outputs","Editable outputs",{"depth":30,"slug":644,"text":645},"start-here","Start here",[],[],{"draft":20,"title":610,"description":611},[],"keyboard-shortcuts",{"id":650,"data":652,"body":658,"filePath":659,"digest":660,"rendered":661},{"title":653,"description":654,"editUrl":16,"head":655,"template":18,"sidebar":656,"pagefind":16,"draft":20},"Keyboard Shortcuts","Reference the current keyboard shortcuts for editing, navigation, and diagram authoring in OpenFlowKit.",[],{"hidden":20,"attrs":657},{},"These are the current shortcut groups defined by the app.\n\n## Essentials\n\n| Action | macOS | Windows/Linux |\n| --- | --- | --- |\n| Undo | `Cmd + Z` | `Ctrl + Z` |\n| Redo | `Cmd + Shift + Z` | `Ctrl + Shift + Z` |\n| Select all | `Cmd + A` | `Ctrl + A` |\n| Delete selection | `Delete` | `Backspace` |\n\n## Manipulation\n\n| Action | macOS | Windows/Linux |\n| --- | --- | --- |\n| Multi-select | `Shift + Click` | `Shift + Click` |\n| Selection box | `Shift + Drag` | `Shift + Drag` |\n| Duplicate | `Cmd + D` | `Ctrl + D` |\n| Duplicate-drag | `Opt + Drag` | `Alt + Drag` |\n| Copy | `Cmd + C` | `Ctrl + C` |\n| Paste | `Cmd + V` | `Ctrl + V` |\n| Group selection | `Cmd + G` | `Ctrl + G` |\n\n## Nodes\n\n| Action | macOS | Windows/Linux |\n| --- | --- | --- |\n| Add mind map child | `Tab` | `Tab` |\n| Add mind map sibling | `Enter` | `Enter` |\n| Rename selection | `F2` | `F2` |\n\n## Navigation\n\n| Action | macOS | Windows/Linux |\n| --- | --- | --- |\n| Open Command Center | `Cmd + K` | `Ctrl + K` |\n| Fit view | `Shift + 1` | `Shift + 1` |\n\n## Notes\n\n- Shortcut availability depends on editor focus and current mode.\n- Use the [Command Center](/command-center/) for many actions that do not need a dedicated shortcut.","src/content/docs/keyboard-shortcuts.md","bb85ed48f211c31c",{"html":662,"metadata":663},"\u003Cp>These are the current shortcut groups defined by the app.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"essentials\">Essentials\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#essentials\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Essentials”\u003C/span>\u003C/a>\u003C/div>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>Action\u003C/th>\u003Cth>macOS\u003C/th>\u003Cth>Windows/Linux\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd>Undo\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Cmd + Z\u003C/code>\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Ctrl + Z\u003C/code>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>Redo\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Cmd + Shift + Z\u003C/code>\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Ctrl + Shift + Z\u003C/code>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>Select all\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Cmd + A\u003C/code>\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Ctrl + A\u003C/code>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>Delete selection\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Delete\u003C/code>\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Backspace\u003C/code>\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"manipulation\">Manipulation\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#manipulation\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Manipulation”\u003C/span>\u003C/a>\u003C/div>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>Action\u003C/th>\u003Cth>macOS\u003C/th>\u003Cth>Windows/Linux\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd>Multi-select\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Shift + Click\u003C/code>\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Shift + Click\u003C/code>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>Selection box\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Shift + Drag\u003C/code>\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Shift + Drag\u003C/code>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>Duplicate\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Cmd + D\u003C/code>\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Ctrl + D\u003C/code>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>Duplicate-drag\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Opt + Drag\u003C/code>\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Alt + Drag\u003C/code>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>Copy\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Cmd + C\u003C/code>\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Ctrl + C\u003C/code>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>Paste\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Cmd + V\u003C/code>\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Ctrl + V\u003C/code>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>Group selection\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Cmd + G\u003C/code>\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Ctrl + G\u003C/code>\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"nodes\">Nodes\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#nodes\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Nodes”\u003C/span>\u003C/a>\u003C/div>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>Action\u003C/th>\u003Cth>macOS\u003C/th>\u003Cth>Windows/Linux\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd>Add mind map child\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Tab\u003C/code>\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Tab\u003C/code>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>Add mind map sibling\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Enter\u003C/code>\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Enter\u003C/code>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>Rename selection\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">F2\u003C/code>\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">F2\u003C/code>\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"navigation\">Navigation\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#navigation\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Navigation”\u003C/span>\u003C/a>\u003C/div>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>Action\u003C/th>\u003Cth>macOS\u003C/th>\u003Cth>Windows/Linux\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd>Open Command Center\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Cmd + K\u003C/code>\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Ctrl + K\u003C/code>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>Fit view\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Shift + 1\u003C/code>\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Shift + 1\u003C/code>\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"notes\">Notes\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#notes\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Notes”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>Shortcut availability depends on editor focus and current mode.\u003C/li>\n\u003Cli>Use the \u003Ca href=\"/command-center/\">Command Center\u003C/a> for many actions that do not need a dedicated shortcut.\u003C/li>\n\u003C/ul>",{"headings":664,"localImagePaths":678,"remoteImagePaths":679,"frontmatter":680,"imagePaths":681},[665,668,671,674,675],{"depth":30,"slug":666,"text":667},"essentials","Essentials",{"depth":30,"slug":669,"text":670},"manipulation","Manipulation",{"depth":30,"slug":672,"text":673},"nodes","Nodes",{"depth":30,"slug":34,"text":35},{"depth":30,"slug":676,"text":677},"notes","Notes",[],[],{"draft":20,"title":653,"description":654},[],"mermaid-vs-openflow",{"id":682,"data":684,"body":690,"filePath":691,"digest":692,"rendered":693},{"title":685,"description":686,"editUrl":16,"head":687,"template":18,"sidebar":688,"pagefind":16,"draft":20},"Mermaid vs OpenFlow","Decide whether Mermaid or OpenFlow DSL is the better text representation for your OpenFlowKit workflow.",[],{"hidden":20,"attrs":689},{},"Mermaid and OpenFlow DSL solve adjacent but different problems in OpenFlowKit.\n\n## Choose Mermaid when\n\n- the diagram must live in Markdown, docs sites, or README files\n- your team already reviews Mermaid in pull requests\n- external tooling expects Mermaid syntax\n\n## Choose OpenFlow DSL when\n\n- the diagram is primarily maintained inside OpenFlowKit\n- you want a format closer to the native graph model\n- you want fewer compatibility constraints during editing\n- you want a better target for OpenFlowKit-specific AI and Studio workflows\n\n## The real difference\n\nMermaid is the better portability format.\n\nOpenFlow DSL is the better editor-native format.\n\nThat usually means:\n\n- Mermaid is better for publication and interoperability\n- OpenFlow DSL is better for fidelity inside the product\n\n## Recommended team pattern\n\nIf you need both:\n\n- treat JSON or OpenFlow DSL as the editing master\n- publish Mermaid as a downstream representation when required\n\nThis avoids losing detail every time the diagram moves between ecosystems.\n\n## Related pages\n\n- [Mermaid Integration](/mermaid-integration/)\n- [OpenFlow DSL](/openflow-dsl/)\n- [Choose an Export Format](/choose-export-format/)","src/content/docs/mermaid-vs-openflow.md","1e99fc06d19af83c",{"html":694,"metadata":695},"\u003Cp>Mermaid and OpenFlow DSL solve adjacent but different problems in OpenFlowKit.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"choose-mermaid-when\">Choose Mermaid when\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#choose-mermaid-when\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Choose Mermaid when”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>the diagram must live in Markdown, docs sites, or README files\u003C/li>\n\u003Cli>your team already reviews Mermaid in pull requests\u003C/li>\n\u003Cli>external tooling expects Mermaid syntax\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"choose-openflow-dsl-when\">Choose OpenFlow DSL when\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#choose-openflow-dsl-when\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Choose OpenFlow DSL when”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>the diagram is primarily maintained inside OpenFlowKit\u003C/li>\n\u003Cli>you want a format closer to the native graph model\u003C/li>\n\u003Cli>you want fewer compatibility constraints during editing\u003C/li>\n\u003Cli>you want a better target for OpenFlowKit-specific AI and Studio workflows\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"the-real-difference\">The real difference\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#the-real-difference\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “The real difference”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Mermaid is the better portability format.\u003C/p>\n\u003Cp>OpenFlow DSL is the better editor-native format.\u003C/p>\n\u003Cp>That usually means:\u003C/p>\n\u003Cul>\n\u003Cli>Mermaid is better for publication and interoperability\u003C/li>\n\u003Cli>OpenFlow DSL is better for fidelity inside the product\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"recommended-team-pattern\">Recommended team pattern\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#recommended-team-pattern\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Recommended team pattern”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>If you need both:\u003C/p>\n\u003Cul>\n\u003Cli>treat JSON or OpenFlow DSL as the editing master\u003C/li>\n\u003Cli>publish Mermaid as a downstream representation when required\u003C/li>\n\u003C/ul>\n\u003Cp>This avoids losing detail every time the diagram moves between ecosystems.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"related-pages\">Related pages\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#related-pages\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Related pages”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/mermaid-integration/\">Mermaid Integration\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/openflow-dsl/\">OpenFlow DSL\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/choose-export-format/\">Choose an Export Format\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":696,"localImagePaths":710,"remoteImagePaths":711,"frontmatter":712,"imagePaths":713},[697,700,703,706,709],{"depth":30,"slug":698,"text":699},"choose-mermaid-when","Choose Mermaid when",{"depth":30,"slug":701,"text":702},"choose-openflow-dsl-when","Choose OpenFlow DSL when",{"depth":30,"slug":704,"text":705},"the-real-difference","The real difference",{"depth":30,"slug":707,"text":708},"recommended-team-pattern","Recommended team pattern",{"depth":30,"slug":96,"text":97},[],[],{"draft":20,"title":685,"description":686},[],"mermaid-integration",{"id":714,"data":716,"body":722,"filePath":723,"digest":724,"rendered":725},{"title":717,"description":718,"editUrl":16,"head":719,"template":18,"sidebar":720,"pagefind":16,"draft":20},"Mermaid Integration","Import, edit, validate, and export Mermaid while keeping OpenFlowKit as the visual editing workspace.",[],{"hidden":20,"attrs":721},{},"OpenFlowKit includes Mermaid import, editing, and export paths, but Mermaid should be treated as a compatibility workflow rather than the editor's only source of truth.\n\n## What Mermaid support is for\n\nUse Mermaid support when:\n\n- you already have Mermaid diagrams in docs or repos\n- you want a Markdown-friendly text format\n- another system in your workflow expects Mermaid syntax\n\n## Mermaid in Studio\n\nThe Studio code rail has a dedicated Mermaid mode. From there you can:\n\n- view Mermaid generated from the current canvas\n- edit Mermaid directly\n- apply the parsed graph back into the editor\n- review diagnostics when parsing fails\n\nThis makes Mermaid useful as a bridge between documentation-centric workflows and a richer visual editor.\n\n## Mermaid export\n\nThe export menu can copy Mermaid text for the current graph to the clipboard. That is especially useful when a diagram needs to live in Markdown or Git-based documentation after you finish editing it visually.\n\n## Fidelity expectations\n\nMermaid round-tripping is useful, but not every OpenFlowKit concept maps perfectly. Be especially careful with:\n\n- highly visual hand-tuned layouts\n- provider-specific architecture icon presentation\n- family-specific semantics that are richer in the native graph model\n\nIf exact recovery matters, export JSON alongside Mermaid.\n\n## Recommended pattern\n\nUse Mermaid as the publishing or portability layer, not always the editing master. If you need both portability and fidelity, keep JSON or OpenFlow DSL as the authoritative version and regenerate Mermaid when needed.\n\n## Related pages\n\n- [Mermaid vs OpenFlow](/mermaid-vs-openflow/)\n- [OpenFlow DSL](/openflow-dsl/)\n- [Choose an Export Format](/choose-export-format/)","src/content/docs/mermaid-integration.md","dcd8d7c0a7b1375a",{"html":726,"metadata":727},"\u003Cp>OpenFlowKit includes Mermaid import, editing, and export paths, but Mermaid should be treated as a compatibility workflow rather than the editor’s only source of truth.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"what-mermaid-support-is-for\">What Mermaid support is for\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#what-mermaid-support-is-for\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “What Mermaid support is for”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Use Mermaid support when:\u003C/p>\n\u003Cul>\n\u003Cli>you already have Mermaid diagrams in docs or repos\u003C/li>\n\u003Cli>you want a Markdown-friendly text format\u003C/li>\n\u003Cli>another system in your workflow expects Mermaid syntax\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"mermaid-in-studio\">Mermaid in Studio\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#mermaid-in-studio\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Mermaid in Studio”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>The Studio code rail has a dedicated Mermaid mode. From there you can:\u003C/p>\n\u003Cul>\n\u003Cli>view Mermaid generated from the current canvas\u003C/li>\n\u003Cli>edit Mermaid directly\u003C/li>\n\u003Cli>apply the parsed graph back into the editor\u003C/li>\n\u003Cli>review diagnostics when parsing fails\u003C/li>\n\u003C/ul>\n\u003Cp>This makes Mermaid useful as a bridge between documentation-centric workflows and a richer visual editor.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"mermaid-export\">Mermaid export\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#mermaid-export\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Mermaid export”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>The export menu can copy Mermaid text for the current graph to the clipboard. That is especially useful when a diagram needs to live in Markdown or Git-based documentation after you finish editing it visually.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"fidelity-expectations\">Fidelity expectations\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#fidelity-expectations\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Fidelity expectations”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Mermaid round-tripping is useful, but not every OpenFlowKit concept maps perfectly. Be especially careful with:\u003C/p>\n\u003Cul>\n\u003Cli>highly visual hand-tuned layouts\u003C/li>\n\u003Cli>provider-specific architecture icon presentation\u003C/li>\n\u003Cli>family-specific semantics that are richer in the native graph model\u003C/li>\n\u003C/ul>\n\u003Cp>If exact recovery matters, export JSON alongside Mermaid.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"recommended-pattern\">Recommended pattern\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#recommended-pattern\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Recommended pattern”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Use Mermaid as the publishing or portability layer, not always the editing master. If you need both portability and fidelity, keep JSON or OpenFlow DSL as the authoritative version and regenerate Mermaid when needed.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"related-pages\">Related pages\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#related-pages\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Related pages”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/mermaid-vs-openflow/\">Mermaid vs OpenFlow\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/openflow-dsl/\">OpenFlow DSL\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/choose-export-format/\">Choose an Export Format\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":728,"localImagePaths":743,"remoteImagePaths":744,"frontmatter":745,"imagePaths":746},[729,732,735,738,741,742],{"depth":30,"slug":730,"text":731},"what-mermaid-support-is-for","What Mermaid support is for",{"depth":30,"slug":733,"text":734},"mermaid-in-studio","Mermaid in Studio",{"depth":30,"slug":736,"text":737},"mermaid-export","Mermaid export",{"depth":30,"slug":739,"text":740},"fidelity-expectations","Fidelity expectations",{"depth":30,"slug":127,"text":128},{"depth":30,"slug":96,"text":97},[],[],{"draft":20,"title":717,"description":718},[],"local-first-diagramming",{"id":747,"data":749,"body":755,"filePath":756,"digest":757,"rendered":758},{"title":750,"description":751,"editUrl":16,"head":752,"template":18,"sidebar":753,"pagefind":16,"draft":20},"Local-First Diagramming","Understand what local-first means in OpenFlowKit and how it affects privacy, sharing, and day-to-day diagram work.",[],{"hidden":20,"attrs":754},{},"Local-first means your diagram work starts in the browser, not on a required hosted backend. In OpenFlowKit, that changes how you think about privacy, portability, and failure modes.\n\n## What local-first means here\n\nIn practical terms:\n\n- your diagram state lives in the browser by default\n- AI usage can follow a BYOK model instead of mandatory platform credits\n- collaboration can fall back to local-only behavior instead of blocking all work\n- export is explicit, so you decide when a diagram leaves the current device\n\n## Why it matters\n\nLocal-first workflows are useful when:\n\n- you are working with internal architecture diagrams\n- you do not want to depend on account creation for first use\n- you need a browser-native tool that still works well as a solo editor\n- you want control over when artifacts become shared assets\n\n## What it does not mean\n\nLocal-first does not mean isolated forever. OpenFlowKit still supports:\n\n- exports for images, JSON, text formats, and design-tool handoff\n- collaboration rooms and share links\n- embed flows for docs and GitHub-style usage\n\nIt means those are explicit actions instead of prerequisites.\n\n## Recommended next reads\n\n- [Introduction](/introduction/)\n- [Collaboration & Sharing](/collaboration-sharing/)\n- [Choose an Export Format](/choose-export-format/)","src/content/docs/local-first-diagramming.md","f5db44ee6e2b8f70",{"html":759,"metadata":760},"\u003Cp>Local-first means your diagram work starts in the browser, not on a required hosted backend. In OpenFlowKit, that changes how you think about privacy, portability, and failure modes.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"what-local-first-means-here\">What local-first means here\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#what-local-first-means-here\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “What local-first means here”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>In practical terms:\u003C/p>\n\u003Cul>\n\u003Cli>your diagram state lives in the browser by default\u003C/li>\n\u003Cli>AI usage can follow a BYOK model instead of mandatory platform credits\u003C/li>\n\u003Cli>collaboration can fall back to local-only behavior instead of blocking all work\u003C/li>\n\u003Cli>export is explicit, so you decide when a diagram leaves the current device\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"why-it-matters\">Why it matters\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#why-it-matters\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Why it matters”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Local-first workflows are useful when:\u003C/p>\n\u003Cul>\n\u003Cli>you are working with internal architecture diagrams\u003C/li>\n\u003Cli>you do not want to depend on account creation for first use\u003C/li>\n\u003Cli>you need a browser-native tool that still works well as a solo editor\u003C/li>\n\u003Cli>you want control over when artifacts become shared assets\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"what-it-does-not-mean\">What it does not mean\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#what-it-does-not-mean\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “What it does not mean”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Local-first does not mean isolated forever. OpenFlowKit still supports:\u003C/p>\n\u003Cul>\n\u003Cli>exports for images, JSON, text formats, and design-tool handoff\u003C/li>\n\u003Cli>collaboration rooms and share links\u003C/li>\n\u003Cli>embed flows for docs and GitHub-style usage\u003C/li>\n\u003C/ul>\n\u003Cp>It means those are explicit actions instead of prerequisites.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"recommended-next-reads\">Recommended next reads\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#recommended-next-reads\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Recommended next reads”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/introduction/\">Introduction\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/collaboration-sharing/\">Collaboration & Sharing\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/choose-export-format/\">Choose an Export Format\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":761,"localImagePaths":772,"remoteImagePaths":773,"frontmatter":774,"imagePaths":775},[762,765,766,769],{"depth":30,"slug":763,"text":764},"what-local-first-means-here","What local-first means here",{"depth":30,"slug":416,"text":417},{"depth":30,"slug":767,"text":768},"what-it-does-not-mean","What it does not mean",{"depth":30,"slug":770,"text":771},"recommended-next-reads","Recommended next reads",[],[],{"draft":20,"title":750,"description":751},[],"node-types",{"id":776,"data":778,"body":784,"filePath":785,"digest":786,"rendered":787},{"title":779,"description":780,"editUrl":16,"head":781,"template":18,"sidebar":782,"pagefind":16,"draft":20},"Node Types","Understand the core node families available in OpenFlowKit and how they map to different diagram workflows.",[],{"hidden":20,"attrs":783},{},"OpenFlowKit supports both generic and family-specific nodes. The node model in the app covers flow, architecture, mind map, journey, class, ER, annotation, grouping, and media use cases.\n\n## Core node families\n\n### Flow nodes\n\nThese are the default building blocks for most workflows:\n\n- `start`\n- `process`\n- `decision`\n- `end`\n- `custom`\n\nUse them when the diagram is primarily procedural and you do not need a richer family model.\n\n### Mind map nodes\n\nMind map nodes carry extra structure such as:\n\n- depth\n- parent id\n- left/right side\n- branch style\n\nThey are better than plain flow nodes when hierarchy and branch structure matter more than route semantics.\n\n### Architecture and asset-backed nodes\n\nArchitecture-oriented diagrams can use provider-backed icon nodes and related visual grouping structures such as sections and boundaries.\n\nThese are useful when the diagram should read like a system topology instead of a generic flowchart.\n\n### Journey and experience nodes\n\nJourney-oriented nodes help when the diagram represents user or process stages instead of system topology. They are a better fit when actor, stage, and score-like information matter.\n\n### Media and wireframe nodes\n\nOpenFlowKit also supports image nodes and browser/mobile wireframe-style nodes for product, UX, and annotated architecture workflows.\n\n## How to choose\n\nChoose the node family that matches the semantics of the work, not just the shape you want on the canvas.\n\n- Use flow nodes for generic process logic.\n- Use architecture nodes for system and infrastructure modeling.\n- Use mind map nodes for branching ideation.\n- Use journey nodes for experience mapping.\n\n## Related pages\n\n- [Diagram Families](/diagram-families/)\n- [Properties Panel](/properties-panel/)\n- [Templates & Starter Flows](/templates-assets/)","src/content/docs/node-types.md","652c6df2ea8cc805",{"html":788,"metadata":789},"\u003Cp>OpenFlowKit supports both generic and family-specific nodes. The node model in the app covers flow, architecture, mind map, journey, class, ER, annotation, grouping, and media use cases.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"core-node-families\">Core node families\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#core-node-families\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Core node families”\u003C/span>\u003C/a>\u003C/div>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"flow-nodes\">Flow nodes\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#flow-nodes\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Flow nodes”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>These are the default building blocks for most workflows:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Ccode dir=\"auto\">start\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">process\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">decision\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">end\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">custom\u003C/code>\u003C/li>\n\u003C/ul>\n\u003Cp>Use them when the diagram is primarily procedural and you do not need a richer family model.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"mind-map-nodes\">Mind map nodes\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#mind-map-nodes\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Mind map nodes”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Mind map nodes carry extra structure such as:\u003C/p>\n\u003Cul>\n\u003Cli>depth\u003C/li>\n\u003Cli>parent id\u003C/li>\n\u003Cli>left/right side\u003C/li>\n\u003Cli>branch style\u003C/li>\n\u003C/ul>\n\u003Cp>They are better than plain flow nodes when hierarchy and branch structure matter more than route semantics.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"architecture-and-asset-backed-nodes\">Architecture and asset-backed nodes\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#architecture-and-asset-backed-nodes\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Architecture and asset-backed nodes”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Architecture-oriented diagrams can use provider-backed icon nodes and related visual grouping structures such as sections and boundaries.\u003C/p>\n\u003Cp>These are useful when the diagram should read like a system topology instead of a generic flowchart.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"journey-and-experience-nodes\">Journey and experience nodes\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#journey-and-experience-nodes\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Journey and experience nodes”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Journey-oriented nodes help when the diagram represents user or process stages instead of system topology. They are a better fit when actor, stage, and score-like information matter.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"media-and-wireframe-nodes\">Media and wireframe nodes\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#media-and-wireframe-nodes\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Media and wireframe nodes”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>OpenFlowKit also supports image nodes and browser/mobile wireframe-style nodes for product, UX, and annotated architecture workflows.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"how-to-choose\">How to choose\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#how-to-choose\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “How to choose”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Choose the node family that matches the semantics of the work, not just the shape you want on the canvas.\u003C/p>\n\u003Cul>\n\u003Cli>Use flow nodes for generic process logic.\u003C/li>\n\u003Cli>Use architecture nodes for system and infrastructure modeling.\u003C/li>\n\u003Cli>Use mind map nodes for branching ideation.\u003C/li>\n\u003Cli>Use journey nodes for experience mapping.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"related-pages\">Related pages\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#related-pages\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Related pages”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/diagram-families/\">Diagram Families\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/properties-panel/\">Properties Panel\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/templates-assets/\">Templates & Starter Flows\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":790,"localImagePaths":811,"remoteImagePaths":812,"frontmatter":813,"imagePaths":814},[791,794,797,800,803,806,809,810],{"depth":30,"slug":792,"text":793},"core-node-families","Core node families",{"depth":37,"slug":795,"text":796},"flow-nodes","Flow nodes",{"depth":37,"slug":798,"text":799},"mind-map-nodes","Mind map nodes",{"depth":37,"slug":801,"text":802},"architecture-and-asset-backed-nodes","Architecture and asset-backed nodes",{"depth":37,"slug":804,"text":805},"journey-and-experience-nodes","Journey and experience nodes",{"depth":37,"slug":807,"text":808},"media-and-wireframe-nodes","Media and wireframe nodes",{"depth":30,"slug":413,"text":414},{"depth":30,"slug":96,"text":97},[],[],{"draft":20,"title":779,"description":780},[],"payment-flow",{"id":815,"data":817,"body":823,"filePath":824,"digest":825,"rendered":826},{"title":818,"description":819,"editUrl":16,"head":820,"template":18,"sidebar":821,"pagefind":16,"draft":20},"Payment Flow Visualization","Model subscription, checkout, retry, and exception-heavy payment systems in OpenFlowKit.",[],{"hidden":20,"attrs":822},{},"Payment systems are one of the best use cases for OpenFlowKit because they mix clear business stages with asynchronous branches, retries, and exception handling.\n\nThey are also easy to get wrong if the diagram only shows the happy path. OpenFlowKit is a good fit because it lets you start rough, then keep adding operational detail.\n\n## What a useful payment diagram should include\n\nDo not stop at the happy path. Most payment diagrams need:\n\n- entry event\n- authorization or charge attempt\n- success and failure branches\n- retry logic\n- manual review path\n- customer notification path\n- final account state\n\nDepending on the workflow, you may also need:\n\n- fraud or risk review\n- webhook handling\n- customer notifications\n- ledger or billing-state updates\n\n## Suggested node pattern\n\nFor a typical subscription or checkout diagram:\n\n- `start` for invoice due or checkout initiated\n- `process` for charge, webhook handling, notifications, and retries\n- `decision` for gateway outcomes\n- `end` for terminal account states\n\n## Strong starting options\n\nYou can begin from:\n\n- a blank flowchart canvas\n- a payment or SaaS-oriented template\n- an AI prompt in FlowPilot\n- OpenFlow DSL if the flow should be reviewed as text\n\n## Example prompt\n\n```text\nCreate a payment recovery flow for a SaaS subscription.\nInclude invoice due, charge attempt, charge success decision,\nsmart retries, request updated card, manual fraud review,\ncustomer notification, subscription active, and account downgrade.\n```\n\n## Recommended workflow\n\n1. generate or sketch the happy path\n2. add all failure and retry branches\n3. label edges so business outcomes are explicit\n4. use layout to normalize spacing\n5. export a visual format for stakeholders and JSON for editable retention\n\n## Why this works well in OpenFlowKit\n\n- branch labeling is easy on edges\n- auto layout cleans up decision-heavy graphs\n- JSON export gives you a high-fidelity editable backup\n- Mermaid and PlantUML export help when finance or platform teams need docs-friendly formats\n\n## Recommended review pattern\n\nAfter drafting:\n\n1. label every branch edge\n2. verify timeout and retry behavior explicitly\n3. add notes for webhook or gateway dependencies\n4. save a manual snapshot before larger revisions\n\n- **Shareability**: Everyone from the PM to the backend engineer needs to see the same flow.\n- **Clarity**: Mapping out happy paths, failures, and webhook retries visually is much easier than reading through Stripe API documentation.\n- **Speed**: Use the [Command Center](/docs/en/command-center) and AI to generate the boilerplate flow in seconds.\n\n## Example: Stripe Checkout Flow\n\nHere is a common Stripe Checkout implementation mapped out. Notice how we use different node shapes to distinguish between client-side actions, server-side actions, and third-party API calls.\n\n```mermaid\nsequenceDiagram\n participant User\n participant Client as Frontend (React)\n participant Server as Backend (Node.js)\n participant Stripe\n \n User->>Client: Clicks \"Pay $50\"\n Client->>Server: POST /create-checkout-session\n Server->>Stripe: API Request: Create Session\n Stripe-->>Server: Returns Session ID & URL\n Server-->>Client: Returns Checkout URL\n \n Client->>User: Redirects to Stripe Checkout\n User->>Stripe: Enters Credit Card Info\n \n alt Payment Success\n Stripe-->>User: Redirect to Success URL\n Stripe->>Server: Webhook event: checkout.session.completed\n Server->>Server: Fulfills Order / Updates DB\n else Payment Failure\n Stripe-->>User: Redirect to Cancel URL\n User->>Client: Try Again\n end\n```\n\n## Tips for Better Payment Diagrams\n\n1. **Use Swimlanes**: Group actions by responsibility. Put the User in one lane, your API in another, and the Payment Processor (Stripe/PayPal) in a third.\n2. **Color Code**: Use green for happy paths (success), red for failure states (declines/insufficient funds), and gray for retries.\n3. **Explicit Callouts**: Use the **Annotation Node** to document exact webhook payloads or secret keys needed at specific steps.\n\n## AI Prompt Example\n\nTo generate a similar flow using [Ask Flowpilot](/docs/en/ask-flowpilot):\n\n> `\"Generate a flowchart showing a subscription payment flow using Braintree. Include the client requesting a client token, the server generating it, the user submitting a nonce, and the final server-side transaction creation. Show both success and failure branches.\"`\n\nNeed to present this to your team? Try the [Playback History](/docs/en/playback-history) feature to walk through the payment sequence step-by-step.","src/content/docs/payment-flow.md","ca6dd5261c4251e6",{"html":827,"metadata":828},"\u003Cp>Payment systems are one of the best use cases for OpenFlowKit because they mix clear business stages with asynchronous branches, retries, and exception handling.\u003C/p>\n\u003Cp>They are also easy to get wrong if the diagram only shows the happy path. OpenFlowKit is a good fit because it lets you start rough, then keep adding operational detail.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"what-a-useful-payment-diagram-should-include\">What a useful payment diagram should include\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#what-a-useful-payment-diagram-should-include\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “What a useful payment diagram should include”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Do not stop at the happy path. Most payment diagrams need:\u003C/p>\n\u003Cul>\n\u003Cli>entry event\u003C/li>\n\u003Cli>authorization or charge attempt\u003C/li>\n\u003Cli>success and failure branches\u003C/li>\n\u003Cli>retry logic\u003C/li>\n\u003Cli>manual review path\u003C/li>\n\u003Cli>customer notification path\u003C/li>\n\u003Cli>final account state\u003C/li>\n\u003C/ul>\n\u003Cp>Depending on the workflow, you may also need:\u003C/p>\n\u003Cul>\n\u003Cli>fraud or risk review\u003C/li>\n\u003Cli>webhook handling\u003C/li>\n\u003Cli>customer notifications\u003C/li>\n\u003Cli>ledger or billing-state updates\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"suggested-node-pattern\">Suggested node pattern\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#suggested-node-pattern\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Suggested node pattern”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>For a typical subscription or checkout diagram:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Ccode dir=\"auto\">start\u003C/code> for invoice due or checkout initiated\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">process\u003C/code> for charge, webhook handling, notifications, and retries\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">decision\u003C/code> for gateway outcomes\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">end\u003C/code> for terminal account states\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"strong-starting-options\">Strong starting options\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#strong-starting-options\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Strong starting options”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>You can begin from:\u003C/p>\n\u003Cul>\n\u003Cli>a blank flowchart canvas\u003C/li>\n\u003Cli>a payment or SaaS-oriented template\u003C/li>\n\u003Cli>an AI prompt in FlowPilot\u003C/li>\n\u003Cli>OpenFlow DSL if the flow should be reviewed as text\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"example-prompt\">Example prompt\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#example-prompt\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Example prompt”\u003C/span>\u003C/a>\u003C/div>\n\u003Cdiv class=\"expressive-code\">\u003Clink rel=\"stylesheet\" href=\"/_astro/ec.v4551.css\">\u003Cscript type=\"module\" src=\"/_astro/ec.0vx5m.js\">\u003C/script>\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"text\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Create a payment recovery flow for a SaaS subscription.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Include invoice due, charge attempt, charge success decision,\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">smart retries, request updated card, manual fraud review,\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">customer notification, subscription active, and account downgrade.\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"Create a payment recovery flow for a SaaS subscription.Include invoice due, charge attempt, charge success decision,smart retries, request updated card, manual fraud review,customer notification, subscription active, and account downgrade.\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"recommended-workflow\">Recommended workflow\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#recommended-workflow\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Recommended workflow”\u003C/span>\u003C/a>\u003C/div>\n\u003Col>\n\u003Cli>generate or sketch the happy path\u003C/li>\n\u003Cli>add all failure and retry branches\u003C/li>\n\u003Cli>label edges so business outcomes are explicit\u003C/li>\n\u003Cli>use layout to normalize spacing\u003C/li>\n\u003Cli>export a visual format for stakeholders and JSON for editable retention\u003C/li>\n\u003C/ol>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"why-this-works-well-in-openflowkit\">Why this works well in OpenFlowKit\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#why-this-works-well-in-openflowkit\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Why this works well in OpenFlowKit”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>branch labeling is easy on edges\u003C/li>\n\u003Cli>auto layout cleans up decision-heavy graphs\u003C/li>\n\u003Cli>JSON export gives you a high-fidelity editable backup\u003C/li>\n\u003Cli>Mermaid and PlantUML export help when finance or platform teams need docs-friendly formats\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"recommended-review-pattern\">Recommended review pattern\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#recommended-review-pattern\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Recommended review pattern”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>After drafting:\u003C/p>\n\u003Col>\n\u003Cli>label every branch edge\u003C/li>\n\u003Cli>verify timeout and retry behavior explicitly\u003C/li>\n\u003Cli>add notes for webhook or gateway dependencies\u003C/li>\n\u003Cli>save a manual snapshot before larger revisions\u003C/li>\n\u003C/ol>\n\u003Cul>\n\u003Cli>\u003Cstrong>Shareability\u003C/strong>: Everyone from the PM to the backend engineer needs to see the same flow.\u003C/li>\n\u003Cli>\u003Cstrong>Clarity\u003C/strong>: Mapping out happy paths, failures, and webhook retries visually is much easier than reading through Stripe API documentation.\u003C/li>\n\u003Cli>\u003Cstrong>Speed\u003C/strong>: Use the \u003Ca href=\"/docs/en/command-center\">Command Center\u003C/a> and AI to generate the boilerplate flow in seconds.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"example-stripe-checkout-flow\">Example: Stripe Checkout Flow\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#example-stripe-checkout-flow\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Example: Stripe Checkout Flow”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Here is a common Stripe Checkout implementation mapped out. Notice how we use different node shapes to distinguish between client-side actions, server-side actions, and third-party API calls.\u003C/p>\n\u003Cdiv class=\"expressive-code\">\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"mermaid\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">sequenceDiagram\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">participant User\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">participant Client as Frontend (React)\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">participant Server as Backend (Node.js)\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">participant Stripe\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">User->>Client: Clicks \"Pay $50\"\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">Client->>Server: POST /create-checkout-session\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">Server->>Stripe: API Request: Create Session\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">Stripe-->>Server: Returns Session ID & URL\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">Server-->>Client: Returns Checkout URL\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">Client->>User: Redirects to Stripe Checkout\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">User->>Stripe: Enters Credit Card Info\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\n\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">alt Payment Success\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">Stripe-->>User: Redirect to Success URL\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">Stripe->>Server: Webhook event: checkout.session.completed\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">Server->>Server: Fulfills Order / Updates DB\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">else Payment Failure\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">Stripe-->>User: Redirect to Cancel URL\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">User->>Client: Try Again\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan class=\"indent\">\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\"> \u003C/span>\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">end\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"sequenceDiagram participant User participant Client as Frontend (React) participant Server as Backend (Node.js) participant Stripe User->>Client: Clicks "Pay $50" Client->>Server: POST /create-checkout-session Server->>Stripe: API Request: Create Session Stripe-->>Server: Returns Session ID & URL Server-->>Client: Returns Checkout URL Client->>User: Redirects to Stripe Checkout User->>Stripe: Enters Credit Card Info alt Payment Success Stripe-->>User: Redirect to Success URL Stripe->>Server: Webhook event: checkout.session.completed Server->>Server: Fulfills Order / Updates DB else Payment Failure Stripe-->>User: Redirect to Cancel URL User->>Client: Try Again end\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"tips-for-better-payment-diagrams\">Tips for Better Payment Diagrams\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#tips-for-better-payment-diagrams\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Tips for Better Payment Diagrams”\u003C/span>\u003C/a>\u003C/div>\n\u003Col>\n\u003Cli>\u003Cstrong>Use Swimlanes\u003C/strong>: Group actions by responsibility. Put the User in one lane, your API in another, and the Payment Processor (Stripe/PayPal) in a third.\u003C/li>\n\u003Cli>\u003Cstrong>Color Code\u003C/strong>: Use green for happy paths (success), red for failure states (declines/insufficient funds), and gray for retries.\u003C/li>\n\u003Cli>\u003Cstrong>Explicit Callouts\u003C/strong>: Use the \u003Cstrong>Annotation Node\u003C/strong> to document exact webhook payloads or secret keys needed at specific steps.\u003C/li>\n\u003C/ol>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"ai-prompt-example\">AI Prompt Example\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#ai-prompt-example\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “AI Prompt Example”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>To generate a similar flow using \u003Ca href=\"/docs/en/ask-flowpilot\">Ask Flowpilot\u003C/a>:\u003C/p>\n\u003Cblockquote>\n\u003Cp>\u003Ccode dir=\"auto\">\"Generate a flowchart showing a subscription payment flow using Braintree. Include the client requesting a client token, the server generating it, the user submitting a nonce, and the final server-side transaction creation. Show both success and failure branches.\"\u003C/code>\u003C/p>\n\u003C/blockquote>\n\u003Cp>Need to present this to your team? Try the \u003Ca href=\"/docs/en/playback-history\">Playback History\u003C/a> feature to walk through the payment sequence step-by-step.\u003C/p>",{"headings":829,"localImagePaths":856,"remoteImagePaths":857,"frontmatter":858,"imagePaths":859},[830,833,836,839,840,841,844,847,850,853],{"depth":30,"slug":831,"text":832},"what-a-useful-payment-diagram-should-include","What a useful payment diagram should include",{"depth":30,"slug":834,"text":835},"suggested-node-pattern","Suggested node pattern",{"depth":30,"slug":837,"text":838},"strong-starting-options","Strong starting options",{"depth":30,"slug":319,"text":320},{"depth":30,"slug":90,"text":91},{"depth":30,"slug":842,"text":843},"why-this-works-well-in-openflowkit","Why this works well in OpenFlowKit",{"depth":30,"slug":845,"text":846},"recommended-review-pattern","Recommended review pattern",{"depth":30,"slug":848,"text":849},"example-stripe-checkout-flow","Example: Stripe Checkout Flow",{"depth":30,"slug":851,"text":852},"tips-for-better-payment-diagrams","Tips for Better Payment Diagrams",{"depth":30,"slug":854,"text":855},"ai-prompt-example","AI Prompt Example",[],[],{"draft":20,"title":818,"description":819},[],"openflow-dsl",{"id":860,"data":862,"body":868,"filePath":869,"digest":870,"rendered":871},{"title":863,"description":864,"editUrl":16,"head":865,"template":18,"sidebar":866,"pagefind":16,"draft":20},"OpenFlow DSL","Use OpenFlow DSL as the editor-native text representation for OpenFlowKit diagrams.",[],{"hidden":20,"attrs":867},{},"OpenFlow DSL is the native text representation used by OpenFlowKit Studio. It is the best option when you want a code-first representation that stays close to the editor's own graph model.\n\n## Where it fits\n\nUse OpenFlow DSL when you want:\n\n- a readable editor-native syntax\n- deterministic structural edits before layout\n- a better fit than Mermaid for OpenFlowKit-specific workflows\n- an easier target for AI-generated code than raw JSON\n\nThe Studio code panel can generate DSL from the current canvas and apply DSL back onto it.\n\nUse Mermaid instead when ecosystem compatibility matters more than editor-native fidelity. See [Mermaid vs OpenFlow](/mermaid-vs-openflow/).\n\n## Basic document structure\n\nStart with a header:\n\n```yaml\nflow: \"User Signup\"\ndirection: TB\n```\n\nCommon direction values:\n\n- `TB`\n- `LR`\n- `RL`\n- `BT`\n\n## Nodes\n\nUse explicit node declarations with stable ids.\n\n```text\nnode signup [label: \"Signup Form\"]\nnode verify [label: \"Verify Email\"]\nnode success [label: \"Workspace Ready\", shape: capsule]\n```\n\nGood ids are:\n\n- short\n- lowercase\n- semantic\n- stable enough to survive edits\n\n## Edges\n\nCreate edges with arrow syntax:\n\n```text\nsignup -> verify\nverify -> success\n```\n\nYou can also attach labels or other edge-level metadata when the diagram needs explicit branch meaning.\n\n## Why teams use it\n\nOpenFlow DSL is useful when:\n\n- OpenFlowKit is the primary editing environment\n- you want a reviewable text representation without committing to Mermaid’s constraints\n- you want a format that maps more directly to editor-native concepts\n- you want AI to target a structure that is closer to the actual canvas model\n\n## Recommended workflow\n\nUse DSL when you want to control the structure, then switch back to the canvas for final visual tuning. It is especially useful for:\n\n- architecture drafts\n- system workflows\n- iterative AI-assisted editing where text inspection matters\n\n## Related pages\n\n- [Mermaid vs OpenFlow](/mermaid-vs-openflow/)\n- [Studio Overview](/studio-overview/)\n- [Choose an Input Mode](/choose-input-mode/)","src/content/docs/openflow-dsl.md","65e254166cda822b",{"html":872,"metadata":873},"\u003Cp>OpenFlow DSL is the native text representation used by OpenFlowKit Studio. It is the best option when you want a code-first representation that stays close to the editor’s own graph model.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"where-it-fits\">Where it fits\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#where-it-fits\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Where it fits”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Use OpenFlow DSL when you want:\u003C/p>\n\u003Cul>\n\u003Cli>a readable editor-native syntax\u003C/li>\n\u003Cli>deterministic structural edits before layout\u003C/li>\n\u003Cli>a better fit than Mermaid for OpenFlowKit-specific workflows\u003C/li>\n\u003Cli>an easier target for AI-generated code than raw JSON\u003C/li>\n\u003C/ul>\n\u003Cp>The Studio code panel can generate DSL from the current canvas and apply DSL back onto it.\u003C/p>\n\u003Cp>Use Mermaid instead when ecosystem compatibility matters more than editor-native fidelity. See \u003Ca href=\"/mermaid-vs-openflow/\">Mermaid vs OpenFlow\u003C/a>.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"basic-document-structure\">Basic document structure\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#basic-document-structure\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Basic document structure”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Start with a header:\u003C/p>\n\u003Cdiv class=\"expressive-code\">\u003Clink rel=\"stylesheet\" href=\"/_astro/ec.v4551.css\">\u003Cscript type=\"module\" src=\"/_astro/ec.0vx5m.js\">\u003C/script>\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"yaml\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#7FDBCA;--1:#111111\">flow\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">: \u003C/span>\u003Cspan style=\"--0:#D9F5DD;--1:#111111\">\"\u003C/span>\u003Cspan style=\"--0:#ECC48D;--1:#984E4D\">User Signup\u003C/span>\u003Cspan style=\"--0:#D9F5DD;--1:#111111\">\"\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#7FDBCA;--1:#111111\">direction\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">: \u003C/span>\u003Cspan style=\"--0:#ECC48D;--1:#3B61B0\">TB\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"flow: "User Signup"direction: TB\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Cp>Common direction values:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Ccode dir=\"auto\">TB\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">LR\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">RL\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">BT\u003C/code>\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"nodes\">Nodes\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#nodes\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Nodes”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Use explicit node declarations with stable ids.\u003C/p>\n\u003Cdiv class=\"expressive-code\">\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"text\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">node signup [label: \"Signup Form\"]\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">node verify [label: \"Verify Email\"]\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">node success [label: \"Workspace Ready\", shape: capsule]\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"node signup [label: "Signup Form"]node verify [label: "Verify Email"]node success [label: "Workspace Ready", shape: capsule]\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Cp>Good ids are:\u003C/p>\n\u003Cul>\n\u003Cli>short\u003C/li>\n\u003Cli>lowercase\u003C/li>\n\u003Cli>semantic\u003C/li>\n\u003Cli>stable enough to survive edits\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"edges\">Edges\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#edges\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Edges”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Create edges with arrow syntax:\u003C/p>\n\u003Cdiv class=\"expressive-code\">\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"text\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">signup -> verify\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">verify -> success\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"signup -> verifyverify -> success\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Cp>You can also attach labels or other edge-level metadata when the diagram needs explicit branch meaning.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"why-teams-use-it\">Why teams use it\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#why-teams-use-it\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Why teams use it”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>OpenFlow DSL is useful when:\u003C/p>\n\u003Cul>\n\u003Cli>OpenFlowKit is the primary editing environment\u003C/li>\n\u003Cli>you want a reviewable text representation without committing to Mermaid’s constraints\u003C/li>\n\u003Cli>you want a format that maps more directly to editor-native concepts\u003C/li>\n\u003Cli>you want AI to target a structure that is closer to the actual canvas model\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"recommended-workflow\">Recommended workflow\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#recommended-workflow\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Recommended workflow”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Use DSL when you want to control the structure, then switch back to the canvas for final visual tuning. It is especially useful for:\u003C/p>\n\u003Cul>\n\u003Cli>architecture drafts\u003C/li>\n\u003Cli>system workflows\u003C/li>\n\u003Cli>iterative AI-assisted editing where text inspection matters\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"related-pages\">Related pages\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#related-pages\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Related pages”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/mermaid-vs-openflow/\">Mermaid vs OpenFlow\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/studio-overview/\">Studio Overview\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/choose-input-mode/\">Choose an Input Mode\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":874,"localImagePaths":890,"remoteImagePaths":891,"frontmatter":892,"imagePaths":893},[875,878,881,882,885,888,889],{"depth":30,"slug":876,"text":877},"where-it-fits","Where it fits",{"depth":30,"slug":879,"text":880},"basic-document-structure","Basic document structure",{"depth":30,"slug":672,"text":673},{"depth":30,"slug":883,"text":884},"edges","Edges",{"depth":30,"slug":886,"text":887},"why-teams-use-it","Why teams use it",{"depth":30,"slug":90,"text":91},{"depth":30,"slug":96,"text":97},[],[],{"draft":20,"title":863,"description":864},[],"playback-history",{"id":894,"data":896,"body":902,"filePath":903,"digest":904,"rendered":905},{"title":897,"description":898,"editUrl":16,"head":899,"template":18,"sidebar":900,"pagefind":16,"draft":20},"Playback & History","Use undo, snapshots, and playback-related state to recover work and review diagram evolution.",[],{"hidden":20,"attrs":901},{},"OpenFlowKit has two related but distinct recovery systems:\n\n- regular undo/redo history\n- snapshot-based history and playback state stored on tabs or documents\n\n## Undo and redo\n\nUse:\n\n- `Cmd/Ctrl + Z` to undo\n- `Cmd/Ctrl + Shift + Z` to redo\n\nThis is the fastest recovery path during active editing.\n\n## Snapshots\n\nUse snapshots when you are about to:\n\n- run a major AI rewrite\n- switch diagram family direction\n- do a broad text apply from Studio\n- restructure a large architecture map\n\nSnapshots are the safest checkpoint tool before large AI or import-driven edits. They are also the baseline you use for compare workflows later.\n\n## Playback model\n\nThe data model supports playback scenes, steps, and timed sequences. Animated export options appear in the export menu for playback-oriented outputs such as video and GIF.\n\n## Practical advice\n\nTreat history and snapshots differently:\n\n- use undo/redo for quick corrections\n- use snapshots for milestones\n\nIf the next operation could meaningfully rewrite the graph, create a snapshot first.\n\n## Related pages\n\n- [Diagram Diff & Compare](/diagram-diff/)\n- [Exporting](/exporting/)\n- [AI Generation](/ai-generation/)","src/content/docs/playback-history.md","a198505052390693",{"html":906,"metadata":907},"\u003Cp>OpenFlowKit has two related but distinct recovery systems:\u003C/p>\n\u003Cul>\n\u003Cli>regular undo/redo history\u003C/li>\n\u003Cli>snapshot-based history and playback state stored on tabs or documents\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"undo-and-redo\">Undo and redo\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#undo-and-redo\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Undo and redo”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Use:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Ccode dir=\"auto\">Cmd/Ctrl + Z\u003C/code> to undo\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">Cmd/Ctrl + Shift + Z\u003C/code> to redo\u003C/li>\n\u003C/ul>\n\u003Cp>This is the fastest recovery path during active editing.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"snapshots\">Snapshots\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#snapshots\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Snapshots”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Use snapshots when you are about to:\u003C/p>\n\u003Cul>\n\u003Cli>run a major AI rewrite\u003C/li>\n\u003Cli>switch diagram family direction\u003C/li>\n\u003Cli>do a broad text apply from Studio\u003C/li>\n\u003Cli>restructure a large architecture map\u003C/li>\n\u003C/ul>\n\u003Cp>Snapshots are the safest checkpoint tool before large AI or import-driven edits. They are also the baseline you use for compare workflows later.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"playback-model\">Playback model\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#playback-model\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Playback model”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>The data model supports playback scenes, steps, and timed sequences. Animated export options appear in the export menu for playback-oriented outputs such as video and GIF.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"practical-advice\">Practical advice\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#practical-advice\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Practical advice”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Treat history and snapshots differently:\u003C/p>\n\u003Cul>\n\u003Cli>use undo/redo for quick corrections\u003C/li>\n\u003Cli>use snapshots for milestones\u003C/li>\n\u003C/ul>\n\u003Cp>If the next operation could meaningfully rewrite the graph, create a snapshot first.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"related-pages\">Related pages\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#related-pages\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Related pages”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/diagram-diff/\">Diagram Diff & Compare\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/exporting/\">Exporting\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/ai-generation/\">AI Generation\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":908,"localImagePaths":922,"remoteImagePaths":923,"frontmatter":924,"imagePaths":925},[909,912,915,918,921],{"depth":30,"slug":910,"text":911},"undo-and-redo","Undo and redo",{"depth":30,"slug":913,"text":914},"snapshots","Snapshots",{"depth":30,"slug":916,"text":917},"playback-model","Playback model",{"depth":30,"slug":919,"text":920},"practical-advice","Practical advice",{"depth":30,"slug":96,"text":97},[],[],{"draft":20,"title":897,"description":898},[],"properties-panel",{"id":926,"data":928,"body":934,"filePath":935,"digest":936,"rendered":937},{"title":929,"description":930,"editUrl":16,"head":931,"template":18,"sidebar":932,"pagefind":16,"draft":20},"Properties Panel","Use the right-side inspector to make exact node, edge, bulk-edit, and Studio-related adjustments in OpenFlowKit.",[],{"hidden":20,"attrs":933},{},"The Properties panel is the right-side inspector that appears when you select a node or edge. It is the main place for exact edits after rough structure is already on the canvas.\n\n## When to use it\n\nUse the Properties panel when:\n\n- the rough structure is correct but the details are not\n- you need exact labels, colors, shapes, or typography\n- you want edge labels and routing adjustments\n- a diagram family exposes settings that are not convenient to edit directly on the graph\n\n## What opens in the right rail\n\nThe rail changes based on selection state:\n\n- one node selected: node inspector\n- multiple nodes selected: bulk edit\n- one edge selected: edge inspector\n- Studio mode active: AI, code, lint, or other Studio tabs instead of properties\n\n## Node editing\n\nFor a typical node, the inspector exposes combinations of these sections:\n\n- **Content** for label and sublabel\n- **Shape** for geometry selection\n- **Color** for presets and custom color\n- **Icon** for icon changes\n- **Typography** for font and emphasis controls\n- **Image** settings for image nodes\n- **Variant** settings for browser/mobile wireframes\n\nSome families add their own controls. For example:\n\n- mind maps expose child and sibling creation actions\n- architecture nodes expose architecture-specific semantics\n- icon-backed asset nodes expose asset search and category filtering\n\n## Edge editing\n\nWhen an edge is selected, the panel exposes:\n\n- **Label**\n- **Route**\n- appearance-related settings where supported\n\n## Bulk edit\n\nWhen multiple nodes are selected, the right rail switches to bulk edit so you can update common styling and shared properties together.","src/content/docs/properties-panel.md","00a2e20a95026253",{"html":938,"metadata":939},"\u003Cp>The Properties panel is the right-side inspector that appears when you select a node or edge. It is the main place for exact edits after rough structure is already on the canvas.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"when-to-use-it\">When to use it\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#when-to-use-it\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “When to use it”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Use the Properties panel when:\u003C/p>\n\u003Cul>\n\u003Cli>the rough structure is correct but the details are not\u003C/li>\n\u003Cli>you need exact labels, colors, shapes, or typography\u003C/li>\n\u003Cli>you want edge labels and routing adjustments\u003C/li>\n\u003Cli>a diagram family exposes settings that are not convenient to edit directly on the graph\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"what-opens-in-the-right-rail\">What opens in the right rail\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#what-opens-in-the-right-rail\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “What opens in the right rail”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>The rail changes based on selection state:\u003C/p>\n\u003Cul>\n\u003Cli>one node selected: node inspector\u003C/li>\n\u003Cli>multiple nodes selected: bulk edit\u003C/li>\n\u003Cli>one edge selected: edge inspector\u003C/li>\n\u003Cli>Studio mode active: AI, code, lint, or other Studio tabs instead of properties\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"node-editing\">Node editing\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#node-editing\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Node editing”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>For a typical node, the inspector exposes combinations of these sections:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Content\u003C/strong> for label and sublabel\u003C/li>\n\u003Cli>\u003Cstrong>Shape\u003C/strong> for geometry selection\u003C/li>\n\u003Cli>\u003Cstrong>Color\u003C/strong> for presets and custom color\u003C/li>\n\u003Cli>\u003Cstrong>Icon\u003C/strong> for icon changes\u003C/li>\n\u003Cli>\u003Cstrong>Typography\u003C/strong> for font and emphasis controls\u003C/li>\n\u003Cli>\u003Cstrong>Image\u003C/strong> settings for image nodes\u003C/li>\n\u003Cli>\u003Cstrong>Variant\u003C/strong> settings for browser/mobile wireframes\u003C/li>\n\u003C/ul>\n\u003Cp>Some families add their own controls. For example:\u003C/p>\n\u003Cul>\n\u003Cli>mind maps expose child and sibling creation actions\u003C/li>\n\u003Cli>architecture nodes expose architecture-specific semantics\u003C/li>\n\u003Cli>icon-backed asset nodes expose asset search and category filtering\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"edge-editing\">Edge editing\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#edge-editing\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Edge editing”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>When an edge is selected, the panel exposes:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Label\u003C/strong>\u003C/li>\n\u003Cli>\u003Cstrong>Route\u003C/strong>\u003C/li>\n\u003Cli>appearance-related settings where supported\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"bulk-edit\">Bulk edit\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#bulk-edit\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Bulk edit”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>When multiple nodes are selected, the right rail switches to bulk edit so you can update common styling and shared properties together.\u003C/p>",{"headings":940,"localImagePaths":954,"remoteImagePaths":955,"frontmatter":956,"imagePaths":957},[941,942,945,948,951],{"depth":30,"slug":211,"text":212},{"depth":30,"slug":943,"text":944},"what-opens-in-the-right-rail","What opens in the right rail",{"depth":30,"slug":946,"text":947},"node-editing","Node editing",{"depth":30,"slug":949,"text":950},"edge-editing","Edge editing",{"depth":30,"slug":952,"text":953},"bulk-edit","Bulk edit",[],[],{"draft":20,"title":929,"description":930},[],"prompting-agents",{"id":958,"data":960,"body":966,"filePath":967,"digest":968,"rendered":969},{"title":961,"description":962,"editUrl":16,"head":963,"template":18,"sidebar":964,"pagefind":16,"draft":20},"Prompting AI Agents","Write better prompts for coding assistants and AI systems when you want diagram output for OpenFlowKit.",[],{"hidden":20,"attrs":965},{},"If you use Cursor, Copilot, ChatGPT, Claude, or any other coding agent to help author diagrams, the prompt quality matters more than the model brand.\n\n## What to ask for\n\nAsk the agent for one of these outputs explicitly:\n\n- OpenFlow DSL\n- Mermaid\n- a diagram plan before code\n\nDo not ask for \"a diagram\" and hope it guesses the right syntax.\n\n## Good prompt structure\n\nInclude all of the following:\n\n- diagram purpose\n- intended audience\n- required systems or actors\n- important branches or failure paths\n- preferred direction (`TB` or `LR`)\n- preferred syntax (`OpenFlow DSL` or `Mermaid`)\n\n## Example prompt for OpenFlow DSL\n\n```text\nGenerate OpenFlow DSL for OpenFlowKit.\nMake a left-to-right payment recovery workflow.\nInclude invoice due, charge attempt, success decision,\nretry sequence, manual review, customer notification,\nand terminal success/failure nodes.\nUse explicit node ids and label every branch edge.\n```\n\n## Example prompt for Mermaid\n\n```text\nGenerate Mermaid flowchart code for a SaaS onboarding diagram.\nUse LR layout.\nInclude signup, email verification, workspace provisioning,\nbilling activation, support fallback, and success.\nKeep labels concise and production-ready.\n```\n\n## What to avoid\n\nAvoid prompts that:\n\n- mix multiple diagram families at once\n- ask for visual styling and architecture semantics in the same sentence\n- omit failure cases\n- omit the target syntax\n\n## Best workflow with agents\n\n1. generate first draft in text\n2. paste into Studio\n3. apply to canvas\n4. fix structure and styling visually\n5. export in the format your team needs\n\nThe secret to perfect AI generation is our `llms.txt` file. We host a machine-readable set of rules that teaches any AI exactly how to write OpenFlow DSL V2 code.\n\nWhen prompting an AI agent, just include a reference to this file.\n\n### Example Prompt for Cursor IDE\nOpen your Composer or Chat window and type:\n\n> `\"Read https://openflowkit.com/llms.txt and then generate an architecture diagram showing our Next.js frontend connecting to a Supabase backend.\"`\n\n### Example Prompt for ChatGPT\nIf you are using ChatGPT with web-browsing enabled:\n\n> `\"Go to https://openflowkit.com/llms.txt to learn the OpenFlowKit syntax. Then, write a flowchart detailing an OAuth2 login sequence. Output the result using the \\`\\`\\`openflow code block.\"`\n\n## Best Practices for Prompting\n\nEven with the rules, LLMs can sometimes get confused. Here are three tips for perfect diagrams every time:\n\n1. **Be specific about shapes**: Instead of just saying \"add a database\", say \"add a Node with the `[process]` type labeled 'Database'\". \n2. **Name your connections**: The diagram is much more useful if edges have labels. Example: \"Connect the frontend to the backend with the label '|REST API|'\".\n3. **Use Groups for clarity**: If you have multiple microservices, tell the AI to wrap them in a group: \"Put the 'Auth Service' and 'User DB' inside a group called 'Backend Infrastructure'.\"\n\n[Return to Editor](/#/canvas)","src/content/docs/prompting-agents.md","ce1d2363d1400d88",{"html":970,"metadata":971},"\u003Cp>If you use Cursor, Copilot, ChatGPT, Claude, or any other coding agent to help author diagrams, the prompt quality matters more than the model brand.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"what-to-ask-for\">What to ask for\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#what-to-ask-for\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “What to ask for”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Ask the agent for one of these outputs explicitly:\u003C/p>\n\u003Cul>\n\u003Cli>OpenFlow DSL\u003C/li>\n\u003Cli>Mermaid\u003C/li>\n\u003Cli>a diagram plan before code\u003C/li>\n\u003C/ul>\n\u003Cp>Do not ask for “a diagram” and hope it guesses the right syntax.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"good-prompt-structure\">Good prompt structure\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#good-prompt-structure\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Good prompt structure”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Include all of the following:\u003C/p>\n\u003Cul>\n\u003Cli>diagram purpose\u003C/li>\n\u003Cli>intended audience\u003C/li>\n\u003Cli>required systems or actors\u003C/li>\n\u003Cli>important branches or failure paths\u003C/li>\n\u003Cli>preferred direction (\u003Ccode dir=\"auto\">TB\u003C/code> or \u003Ccode dir=\"auto\">LR\u003C/code>)\u003C/li>\n\u003Cli>preferred syntax (\u003Ccode dir=\"auto\">OpenFlow DSL\u003C/code> or \u003Ccode dir=\"auto\">Mermaid\u003C/code>)\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"example-prompt-for-openflow-dsl\">Example prompt for OpenFlow DSL\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#example-prompt-for-openflow-dsl\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Example prompt for OpenFlow DSL”\u003C/span>\u003C/a>\u003C/div>\n\u003Cdiv class=\"expressive-code\">\u003Clink rel=\"stylesheet\" href=\"/_astro/ec.v4551.css\">\u003Cscript type=\"module\" src=\"/_astro/ec.0vx5m.js\">\u003C/script>\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"text\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Generate OpenFlow DSL for OpenFlowKit.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Make a left-to-right payment recovery workflow.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Include invoice due, charge attempt, success decision,\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">retry sequence, manual review, customer notification,\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">and terminal success/failure nodes.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Use explicit node ids and label every branch edge.\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"Generate OpenFlow DSL for OpenFlowKit.Make a left-to-right payment recovery workflow.Include invoice due, charge attempt, success decision,retry sequence, manual review, customer notification,and terminal success/failure nodes.Use explicit node ids and label every branch edge.\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"example-prompt-for-mermaid\">Example prompt for Mermaid\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#example-prompt-for-mermaid\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Example prompt for Mermaid”\u003C/span>\u003C/a>\u003C/div>\n\u003Cdiv class=\"expressive-code\">\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"text\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Generate Mermaid flowchart code for a SaaS onboarding diagram.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Use LR layout.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Include signup, email verification, workspace provisioning,\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">billing activation, support fallback, and success.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Keep labels concise and production-ready.\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"Generate Mermaid flowchart code for a SaaS onboarding diagram.Use LR layout.Include signup, email verification, workspace provisioning,billing activation, support fallback, and success.Keep labels concise and production-ready.\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"what-to-avoid\">What to avoid\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#what-to-avoid\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “What to avoid”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Avoid prompts that:\u003C/p>\n\u003Cul>\n\u003Cli>mix multiple diagram families at once\u003C/li>\n\u003Cli>ask for visual styling and architecture semantics in the same sentence\u003C/li>\n\u003Cli>omit failure cases\u003C/li>\n\u003Cli>omit the target syntax\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"best-workflow-with-agents\">Best workflow with agents\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#best-workflow-with-agents\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Best workflow with agents”\u003C/span>\u003C/a>\u003C/div>\n\u003Col>\n\u003Cli>generate first draft in text\u003C/li>\n\u003Cli>paste into Studio\u003C/li>\n\u003Cli>apply to canvas\u003C/li>\n\u003Cli>fix structure and styling visually\u003C/li>\n\u003Cli>export in the format your team needs\u003C/li>\n\u003C/ol>\n\u003Cp>The secret to perfect AI generation is our \u003Ccode dir=\"auto\">llms.txt\u003C/code> file. We host a machine-readable set of rules that teaches any AI exactly how to write OpenFlow DSL V2 code.\u003C/p>\n\u003Cp>When prompting an AI agent, just include a reference to this file.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"example-prompt-for-cursor-ide\">Example Prompt for Cursor IDE\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#example-prompt-for-cursor-ide\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Example Prompt for Cursor IDE”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Open your Composer or Chat window and type:\u003C/p>\n\u003Cblockquote>\n\u003Cp>\u003Ccode dir=\"auto\">\"Read https://openflowkit.com/llms.txt and then generate an architecture diagram showing our Next.js frontend connecting to a Supabase backend.\"\u003C/code>\u003C/p>\n\u003C/blockquote>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"example-prompt-for-chatgpt\">Example Prompt for ChatGPT\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#example-prompt-for-chatgpt\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Example Prompt for ChatGPT”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>If you are using ChatGPT with web-browsing enabled:\u003C/p>\n\u003Cblockquote>\n\u003Cp>\u003Ccode dir=\"auto\">\"Go to https://openflowkit.com/llms.txt to learn the OpenFlowKit syntax. Then, write a flowchart detailing an OAuth2 login sequence. Output the result using the \\\u003C/code>“openflow code block.”`\u003C/p>\n\u003C/blockquote>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"best-practices-for-prompting\">Best Practices for Prompting\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#best-practices-for-prompting\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Best Practices for Prompting”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Even with the rules, LLMs can sometimes get confused. Here are three tips for perfect diagrams every time:\u003C/p>\n\u003Col>\n\u003Cli>\u003Cstrong>Be specific about shapes\u003C/strong>: Instead of just saying “add a database”, say “add a Node with the \u003Ccode dir=\"auto\">[process]\u003C/code> type labeled ‘Database’”.\u003C/li>\n\u003Cli>\u003Cstrong>Name your connections\u003C/strong>: The diagram is much more useful if edges have labels. Example: “Connect the frontend to the backend with the label ‘|REST API|’”.\u003C/li>\n\u003Cli>\u003Cstrong>Use Groups for clarity\u003C/strong>: If you have multiple microservices, tell the AI to wrap them in a group: “Put the ‘Auth Service’ and ‘User DB’ inside a group called ‘Backend Infrastructure’.”\u003C/li>\n\u003C/ol>\n\u003Cp>\u003Ca href=\"/#/canvas\">Return to Editor\u003C/a>\u003C/p>",{"headings":972,"localImagePaths":1000,"remoteImagePaths":1001,"frontmatter":1002,"imagePaths":1003},[973,976,979,982,985,988,991,994,997],{"depth":30,"slug":974,"text":975},"what-to-ask-for","What to ask for",{"depth":30,"slug":977,"text":978},"good-prompt-structure","Good prompt structure",{"depth":30,"slug":980,"text":981},"example-prompt-for-openflow-dsl","Example prompt for OpenFlow DSL",{"depth":30,"slug":983,"text":984},"example-prompt-for-mermaid","Example prompt for Mermaid",{"depth":30,"slug":986,"text":987},"what-to-avoid","What to avoid",{"depth":30,"slug":989,"text":990},"best-workflow-with-agents","Best workflow with agents",{"depth":37,"slug":992,"text":993},"example-prompt-for-cursor-ide","Example Prompt for Cursor IDE",{"depth":37,"slug":995,"text":996},"example-prompt-for-chatgpt","Example Prompt for ChatGPT",{"depth":30,"slug":998,"text":999},"best-practices-for-prompting","Best Practices for Prompting",[],[],{"draft":20,"title":961,"description":962},[],"quick-start",{"id":1004,"data":1006,"body":1012,"filePath":1013,"digest":1014,"rendered":1015},{"title":1007,"description":1008,"editUrl":16,"head":1009,"template":18,"sidebar":1010,"pagefind":16,"draft":20},"Quick Start","Create your first OpenFlowKit diagram from the canvas, templates, AI, code, or structured imports.",[],{"hidden":20,"attrs":1011},{},"This is the fastest reliable way to get productive in the current app.\n\n## 1. Open or create a document\n\nFrom the home screen you can:\n\n- create a new flow\n- open an existing browser-stored flow\n- duplicate a saved flow\n- import a JSON diagram document\n\nEach document opens in its own editor tab.\n\n## 2. Pick a starting point\n\nPick the path that matches the information you already have.\n\n### Blank canvas\n\nUse this when you already know the structure and want to sketch directly.\n\n### Template\n\nOpen the Command Center with `Cmd/Ctrl + K`, then choose **Start from Template**. Templates cover flowcharts, cloud diagrams, mind maps, journeys, and wireframes.\n\n### Assets\n\nOpen **Assets** from the Command Center to add notes, text, sections, wireframes, images, or provider-backed icons.\n\n### AI\n\nSwitch the right rail to Studio and open the **FlowPilot** tab. Enter a prompt such as:\n\n```text\nCreate a SaaS onboarding workflow with signup, email verification,\nteam invite, workspace creation, billing setup, and first success milestone.\n```\n\n### Code\n\nIf you already have Mermaid or OpenFlow DSL, open Studio and switch to the **Code** tab to paste and apply it.\n\n### Structured input\n\nIf you already have SQL, OpenAPI, Terraform, or Kubernetes text, use the import flows in Studio. See [Import from Structured Data](/import-from-data/) and [Infrastructure Sync](/infra-sync/).\n\n## 3. Refine the draft\n\nOnce something is on the canvas:\n\n- move nodes into rough position\n- use the [Properties Panel](/properties-panel/) for exact edits\n- run [Smart Layout](/smart-layout/) when the structure is right but spacing is rough\n- use the [Command Center](/command-center/) to search, switch workflows, or insert more assets\n\n## 4. Save recovery points\n\nBefore a major AI rewrite or import refresh, review the snapshot/history tooling so you can recover quickly if the new result is worse. See [Playback & History](/playback-history/).\n\n## 5. Share or export\n\nUse the export menu when you are ready to move the diagram into docs, design tools, or collaboration workflows.\n\n- See [Choose an Export Format](/choose-export-format/)\n- See [Exporting](/exporting/)\n- See [Collaboration & Sharing](/collaboration-sharing/)","src/content/docs/quick-start.md","b5c7a93347162f65",{"html":1016,"metadata":1017},"\u003Cp>This is the fastest reliable way to get productive in the current app.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"1-open-or-create-a-document\">1. Open or create a document\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#1-open-or-create-a-document\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “1. Open or create a document”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>From the home screen you can:\u003C/p>\n\u003Cul>\n\u003Cli>create a new flow\u003C/li>\n\u003Cli>open an existing browser-stored flow\u003C/li>\n\u003Cli>duplicate a saved flow\u003C/li>\n\u003Cli>import a JSON diagram document\u003C/li>\n\u003C/ul>\n\u003Cp>Each document opens in its own editor tab.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"2-pick-a-starting-point\">2. Pick a starting point\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#2-pick-a-starting-point\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “2. Pick a starting point”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Pick the path that matches the information you already have.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"blank-canvas\">Blank canvas\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#blank-canvas\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Blank canvas”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Use this when you already know the structure and want to sketch directly.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"template\">Template\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#template\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Template”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Open the Command Center with \u003Ccode dir=\"auto\">Cmd/Ctrl + K\u003C/code>, then choose \u003Cstrong>Start from Template\u003C/strong>. Templates cover flowcharts, cloud diagrams, mind maps, journeys, and wireframes.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"assets\">Assets\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#assets\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Assets”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Open \u003Cstrong>Assets\u003C/strong> from the Command Center to add notes, text, sections, wireframes, images, or provider-backed icons.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"ai\">AI\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#ai\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “AI”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Switch the right rail to Studio and open the \u003Cstrong>FlowPilot\u003C/strong> tab. Enter a prompt such as:\u003C/p>\n\u003Cdiv class=\"expressive-code\">\u003Clink rel=\"stylesheet\" href=\"/_astro/ec.v4551.css\">\u003Cscript type=\"module\" src=\"/_astro/ec.0vx5m.js\">\u003C/script>\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"text\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Create a SaaS onboarding workflow with signup, email verification,\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">team invite, workspace creation, billing setup, and first success milestone.\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"Create a SaaS onboarding workflow with signup, email verification,team invite, workspace creation, billing setup, and first success milestone.\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"code\">Code\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#code\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Code”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>If you already have Mermaid or OpenFlow DSL, open Studio and switch to the \u003Cstrong>Code\u003C/strong> tab to paste and apply it.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"structured-input\">Structured input\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#structured-input\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Structured input”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>If you already have SQL, OpenAPI, Terraform, or Kubernetes text, use the import flows in Studio. See \u003Ca href=\"/import-from-data/\">Import from Structured Data\u003C/a> and \u003Ca href=\"/infra-sync/\">Infrastructure Sync\u003C/a>.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"3-refine-the-draft\">3. Refine the draft\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#3-refine-the-draft\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “3. Refine the draft”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Once something is on the canvas:\u003C/p>\n\u003Cul>\n\u003Cli>move nodes into rough position\u003C/li>\n\u003Cli>use the \u003Ca href=\"/properties-panel/\">Properties Panel\u003C/a> for exact edits\u003C/li>\n\u003Cli>run \u003Ca href=\"/smart-layout/\">Smart Layout\u003C/a> when the structure is right but spacing is rough\u003C/li>\n\u003Cli>use the \u003Ca href=\"/command-center/\">Command Center\u003C/a> to search, switch workflows, or insert more assets\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"4-save-recovery-points\">4. Save recovery points\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#4-save-recovery-points\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “4. Save recovery points”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Before a major AI rewrite or import refresh, review the snapshot/history tooling so you can recover quickly if the new result is worse. See \u003Ca href=\"/playback-history/\">Playback & History\u003C/a>.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"5-share-or-export\">5. Share or export\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#5-share-or-export\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “5. Share or export”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Use the export menu when you are ready to move the diagram into docs, design tools, or collaboration workflows.\u003C/p>\n\u003Cul>\n\u003Cli>See \u003Ca href=\"/choose-export-format/\">Choose an Export Format\u003C/a>\u003C/li>\n\u003Cli>See \u003Ca href=\"/exporting/\">Exporting\u003C/a>\u003C/li>\n\u003Cli>See \u003Ca href=\"/collaboration-sharing/\">Collaboration & Sharing\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":1018,"localImagePaths":1050,"remoteImagePaths":1051,"frontmatter":1052,"imagePaths":1053},[1019,1022,1025,1028,1031,1032,1035,1038,1041,1044,1047],{"depth":30,"slug":1020,"text":1021},"1-open-or-create-a-document","1. Open or create a document",{"depth":30,"slug":1023,"text":1024},"2-pick-a-starting-point","2. Pick a starting point",{"depth":37,"slug":1026,"text":1027},"blank-canvas","Blank canvas",{"depth":37,"slug":1029,"text":1030},"template","Template",{"depth":37,"slug":247,"text":248},{"depth":37,"slug":1033,"text":1034},"ai","AI",{"depth":37,"slug":1036,"text":1037},"code","Code",{"depth":37,"slug":1039,"text":1040},"structured-input","Structured input",{"depth":30,"slug":1042,"text":1043},"3-refine-the-draft","3. Refine the draft",{"depth":30,"slug":1045,"text":1046},"4-save-recovery-points","4. Save recovery points",{"depth":30,"slug":1048,"text":1049},"5-share-or-export","5. Share or export",[],[],{"draft":20,"title":1007,"description":1008},[],"roadmap",{"id":1054,"data":1056,"body":1062,"filePath":1063,"digest":1064,"rendered":1065},{"title":1057,"description":1058,"editUrl":16,"head":1059,"template":18,"sidebar":1060,"pagefind":16,"draft":20},"Roadmap","How to read product direction without confusing roadmap ideas for currently documented functionality.",[],{"hidden":20,"attrs":1061},{},"This docs site focuses on current shipped behavior plus default-enabled product surfaces that are already part of the active experience.\n\n## What this page is for\n\nUse this page as a policy note, not as a promise list.\n\n- Docs pages describe current product behavior.\n- Strategy and roadmap materials may describe future direction separately.\n- If a capability is planned but not currently available in the product path, it should not be documented here as if it already ships.\n\nFor broader direction, refer to the project strategy materials in the repository rather than treating the docs site as a roadmap announcement channel.","src/content/docs/roadmap.md","95127551e5ea229e",{"html":1066,"metadata":1067},"\u003Cp>This docs site focuses on current shipped behavior plus default-enabled product surfaces that are already part of the active experience.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"what-this-page-is-for\">What this page is for\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#what-this-page-is-for\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “What this page is for”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Use this page as a policy note, not as a promise list.\u003C/p>\n\u003Cul>\n\u003Cli>Docs pages describe current product behavior.\u003C/li>\n\u003Cli>Strategy and roadmap materials may describe future direction separately.\u003C/li>\n\u003Cli>If a capability is planned but not currently available in the product path, it should not be documented here as if it already ships.\u003C/li>\n\u003C/ul>\n\u003Cp>For broader direction, refer to the project strategy materials in the repository rather than treating the docs site as a roadmap announcement channel.\u003C/p>",{"headings":1068,"localImagePaths":1072,"remoteImagePaths":1073,"frontmatter":1074,"imagePaths":1075},[1069],{"depth":30,"slug":1070,"text":1071},"what-this-page-is-for","What this page is for",[],[],{"draft":20,"title":1057,"description":1058},[],"smart-layout",{"id":1076,"data":1078,"body":1084,"filePath":1085,"digest":1086,"rendered":1087},{"title":1079,"description":1080,"editUrl":16,"head":1081,"template":18,"sidebar":1082,"pagefind":16,"draft":20},"Smart Layout","Use ELK-based layout to turn rough graphs into cleaner, more readable diagrams in OpenFlowKit.",[],{"hidden":20,"attrs":1083},{},"OpenFlowKit uses ELK-based layout strategies to turn rough graphs into readable diagrams quickly.\n\n## When to use auto layout\n\nUse layout when:\n\n- a template is structurally right but visually rough\n- AI generation gave you the right nodes in the wrong places\n- imported code needs normalization\n- you have added branches manually and want spacing fixed\n\n## How to run it\n\nOpen the Command Center and choose **Auto Layout**. The editor passes direction, algorithm, and spacing preferences into the layout request.\n\nCurrent directional options are:\n\n- `TB`\n- `LR`\n- `RL`\n- `BT`\n\nThe shell also uses active diagram type as context where needed.\n\n## What layout is good at\n\nAuto layout is especially effective for:\n\n- flowcharts\n- architecture graphs\n- state-like branching diagrams\n- AI-generated drafts\n\nIt is less effective for intentionally hand-composed slides or dense annotated canvases where visual storytelling matters more than graph regularity.\n\n## Practical strategy\n\nFor the best result:\n\n1. get the right nodes and edges first\n2. run layout\n3. group with sections if needed\n4. make final manual adjustments\n\nDo not spend time hand-aligning a graph before running layout. That work is usually wasted.\n\n## Layout plus code workflow\n\nOpenFlow DSL and Mermaid edits are especially effective when combined with layout:\n\n- make structural changes in text\n- apply them\n- run auto layout\n- finish visual polish in the properties panel\n\n## Related pages\n\n- [Canvas Basics](/canvas-basics/)\n- [OpenFlow DSL](/openflow-dsl/)\n- [Mermaid Integration](/mermaid-integration/)","src/content/docs/smart-layout.md","62b25766b466692d",{"html":1088,"metadata":1089},"\u003Cp>OpenFlowKit uses ELK-based layout strategies to turn rough graphs into readable diagrams quickly.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"when-to-use-auto-layout\">When to use auto layout\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#when-to-use-auto-layout\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “When to use auto layout”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Use layout when:\u003C/p>\n\u003Cul>\n\u003Cli>a template is structurally right but visually rough\u003C/li>\n\u003Cli>AI generation gave you the right nodes in the wrong places\u003C/li>\n\u003Cli>imported code needs normalization\u003C/li>\n\u003Cli>you have added branches manually and want spacing fixed\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"how-to-run-it\">How to run it\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#how-to-run-it\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “How to run it”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Open the Command Center and choose \u003Cstrong>Auto Layout\u003C/strong>. The editor passes direction, algorithm, and spacing preferences into the layout request.\u003C/p>\n\u003Cp>Current directional options are:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Ccode dir=\"auto\">TB\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">LR\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">RL\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">BT\u003C/code>\u003C/li>\n\u003C/ul>\n\u003Cp>The shell also uses active diagram type as context where needed.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"what-layout-is-good-at\">What layout is good at\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#what-layout-is-good-at\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “What layout is good at”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Auto layout is especially effective for:\u003C/p>\n\u003Cul>\n\u003Cli>flowcharts\u003C/li>\n\u003Cli>architecture graphs\u003C/li>\n\u003Cli>state-like branching diagrams\u003C/li>\n\u003Cli>AI-generated drafts\u003C/li>\n\u003C/ul>\n\u003Cp>It is less effective for intentionally hand-composed slides or dense annotated canvases where visual storytelling matters more than graph regularity.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"practical-strategy\">Practical strategy\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#practical-strategy\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Practical strategy”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>For the best result:\u003C/p>\n\u003Col>\n\u003Cli>get the right nodes and edges first\u003C/li>\n\u003Cli>run layout\u003C/li>\n\u003Cli>group with sections if needed\u003C/li>\n\u003Cli>make final manual adjustments\u003C/li>\n\u003C/ol>\n\u003Cp>Do not spend time hand-aligning a graph before running layout. That work is usually wasted.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"layout-plus-code-workflow\">Layout plus code workflow\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#layout-plus-code-workflow\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Layout plus code workflow”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>OpenFlow DSL and Mermaid edits are especially effective when combined with layout:\u003C/p>\n\u003Cul>\n\u003Cli>make structural changes in text\u003C/li>\n\u003Cli>apply them\u003C/li>\n\u003Cli>run auto layout\u003C/li>\n\u003Cli>finish visual polish in the properties panel\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"related-pages\">Related pages\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#related-pages\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Related pages”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/canvas-basics/\">Canvas Basics\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/openflow-dsl/\">OpenFlow DSL\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/mermaid-integration/\">Mermaid Integration\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":1090,"localImagePaths":1107,"remoteImagePaths":1108,"frontmatter":1109,"imagePaths":1110},[1091,1094,1097,1100,1103,1106],{"depth":30,"slug":1092,"text":1093},"when-to-use-auto-layout","When to use auto layout",{"depth":30,"slug":1095,"text":1096},"how-to-run-it","How to run it",{"depth":30,"slug":1098,"text":1099},"what-layout-is-good-at","What layout is good at",{"depth":30,"slug":1101,"text":1102},"practical-strategy","Practical strategy",{"depth":30,"slug":1104,"text":1105},"layout-plus-code-workflow","Layout plus code workflow",{"depth":30,"slug":96,"text":97},[],[],{"draft":20,"title":1079,"description":1080},[],"studio-overview",{"id":1111,"data":1113,"body":1119,"filePath":1120,"digest":1121,"rendered":1122},{"title":1114,"description":1115,"editUrl":16,"head":1116,"template":18,"sidebar":1117,"pagefind":16,"draft":20},"Studio Overview","Understand the OpenFlowKit Studio rail for AI, code, imports, infrastructure sync, and architecture linting.",[],{"hidden":20,"attrs":1118},{},"Studio is the right-side workspace for generation, code-backed editing, imports, infrastructure parsing, and rule-driven validation. Use it when the canvas alone is not the best tool for the job.\n\nStudio matters because OpenFlowKit is not only a drag-and-drop editor. The product is built around moving between visual editing and structured inputs. Studio is where those structured workflows live.\n\n## Studio tabs in the current product path\n\n| Tab | Purpose |\n| --- | --- |\n| **FlowPilot** | AI-assisted generation, revision, and guided import flows |\n| **Code** | OpenFlow DSL and Mermaid editing against the current canvas |\n| **Infra** | Infrastructure Sync for supported infra file inputs |\n| **Lint** | Architecture rules and live violation feedback |\n\n## When to open Studio\n\nOpen Studio when you want to:\n\n- draft a diagram from a prompt\n- paste or edit OpenFlow DSL or Mermaid\n- import SQL, OpenAPI, Terraform, or Kubernetes-oriented inputs\n- parse infra files without AI\n- define architecture constraints and review violations\n\nIf you are already happy with the diagram structure and only need visual cleanup, stay on the canvas and use the [Properties Panel](/properties-panel/) instead.\n\n## FlowPilot tab\n\nFlowPilot is the AI-first area of Studio. Use it when you want:\n\n- a first draft from plain language\n- a different structural take on an existing concept\n- code-to-architecture generation\n- structured imports that benefit from model interpretation\n\nGood FlowPilot sessions are specific. Name the systems, actors, branches, constraints, and intended audience. If you want output that is easy to refine later, ask for explicit structure instead of purely aesthetic phrasing.\n\n## Code tab\n\nThe Code tab is where you switch from visual editing to text representations.\n\nUse it when:\n\n- you want to review or edit [OpenFlow DSL](/openflow-dsl/)\n- you already have Mermaid and want to apply it to the canvas\n- you want to compare an editor-native representation with a portable one\n\nThis tab is best when you want repeatability and precision. It is also the right choice when AI is unnecessary and the diagram is easier to reason about as code.\n\n## Infra tab\n\nThe Infra tab exists for deterministic infrastructure parsing. It is the best option when you already have:\n\n- Terraform state\n- Kubernetes YAML\n- Docker Compose YAML\n- other supported infra-oriented inputs\n\nUse this tab when you want a trustworthy structural import instead of a model-generated interpretation. The result still comes back as a regular editable OpenFlowKit diagram.\n\n## Lint tab\n\nThe Lint tab turns the diagram into something closer to a governed system model. You can define JSON rules and review violations as errors, warnings, or informational findings.\n\nThis is useful when a diagram is doing real architecture work instead of just presentation work. It helps answer questions like:\n\n- should this service be allowed to talk to that datastore?\n- did an imported architecture diagram violate an agreed boundary?\n- did a large refactor accidentally break a documented rule?\n\n## How Studio fits into the editor\n\nStudio complements, rather than replaces, the canvas:\n\n- use the canvas for spatial editing\n- use Studio for generation, import, code, and rule workflows\n- switch back to the [Properties Panel](/properties-panel/) when a generated result needs exact tuning\n- use the [Command Center](/command-center/) when you want to jump between workflows quickly\n\n## Recommended workflow\n\nFor most serious diagrams, a good sequence is:\n\n1. start with AI, code, template, or import\n2. inspect the result on the canvas\n3. make exact changes in the inspector\n4. save a snapshot before another major Studio operation\n5. export or share once the structure is stable\n\n## Related pages\n\n- [AI Generation](/ai-generation/)\n- [OpenFlow DSL](/openflow-dsl/)\n- [Infrastructure Sync](/infra-sync/)\n- [Architecture Linting](/architecture-lint/)\n- [Choose an Input Mode](/choose-input-mode/)","src/content/docs/studio-overview.md","74f3b9a2482e7fcc",{"html":1123,"metadata":1124},"\u003Cp>Studio is the right-side workspace for generation, code-backed editing, imports, infrastructure parsing, and rule-driven validation. Use it when the canvas alone is not the best tool for the job.\u003C/p>\n\u003Cp>Studio matters because OpenFlowKit is not only a drag-and-drop editor. The product is built around moving between visual editing and structured inputs. Studio is where those structured workflows live.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"studio-tabs-in-the-current-product-path\">Studio tabs in the current product path\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#studio-tabs-in-the-current-product-path\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Studio tabs in the current product path”\u003C/span>\u003C/a>\u003C/div>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>Tab\u003C/th>\u003Cth>Purpose\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd>\u003Cstrong>FlowPilot\u003C/strong>\u003C/td>\u003Ctd>AI-assisted generation, revision, and guided import flows\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Cstrong>Code\u003C/strong>\u003C/td>\u003Ctd>OpenFlow DSL and Mermaid editing against the current canvas\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Cstrong>Infra\u003C/strong>\u003C/td>\u003Ctd>Infrastructure Sync for supported infra file inputs\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Cstrong>Lint\u003C/strong>\u003C/td>\u003Ctd>Architecture rules and live violation feedback\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"when-to-open-studio\">When to open Studio\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#when-to-open-studio\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “When to open Studio”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Open Studio when you want to:\u003C/p>\n\u003Cul>\n\u003Cli>draft a diagram from a prompt\u003C/li>\n\u003Cli>paste or edit OpenFlow DSL or Mermaid\u003C/li>\n\u003Cli>import SQL, OpenAPI, Terraform, or Kubernetes-oriented inputs\u003C/li>\n\u003Cli>parse infra files without AI\u003C/li>\n\u003Cli>define architecture constraints and review violations\u003C/li>\n\u003C/ul>\n\u003Cp>If you are already happy with the diagram structure and only need visual cleanup, stay on the canvas and use the \u003Ca href=\"/properties-panel/\">Properties Panel\u003C/a> instead.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"flowpilot-tab\">FlowPilot tab\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#flowpilot-tab\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “FlowPilot tab”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>FlowPilot is the AI-first area of Studio. Use it when you want:\u003C/p>\n\u003Cul>\n\u003Cli>a first draft from plain language\u003C/li>\n\u003Cli>a different structural take on an existing concept\u003C/li>\n\u003Cli>code-to-architecture generation\u003C/li>\n\u003Cli>structured imports that benefit from model interpretation\u003C/li>\n\u003C/ul>\n\u003Cp>Good FlowPilot sessions are specific. Name the systems, actors, branches, constraints, and intended audience. If you want output that is easy to refine later, ask for explicit structure instead of purely aesthetic phrasing.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"code-tab\">Code tab\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#code-tab\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Code tab”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>The Code tab is where you switch from visual editing to text representations.\u003C/p>\n\u003Cp>Use it when:\u003C/p>\n\u003Cul>\n\u003Cli>you want to review or edit \u003Ca href=\"/openflow-dsl/\">OpenFlow DSL\u003C/a>\u003C/li>\n\u003Cli>you already have Mermaid and want to apply it to the canvas\u003C/li>\n\u003Cli>you want to compare an editor-native representation with a portable one\u003C/li>\n\u003C/ul>\n\u003Cp>This tab is best when you want repeatability and precision. It is also the right choice when AI is unnecessary and the diagram is easier to reason about as code.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"infra-tab\">Infra tab\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#infra-tab\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Infra tab”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>The Infra tab exists for deterministic infrastructure parsing. It is the best option when you already have:\u003C/p>\n\u003Cul>\n\u003Cli>Terraform state\u003C/li>\n\u003Cli>Kubernetes YAML\u003C/li>\n\u003Cli>Docker Compose YAML\u003C/li>\n\u003Cli>other supported infra-oriented inputs\u003C/li>\n\u003C/ul>\n\u003Cp>Use this tab when you want a trustworthy structural import instead of a model-generated interpretation. The result still comes back as a regular editable OpenFlowKit diagram.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"lint-tab\">Lint tab\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#lint-tab\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Lint tab”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>The Lint tab turns the diagram into something closer to a governed system model. You can define JSON rules and review violations as errors, warnings, or informational findings.\u003C/p>\n\u003Cp>This is useful when a diagram is doing real architecture work instead of just presentation work. It helps answer questions like:\u003C/p>\n\u003Cul>\n\u003Cli>should this service be allowed to talk to that datastore?\u003C/li>\n\u003Cli>did an imported architecture diagram violate an agreed boundary?\u003C/li>\n\u003Cli>did a large refactor accidentally break a documented rule?\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"how-studio-fits-into-the-editor\">How Studio fits into the editor\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#how-studio-fits-into-the-editor\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “How Studio fits into the editor”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Studio complements, rather than replaces, the canvas:\u003C/p>\n\u003Cul>\n\u003Cli>use the canvas for spatial editing\u003C/li>\n\u003Cli>use Studio for generation, import, code, and rule workflows\u003C/li>\n\u003Cli>switch back to the \u003Ca href=\"/properties-panel/\">Properties Panel\u003C/a> when a generated result needs exact tuning\u003C/li>\n\u003Cli>use the \u003Ca href=\"/command-center/\">Command Center\u003C/a> when you want to jump between workflows quickly\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"recommended-workflow\">Recommended workflow\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#recommended-workflow\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Recommended workflow”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>For most serious diagrams, a good sequence is:\u003C/p>\n\u003Col>\n\u003Cli>start with AI, code, template, or import\u003C/li>\n\u003Cli>inspect the result on the canvas\u003C/li>\n\u003Cli>make exact changes in the inspector\u003C/li>\n\u003Cli>save a snapshot before another major Studio operation\u003C/li>\n\u003Cli>export or share once the structure is stable\u003C/li>\n\u003C/ol>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"related-pages\">Related pages\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#related-pages\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Related pages”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/ai-generation/\">AI Generation\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/openflow-dsl/\">OpenFlow DSL\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/infra-sync/\">Infrastructure Sync\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/architecture-lint/\">Architecture Linting\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/choose-input-mode/\">Choose an Input Mode\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":1125,"localImagePaths":1149,"remoteImagePaths":1150,"frontmatter":1151,"imagePaths":1152},[1126,1129,1132,1135,1138,1141,1144,1147,1148],{"depth":30,"slug":1127,"text":1128},"studio-tabs-in-the-current-product-path","Studio tabs in the current product path",{"depth":30,"slug":1130,"text":1131},"when-to-open-studio","When to open Studio",{"depth":30,"slug":1133,"text":1134},"flowpilot-tab","FlowPilot tab",{"depth":30,"slug":1136,"text":1137},"code-tab","Code tab",{"depth":30,"slug":1139,"text":1140},"infra-tab","Infra tab",{"depth":30,"slug":1142,"text":1143},"lint-tab","Lint tab",{"depth":30,"slug":1145,"text":1146},"how-studio-fits-into-the-editor","How Studio fits into the editor",{"depth":30,"slug":90,"text":91},{"depth":30,"slug":96,"text":97},[],[],{"draft":20,"title":1114,"description":1115},[],"templates-assets",{"id":1153,"data":1155,"body":1161,"filePath":1162,"digest":1163,"rendered":1164},{"title":1156,"description":1157,"editUrl":16,"head":1158,"template":18,"sidebar":1159,"pagefind":16,"draft":20},"Templates & Starter Flows","Start diagrams faster with built-in templates, provider icon assets, and starter packs.",[],{"hidden":20,"attrs":1160},{},"Templates and assets help you skip the empty-canvas problem. Use them when you want a strong starting structure or visual system before doing custom edits.\n\n## Templates\n\nThe template library includes starter graphs for common flowchart, architecture, mind map, journey, and wireframe use cases.\n\nRepresentative starter templates include flows such as:\n\n- subscription upgrade workflows\n- incident escalation runbooks\n- release-train and delivery flows\n- cloud-provider architecture starters\n\nUse templates when the structure is more important than the exact wording at the start.\n\n## Assets\n\nThe assets flow covers:\n\n- generic building blocks such as sections, text, and notes\n- images and wireframe-style surfaces\n- provider-backed architecture icons\n\nAssets are better than templates when you already know the overall structure and just need the right pieces.\n\n## Shape libraries\n\nOpenFlowKit also carries shape-library starter packs for curated reusable shapes. These are useful when a team wants a repeatable visual vocabulary beyond the default node palette.\n\n## Choosing between them\n\n- Use templates when you want a starting graph.\n- Use assets when you want to insert individual pieces into an existing graph.\n- Use design systems when the problem is styling consistency rather than structure.\n\n## Related pages\n\n- [Command Center](/command-center/)\n- [Design Systems & Branding](/design-systems-branding/)\n- [AWS Architecture](/aws-architecture/)","src/content/docs/templates-assets.md","27ed71edf89fa032",{"html":1165,"metadata":1166},"\u003Cp>Templates and assets help you skip the empty-canvas problem. Use them when you want a strong starting structure or visual system before doing custom edits.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"templates\">Templates\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#templates\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Templates”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>The template library includes starter graphs for common flowchart, architecture, mind map, journey, and wireframe use cases.\u003C/p>\n\u003Cp>Representative starter templates include flows such as:\u003C/p>\n\u003Cul>\n\u003Cli>subscription upgrade workflows\u003C/li>\n\u003Cli>incident escalation runbooks\u003C/li>\n\u003Cli>release-train and delivery flows\u003C/li>\n\u003Cli>cloud-provider architecture starters\u003C/li>\n\u003C/ul>\n\u003Cp>Use templates when the structure is more important than the exact wording at the start.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"assets\">Assets\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#assets\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Assets”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>The assets flow covers:\u003C/p>\n\u003Cul>\n\u003Cli>generic building blocks such as sections, text, and notes\u003C/li>\n\u003Cli>images and wireframe-style surfaces\u003C/li>\n\u003Cli>provider-backed architecture icons\u003C/li>\n\u003C/ul>\n\u003Cp>Assets are better than templates when you already know the overall structure and just need the right pieces.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"shape-libraries\">Shape libraries\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#shape-libraries\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Shape libraries”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>OpenFlowKit also carries shape-library starter packs for curated reusable shapes. These are useful when a team wants a repeatable visual vocabulary beyond the default node palette.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"choosing-between-them\">Choosing between them\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#choosing-between-them\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Choosing between them”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>Use templates when you want a starting graph.\u003C/li>\n\u003Cli>Use assets when you want to insert individual pieces into an existing graph.\u003C/li>\n\u003Cli>Use design systems when the problem is styling consistency rather than structure.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"related-pages\">Related pages\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#related-pages\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Related pages”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/command-center/\">Command Center\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/design-systems-branding/\">Design Systems & Branding\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/aws-architecture/\">AWS Architecture\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":1167,"localImagePaths":1177,"remoteImagePaths":1178,"frontmatter":1179,"imagePaths":1180},[1168,1169,1170,1173,1176],{"depth":30,"slug":250,"text":251},{"depth":30,"slug":247,"text":248},{"depth":30,"slug":1171,"text":1172},"shape-libraries","Shape libraries",{"depth":30,"slug":1174,"text":1175},"choosing-between-them","Choosing between them",{"depth":30,"slug":96,"text":97},[],[],{"draft":20,"title":1156,"description":1157},[],"tr/architecture-lint",{"id":1181,"data":1183,"body":1188,"filePath":1189,"digest":1190,"rendered":1191},{"title":160,"description":1184,"editUrl":16,"head":1185,"template":18,"sidebar":1186,"pagefind":16,"draft":20},"JSON tabanlı mimari kurallar tanımlayın ve ihlalleri tuval üzerinde gerçek zamanlı görün.",[],{"hidden":20,"attrs":1187},{},"Architecture Linting, kuralları doğrudan diyagram üzerinde uygulamanızı sağlar. Bu, sistem diyagramları için lint mantığına en yakın yüzeydir.\n\n## Nerede bulunur?\n\nStudio içindeki **Lint** sekmesinde.\n\n## Neler yapar?\n\n- JSON kural seti düzenleme\n- kural dosyası parse hatalarını görme\n- error, warning ve info seviyelerinde ihlal listesi görme\n- diyagram üzerinde kural uyumunu hızlıca değerlendirme\n\n## Ne zaman kullanılır?\n\n- mimari sınırları zorlayan ilişkileri tespit etmek için\n- altyapı senkronizasyonundan gelen grafiği doğrulamak için\n- büyük AI revizyonlarından sonra yapısal kalite kontrolü yapmak için","src/content/docs/tr/architecture-lint.md","4bb0e9a9a5dea062",{"html":1192,"metadata":1193},"\u003Cp>Architecture Linting, kuralları doğrudan diyagram üzerinde uygulamanızı sağlar. Bu, sistem diyagramları için lint mantığına en yakın yüzeydir.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"nerede-bulunur\">Nerede bulunur?\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#nerede-bulunur\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Nerede bulunur?”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Studio içindeki \u003Cstrong>Lint\u003C/strong> sekmesinde.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"neler-yapar\">Neler yapar?\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#neler-yapar\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Neler yapar?”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>JSON kural seti düzenleme\u003C/li>\n\u003Cli>kural dosyası parse hatalarını görme\u003C/li>\n\u003Cli>error, warning ve info seviyelerinde ihlal listesi görme\u003C/li>\n\u003Cli>diyagram üzerinde kural uyumunu hızlıca değerlendirme\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"ne-zaman-kullanılır\">Ne zaman kullanılır?\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#ne-zaman-kullanılır\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Ne zaman kullanılır?”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>mimari sınırları zorlayan ilişkileri tespit etmek için\u003C/li>\n\u003Cli>altyapı senkronizasyonundan gelen grafiği doğrulamak için\u003C/li>\n\u003Cli>büyük AI revizyonlarından sonra yapısal kalite kontrolü yapmak için\u003C/li>\n\u003C/ul>",{"headings":1194,"localImagePaths":1204,"remoteImagePaths":1205,"frontmatter":1206,"imagePaths":1207},[1195,1198,1201],{"depth":30,"slug":1196,"text":1197},"nerede-bulunur","Nerede bulunur?",{"depth":30,"slug":1199,"text":1200},"neler-yapar","Neler yapar?",{"depth":30,"slug":1202,"text":1203},"ne-zaman-kullanılır","Ne zaman kullanılır?",[],[],{"draft":20,"title":160,"description":1184},[],"tr/ai-generation",{"id":1208,"data":1210,"body":1215,"filePath":1216,"digest":1217,"rendered":1218},{"title":65,"description":1211,"editUrl":16,"head":1212,"template":18,"sidebar":1213,"pagefind":16,"draft":20},"FlowPilot, BYOK sağlayıcılar, koddan mimari üretimi ve yapılandırılmış içe aktarma ile diyagram üretin ve geliştirin.",[],{"hidden":20,"attrs":1214},{},"OpenFlowKit, Studio alanı üzerinden yapay zeka destekli diyagram üretimi sunar. FlowPilot özellikle ilk taslak, yapısal revizyon ve kod tabanlı mimari görünümü üretmek için güçlüdür.\n\n## Üründe AI nerede yer alır?\n\nAI akışları Studio içindeki **FlowPilot** alanında ve Komut Merkezi üzerinden açılan **Open FlowPilot** eyleminde bulunur.\n\n| Mod | Ne yapar |\n| --- | --- |\n| **FlowPilot** | sohbet tabanlı üretim ve revizyon |\n| **From Code** | kaynak koddan mimari diyagram taslağı |\n| **Import** | SQL, Terraform, K8s veya OpenAPI girdilerinden taslak |\n\nTipik üretim akışı:\n\n1. istem ve varsa görsel alınır\n2. yapılandırılmış sağlayıcıya gönderilir\n3. yapısal graf temsili geri alınır\n4. düğüm ve kenarlar oluşturulur\n5. düzen uygulanır\n6. mevcut graf değiştirilir veya güncellenir\n\n## Sağlayıcı modeli\n\nUygulama birden çok BYOK sağlayıcıyı destekler:\n\n- Gemini\n- OpenAI\n- Claude\n- Groq\n- NVIDIA\n- Cerebras\n- Mistral\n- OpenRouter\n- özel OpenAI-uyumlu uç nokta\n\n## AI ne zaman doğru araçtır?\n\nŞu durumlarda kullanın:\n\n- elinizde sadece doğal dil açıklaması varsa\n- hızlı bir ilk taslak istiyorsanız\n- mevcut diyagramı kavramsal olarak yeniden şekillendirmek istiyorsanız\n- kaynak koddan yüksek seviyeli mimari çıkarımı almak istiyorsanız\n\nŞu durumlarda başka akışlar daha iyidir:\n\n- zaten kesin bir metinsel temsil varsa\n- deterministik altyapı parse’ı istiyorsanız\n- küçük diyagramı elle çizmek daha hızlıysa\n\n## Daha iyi sonuç almak için\n\nİyi istemler genellikle şunları içerir:\n\n- hedef kitle\n- sistemler veya aktörler\n- önemli dallar ve hata yolları\n- istenen yön\n- istenen detay seviyesi\n\n## Önerilen iş akışı\n\n1. FlowPilot ile ilk taslağı üretin\n2. tuval üzerinde yapıyı kontrol edin\n3. [Properties Panel](/tr/properties-panel/) ile ayrıntıları düzeltin\n4. gerekiyorsa [Smart Layout](/tr/smart-layout/) uygulayın\n5. sonraki büyük revizyondan önce snapshot alın\n\n## İlgili sayfalar\n\n- [Ask Flowpilot](/tr/ask-flowpilot/)\n- [Studio Overview](/tr/studio-overview/)\n- [Choose an Input Mode](/tr/choose-input-mode/)\n- [Prompting AI Agents](/tr/prompting-agents/)","src/content/docs/tr/ai-generation.md","ef64598bc4dce0bb",{"html":1219,"metadata":1220},"\u003Cp>OpenFlowKit, Studio alanı üzerinden yapay zeka destekli diyagram üretimi sunar. FlowPilot özellikle ilk taslak, yapısal revizyon ve kod tabanlı mimari görünümü üretmek için güçlüdür.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"üründe-ai-nerede-yer-alır\">Üründe AI nerede yer alır?\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#üründe-ai-nerede-yer-alır\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Üründe AI nerede yer alır?”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>AI akışları Studio içindeki \u003Cstrong>FlowPilot\u003C/strong> alanında ve Komut Merkezi üzerinden açılan \u003Cstrong>Open FlowPilot\u003C/strong> eyleminde bulunur.\u003C/p>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>Mod\u003C/th>\u003Cth>Ne yapar\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd>\u003Cstrong>FlowPilot\u003C/strong>\u003C/td>\u003Ctd>sohbet tabanlı üretim ve revizyon\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Cstrong>From Code\u003C/strong>\u003C/td>\u003Ctd>kaynak koddan mimari diyagram taslağı\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Cstrong>Import\u003C/strong>\u003C/td>\u003Ctd>SQL, Terraform, K8s veya OpenAPI girdilerinden taslak\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Cp>Tipik üretim akışı:\u003C/p>\n\u003Col>\n\u003Cli>istem ve varsa görsel alınır\u003C/li>\n\u003Cli>yapılandırılmış sağlayıcıya gönderilir\u003C/li>\n\u003Cli>yapısal graf temsili geri alınır\u003C/li>\n\u003Cli>düğüm ve kenarlar oluşturulur\u003C/li>\n\u003Cli>düzen uygulanır\u003C/li>\n\u003Cli>mevcut graf değiştirilir veya güncellenir\u003C/li>\n\u003C/ol>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"sağlayıcı-modeli\">Sağlayıcı modeli\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#sağlayıcı-modeli\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Sağlayıcı modeli”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Uygulama birden çok BYOK sağlayıcıyı destekler:\u003C/p>\n\u003Cul>\n\u003Cli>Gemini\u003C/li>\n\u003Cli>OpenAI\u003C/li>\n\u003Cli>Claude\u003C/li>\n\u003Cli>Groq\u003C/li>\n\u003Cli>NVIDIA\u003C/li>\n\u003Cli>Cerebras\u003C/li>\n\u003Cli>Mistral\u003C/li>\n\u003Cli>OpenRouter\u003C/li>\n\u003Cli>özel OpenAI-uyumlu uç nokta\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"ai-ne-zaman-doğru-araçtır\">AI ne zaman doğru araçtır?\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#ai-ne-zaman-doğru-araçtır\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “AI ne zaman doğru araçtır?”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Şu durumlarda kullanın:\u003C/p>\n\u003Cul>\n\u003Cli>elinizde sadece doğal dil açıklaması varsa\u003C/li>\n\u003Cli>hızlı bir ilk taslak istiyorsanız\u003C/li>\n\u003Cli>mevcut diyagramı kavramsal olarak yeniden şekillendirmek istiyorsanız\u003C/li>\n\u003Cli>kaynak koddan yüksek seviyeli mimari çıkarımı almak istiyorsanız\u003C/li>\n\u003C/ul>\n\u003Cp>Şu durumlarda başka akışlar daha iyidir:\u003C/p>\n\u003Cul>\n\u003Cli>zaten kesin bir metinsel temsil varsa\u003C/li>\n\u003Cli>deterministik altyapı parse’ı istiyorsanız\u003C/li>\n\u003Cli>küçük diyagramı elle çizmek daha hızlıysa\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"daha-iyi-sonuç-almak-için\">Daha iyi sonuç almak için\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#daha-iyi-sonuç-almak-için\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Daha iyi sonuç almak için”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>İyi istemler genellikle şunları içerir:\u003C/p>\n\u003Cul>\n\u003Cli>hedef kitle\u003C/li>\n\u003Cli>sistemler veya aktörler\u003C/li>\n\u003Cli>önemli dallar ve hata yolları\u003C/li>\n\u003Cli>istenen yön\u003C/li>\n\u003Cli>istenen detay seviyesi\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"önerilen-iş-akışı\">Önerilen iş akışı\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#önerilen-iş-akışı\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Önerilen iş akışı”\u003C/span>\u003C/a>\u003C/div>\n\u003Col>\n\u003Cli>FlowPilot ile ilk taslağı üretin\u003C/li>\n\u003Cli>tuval üzerinde yapıyı kontrol edin\u003C/li>\n\u003Cli>\u003Ca href=\"/tr/properties-panel/\">Properties Panel\u003C/a> ile ayrıntıları düzeltin\u003C/li>\n\u003Cli>gerekiyorsa \u003Ca href=\"/tr/smart-layout/\">Smart Layout\u003C/a> uygulayın\u003C/li>\n\u003Cli>sonraki büyük revizyondan önce snapshot alın\u003C/li>\n\u003C/ol>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"i̇lgili-sayfalar\">İlgili sayfalar\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#i̇lgili-sayfalar\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “İlgili sayfalar”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/tr/ask-flowpilot/\">Ask Flowpilot\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/tr/studio-overview/\">Studio Overview\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/tr/choose-input-mode/\">Choose an Input Mode\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/tr/prompting-agents/\">Prompting AI Agents\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":1221,"localImagePaths":1240,"remoteImagePaths":1241,"frontmatter":1242,"imagePaths":1243},[1222,1225,1228,1231,1234,1237],{"depth":30,"slug":1223,"text":1224},"üründe-ai-nerede-yer-alır","Üründe AI nerede yer alır?",{"depth":30,"slug":1226,"text":1227},"sağlayıcı-modeli","Sağlayıcı modeli",{"depth":30,"slug":1229,"text":1230},"ai-ne-zaman-doğru-araçtır","AI ne zaman doğru araçtır?",{"depth":30,"slug":1232,"text":1233},"daha-iyi-sonuç-almak-için","Daha iyi sonuç almak için",{"depth":30,"slug":1235,"text":1236},"önerilen-iş-akışı","Önerilen iş akışı",{"depth":30,"slug":1238,"text":1239},"i̇lgili-sayfalar","İlgili sayfalar",[],[],{"draft":20,"title":65,"description":1211},[],"tr/ask-flowpilot",{"id":1244,"data":1246,"body":1251,"filePath":1252,"digest":1253,"rendered":1254},{"title":300,"description":1247,"editUrl":16,"head":1248,"template":18,"sidebar":1249,"pagefind":16,"draft":20},"FlowPilot’i Studio içindeki sohbet tabanlı yardımcı olarak kullanın; diyagram taslağı üretin, revize edin ve yön değiştirin.",[],{"hidden":20,"attrs":1250},{},"FlowPilot, Studio içindeki sohbet tabanlı asistandır. Bir diyagramı doğal dille tarif etmek, mevcut bir taslağı yeniden kurmak veya farklı bir yapısal yaklaşım istemek için en hızlı yoldur.\n\n## İyi kullanım senaryoları\n\nFlowPilot’i şu durumlarda kullanın:\n\n- metin isteminden ilk taslağı üretmek için\n- mevcut sistemi daha temiz bir yapıya çevirmek için\n- eksik hata yollarını ve dalları eklemek için\n- kod veya yapılandırılmış girdiden ilk diyagram taslağını almak için\n\n## İsteminizde ne olmalı?\n\nİyi istemler genelde şunları içerir:\n\n- hedef kitle\n- sistemler veya aktörler\n- önemli dallar veya kısıtlar\n- tercih edilen yön (`LR`, `TB` gibi)\n- yüksek seviye mi, detaylı operasyon akışı mı istendiği\n\n## Örnek istem\n\n```text\nŞu bileşenleri içeren soldan sağa bir SaaS mimarisi oluştur:\nweb istemcisi, API gateway, auth servisi, billing servisi,\nPostgres, Redis cache, background workers ve S3 tabanlı dosya saklama.\nPublic ingress, async işler ve hata işleme yollarını göster.\n```\n\n## Üretimden sonra ne yapılmalı?\n\nFlowPilot en güçlü halini taslak üreticisi olarak gösterir, son editör olarak değil. Üretimden sonra:\n\n- yapıyı tuvalde inceleyin\n- [Properties Panel](/tr/properties-panel/) ile etiket ve görsel ayarları düzeltin\n- gerekirse [Smart Layout](/tr/smart-layout/) ile yerleşimi toplayın\n- yeni büyük revizyonlardan önce snapshot alın\n\n## İlgili sayfalar\n\n- [AI Generation](/tr/ai-generation/)\n- [Prompting AI Agents](/tr/prompting-agents/)\n- [Choose an Input Mode](/tr/choose-input-mode/)","src/content/docs/tr/ask-flowpilot.md","ed8e097de9d4d264",{"html":1255,"metadata":1256},"\u003Cp>FlowPilot, Studio içindeki sohbet tabanlı asistandır. Bir diyagramı doğal dille tarif etmek, mevcut bir taslağı yeniden kurmak veya farklı bir yapısal yaklaşım istemek için en hızlı yoldur.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"i̇yi-kullanım-senaryoları\">İyi kullanım senaryoları\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#i̇yi-kullanım-senaryoları\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “İyi kullanım senaryoları”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>FlowPilot’i şu durumlarda kullanın:\u003C/p>\n\u003Cul>\n\u003Cli>metin isteminden ilk taslağı üretmek için\u003C/li>\n\u003Cli>mevcut sistemi daha temiz bir yapıya çevirmek için\u003C/li>\n\u003Cli>eksik hata yollarını ve dalları eklemek için\u003C/li>\n\u003Cli>kod veya yapılandırılmış girdiden ilk diyagram taslağını almak için\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"i̇steminizde-ne-olmalı\">İsteminizde ne olmalı?\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#i̇steminizde-ne-olmalı\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “İsteminizde ne olmalı?”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>İyi istemler genelde şunları içerir:\u003C/p>\n\u003Cul>\n\u003Cli>hedef kitle\u003C/li>\n\u003Cli>sistemler veya aktörler\u003C/li>\n\u003Cli>önemli dallar veya kısıtlar\u003C/li>\n\u003Cli>tercih edilen yön (\u003Ccode dir=\"auto\">LR\u003C/code>, \u003Ccode dir=\"auto\">TB\u003C/code> gibi)\u003C/li>\n\u003Cli>yüksek seviye mi, detaylı operasyon akışı mı istendiği\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"örnek-istem\">Örnek istem\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#örnek-istem\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Örnek istem”\u003C/span>\u003C/a>\u003C/div>\n\u003Cdiv class=\"expressive-code\">\u003Clink rel=\"stylesheet\" href=\"/_astro/ec.v4551.css\">\u003Cscript type=\"module\" src=\"/_astro/ec.0vx5m.js\">\u003C/script>\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"text\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Şu bileşenleri içeren soldan sağa bir SaaS mimarisi oluştur:\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">web istemcisi, API gateway, auth servisi, billing servisi,\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Postgres, Redis cache, background workers ve S3 tabanlı dosya saklama.\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Public ingress, async işler ve hata işleme yollarını göster.\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"Şu bileşenleri içeren soldan sağa bir SaaS mimarisi oluştur:web istemcisi, API gateway, auth servisi, billing servisi,Postgres, Redis cache, background workers ve S3 tabanlı dosya saklama.Public ingress, async işler ve hata işleme yollarını göster.\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"üretimden-sonra-ne-yapılmalı\">Üretimden sonra ne yapılmalı?\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#üretimden-sonra-ne-yapılmalı\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Üretimden sonra ne yapılmalı?”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>FlowPilot en güçlü halini taslak üreticisi olarak gösterir, son editör olarak değil. Üretimden sonra:\u003C/p>\n\u003Cul>\n\u003Cli>yapıyı tuvalde inceleyin\u003C/li>\n\u003Cli>\u003Ca href=\"/tr/properties-panel/\">Properties Panel\u003C/a> ile etiket ve görsel ayarları düzeltin\u003C/li>\n\u003Cli>gerekirse \u003Ca href=\"/tr/smart-layout/\">Smart Layout\u003C/a> ile yerleşimi toplayın\u003C/li>\n\u003Cli>yeni büyük revizyonlardan önce snapshot alın\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"i̇lgili-sayfalar\">İlgili sayfalar\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#i̇lgili-sayfalar\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “İlgili sayfalar”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/tr/ai-generation/\">AI Generation\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/tr/prompting-agents/\">Prompting AI Agents\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/tr/choose-input-mode/\">Choose an Input Mode\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":1257,"localImagePaths":1271,"remoteImagePaths":1272,"frontmatter":1273,"imagePaths":1274},[1258,1261,1264,1267,1270],{"depth":30,"slug":1259,"text":1260},"i̇yi-kullanım-senaryoları","İyi kullanım senaryoları",{"depth":30,"slug":1262,"text":1263},"i̇steminizde-ne-olmalı","İsteminizde ne olmalı?",{"depth":30,"slug":1265,"text":1266},"örnek-istem","Örnek istem",{"depth":30,"slug":1268,"text":1269},"üretimden-sonra-ne-yapılmalı","Üretimden sonra ne yapılmalı?",{"depth":30,"slug":1238,"text":1239},[],[],{"draft":20,"title":300,"description":1247},[],"tr/aws-architecture",{"id":1275,"data":1277,"body":1282,"filePath":1283,"digest":1284,"rendered":1285},{"title":332,"description":1278,"editUrl":16,"head":1279,"template":18,"sidebar":1280,"pagefind":16,"draft":20},"Şablonlar, ikon destekli varlıklar, AI taslağı, DSL ve dışa aktarma akışlarıyla OpenFlowKit içinde AWS mimari diyagramları oluşturun.",[],{"hidden":20,"attrs":1281},{},"OpenFlowKit, sağlayıcı ikonları, mimari odaklı yerleşim ve AI/kod tabanlı üretim kombinasyonu sayesinde AWS mimari diyagramları için güçlü bir çalışma alanıdır.\n\n## Başlangıç yolları\n\n- AWS şablonları\n- Assets içindeki AWS ikon kataloğu\n- FlowPilot ile mimari istemi\n- OpenFlow DSL ile deterministik ilk taslak\n\n## Önerilen akış\n\n1. ana servisleri yerleştirin\n2. VPC ve subnet sınırlarını ekleyin\n3. trafik ve async akışları bağlayın\n4. [Smart Layout](/tr/smart-layout/) uygulayın\n5. etiket, protokol ve görsel vurguları netleştirin\n6. gerekiyorsa snapshot alın\n7. uygun formatta paylaşın veya dışa aktarın\n\n## İlgili sayfalar\n\n- [Infrastructure Sync](/tr/infra-sync/)\n- [Templates & Starter Flows](/tr/templates-assets/)\n- [Choose an Export Format](/tr/choose-export-format/)","src/content/docs/tr/aws-architecture.md","471230e22d1f0072",{"html":1286,"metadata":1287},"\u003Cp>OpenFlowKit, sağlayıcı ikonları, mimari odaklı yerleşim ve AI/kod tabanlı üretim kombinasyonu sayesinde AWS mimari diyagramları için güçlü bir çalışma alanıdır.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"başlangıç-yolları\">Başlangıç yolları\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#başlangıç-yolları\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Başlangıç yolları”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>AWS şablonları\u003C/li>\n\u003Cli>Assets içindeki AWS ikon kataloğu\u003C/li>\n\u003Cli>FlowPilot ile mimari istemi\u003C/li>\n\u003Cli>OpenFlow DSL ile deterministik ilk taslak\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"önerilen-akış\">Önerilen akış\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#önerilen-akış\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Önerilen akış”\u003C/span>\u003C/a>\u003C/div>\n\u003Col>\n\u003Cli>ana servisleri yerleştirin\u003C/li>\n\u003Cli>VPC ve subnet sınırlarını ekleyin\u003C/li>\n\u003Cli>trafik ve async akışları bağlayın\u003C/li>\n\u003Cli>\u003Ca href=\"/tr/smart-layout/\">Smart Layout\u003C/a> uygulayın\u003C/li>\n\u003Cli>etiket, protokol ve görsel vurguları netleştirin\u003C/li>\n\u003Cli>gerekiyorsa snapshot alın\u003C/li>\n\u003Cli>uygun formatta paylaşın veya dışa aktarın\u003C/li>\n\u003C/ol>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"i̇lgili-sayfalar\">İlgili sayfalar\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#i̇lgili-sayfalar\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “İlgili sayfalar”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/tr/infra-sync/\">Infrastructure Sync\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/tr/templates-assets/\">Templates & Starter Flows\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/tr/choose-export-format/\">Choose an Export Format\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":1288,"localImagePaths":1296,"remoteImagePaths":1297,"frontmatter":1298,"imagePaths":1299},[1289,1292,1295],{"depth":30,"slug":1290,"text":1291},"başlangıç-yolları","Başlangıç yolları",{"depth":30,"slug":1293,"text":1294},"önerilen-akış","Önerilen akış",{"depth":30,"slug":1238,"text":1239},[],[],{"draft":20,"title":332,"description":1278},[],"tr/canvas-basics",{"id":1300,"data":1302,"body":1307,"filePath":1308,"digest":1309,"rendered":1310},{"title":14,"description":1303,"editUrl":16,"head":1304,"template":18,"sidebar":1305,"pagefind":16,"draft":20},"OpenFlowKit tuvalinde gezinmeyi, seçim yapmayı, düzenlemeyi ve çalışmanızı geri kazanmayı öğrenin.",[],{"hidden":20,"attrs":1306},{},"Tuval, OpenFlowKit’in ana düzenleme yüzeyidir. Doğrudan graf üzerinde çalışmayı ve kesin düzenlemeleri yan panellerle birleştirir.\n\n## Tuvali ne zaman kullanmalısınız?\n\nTuvali şu durumlarda kullanın:\n\n- diyagramı manuel olarak çizmek istediğinizde\n- yapay zeka, içe aktarma veya koddan gelen bir sonucu iyileştirmek istediğinizde\n- yapıyı metin yerine mekânsal olarak değerlendirmek istediğinizde\n- doğrudan sürükle-bırak düzenleme yapmak istediğinizde\n\n## Gezinme\n\n### Kaydırma ve yakınlaştırma\n\n- Fare tekerleği ile yakınlaşın veya uzaklaşın\n- `Space + Drag` ile kaydırın\n- `H` el moduna geçer\n- `V` seçim moduna döner\n- `Shift + 1` mevcut grafiği görünüşe sığdırır\n- `Cmd/Ctrl + +/-` yakınlaştırma kontrolü sağlar\n\n### Büyük diyagramlarda gezinme\n\n- görünüşe sığdırmayı kullanın\n- Komut Merkezi aramasıyla düğümlere atlayın\n- yapı doğruysa otomatik düzeni kullanın\n\n## Seçim\n\n### Tekli seçim\n\nBir düğüme veya kenara tıklayarak inceleyip düzenleyin.\n\n### Çoklu seçim\n\n- `Shift + Click`\n- `Shift + Drag` ile seçim kutusu\n\nBirden fazla düğüm seçildiğinde sağ panel toplu düzenleme moduna geçer.\n\n## Doğrudan düzenleme ve kesin düzenleme\n\nTuval, grafiği hareket ettirdiğiniz ve yapılandırdığınız yüzeydir. Kesin değerler ve aileye özgü ayarlar için [Properties Panel](/tr/properties-panel/) kullanın. Şablonlar, arama, düzen ve iş akışı geçişleri için [Command Center](/tr/command-center/) daha doğrudur.\n\n## Geçmiş ve kurtarma\n\nKısa düzeltmeler için undo/redo, büyük geri dönüşler için snapshot kullanın. Bkz. [Playback & History](/tr/playback-history/).","src/content/docs/tr/canvas-basics.md","a2b9fb3a1429fb82",{"html":1311,"metadata":1312},"\u003Cp>Tuval, OpenFlowKit’in ana düzenleme yüzeyidir. Doğrudan graf üzerinde çalışmayı ve kesin düzenlemeleri yan panellerle birleştirir.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"tuvali-ne-zaman-kullanmalısınız\">Tuvali ne zaman kullanmalısınız?\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#tuvali-ne-zaman-kullanmalısınız\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Tuvali ne zaman kullanmalısınız?”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Tuvali şu durumlarda kullanın:\u003C/p>\n\u003Cul>\n\u003Cli>diyagramı manuel olarak çizmek istediğinizde\u003C/li>\n\u003Cli>yapay zeka, içe aktarma veya koddan gelen bir sonucu iyileştirmek istediğinizde\u003C/li>\n\u003Cli>yapıyı metin yerine mekânsal olarak değerlendirmek istediğinizde\u003C/li>\n\u003Cli>doğrudan sürükle-bırak düzenleme yapmak istediğinizde\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"gezinme\">Gezinme\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#gezinme\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Gezinme”\u003C/span>\u003C/a>\u003C/div>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"kaydırma-ve-yakınlaştırma\">Kaydırma ve yakınlaştırma\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#kaydırma-ve-yakınlaştırma\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Kaydırma ve yakınlaştırma”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>Fare tekerleği ile yakınlaşın veya uzaklaşın\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">Space + Drag\u003C/code> ile kaydırın\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">H\u003C/code> el moduna geçer\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">V\u003C/code> seçim moduna döner\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">Shift + 1\u003C/code> mevcut grafiği görünüşe sığdırır\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">Cmd/Ctrl + +/-\u003C/code> yakınlaştırma kontrolü sağlar\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"büyük-diyagramlarda-gezinme\">Büyük diyagramlarda gezinme\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#büyük-diyagramlarda-gezinme\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Büyük diyagramlarda gezinme”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>görünüşe sığdırmayı kullanın\u003C/li>\n\u003Cli>Komut Merkezi aramasıyla düğümlere atlayın\u003C/li>\n\u003Cli>yapı doğruysa otomatik düzeni kullanın\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"seçim\">Seçim\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#seçim\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Seçim”\u003C/span>\u003C/a>\u003C/div>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"tekli-seçim\">Tekli seçim\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#tekli-seçim\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Tekli seçim”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Bir düğüme veya kenara tıklayarak inceleyip düzenleyin.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"çoklu-seçim\">Çoklu seçim\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#çoklu-seçim\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Çoklu seçim”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Ccode dir=\"auto\">Shift + Click\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">Shift + Drag\u003C/code> ile seçim kutusu\u003C/li>\n\u003C/ul>\n\u003Cp>Birden fazla düğüm seçildiğinde sağ panel toplu düzenleme moduna geçer.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"doğrudan-düzenleme-ve-kesin-düzenleme\">Doğrudan düzenleme ve kesin düzenleme\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#doğrudan-düzenleme-ve-kesin-düzenleme\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Doğrudan düzenleme ve kesin düzenleme”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Tuval, grafiği hareket ettirdiğiniz ve yapılandırdığınız yüzeydir. Kesin değerler ve aileye özgü ayarlar için \u003Ca href=\"/tr/properties-panel/\">Properties Panel\u003C/a> kullanın. Şablonlar, arama, düzen ve iş akışı geçişleri için \u003Ca href=\"/tr/command-center/\">Command Center\u003C/a> daha doğrudur.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"geçmiş-ve-kurtarma\">Geçmiş ve kurtarma\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#geçmiş-ve-kurtarma\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Geçmiş ve kurtarma”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Kısa düzeltmeler için undo/redo, büyük geri dönüşler için snapshot kullanın. Bkz. \u003Ca href=\"/tr/playback-history/\">Playback & History\u003C/a>.\u003C/p>",{"headings":1313,"localImagePaths":1341,"remoteImagePaths":1342,"frontmatter":1343,"imagePaths":1344},[1314,1317,1320,1323,1326,1329,1332,1335,1338],{"depth":30,"slug":1315,"text":1316},"tuvali-ne-zaman-kullanmalısınız","Tuvali ne zaman kullanmalısınız?",{"depth":30,"slug":1318,"text":1319},"gezinme","Gezinme",{"depth":37,"slug":1321,"text":1322},"kaydırma-ve-yakınlaştırma","Kaydırma ve yakınlaştırma",{"depth":37,"slug":1324,"text":1325},"büyük-diyagramlarda-gezinme","Büyük diyagramlarda gezinme",{"depth":30,"slug":1327,"text":1328},"seçim","Seçim",{"depth":37,"slug":1330,"text":1331},"tekli-seçim","Tekli seçim",{"depth":37,"slug":1333,"text":1334},"çoklu-seçim","Çoklu seçim",{"depth":30,"slug":1336,"text":1337},"doğrudan-düzenleme-ve-kesin-düzenleme","Doğrudan düzenleme ve kesin düzenleme",{"depth":30,"slug":1339,"text":1340},"geçmiş-ve-kurtarma","Geçmiş ve kurtarma",[],[],{"draft":20,"title":14,"description":1303},[],"tr/choose-export-format",{"id":1345,"data":1347,"body":1352,"filePath":1353,"digest":1354,"rendered":1355},{"title":136,"description":1348,"editUrl":16,"head":1349,"template":18,"sidebar":1350,"pagefind":16,"draft":20},"Düzenleme, dokümantasyon, ortak çalışma, gömme veya tasarım aracı aktarımı için doğru OpenFlowKit dışa aktarma formatını seçin.",[],{"hidden":20,"attrs":1351},{},"OpenFlowKit hem görsel hem de düzenlenebilir teslim formatlarını destekler. En doğru seçim bir sonraki adıma göre belirlenir.\n\n## Hızlı rehber\n\n| İhtiyaç | En iyi format |\n| --- | --- |\n| düzenlenebilir ana arşiv | JSON |\n| editör-doğal metin | OpenFlow DSL |\n| Markdown veya repo dostu metin | Mermaid |\n| dokümanlar ve sunumlar | PNG, JPG veya SVG |\n| tasarım aracı aktarımı | Figma |\n| kısa oynatma çıktısı | GIF veya video |\n| canlı izleyici veya oda erişimi | Share / Embed |\n\n## Varsayılan öneri\n\n- JSON’u ana düzenlenebilir kaynak olarak tutun\n- ihtiyaç halinde görsel çıktı üretin\n- metin iş akışı gerekiyorsa Mermaid veya DSL kullanın","src/content/docs/tr/choose-export-format.md","1b58fa2f3b8a2032",{"html":1356,"metadata":1357},"\u003Cp>OpenFlowKit hem görsel hem de düzenlenebilir teslim formatlarını destekler. En doğru seçim bir sonraki adıma göre belirlenir.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"hızlı-rehber\">Hızlı rehber\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#hızlı-rehber\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Hızlı rehber”\u003C/span>\u003C/a>\u003C/div>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>İhtiyaç\u003C/th>\u003Cth>En iyi format\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd>düzenlenebilir ana arşiv\u003C/td>\u003Ctd>JSON\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>editör-doğal metin\u003C/td>\u003Ctd>OpenFlow DSL\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>Markdown veya repo dostu metin\u003C/td>\u003Ctd>Mermaid\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>dokümanlar ve sunumlar\u003C/td>\u003Ctd>PNG, JPG veya SVG\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>tasarım aracı aktarımı\u003C/td>\u003Ctd>Figma\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>kısa oynatma çıktısı\u003C/td>\u003Ctd>GIF veya video\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>canlı izleyici veya oda erişimi\u003C/td>\u003Ctd>Share / Embed\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"varsayılan-öneri\">Varsayılan öneri\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#varsayılan-öneri\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Varsayılan öneri”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>JSON’u ana düzenlenebilir kaynak olarak tutun\u003C/li>\n\u003Cli>ihtiyaç halinde görsel çıktı üretin\u003C/li>\n\u003Cli>metin iş akışı gerekiyorsa Mermaid veya DSL kullanın\u003C/li>\n\u003C/ul>",{"headings":1358,"localImagePaths":1365,"remoteImagePaths":1366,"frontmatter":1367,"imagePaths":1368},[1359,1362],{"depth":30,"slug":1360,"text":1361},"hızlı-rehber","Hızlı rehber",{"depth":30,"slug":1363,"text":1364},"varsayılan-öneri","Varsayılan öneri",[],[],{"draft":20,"title":136,"description":1348},[],"tr/choose-input-mode",{"id":1369,"data":1371,"body":1376,"filePath":1377,"digest":1378,"rendered":1379},{"title":105,"description":1372,"editUrl":16,"head":1373,"template":18,"sidebar":1374,"pagefind":16,"draft":20},"Tuval, AI, OpenFlow DSL, Mermaid, yapılandırılmış içe aktarma veya Infrastructure Sync arasında doğru başlangıç modunu seçin.",[],{"hidden":20,"attrs":1375},{},"OpenFlowKit bir diyagramı üretmek için birden fazla yol sunar. Doğru seçim, zaten elinizde ne olduğuna bağlıdır.\n\n## Hızlı eşleştirme\n\n| Elinizde olan | Başlangıç |\n| --- | --- |\n| kaba bir fikir | [AI Generation](/tr/ai-generation/) |\n| manuel çizilecek yapı | [Canvas Basics](/tr/canvas-basics/) |\n| editör-doğal metin kontrolü | [OpenFlow DSL](/tr/openflow-dsl/) |\n| mevcut Mermaid | [Mermaid Integration](/tr/mermaid-integration/) |\n| SQL, OpenAPI, Terraform veya K8s metni | [Import from Structured Data](/tr/import-from-data/) |\n| deterministik parse edilecek altyapı dosyaları | [Infrastructure Sync](/tr/infra-sync/) |\n\n## Temel kural\n\nElinizdeki en güçlü ve en doğru yapısal girdi ile başlayın. O yoksa daha gevşek bir mod olan AI’ya geçin.","src/content/docs/tr/choose-input-mode.md","079177613d16dd9b",{"html":1380,"metadata":1381},"\u003Cp>OpenFlowKit bir diyagramı üretmek için birden fazla yol sunar. Doğru seçim, zaten elinizde ne olduğuna bağlıdır.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"hızlı-eşleştirme\">Hızlı eşleştirme\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#hızlı-eşleştirme\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Hızlı eşleştirme”\u003C/span>\u003C/a>\u003C/div>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>Elinizde olan\u003C/th>\u003Cth>Başlangıç\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd>kaba bir fikir\u003C/td>\u003Ctd>\u003Ca href=\"/tr/ai-generation/\">AI Generation\u003C/a>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>manuel çizilecek yapı\u003C/td>\u003Ctd>\u003Ca href=\"/tr/canvas-basics/\">Canvas Basics\u003C/a>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>editör-doğal metin kontrolü\u003C/td>\u003Ctd>\u003Ca href=\"/tr/openflow-dsl/\">OpenFlow DSL\u003C/a>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>mevcut Mermaid\u003C/td>\u003Ctd>\u003Ca href=\"/tr/mermaid-integration/\">Mermaid Integration\u003C/a>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>SQL, OpenAPI, Terraform veya K8s metni\u003C/td>\u003Ctd>\u003Ca href=\"/tr/import-from-data/\">Import from Structured Data\u003C/a>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>deterministik parse edilecek altyapı dosyaları\u003C/td>\u003Ctd>\u003Ca href=\"/tr/infra-sync/\">Infrastructure Sync\u003C/a>\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"temel-kural\">Temel kural\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#temel-kural\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Temel kural”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Elinizdeki en güçlü ve en doğru yapısal girdi ile başlayın. O yoksa daha gevşek bir mod olan AI’ya geçin.\u003C/p>",{"headings":1382,"localImagePaths":1389,"remoteImagePaths":1390,"frontmatter":1391,"imagePaths":1392},[1383,1386],{"depth":30,"slug":1384,"text":1385},"hızlı-eşleştirme","Hızlı eşleştirme",{"depth":30,"slug":1387,"text":1388},"temel-kural","Temel kural",[],[],{"draft":20,"title":105,"description":1372},[],"tr/collaboration-sharing",{"id":1393,"data":1395,"body":1400,"filePath":1401,"digest":1402,"rendered":1403},{"title":268,"description":1396,"editUrl":16,"head":1397,"template":18,"sidebar":1398,"pagefind":16,"draft":20},"Oda bağlantıları paylaşın, local-only fallback davranışını anlayın ve OpenFlowKit ortak çalışma akışlarını doğru kullanın.",[],{"hidden":20,"attrs":1399},{},"OpenFlowKit, varsayılan local-first davranışı korurken paylaşım bağlantıları ve ortak çalışma odası akışlarını destekler.\n\n## Paylaşım akışında neler bulunur?\n\n- oda kimliği\n- davet URL’si\n- izleyici sayısı\n- katılımcı rozetleri\n- bağlantı durumu: realtime, connecting veya local-only fallback\n\n## Ne zaman paylaşım, ne zaman dışa aktarma?\n\nPaylaşımı şu durumlarda kullanın:\n\n- diyagram etkileşimli kalacaksa\n- başkaları aynı çalışma oturumuna katılacaksa\n- oda temelli ortak çalışma gerekiyorsa\n\nDışa aktarmayı şu durumlarda kullanın:\n\n- dosya/artifact gerekiyorsa\n- hedef sunum, doküman veya tasarım aracıysa\n- kalıcı bir teslim dosyası gerekiyorsa","src/content/docs/tr/collaboration-sharing.md","4b5a79f539b2ccaa",{"html":1404,"metadata":1405},"\u003Cp>OpenFlowKit, varsayılan local-first davranışı korurken paylaşım bağlantıları ve ortak çalışma odası akışlarını destekler.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"paylaşım-akışında-neler-bulunur\">Paylaşım akışında neler bulunur?\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#paylaşım-akışında-neler-bulunur\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Paylaşım akışında neler bulunur?”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>oda kimliği\u003C/li>\n\u003Cli>davet URL’si\u003C/li>\n\u003Cli>izleyici sayısı\u003C/li>\n\u003Cli>katılımcı rozetleri\u003C/li>\n\u003Cli>bağlantı durumu: realtime, connecting veya local-only fallback\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"ne-zaman-paylaşım-ne-zaman-dışa-aktarma\">Ne zaman paylaşım, ne zaman dışa aktarma?\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#ne-zaman-paylaşım-ne-zaman-dışa-aktarma\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Ne zaman paylaşım, ne zaman dışa aktarma?”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Paylaşımı şu durumlarda kullanın:\u003C/p>\n\u003Cul>\n\u003Cli>diyagram etkileşimli kalacaksa\u003C/li>\n\u003Cli>başkaları aynı çalışma oturumuna katılacaksa\u003C/li>\n\u003Cli>oda temelli ortak çalışma gerekiyorsa\u003C/li>\n\u003C/ul>\n\u003Cp>Dışa aktarmayı şu durumlarda kullanın:\u003C/p>\n\u003Cul>\n\u003Cli>dosya/artifact gerekiyorsa\u003C/li>\n\u003Cli>hedef sunum, doküman veya tasarım aracıysa\u003C/li>\n\u003Cli>kalıcı bir teslim dosyası gerekiyorsa\u003C/li>\n\u003C/ul>",{"headings":1406,"localImagePaths":1413,"remoteImagePaths":1414,"frontmatter":1415,"imagePaths":1416},[1407,1410],{"depth":30,"slug":1408,"text":1409},"paylaşım-akışında-neler-bulunur","Paylaşım akışında neler bulunur?",{"depth":30,"slug":1411,"text":1412},"ne-zaman-paylaşım-ne-zaman-dışa-aktarma","Ne zaman paylaşım, ne zaman dışa aktarma?",[],[],{"draft":20,"title":268,"description":1396},[],"tr/design-systems-branding",{"id":1417,"data":1419,"body":1424,"filePath":1425,"digest":1426,"rendered":1427},{"title":195,"description":1420,"editUrl":16,"head":1421,"template":18,"sidebar":1422,"pagefind":16,"draft":20},"Tutarlı diyagramlar için OpenFlowKit tasarım sistemlerini yönetin ve tema tanımlarını içe veya dışa aktarın.",[],{"hidden":20,"attrs":1423},{},"OpenFlowKit, diyagramların tek tek elle stillenmesi yerine tekrar kullanılabilir bir görsel sistemle çalışmasını sağlayan tasarım sistemi desteğine sahiptir.\n\n## Desteklenen akışlar\n\nKomut Merkezi üzerinden:\n\n- aktif tasarım sistemini değiştirebilir\n- mevcut temadan yeni tema türetebilir\n- tema çoğaltabilir ve düzenleyebilir\n- JSON içe aktarabilir\n- aktif temayı dışa aktarabilirsiniz\n\n## Ne zaman kullanılmalı?\n\n- birden çok diyagramın tutarlı görünmesi gerektiğinde\n- takımın marka veya ürün standartları olduğunda\n- diyagram stilini tekrar kullanılabilir bir varlık olarak yönetmek istediğinizde","src/content/docs/tr/design-systems-branding.md","4291a1cce220fc90",{"html":1428,"metadata":1429},"\u003Cp>OpenFlowKit, diyagramların tek tek elle stillenmesi yerine tekrar kullanılabilir bir görsel sistemle çalışmasını sağlayan tasarım sistemi desteğine sahiptir.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"desteklenen-akışlar\">Desteklenen akışlar\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#desteklenen-akışlar\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Desteklenen akışlar”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Komut Merkezi üzerinden:\u003C/p>\n\u003Cul>\n\u003Cli>aktif tasarım sistemini değiştirebilir\u003C/li>\n\u003Cli>mevcut temadan yeni tema türetebilir\u003C/li>\n\u003Cli>tema çoğaltabilir ve düzenleyebilir\u003C/li>\n\u003Cli>JSON içe aktarabilir\u003C/li>\n\u003Cli>aktif temayı dışa aktarabilirsiniz\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"ne-zaman-kullanılmalı\">Ne zaman kullanılmalı?\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#ne-zaman-kullanılmalı\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Ne zaman kullanılmalı?”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>birden çok diyagramın tutarlı görünmesi gerektiğinde\u003C/li>\n\u003Cli>takımın marka veya ürün standartları olduğunda\u003C/li>\n\u003Cli>diyagram stilini tekrar kullanılabilir bir varlık olarak yönetmek istediğinizde\u003C/li>\n\u003C/ul>",{"headings":1430,"localImagePaths":1437,"remoteImagePaths":1438,"frontmatter":1439,"imagePaths":1440},[1431,1434],{"depth":30,"slug":1432,"text":1433},"desteklenen-akışlar","Desteklenen akışlar",{"depth":30,"slug":1435,"text":1436},"ne-zaman-kullanılmalı","Ne zaman kullanılmalı?",[],[],{"draft":20,"title":195,"description":1420},[],"tr/command-center",{"id":1441,"data":1443,"body":1448,"filePath":1449,"digest":1450,"rendered":1451},{"title":228,"description":1444,"editUrl":16,"head":1445,"template":18,"sidebar":1446,"pagefind":16,"draft":20},"Arama yapmak, varlık eklemek, şablon başlatmak, Studio’ya geçmek ve düzen/tasarım sistemi işlemlerini çalıştırmak için klavye odaklı başlatıcıyı kullanın.",[],{"hidden":20,"attrs":1447},{},"Komut Merkezi, editörün klavye öncelikli başlatıcısıdır. Yüzen bir panel olarak açılır ve varlıklar, şablonlar, arama, düzen ve Studio akışları arasında geçiş yapmanın en hızlı yoludur.\n\n> [!NOTE]\n> macOS için `Cmd + K`, Windows/Linux için `Ctrl + K` ile açılır.\n\n## Üst seviye komutlar\n\nSık kullanılan komutlar:\n\n- Open FlowPilot\n- Edit Flow DSL\n- Edit Mermaid Code\n- Assets\n- Search Nodes\n- Auto Layout\n- Start from Template\n- Design Systems\n\n## Görünümler\n\n### Assets\n\nŞunları eklemek için kullanın:\n\n- notlar\n- metin blokları\n- bölümler\n- journey düğümleri\n- zihin haritası düğümleri\n- mimari düğümler\n- yüklenen görseller\n- browser wireframe’leri\n- mobile wireframe’leri\n\n### Templates\n\nBoş tuval yerine kanıtlanmış bir başlangıç iskeleti istediğinizde kullanın.\n\n### Search\n\nBüyük diyagramlarda adlı düğümlere hızlı atlamak için kullanın.\n\n### Design Systems\n\nTema değiştirmek, çoğaltmak, düzenlemek veya JSON tema dosyalarını içe/dışa aktarmak için kullanın.\n\n## Editördeki yeri\n\nKomut Merkezi, tuval ile Studio arasında en hızlı geçiş yüzeyidir:\n\n- doğrudan düzenleme için tuvali kullanın\n- kesin düzenlemeler için özellik panelini kullanın\n- arama, şablon, varlık, düzen ve iş akışı geçişleri için Komut Merkezi’ni kullanın","src/content/docs/tr/command-center.md","34ecf20d35ae4b83",{"html":1452,"metadata":1453},"\u003Cp>Komut Merkezi, editörün klavye öncelikli başlatıcısıdır. Yüzen bir panel olarak açılır ve varlıklar, şablonlar, arama, düzen ve Studio akışları arasında geçiş yapmanın en hızlı yoludur.\u003C/p>\n\u003Cblockquote>\n\u003Cp>[!NOTE]\nmacOS için \u003Ccode dir=\"auto\">Cmd + K\u003C/code>, Windows/Linux için \u003Ccode dir=\"auto\">Ctrl + K\u003C/code> ile açılır.\u003C/p>\n\u003C/blockquote>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"üst-seviye-komutlar\">Üst seviye komutlar\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#üst-seviye-komutlar\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Üst seviye komutlar”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Sık kullanılan komutlar:\u003C/p>\n\u003Cul>\n\u003Cli>Open FlowPilot\u003C/li>\n\u003Cli>Edit Flow DSL\u003C/li>\n\u003Cli>Edit Mermaid Code\u003C/li>\n\u003Cli>Assets\u003C/li>\n\u003Cli>Search Nodes\u003C/li>\n\u003Cli>Auto Layout\u003C/li>\n\u003Cli>Start from Template\u003C/li>\n\u003Cli>Design Systems\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"görünümler\">Görünümler\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#görünümler\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Görünümler”\u003C/span>\u003C/a>\u003C/div>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"assets\">Assets\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#assets\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Assets”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Şunları eklemek için kullanın:\u003C/p>\n\u003Cul>\n\u003Cli>notlar\u003C/li>\n\u003Cli>metin blokları\u003C/li>\n\u003Cli>bölümler\u003C/li>\n\u003Cli>journey düğümleri\u003C/li>\n\u003Cli>zihin haritası düğümleri\u003C/li>\n\u003Cli>mimari düğümler\u003C/li>\n\u003Cli>yüklenen görseller\u003C/li>\n\u003Cli>browser wireframe’leri\u003C/li>\n\u003Cli>mobile wireframe’leri\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"templates\">Templates\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#templates\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Templates”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Boş tuval yerine kanıtlanmış bir başlangıç iskeleti istediğinizde kullanın.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"search\">Search\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#search\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Search”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Büyük diyagramlarda adlı düğümlere hızlı atlamak için kullanın.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"design-systems\">Design Systems\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#design-systems\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Design Systems”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Tema değiştirmek, çoğaltmak, düzenlemek veya JSON tema dosyalarını içe/dışa aktarmak için kullanın.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"editördeki-yeri\">Editördeki yeri\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#editördeki-yeri\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Editördeki yeri”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Komut Merkezi, tuval ile Studio arasında en hızlı geçiş yüzeyidir:\u003C/p>\n\u003Cul>\n\u003Cli>doğrudan düzenleme için tuvali kullanın\u003C/li>\n\u003Cli>kesin düzenlemeler için özellik panelini kullanın\u003C/li>\n\u003Cli>arama, şablon, varlık, düzen ve iş akışı geçişleri için Komut Merkezi’ni kullanın\u003C/li>\n\u003C/ul>",{"headings":1454,"localImagePaths":1468,"remoteImagePaths":1469,"frontmatter":1470,"imagePaths":1471},[1455,1458,1461,1462,1463,1464,1465],{"depth":30,"slug":1456,"text":1457},"üst-seviye-komutlar","Üst seviye komutlar",{"depth":30,"slug":1459,"text":1460},"görünümler","Görünümler",{"depth":37,"slug":247,"text":248},{"depth":37,"slug":250,"text":251},{"depth":37,"slug":253,"text":254},{"depth":37,"slug":256,"text":257},{"depth":30,"slug":1466,"text":1467},"editördeki-yeri","Editördeki yeri",[],[],{"draft":20,"title":228,"description":1444},[],"tr/diagram-diff",{"id":1472,"data":1474,"body":1479,"filePath":1480,"digest":1481,"rendered":1482},{"title":369,"description":1475,"editUrl":16,"head":1476,"template":18,"sidebar":1477,"pagefind":16,"draft":20},"Mevcut diyagramı bir snapshot tabanı ile karşılaştırın ve eklenen, kaldırılan veya değişen öğeleri görün.",[],{"hidden":20,"attrs":1478},{},"Diagram Diff & Compare, mevcut grafiğin kaydedilmiş bir baseline snapshot’a göre nasıl değiştiğini incelemenizi sağlar.\n\n## Neleri gösterir?\n\n- eklenen düğümler ve kenarlar\n- kaldırılan düğümler ve kenarlar\n- değişen düğümler\n- baseline snapshot adı ve zamanı\n\n## Neden yararlıdır?\n\nBüyük değişikliklerden sonra sadece “farklı görünüyor” demek yerine, tam olarak neyin değiştiğini görmek için en doğru akıştır.","src/content/docs/tr/diagram-diff.md","c3774e497cc026b5",{"html":1483,"metadata":1484},"\u003Cp>Diagram Diff & Compare, mevcut grafiğin kaydedilmiş bir baseline snapshot’a göre nasıl değiştiğini incelemenizi sağlar.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"neleri-gösterir\">Neleri gösterir?\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#neleri-gösterir\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Neleri gösterir?”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>eklenen düğümler ve kenarlar\u003C/li>\n\u003Cli>kaldırılan düğümler ve kenarlar\u003C/li>\n\u003Cli>değişen düğümler\u003C/li>\n\u003Cli>baseline snapshot adı ve zamanı\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"neden-yararlıdır\">Neden yararlıdır?\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#neden-yararlıdır\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Neden yararlıdır?”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Büyük değişikliklerden sonra sadece “farklı görünüyor” demek yerine, tam olarak neyin değiştiğini görmek için en doğru akıştır.\u003C/p>",{"headings":1485,"localImagePaths":1492,"remoteImagePaths":1493,"frontmatter":1494,"imagePaths":1495},[1486,1489],{"depth":30,"slug":1487,"text":1488},"neleri-gösterir","Neleri gösterir?",{"depth":30,"slug":1490,"text":1491},"neden-yararlıdır","Neden yararlıdır?",[],[],{"draft":20,"title":369,"description":1475},[],"tr/exporting",{"id":1496,"data":1498,"body":1503,"filePath":1504,"digest":1505,"rendered":1506},{"title":426,"description":1499,"editUrl":16,"head":1500,"template":18,"sidebar":1501,"pagefind":16,"draft":20},"Diyagramları OpenFlowKit’ten görsel, oynatma medyası, JSON, kod formatları, tasarım aracı aktarımı veya paylaşım/gömme akışları olarak dışa aktarın.",[],{"hidden":20,"attrs":1502},{},"Dışa aktarma menüsü editörün sağ üstünde yer alır ve hem indirilen dosyaları hem de panoya kopyalanan formatları kapsar.\n\n## İndirilen formatlar\n\n### PNG ve JPG\n\nŞunlar için kullanın:\n\n- dokümanlar\n- slaytlar\n- ticket sistemleri\n- hızlı görsel paylaşım\n\nPNG genellikle şeffaflık ve netlik açısından daha iyi varsayılandır. JPG ise beyaz arka planlı hafif paylaşım için uygundur.\n\n### SVG\n\nWeb, dokümantasyon ve ölçeklenebilir tasarım kullanımları için en iyi seçenektir.\n\n### JSON\n\nOpenFlowKit’e en yüksek sadakatle geri içe aktarılabilen ana arşiv formatıdır. Şunlar için kullanın:\n\n- yedekleme\n- düzenlenebilir ana kopya saklama\n- tarayıcılar arası aktarım\n- ileri tarihte tekrar düzenlenecek diyagramlar\n\n### Oynatma videosu ve GIF\n\nDeğişimin zaman içinde anlatılması gereken akışlar için kullanın.\n\n## Panoya kopyalanan formatlar\n\n- OpenFlow DSL\n- Mermaid\n- PlantUML\n- Figma editable export\n\nBu formatlar bir sonraki araç metin veya tasarım düzeyinde girdi beklediğinde daha uygundur.\n\n## Paylaşım\n\nMenüdeki **Share / Embed** seçeneği izleyici bağlantısı ve iş birliği odası akışları içindir.\n\n## Önerilen yaklaşım\n\nÇoğu ciddi kullanım için iyi bir desen şudur:\n\n1. JSON’u düzenlenebilir ana kopya olarak saklayın\n2. sunum için görsel format dışa aktarın\n3. metin iş akışı gerekiyorsa Mermaid veya DSL üretin\n4. etkileşim gerekiyorsa paylaşım/gömme akışını kullanın","src/content/docs/tr/exporting.md","fb5fb8b6ad76d188",{"html":1507,"metadata":1508},"\u003Cp>Dışa aktarma menüsü editörün sağ üstünde yer alır ve hem indirilen dosyaları hem de panoya kopyalanan formatları kapsar.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"i̇ndirilen-formatlar\">İndirilen formatlar\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#i̇ndirilen-formatlar\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “İndirilen formatlar”\u003C/span>\u003C/a>\u003C/div>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"png-ve-jpg\">PNG ve JPG\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#png-ve-jpg\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “PNG ve JPG”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Şunlar için kullanın:\u003C/p>\n\u003Cul>\n\u003Cli>dokümanlar\u003C/li>\n\u003Cli>slaytlar\u003C/li>\n\u003Cli>ticket sistemleri\u003C/li>\n\u003Cli>hızlı görsel paylaşım\u003C/li>\n\u003C/ul>\n\u003Cp>PNG genellikle şeffaflık ve netlik açısından daha iyi varsayılandır. JPG ise beyaz arka planlı hafif paylaşım için uygundur.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"svg\">SVG\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#svg\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “SVG”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Web, dokümantasyon ve ölçeklenebilir tasarım kullanımları için en iyi seçenektir.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"json\">JSON\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#json\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “JSON”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>OpenFlowKit’e en yüksek sadakatle geri içe aktarılabilen ana arşiv formatıdır. Şunlar için kullanın:\u003C/p>\n\u003Cul>\n\u003Cli>yedekleme\u003C/li>\n\u003Cli>düzenlenebilir ana kopya saklama\u003C/li>\n\u003Cli>tarayıcılar arası aktarım\u003C/li>\n\u003Cli>ileri tarihte tekrar düzenlenecek diyagramlar\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"oynatma-videosu-ve-gif\">Oynatma videosu ve GIF\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#oynatma-videosu-ve-gif\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Oynatma videosu ve GIF”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Değişimin zaman içinde anlatılması gereken akışlar için kullanın.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"panoya-kopyalanan-formatlar\">Panoya kopyalanan formatlar\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#panoya-kopyalanan-formatlar\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Panoya kopyalanan formatlar”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>OpenFlow DSL\u003C/li>\n\u003Cli>Mermaid\u003C/li>\n\u003Cli>PlantUML\u003C/li>\n\u003Cli>Figma editable export\u003C/li>\n\u003C/ul>\n\u003Cp>Bu formatlar bir sonraki araç metin veya tasarım düzeyinde girdi beklediğinde daha uygundur.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"paylaşım\">Paylaşım\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#paylaşım\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Paylaşım”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Menüdeki \u003Cstrong>Share / Embed\u003C/strong> seçeneği izleyici bağlantısı ve iş birliği odası akışları içindir.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"önerilen-yaklaşım\">Önerilen yaklaşım\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#önerilen-yaklaşım\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Önerilen yaklaşım”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Çoğu ciddi kullanım için iyi bir desen şudur:\u003C/p>\n\u003Col>\n\u003Cli>JSON’u düzenlenebilir ana kopya olarak saklayın\u003C/li>\n\u003Cli>sunum için görsel format dışa aktarın\u003C/li>\n\u003Cli>metin iş akışı gerekiyorsa Mermaid veya DSL üretin\u003C/li>\n\u003Cli>etkileşim gerekiyorsa paylaşım/gömme akışını kullanın\u003C/li>\n\u003C/ol>",{"headings":1509,"localImagePaths":1530,"remoteImagePaths":1531,"frontmatter":1532,"imagePaths":1533},[1510,1513,1516,1517,1518,1521,1524,1527],{"depth":30,"slug":1511,"text":1512},"i̇ndirilen-formatlar","İndirilen formatlar",{"depth":37,"slug":1514,"text":1515},"png-ve-jpg","PNG ve JPG",{"depth":37,"slug":445,"text":446},{"depth":37,"slug":448,"text":449},{"depth":37,"slug":1519,"text":1520},"oynatma-videosu-ve-gif","Oynatma videosu ve GIF",{"depth":30,"slug":1522,"text":1523},"panoya-kopyalanan-formatlar","Panoya kopyalanan formatlar",{"depth":30,"slug":1525,"text":1526},"paylaşım","Paylaşım",{"depth":30,"slug":1528,"text":1529},"önerilen-yaklaşım","Önerilen yaklaşım",[],[],{"draft":20,"title":426,"description":1499},[],"tr/diagram-families",{"id":1534,"data":1536,"body":1541,"filePath":1542,"digest":1543,"rendered":1544},{"title":397,"description":1537,"editUrl":16,"head":1538,"template":18,"sidebar":1539,"pagefind":16,"draft":20},"Akışlar, mimari haritalar, zihin haritaları, journey diyagramları, sınıf diyagramları ve ER diyagramları için doğru OpenFlowKit ailesini seçin.",[],{"hidden":20,"attrs":1540},{},"OpenFlowKit birden fazla diyagram ailesini destekler; çünkü her problem aynı düğüm ve kenar modeline zorlanmamalıdır.\n\n## Mevcut aileler\n\n| Aile | En uygun kullanım |\n| --- | --- |\n| `flowchart` | Genel süreç ve sistem akışları |\n| `architecture` | Bulut, servis ve platform diyagramları |\n| `mindmap` | Dallanarak düşünme ve hiyerarşik fikirler |\n| `journey` | Kullanıcı veya süreç yolculukları |\n| `stateDiagram` | Durum geçişleri |\n| `classDiagram` | Nesne modelleme ve ilişkiler |\n| `erDiagram` | Tablolar ve ilişkisel yapı |\n| `gitGraph` | Git geçmişi ve branch akışları |\n\n## Nasıl seçilir?\n\nŞekle değil, diyagramın anlamsal ihtiyacına göre seçim yapın.\n\n- süreç odaklıysa `flowchart`\n- sistem topolojisi önemliyse `architecture`\n- hiyerarşi önemliyse `mindmap`\n- aşama ve aktör önemliyse `journey`","src/content/docs/tr/diagram-families.md","2c092b3d6799f275",{"html":1545,"metadata":1546},"\u003Cp>OpenFlowKit birden fazla diyagram ailesini destekler; çünkü her problem aynı düğüm ve kenar modeline zorlanmamalıdır.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"mevcut-aileler\">Mevcut aileler\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#mevcut-aileler\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Mevcut aileler”\u003C/span>\u003C/a>\u003C/div>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>Aile\u003C/th>\u003Cth>En uygun kullanım\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">flowchart\u003C/code>\u003C/td>\u003Ctd>Genel süreç ve sistem akışları\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">architecture\u003C/code>\u003C/td>\u003Ctd>Bulut, servis ve platform diyagramları\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">mindmap\u003C/code>\u003C/td>\u003Ctd>Dallanarak düşünme ve hiyerarşik fikirler\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">journey\u003C/code>\u003C/td>\u003Ctd>Kullanıcı veya süreç yolculukları\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">stateDiagram\u003C/code>\u003C/td>\u003Ctd>Durum geçişleri\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">classDiagram\u003C/code>\u003C/td>\u003Ctd>Nesne modelleme ve ilişkiler\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">erDiagram\u003C/code>\u003C/td>\u003Ctd>Tablolar ve ilişkisel yapı\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode dir=\"auto\">gitGraph\u003C/code>\u003C/td>\u003Ctd>Git geçmişi ve branch akışları\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"nasıl-seçilir\">Nasıl seçilir?\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#nasıl-seçilir\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Nasıl seçilir?”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Şekle değil, diyagramın anlamsal ihtiyacına göre seçim yapın.\u003C/p>\n\u003Cul>\n\u003Cli>süreç odaklıysa \u003Ccode dir=\"auto\">flowchart\u003C/code>\u003C/li>\n\u003Cli>sistem topolojisi önemliyse \u003Ccode dir=\"auto\">architecture\u003C/code>\u003C/li>\n\u003Cli>hiyerarşi önemliyse \u003Ccode dir=\"auto\">mindmap\u003C/code>\u003C/li>\n\u003Cli>aşama ve aktör önemliyse \u003Ccode dir=\"auto\">journey\u003C/code>\u003C/li>\n\u003C/ul>",{"headings":1547,"localImagePaths":1554,"remoteImagePaths":1555,"frontmatter":1556,"imagePaths":1557},[1548,1551],{"depth":30,"slug":1549,"text":1550},"mevcut-aileler","Mevcut aileler",{"depth":30,"slug":1552,"text":1553},"nasıl-seçilir","Nasıl seçilir?",[],[],{"draft":20,"title":397,"description":1537},[],"tr/figma-design-import",{"id":1558,"data":1560,"body":1565,"filePath":1566,"digest":1567,"rendered":1568},{"title":470,"description":1561,"editUrl":16,"head":1562,"template":18,"sidebar":1563,"pagefind":16,"draft":20},"Figma’dan renk ve metin stillerini alıp bir OpenFlowKit tasarım sistemine uygulayın.",[],{"hidden":20,"attrs":1564},{},"Figma import akışı, tema token’larını elle yeniden kurmak yerine mevcut bir Figma dosyasından stil çekmenizi sağlar.\n\n## Gerekli olanlar\n\n- Figma dosya URL’si\n- kişisel erişim token’ı\n\n## Neler önizlenir?\n\n- renk stilleri\n- metin stilleri\n- ilgili font aileleri\n\n## Ne zaman faydalıdır?\n\n- mevcut marka sistemini diyagramlara taşırken\n- hızla bir tema oluşturmak isterken\n- birden çok diyagram için aynı görsel dili korurken","src/content/docs/tr/figma-design-import.md","19e8e0f4fee1c4a3",{"html":1569,"metadata":1570},"\u003Cp>Figma import akışı, tema token’larını elle yeniden kurmak yerine mevcut bir Figma dosyasından stil çekmenizi sağlar.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"gerekli-olanlar\">Gerekli olanlar\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#gerekli-olanlar\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Gerekli olanlar”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>Figma dosya URL’si\u003C/li>\n\u003Cli>kişisel erişim token’ı\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"neler-önizlenir\">Neler önizlenir?\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#neler-önizlenir\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Neler önizlenir?”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>renk stilleri\u003C/li>\n\u003Cli>metin stilleri\u003C/li>\n\u003Cli>ilgili font aileleri\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"ne-zaman-faydalıdır\">Ne zaman faydalıdır?\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#ne-zaman-faydalıdır\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Ne zaman faydalıdır?”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>mevcut marka sistemini diyagramlara taşırken\u003C/li>\n\u003Cli>hızla bir tema oluşturmak isterken\u003C/li>\n\u003Cli>birden çok diyagram için aynı görsel dili korurken\u003C/li>\n\u003C/ul>",{"headings":1571,"localImagePaths":1581,"remoteImagePaths":1582,"frontmatter":1583,"imagePaths":1584},[1572,1575,1578],{"depth":30,"slug":1573,"text":1574},"gerekli-olanlar","Gerekli olanlar",{"depth":30,"slug":1576,"text":1577},"neler-önizlenir","Neler önizlenir?",{"depth":30,"slug":1579,"text":1580},"ne-zaman-faydalıdır","Ne zaman faydalıdır?",[],[],{"draft":20,"title":470,"description":1561},[],"tr/github-embed",{"id":1585,"data":1587,"body":1592,"filePath":1593,"digest":1594,"rendered":1595},{"title":498,"description":1588,"editUrl":16,"head":1589,"template":18,"sidebar":1590,"pagefind":16,"draft":20},"OpenFlowKit diyagramları için izleyici bağlantıları üretin ve bunları GitHub odaklı dokümantasyon akışlarında kullanın.",[],{"hidden":20,"attrs":1591},{},"OpenFlowKit diyagramlarını GitHub README veya başka Markdown tabanlı belgelerde etkileşimli, salt okunur görünüm bağlantılarıyla paylaşabilirsiniz.\n\n## Ne zaman faydalıdır?\n\n- ekip dokümantasyonu Markdown içinde yaşıyorsa\n- statik PNG yerine daha zengin bir deneyim istiyorsanız\n- okuyucunun diyagramı editörde açabilmesini istiyorsanız\n\n## Temel fikir\n\nOpenFlow DSL içeriği URL güvenli biçimde kodlanır ve `/view` rotasına aktarılır. Böylece harici servis veya GitHub uygulaması gerekmeden izleyici bağlantısı elde edilir.","src/content/docs/tr/github-embed.md","54c6b45add815424",{"html":1596,"metadata":1597},"\u003Cp>OpenFlowKit diyagramlarını GitHub README veya başka Markdown tabanlı belgelerde etkileşimli, salt okunur görünüm bağlantılarıyla paylaşabilirsiniz.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"ne-zaman-faydalıdır\">Ne zaman faydalıdır?\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#ne-zaman-faydalıdır\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Ne zaman faydalıdır?”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>ekip dokümantasyonu Markdown içinde yaşıyorsa\u003C/li>\n\u003Cli>statik PNG yerine daha zengin bir deneyim istiyorsanız\u003C/li>\n\u003Cli>okuyucunun diyagramı editörde açabilmesini istiyorsanız\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"temel-fikir\">Temel fikir\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#temel-fikir\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Temel fikir”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>OpenFlow DSL içeriği URL güvenli biçimde kodlanır ve \u003Ccode dir=\"auto\">/view\u003C/code> rotasına aktarılır. Böylece harici servis veya GitHub uygulaması gerekmeden izleyici bağlantısı elde edilir.\u003C/p>",{"headings":1598,"localImagePaths":1603,"remoteImagePaths":1604,"frontmatter":1605,"imagePaths":1606},[1599,1600],{"depth":30,"slug":1579,"text":1580},{"depth":30,"slug":1601,"text":1602},"temel-fikir","Temel fikir",[],[],{"draft":20,"title":498,"description":1588},[],"tr/import-from-data",{"id":1607,"data":1609,"body":1614,"filePath":1615,"digest":1616,"rendered":1617},{"title":581,"description":1610,"editUrl":16,"head":1611,"template":18,"sidebar":1612,"pagefind":16,"draft":20},"SQL, OpenAPI, Terraform ve Kubernetes kaynak metnini Studio içinden düzenlenebilir diyagramlara dönüştürün.",[],{"hidden":20,"attrs":1613},{},"Studio içindeki yapılandırılmış içe aktarma akışları, mevcut kaynak metinleri düzenlenebilir diyagramlara dönüştürür.\n\n## Ne zaman kullanılmalı?\n\n- elinizde zaten SQL DDL varsa\n- OpenAPI spesifikasyonundan servis görünümü üretmek istiyorsanız\n- Terraform veya K8s metninden ilk taslağı almak istiyorsanız\n\n## Nasıl çalışır?\n\nKaynak metni yapıştırın, uygun modu seçin ve diyagramı üretin. Girdi türüne göre OpenFlowKit ya uzmanlaşmış AI destekli akış ya da daha deterministik parse akışı kullanır.\n\nTamamen deterministik altyapı parse’ı gerektiğinde [Infrastructure Sync](/tr/infra-sync/) kullanın.","src/content/docs/tr/import-from-data.md","bacfc7e050b4d25c",{"html":1618,"metadata":1619},"\u003Cp>Studio içindeki yapılandırılmış içe aktarma akışları, mevcut kaynak metinleri düzenlenebilir diyagramlara dönüştürür.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"ne-zaman-kullanılmalı\">Ne zaman kullanılmalı?\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#ne-zaman-kullanılmalı\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Ne zaman kullanılmalı?”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>elinizde zaten SQL DDL varsa\u003C/li>\n\u003Cli>OpenAPI spesifikasyonundan servis görünümü üretmek istiyorsanız\u003C/li>\n\u003Cli>Terraform veya K8s metninden ilk taslağı almak istiyorsanız\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"nasıl-çalışır\">Nasıl çalışır?\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#nasıl-çalışır\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Nasıl çalışır?”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Kaynak metni yapıştırın, uygun modu seçin ve diyagramı üretin. Girdi türüne göre OpenFlowKit ya uzmanlaşmış AI destekli akış ya da daha deterministik parse akışı kullanır.\u003C/p>\n\u003Cp>Tamamen deterministik altyapı parse’ı gerektiğinde \u003Ca href=\"/tr/infra-sync/\">Infrastructure Sync\u003C/a> kullanın.\u003C/p>",{"headings":1620,"localImagePaths":1625,"remoteImagePaths":1626,"frontmatter":1627,"imagePaths":1628},[1621,1622],{"depth":30,"slug":1435,"text":1436},{"depth":30,"slug":1623,"text":1624},"nasıl-çalışır","Nasıl çalışır?",[],[],{"draft":20,"title":581,"description":1610},[],"tr/infra-sync",{"id":1629,"data":1631,"body":1636,"filePath":1637,"digest":1638,"rendered":1639},{"title":547,"description":1632,"editUrl":16,"head":1633,"template":18,"sidebar":1634,"pagefind":16,"draft":20},"Terraform state, Kubernetes manifestleri ve Docker Compose dosyalarını AI sağlayıcısına ihtiyaç duymadan doğrudan diyagrama dönüştürün.",[],{"hidden":20,"attrs":1635},{},"Infrastructure Sync, gerçek altyapı dosyalarını deterministik şekilde OpenFlowKit diyagramlarına dönüştürür.\n\n## Desteklenen formatlar\n\n- Terraform State (`.tfstate` JSON)\n- Kubernetes YAML\n- Docker Compose YAML\n- gerektiğinde AI destekli yol üzerinden Terraform HCL\n\n## Ne zaman kullanılmalı?\n\n- elinizde gerçek altyapı dosyaları varsa\n- deterministik parse gerekiyorsa\n- çevrimdışı dostu içe aktarma istiyorsanız\n- mimari inceleme için düzenlenebilir başlangıç noktası istiyorsanız\n\n## Sonrasında ne olur?\n\nOluşturulan sonuç yine normal bir OpenFlowKit diyagramıdır. Uyguladıktan sonra düzen, açıklama, dışa aktarma ve karşılaştırma akışlarına devam edebilirsiniz.","src/content/docs/tr/infra-sync.md","7672aa877dc2c1a3",{"html":1640,"metadata":1641},"\u003Cp>Infrastructure Sync, gerçek altyapı dosyalarını deterministik şekilde OpenFlowKit diyagramlarına dönüştürür.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"desteklenen-formatlar\">Desteklenen formatlar\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#desteklenen-formatlar\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Desteklenen formatlar”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>Terraform State (\u003Ccode dir=\"auto\">.tfstate\u003C/code> JSON)\u003C/li>\n\u003Cli>Kubernetes YAML\u003C/li>\n\u003Cli>Docker Compose YAML\u003C/li>\n\u003Cli>gerektiğinde AI destekli yol üzerinden Terraform HCL\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"ne-zaman-kullanılmalı\">Ne zaman kullanılmalı?\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#ne-zaman-kullanılmalı\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Ne zaman kullanılmalı?”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>elinizde gerçek altyapı dosyaları varsa\u003C/li>\n\u003Cli>deterministik parse gerekiyorsa\u003C/li>\n\u003Cli>çevrimdışı dostu içe aktarma istiyorsanız\u003C/li>\n\u003Cli>mimari inceleme için düzenlenebilir başlangıç noktası istiyorsanız\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"sonrasında-ne-olur\">Sonrasında ne olur?\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#sonrasında-ne-olur\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Sonrasında ne olur?”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Oluşturulan sonuç yine normal bir OpenFlowKit diyagramıdır. Uyguladıktan sonra düzen, açıklama, dışa aktarma ve karşılaştırma akışlarına devam edebilirsiniz.\u003C/p>",{"headings":1642,"localImagePaths":1650,"remoteImagePaths":1651,"frontmatter":1652,"imagePaths":1653},[1643,1646,1647],{"depth":30,"slug":1644,"text":1645},"desteklenen-formatlar","Desteklenen formatlar",{"depth":30,"slug":1435,"text":1436},{"depth":30,"slug":1648,"text":1649},"sonrasında-ne-olur","Sonrasında ne olur?",[],[],{"draft":20,"title":547,"description":1632},[],"tr/introduction",{"id":1654,"data":1656,"body":1661,"filePath":1662,"digest":1663,"rendered":1664},{"title":610,"description":1657,"editUrl":16,"head":1658,"template":18,"sidebar":1659,"pagefind":16,"draft":20},"OpenFlowKit; teknik akışlar, mimari diyagramlar, kod tabanlı temsil ve yapay zeka destekli düzenleme için local-first bir diyagram çalışma alanıdır.",[],{"hidden":20,"attrs":1660},{},"OpenFlowKit, teknik ekipler için tasarlanmış local-first bir diyagram çalışma alanıdır. Görsel tuvali, kod dostu temsilleri, deterministik içe aktarma yollarını, yapay zeka destekli üretimi ve paylaşım/dışa aktarma akışlarını tek bir tarayıcı tabanlı üründe birleştirir.\n\n## OpenFlowKit nerede güçlüdür?\n\nOpenFlowKit özellikle diyagramın zaman içinde evrilmesi gereken durumlarda güçlüdür:\n\n- boş tuval, şablon, yapay zeka istemi, kod temsili veya mevcut kaynak girdiden başlayabilirsiniz\n- sonucu tek seferlik bir çıktı gibi değil, düzenlenebilir bir çalışma yüzeyi gibi geliştirebilirsiniz\n- gerektiğinde metinsel temsili editör modeline yakın tutabilirsiniz\n- aynı diyagramı dokümantasyon, tasarım ve paylaşım iş akışlarına taşıyabilirsiniz\n\n## Ürünün temel yüzeyleri\n\nMevcut ürün dört ana yüzey etrafında şekillenir:\n\n- doğrudan düzenleme için görsel tuval\n- arama, şablon, varlık, düzen ve tasarım sistemleri için komut merkezi\n- yapay zeka, kod, içe aktarma, infra senkronizasyonu ve lint akışları için Studio alanı\n- editör dışına taşımak için dışa aktarma, gömme ve paylaşım akışları\n\n## Uygulamadaki diyagram aileleri\n\nEditör şu diyagram türlerini birinci sınıf olarak destekler:\n\n- `flowchart`\n- `stateDiagram`\n- `classDiagram`\n- `erDiagram`\n- `gitGraph`\n- `mindmap`\n- `journey`\n- `architecture`\n\nBuna ek olarak genel amaçlı akış düğümleri, mimari ikon düğümleri, açıklamalar, bölümler, görseller ve wireframe yüzeyleri de bulunur.\n\n## Temel kavramlar\n\n### Varsayılan olarak local-first\n\nDiyagram durumu varsayılan olarak tarayıcıda kalır. Ne zaman dışa aktaracağınızı, paylaşacağınızı veya bir ortak çalışma odasına gireceğinizi siz belirlersiniz.\n\n### Birden fazla giriş modu\n\nOpenFlowKit tek bir kaynak doğruluğu modeline sizi zorlamaz. Görsel düzenleme, yapay zeka, OpenFlow DSL, Mermaid veya yapılandırılmış içe aktarma arasında ihtiyaç bazlı geçiş yapabilirsiniz.\n\n### Düzenlenebilir çıktılar\n\nÜretilen veya içe aktarılan diyagramlar ölü ekran görüntülerine dönüşmez; aynı düzenlenebilir tuval modeline geri gelir.\n\n## Buradan başlayın\n\n- En hızlı ilk kullanım akışı için [Quick Start](/tr/quick-start/) sayfasını okuyun.\n- Yapay zeka, kod ve içe aktarma yüzeyleri için [Studio Overview](/tr/studio-overview/) sayfasını açın.\n- Nereden başlamanız gerektiğinden emin değilseniz [Choose an Input Mode](/tr/choose-input-mode/) sayfasına gidin.","src/content/docs/tr/introduction.md","ccedc0396b49921f",{"html":1665,"metadata":1666},"\u003Cp>OpenFlowKit, teknik ekipler için tasarlanmış local-first bir diyagram çalışma alanıdır. Görsel tuvali, kod dostu temsilleri, deterministik içe aktarma yollarını, yapay zeka destekli üretimi ve paylaşım/dışa aktarma akışlarını tek bir tarayıcı tabanlı üründe birleştirir.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"openflowkit-nerede-güçlüdür\">OpenFlowKit nerede güçlüdür?\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#openflowkit-nerede-güçlüdür\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “OpenFlowKit nerede güçlüdür?”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>OpenFlowKit özellikle diyagramın zaman içinde evrilmesi gereken durumlarda güçlüdür:\u003C/p>\n\u003Cul>\n\u003Cli>boş tuval, şablon, yapay zeka istemi, kod temsili veya mevcut kaynak girdiden başlayabilirsiniz\u003C/li>\n\u003Cli>sonucu tek seferlik bir çıktı gibi değil, düzenlenebilir bir çalışma yüzeyi gibi geliştirebilirsiniz\u003C/li>\n\u003Cli>gerektiğinde metinsel temsili editör modeline yakın tutabilirsiniz\u003C/li>\n\u003Cli>aynı diyagramı dokümantasyon, tasarım ve paylaşım iş akışlarına taşıyabilirsiniz\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"ürünün-temel-yüzeyleri\">Ürünün temel yüzeyleri\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#ürünün-temel-yüzeyleri\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Ürünün temel yüzeyleri”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Mevcut ürün dört ana yüzey etrafında şekillenir:\u003C/p>\n\u003Cul>\n\u003Cli>doğrudan düzenleme için görsel tuval\u003C/li>\n\u003Cli>arama, şablon, varlık, düzen ve tasarım sistemleri için komut merkezi\u003C/li>\n\u003Cli>yapay zeka, kod, içe aktarma, infra senkronizasyonu ve lint akışları için Studio alanı\u003C/li>\n\u003Cli>editör dışına taşımak için dışa aktarma, gömme ve paylaşım akışları\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"uygulamadaki-diyagram-aileleri\">Uygulamadaki diyagram aileleri\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#uygulamadaki-diyagram-aileleri\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Uygulamadaki diyagram aileleri”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Editör şu diyagram türlerini birinci sınıf olarak destekler:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Ccode dir=\"auto\">flowchart\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">stateDiagram\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">classDiagram\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">erDiagram\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">gitGraph\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">mindmap\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">journey\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">architecture\u003C/code>\u003C/li>\n\u003C/ul>\n\u003Cp>Buna ek olarak genel amaçlı akış düğümleri, mimari ikon düğümleri, açıklamalar, bölümler, görseller ve wireframe yüzeyleri de bulunur.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"temel-kavramlar\">Temel kavramlar\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#temel-kavramlar\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Temel kavramlar”\u003C/span>\u003C/a>\u003C/div>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"varsayılan-olarak-local-first\">Varsayılan olarak local-first\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#varsayılan-olarak-local-first\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Varsayılan olarak local-first”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Diyagram durumu varsayılan olarak tarayıcıda kalır. Ne zaman dışa aktaracağınızı, paylaşacağınızı veya bir ortak çalışma odasına gireceğinizi siz belirlersiniz.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"birden-fazla-giriş-modu\">Birden fazla giriş modu\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#birden-fazla-giriş-modu\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Birden fazla giriş modu”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>OpenFlowKit tek bir kaynak doğruluğu modeline sizi zorlamaz. Görsel düzenleme, yapay zeka, OpenFlow DSL, Mermaid veya yapılandırılmış içe aktarma arasında ihtiyaç bazlı geçiş yapabilirsiniz.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"düzenlenebilir-çıktılar\">Düzenlenebilir çıktılar\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#düzenlenebilir-çıktılar\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Düzenlenebilir çıktılar”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Üretilen veya içe aktarılan diyagramlar ölü ekran görüntülerine dönüşmez; aynı düzenlenebilir tuval modeline geri gelir.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"buradan-başlayın\">Buradan başlayın\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#buradan-başlayın\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Buradan başlayın”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>En hızlı ilk kullanım akışı için \u003Ca href=\"/tr/quick-start/\">Quick Start\u003C/a> sayfasını okuyun.\u003C/li>\n\u003Cli>Yapay zeka, kod ve içe aktarma yüzeyleri için \u003Ca href=\"/tr/studio-overview/\">Studio Overview\u003C/a> sayfasını açın.\u003C/li>\n\u003Cli>Nereden başlamanız gerektiğinden emin değilseniz \u003Ca href=\"/tr/choose-input-mode/\">Choose an Input Mode\u003C/a> sayfasına gidin.\u003C/li>\n\u003C/ul>",{"headings":1667,"localImagePaths":1692,"remoteImagePaths":1693,"frontmatter":1694,"imagePaths":1695},[1668,1671,1674,1677,1680,1683,1686,1689],{"depth":30,"slug":1669,"text":1670},"openflowkit-nerede-güçlüdür","OpenFlowKit nerede güçlüdür?",{"depth":30,"slug":1672,"text":1673},"ürünün-temel-yüzeyleri","Ürünün temel yüzeyleri",{"depth":30,"slug":1675,"text":1676},"uygulamadaki-diyagram-aileleri","Uygulamadaki diyagram aileleri",{"depth":30,"slug":1678,"text":1679},"temel-kavramlar","Temel kavramlar",{"depth":37,"slug":1681,"text":1682},"varsayılan-olarak-local-first","Varsayılan olarak local-first",{"depth":37,"slug":1684,"text":1685},"birden-fazla-giriş-modu","Birden fazla giriş modu",{"depth":37,"slug":1687,"text":1688},"düzenlenebilir-çıktılar","Düzenlenebilir çıktılar",{"depth":30,"slug":1690,"text":1691},"buradan-başlayın","Buradan başlayın",[],[],{"draft":20,"title":610,"description":1657},[],"tr/keyboard-shortcuts",{"id":1696,"data":1698,"body":1703,"filePath":1704,"digest":1705,"rendered":1706},{"title":653,"description":1699,"editUrl":16,"head":1700,"template":18,"sidebar":1701,"pagefind":16,"draft":20},"OpenFlowKit’te düzenleme, gezinme ve diyagram üretimi için mevcut klavye kısayolları.",[],{"hidden":20,"attrs":1702},{},"Bu tablolar uygulamadaki temel kısayol gruplarını özetler.\n\n## Temel\n\n| Eylem | macOS | Windows/Linux |\n| --- | --- | --- |\n| Undo | `Cmd + Z` | `Ctrl + Z` |\n| Redo | `Cmd + Shift + Z` | `Ctrl + Shift + Z` |\n| Tümünü seç | `Cmd + A` | `Ctrl + A` |\n| Seçimi sil | `Delete` | `Backspace` |\n\n## Düzenleme\n\n| Eylem | macOS | Windows/Linux |\n| --- | --- | --- |\n| Çoklu seçim | `Shift + Click` | `Shift + Click` |\n| Seçim kutusu | `Shift + Drag` | `Shift + Drag` |\n| Çoğalt | `Cmd + D` | `Ctrl + D` |\n| Sürükleyerek çoğalt | `Opt + Drag` | `Alt + Drag` |\n| Kopyala | `Cmd + C` | `Ctrl + C` |\n| Yapıştır | `Cmd + V` | `Ctrl + V` |\n| Grupla | `Cmd + G` | `Ctrl + G` |\n\n## Düğüm işlemleri\n\n| Eylem | macOS | Windows/Linux |\n| --- | --- | --- |\n| Zihin haritasına çocuk ekle | `Tab` | `Tab` |\n| Zihin haritasına kardeş ekle | `Enter` | `Enter` |\n| Seçimi yeniden adlandır | `F2` | `F2` |\n\n## Gezinme\n\n| Eylem | macOS | Windows/Linux |\n| --- | --- | --- |\n| Komut Merkezi | `Cmd + K` | `Ctrl + K` |\n| Görünüşe sığdır | `Shift + 1` | `Shift + 1` |\n\n## Notlar\n\n- Kısayollar odak durumuna ve aktif moda göre değişebilir.\n- Bazı işlemler için doğrudan kısayol yerine [Command Center](/tr/command-center/) kullanmak daha hızlıdır.","src/content/docs/tr/keyboard-shortcuts.md","82ed7e60ccfc2785",{"html":1707,"metadata":1708},"\u003Cp>Bu tablolar uygulamadaki temel kısayol gruplarını özetler.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"temel\">Temel\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#temel\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Temel”\u003C/span>\u003C/a>\u003C/div>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>Eylem\u003C/th>\u003Cth>macOS\u003C/th>\u003Cth>Windows/Linux\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd>Undo\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Cmd + Z\u003C/code>\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Ctrl + Z\u003C/code>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>Redo\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Cmd + Shift + Z\u003C/code>\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Ctrl + Shift + Z\u003C/code>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>Tümünü seç\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Cmd + A\u003C/code>\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Ctrl + A\u003C/code>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>Seçimi sil\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Delete\u003C/code>\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Backspace\u003C/code>\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"düzenleme\">Düzenleme\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#düzenleme\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Düzenleme”\u003C/span>\u003C/a>\u003C/div>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>Eylem\u003C/th>\u003Cth>macOS\u003C/th>\u003Cth>Windows/Linux\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd>Çoklu seçim\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Shift + Click\u003C/code>\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Shift + Click\u003C/code>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>Seçim kutusu\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Shift + Drag\u003C/code>\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Shift + Drag\u003C/code>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>Çoğalt\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Cmd + D\u003C/code>\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Ctrl + D\u003C/code>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>Sürükleyerek çoğalt\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Opt + Drag\u003C/code>\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Alt + Drag\u003C/code>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>Kopyala\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Cmd + C\u003C/code>\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Ctrl + C\u003C/code>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>Yapıştır\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Cmd + V\u003C/code>\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Ctrl + V\u003C/code>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>Grupla\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Cmd + G\u003C/code>\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Ctrl + G\u003C/code>\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"düğüm-işlemleri\">Düğüm işlemleri\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#düğüm-işlemleri\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Düğüm işlemleri”\u003C/span>\u003C/a>\u003C/div>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>Eylem\u003C/th>\u003Cth>macOS\u003C/th>\u003Cth>Windows/Linux\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd>Zihin haritasına çocuk ekle\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Tab\u003C/code>\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Tab\u003C/code>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>Zihin haritasına kardeş ekle\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Enter\u003C/code>\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Enter\u003C/code>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>Seçimi yeniden adlandır\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">F2\u003C/code>\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">F2\u003C/code>\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"gezinme\">Gezinme\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#gezinme\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Gezinme”\u003C/span>\u003C/a>\u003C/div>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>Eylem\u003C/th>\u003Cth>macOS\u003C/th>\u003Cth>Windows/Linux\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd>Komut Merkezi\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Cmd + K\u003C/code>\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Ctrl + K\u003C/code>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>Görünüşe sığdır\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Shift + 1\u003C/code>\u003C/td>\u003Ctd>\u003Ccode dir=\"auto\">Shift + 1\u003C/code>\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"notlar\">Notlar\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#notlar\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Notlar”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>Kısayollar odak durumuna ve aktif moda göre değişebilir.\u003C/li>\n\u003Cli>Bazı işlemler için doğrudan kısayol yerine \u003Ca href=\"/tr/command-center/\">Command Center\u003C/a> kullanmak daha hızlıdır.\u003C/li>\n\u003C/ul>",{"headings":1709,"localImagePaths":1723,"remoteImagePaths":1724,"frontmatter":1725,"imagePaths":1726},[1710,1713,1716,1719,1720],{"depth":30,"slug":1711,"text":1712},"temel","Temel",{"depth":30,"slug":1714,"text":1715},"düzenleme","Düzenleme",{"depth":30,"slug":1717,"text":1718},"düğüm-işlemleri","Düğüm işlemleri",{"depth":30,"slug":1318,"text":1319},{"depth":30,"slug":1721,"text":1722},"notlar","Notlar",[],[],{"draft":20,"title":653,"description":1699},[],"tr/local-first-diagramming",{"id":1727,"data":1729,"body":1734,"filePath":1735,"digest":1736,"rendered":1737},{"title":750,"description":1730,"editUrl":16,"head":1731,"template":18,"sidebar":1732,"pagefind":16,"draft":20},"OpenFlowKit’te local-first yaklaşımının günlük çalışma, gizlilik ve paylaşım akışlarına etkisini öğrenin.",[],{"hidden":20,"attrs":1733},{},"Local-first, çalışmanın zorunlu olarak merkezi bir sunucuda başlamaması demektir. OpenFlowKit bağlamında bu; verinin varsayılan olarak tarayıcıda kalması ve paylaşımın bilinçli bir adım olması anlamına gelir.\n\n## Pratik etkileri\n\n- diyagram verisi varsayılan olarak tarayıcıdadır\n- dışa aktarma ve paylaşım kullanıcı kararıyla olur\n- canlı iş birliği mümkün değilse yerel çalışma devam edebilir\n- AI kullanımı BYOK ile daha kontrollü olabilir","src/content/docs/tr/local-first-diagramming.md","412d72414a1d2ebb",{"html":1738,"metadata":1739},"\u003Cp>Local-first, çalışmanın zorunlu olarak merkezi bir sunucuda başlamaması demektir. OpenFlowKit bağlamında bu; verinin varsayılan olarak tarayıcıda kalması ve paylaşımın bilinçli bir adım olması anlamına gelir.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"pratik-etkileri\">Pratik etkileri\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#pratik-etkileri\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Pratik etkileri”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>diyagram verisi varsayılan olarak tarayıcıdadır\u003C/li>\n\u003Cli>dışa aktarma ve paylaşım kullanıcı kararıyla olur\u003C/li>\n\u003Cli>canlı iş birliği mümkün değilse yerel çalışma devam edebilir\u003C/li>\n\u003Cli>AI kullanımı BYOK ile daha kontrollü olabilir\u003C/li>\n\u003C/ul>",{"headings":1740,"localImagePaths":1744,"remoteImagePaths":1745,"frontmatter":1746,"imagePaths":1747},[1741],{"depth":30,"slug":1742,"text":1743},"pratik-etkileri","Pratik etkileri",[],[],{"draft":20,"title":750,"description":1730},[],"tr/mermaid-integration",{"id":1748,"data":1750,"body":1755,"filePath":1756,"digest":1757,"rendered":1758},{"title":717,"description":1751,"editUrl":16,"head":1752,"template":18,"sidebar":1753,"pagefind":16,"draft":20},"OpenFlowKit’i görsel düzenleme yüzeyi olarak kullanırken Mermaid içe aktarın, düzenleyin, doğrulayın ve dışa aktarın.",[],{"hidden":20,"attrs":1754},{},"OpenFlowKit, Mermaid için içe aktarma, düzenleme ve dışa aktarma yolları sunar. Ancak Mermaid’i editörün tek doğruluk kaynağı değil, bir uyumluluk katmanı olarak düşünmek gerekir.\n\n## Mermaid ne zaman doğru seçimdir?\n\nMermaid’i şu durumlarda kullanın:\n\n- diyagramlarınız zaten dokümanlarda veya repo içinde Mermaid olarak yaşıyorsa\n- Markdown dostu metinsel format gerekiyorsa\n- başka bir araç Mermaid bekliyorsa\n\n## Studio içinde Mermaid\n\nStudio’nun Code alanında Mermaid modu vardır. Burada:\n\n- mevcut tuvalden üretilen Mermaid’i görebilir\n- doğrudan Mermaid düzenleyebilir\n- parse edilen grafiği tekrar editöre uygulayabilir\n- parse hatalarında tanılama görebilirsiniz\n\n## Sadakat beklentisi\n\nMermaid round-trip faydalıdır, ancak OpenFlowKit’in tüm kavramları birebir eşlenmez. Özellikle şu konularda dikkatli olun:\n\n- elle ince ayarlanmış yerleşimler\n- sağlayıcı ikonlarıyla çalışan mimari sunumlar\n- editörde daha zengin olan aileye özgü semantik alanlar\n\nTam geri kazanım gerekiyorsa Mermaid ile birlikte JSON da saklayın.\n\n## Önerilen desen\n\nMermaid’i çoğu zaman yayınlama veya uyumluluk katmanı olarak kullanın. Asıl düzenleme kaynağı olarak JSON veya OpenFlow DSL tutmak genellikle daha güvenlidir.","src/content/docs/tr/mermaid-integration.md","efdf00a0152196e3",{"html":1759,"metadata":1760},"\u003Cp>OpenFlowKit, Mermaid için içe aktarma, düzenleme ve dışa aktarma yolları sunar. Ancak Mermaid’i editörün tek doğruluk kaynağı değil, bir uyumluluk katmanı olarak düşünmek gerekir.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"mermaid-ne-zaman-doğru-seçimdir\">Mermaid ne zaman doğru seçimdir?\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#mermaid-ne-zaman-doğru-seçimdir\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Mermaid ne zaman doğru seçimdir?”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Mermaid’i şu durumlarda kullanın:\u003C/p>\n\u003Cul>\n\u003Cli>diyagramlarınız zaten dokümanlarda veya repo içinde Mermaid olarak yaşıyorsa\u003C/li>\n\u003Cli>Markdown dostu metinsel format gerekiyorsa\u003C/li>\n\u003Cli>başka bir araç Mermaid bekliyorsa\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"studio-içinde-mermaid\">Studio içinde Mermaid\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#studio-içinde-mermaid\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Studio içinde Mermaid”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Studio’nun Code alanında Mermaid modu vardır. Burada:\u003C/p>\n\u003Cul>\n\u003Cli>mevcut tuvalden üretilen Mermaid’i görebilir\u003C/li>\n\u003Cli>doğrudan Mermaid düzenleyebilir\u003C/li>\n\u003Cli>parse edilen grafiği tekrar editöre uygulayabilir\u003C/li>\n\u003Cli>parse hatalarında tanılama görebilirsiniz\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"sadakat-beklentisi\">Sadakat beklentisi\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#sadakat-beklentisi\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Sadakat beklentisi”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Mermaid round-trip faydalıdır, ancak OpenFlowKit’in tüm kavramları birebir eşlenmez. Özellikle şu konularda dikkatli olun:\u003C/p>\n\u003Cul>\n\u003Cli>elle ince ayarlanmış yerleşimler\u003C/li>\n\u003Cli>sağlayıcı ikonlarıyla çalışan mimari sunumlar\u003C/li>\n\u003Cli>editörde daha zengin olan aileye özgü semantik alanlar\u003C/li>\n\u003C/ul>\n\u003Cp>Tam geri kazanım gerekiyorsa Mermaid ile birlikte JSON da saklayın.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"önerilen-desen\">Önerilen desen\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#önerilen-desen\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Önerilen desen”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Mermaid’i çoğu zaman yayınlama veya uyumluluk katmanı olarak kullanın. Asıl düzenleme kaynağı olarak JSON veya OpenFlow DSL tutmak genellikle daha güvenlidir.\u003C/p>",{"headings":1761,"localImagePaths":1774,"remoteImagePaths":1775,"frontmatter":1776,"imagePaths":1777},[1762,1765,1768,1771],{"depth":30,"slug":1763,"text":1764},"mermaid-ne-zaman-doğru-seçimdir","Mermaid ne zaman doğru seçimdir?",{"depth":30,"slug":1766,"text":1767},"studio-içinde-mermaid","Studio içinde Mermaid",{"depth":30,"slug":1769,"text":1770},"sadakat-beklentisi","Sadakat beklentisi",{"depth":30,"slug":1772,"text":1773},"önerilen-desen","Önerilen desen",[],[],{"draft":20,"title":717,"description":1751},[],"tr/node-types",{"id":1778,"data":1780,"body":1785,"filePath":1786,"digest":1787,"rendered":1788},{"title":779,"description":1781,"editUrl":16,"head":1782,"template":18,"sidebar":1783,"pagefind":16,"draft":20},"OpenFlowKit’teki temel düğüm ailelerini ve bunların hangi diyagram iş akışlarına uyduğunu anlayın.",[],{"hidden":20,"attrs":1784},{},"OpenFlowKit hem genel amaçlı hem de aileye özgü düğümleri destekler. Uygulamadaki düğüm modeli akış, mimari, zihin haritası, journey, sınıf, ER, açıklama, gruplama ve medya senaryolarını kapsar.\n\n## Temel düğüm aileleri\n\n### Flow düğümleri\n\nEn sık kullanılan temel yapı taşları:\n\n- `start`\n- `process`\n- `decision`\n- `end`\n- `custom`\n\n### Mind map düğümleri\n\nEk yapısal bilgiler taşırlar:\n\n- derinlik\n- ebeveyn\n- sol/sağ taraf\n- dal stili\n\n### Architecture ve varlık tabanlı düğümler\n\nMimari diyagramlar sağlayıcı ikonları, sınırlar ve bölümler ile daha güçlü okunabilirlik kazanır.\n\n### Journey ve deneyim odaklı düğümler\n\nAşama, aktör ve skor gibi bilgilerin önemli olduğu süreçler için daha uygundur.\n\n### Medya ve wireframe düğümleri\n\nOpenFlowKit ayrıca görsel düğümleri ile browser/mobile wireframe yüzeylerini destekler.\n\n## Nasıl seçilmeli?\n\nSadece şekle göre değil, diyagramın semantiğine göre seçim yapın:\n\n- genel süreçler için flow düğümleri\n- sistem topolojisi için architecture düğümleri\n- dallanan fikir yapıları için mind map düğümleri\n- deneyim haritaları için journey düğümleri","src/content/docs/tr/node-types.md","416c592876cd9815",{"html":1789,"metadata":1790},"\u003Cp>OpenFlowKit hem genel amaçlı hem de aileye özgü düğümleri destekler. Uygulamadaki düğüm modeli akış, mimari, zihin haritası, journey, sınıf, ER, açıklama, gruplama ve medya senaryolarını kapsar.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"temel-düğüm-aileleri\">Temel düğüm aileleri\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#temel-düğüm-aileleri\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Temel düğüm aileleri”\u003C/span>\u003C/a>\u003C/div>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"flow-düğümleri\">Flow düğümleri\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#flow-düğümleri\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Flow düğümleri”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>En sık kullanılan temel yapı taşları:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Ccode dir=\"auto\">start\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">process\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">decision\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">end\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">custom\u003C/code>\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"mind-map-düğümleri\">Mind map düğümleri\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#mind-map-düğümleri\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Mind map düğümleri”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Ek yapısal bilgiler taşırlar:\u003C/p>\n\u003Cul>\n\u003Cli>derinlik\u003C/li>\n\u003Cli>ebeveyn\u003C/li>\n\u003Cli>sol/sağ taraf\u003C/li>\n\u003Cli>dal stili\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"architecture-ve-varlık-tabanlı-düğümler\">Architecture ve varlık tabanlı düğümler\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#architecture-ve-varlık-tabanlı-düğümler\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Architecture ve varlık tabanlı düğümler”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Mimari diyagramlar sağlayıcı ikonları, sınırlar ve bölümler ile daha güçlü okunabilirlik kazanır.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"journey-ve-deneyim-odaklı-düğümler\">Journey ve deneyim odaklı düğümler\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#journey-ve-deneyim-odaklı-düğümler\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Journey ve deneyim odaklı düğümler”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Aşama, aktör ve skor gibi bilgilerin önemli olduğu süreçler için daha uygundur.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"medya-ve-wireframe-düğümleri\">Medya ve wireframe düğümleri\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#medya-ve-wireframe-düğümleri\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Medya ve wireframe düğümleri”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>OpenFlowKit ayrıca görsel düğümleri ile browser/mobile wireframe yüzeylerini destekler.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"nasıl-seçilmeli\">Nasıl seçilmeli?\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#nasıl-seçilmeli\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Nasıl seçilmeli?”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Sadece şekle göre değil, diyagramın semantiğine göre seçim yapın:\u003C/p>\n\u003Cul>\n\u003Cli>genel süreçler için flow düğümleri\u003C/li>\n\u003Cli>sistem topolojisi için architecture düğümleri\u003C/li>\n\u003Cli>dallanan fikir yapıları için mind map düğümleri\u003C/li>\n\u003Cli>deneyim haritaları için journey düğümleri\u003C/li>\n\u003C/ul>",{"headings":1791,"localImagePaths":1813,"remoteImagePaths":1814,"frontmatter":1815,"imagePaths":1816},[1792,1795,1798,1801,1804,1807,1810],{"depth":30,"slug":1793,"text":1794},"temel-düğüm-aileleri","Temel düğüm aileleri",{"depth":37,"slug":1796,"text":1797},"flow-düğümleri","Flow düğümleri",{"depth":37,"slug":1799,"text":1800},"mind-map-düğümleri","Mind map düğümleri",{"depth":37,"slug":1802,"text":1803},"architecture-ve-varlık-tabanlı-düğümler","Architecture ve varlık tabanlı düğümler",{"depth":37,"slug":1805,"text":1806},"journey-ve-deneyim-odaklı-düğümler","Journey ve deneyim odaklı düğümler",{"depth":37,"slug":1808,"text":1809},"medya-ve-wireframe-düğümleri","Medya ve wireframe düğümleri",{"depth":30,"slug":1811,"text":1812},"nasıl-seçilmeli","Nasıl seçilmeli?",[],[],{"draft":20,"title":779,"description":1781},[],"tr/mermaid-vs-openflow",{"id":1817,"data":1819,"body":1824,"filePath":1825,"digest":1826,"rendered":1827},{"title":685,"description":1820,"editUrl":16,"head":1821,"template":18,"sidebar":1822,"pagefind":16,"draft":20},"Mermaid ile OpenFlow DSL arasında hangi metin temsilinin iş akışınız için daha uygun olduğunu belirleyin.",[],{"hidden":20,"attrs":1823},{},"Mermaid ve OpenFlow DSL benzer görünen ama farklı amaçlara hizmet eden iki metin temsilidir.\n\n## Mermaid ne zaman seçilmeli?\n\n- Markdown ve README iş akışları için\n- dış araçlar Mermaid bekliyorsa\n- taşınabilirlik sadakatten daha önemliyse\n\n## OpenFlow DSL ne zaman seçilmeli?\n\n- OpenFlowKit ana düzenleme ortamıysa\n- editör içi sadakat önemliyse\n- Mermaid kısıtları gereksizse\n\n## Kısa sonuç\n\n- Mermaid taşınabilirlik için daha iyidir\n- OpenFlow DSL editör-doğal sadakat için daha iyidir","src/content/docs/tr/mermaid-vs-openflow.md","6bf98b52a951fc35",{"html":1828,"metadata":1829},"\u003Cp>Mermaid ve OpenFlow DSL benzer görünen ama farklı amaçlara hizmet eden iki metin temsilidir.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"mermaid-ne-zaman-seçilmeli\">Mermaid ne zaman seçilmeli?\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#mermaid-ne-zaman-seçilmeli\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Mermaid ne zaman seçilmeli?”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>Markdown ve README iş akışları için\u003C/li>\n\u003Cli>dış araçlar Mermaid bekliyorsa\u003C/li>\n\u003Cli>taşınabilirlik sadakatten daha önemliyse\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"openflow-dsl-ne-zaman-seçilmeli\">OpenFlow DSL ne zaman seçilmeli?\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#openflow-dsl-ne-zaman-seçilmeli\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “OpenFlow DSL ne zaman seçilmeli?”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>OpenFlowKit ana düzenleme ortamıysa\u003C/li>\n\u003Cli>editör içi sadakat önemliyse\u003C/li>\n\u003Cli>Mermaid kısıtları gereksizse\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"kısa-sonuç\">Kısa sonuç\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#kısa-sonuç\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Kısa sonuç”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>Mermaid taşınabilirlik için daha iyidir\u003C/li>\n\u003Cli>OpenFlow DSL editör-doğal sadakat için daha iyidir\u003C/li>\n\u003C/ul>",{"headings":1830,"localImagePaths":1840,"remoteImagePaths":1841,"frontmatter":1842,"imagePaths":1843},[1831,1834,1837],{"depth":30,"slug":1832,"text":1833},"mermaid-ne-zaman-seçilmeli","Mermaid ne zaman seçilmeli?",{"depth":30,"slug":1835,"text":1836},"openflow-dsl-ne-zaman-seçilmeli","OpenFlow DSL ne zaman seçilmeli?",{"depth":30,"slug":1838,"text":1839},"kısa-sonuç","Kısa sonuç",[],[],{"draft":20,"title":685,"description":1820},[],"tr/openflow-dsl",{"id":1844,"data":1846,"body":1851,"filePath":1852,"digest":1853,"rendered":1854},{"title":863,"description":1847,"editUrl":16,"head":1848,"template":18,"sidebar":1849,"pagefind":16,"draft":20},"OpenFlowKit diyagramları için editör-doğal metin temsili olan OpenFlow DSL’i kullanın.",[],{"hidden":20,"attrs":1850},{},"OpenFlow DSL, OpenFlowKit Studio’da kullanılan yerel metinsel temsildir. Kod tabanlı bir çalışma istiyor ama editör modeline yakın kalmak istiyorsanız en iyi seçenektir.\n\n## Nerede doğru seçimdir?\n\nOpenFlow DSL’i şu durumlarda tercih edin:\n\n- okunabilir ve editör-doğal bir sözdizimi istediğinizde\n- düzen öncesi deterministik yapısal değişiklikler yapmak istediğinizde\n- Mermaid’e göre OpenFlowKit’e daha yakın bir temsil gerektiğinde\n- yapay zekanın ham JSON yerine daha iyi hedefleyebileceği bir format istediğinizde\n\nStudio içindeki Code alanı, mevcut tuvalden DSL üretebilir ve DSL’i tekrar grafiğe uygulayabilir.\n\nEkosistem uyumluluğu daha önemliyse Mermaid kullanın. Bkz. [Mermaid vs OpenFlow](/tr/mermaid-vs-openflow/).\n\n## Temel belge yapısı\n\n```yaml\nflow: \"Kullanıcı Kaydı\"\ndirection: TB\n```\n\nYaygın yön değerleri:\n\n- `TB`\n- `LR`\n- `RL`\n- `BT`\n\n## Düğümler\n\nKararlı kimliklere sahip açık düğüm tanımları kullanın:\n\n```text\nnode signup [label: \"Kayıt Formu\"]\nnode verify [label: \"E-postayı Doğrula\"]\nnode success [label: \"Çalışma Alanı Hazır\", shape: capsule]\n```\n\nİyi kimlikler:\n\n- kısa\n- küçük harfli\n- anlamlı\n- düzenlemeler arasında mümkün olduğunca kararlı\n\n## Kenarlar\n\n```text\nsignup -> verify\nverify -> success\n```\n\nGerekirse etiket ve ek meta veri de ekleyebilirsiniz.\n\n## Neden ekipler bunu kullanır?\n\n- OpenFlowKit ana düzenleme ortamıysa\n- graf kod olarak incelenecekse\n- editör içi sadakat uyumluluktan daha önemliyse\n- yapay zekaya editör-doğal bir hedef sağlamak istiyorsanız","src/content/docs/tr/openflow-dsl.md","54a9332fb64e6f8f",{"html":1855,"metadata":1856},"\u003Cp>OpenFlow DSL, OpenFlowKit Studio’da kullanılan yerel metinsel temsildir. Kod tabanlı bir çalışma istiyor ama editör modeline yakın kalmak istiyorsanız en iyi seçenektir.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"nerede-doğru-seçimdir\">Nerede doğru seçimdir?\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#nerede-doğru-seçimdir\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Nerede doğru seçimdir?”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>OpenFlow DSL’i şu durumlarda tercih edin:\u003C/p>\n\u003Cul>\n\u003Cli>okunabilir ve editör-doğal bir sözdizimi istediğinizde\u003C/li>\n\u003Cli>düzen öncesi deterministik yapısal değişiklikler yapmak istediğinizde\u003C/li>\n\u003Cli>Mermaid’e göre OpenFlowKit’e daha yakın bir temsil gerektiğinde\u003C/li>\n\u003Cli>yapay zekanın ham JSON yerine daha iyi hedefleyebileceği bir format istediğinizde\u003C/li>\n\u003C/ul>\n\u003Cp>Studio içindeki Code alanı, mevcut tuvalden DSL üretebilir ve DSL’i tekrar grafiğe uygulayabilir.\u003C/p>\n\u003Cp>Ekosistem uyumluluğu daha önemliyse Mermaid kullanın. Bkz. \u003Ca href=\"/tr/mermaid-vs-openflow/\">Mermaid vs OpenFlow\u003C/a>.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"temel-belge-yapısı\">Temel belge yapısı\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#temel-belge-yapısı\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Temel belge yapısı”\u003C/span>\u003C/a>\u003C/div>\n\u003Cdiv class=\"expressive-code\">\u003Clink rel=\"stylesheet\" href=\"/_astro/ec.v4551.css\">\u003Cscript type=\"module\" src=\"/_astro/ec.0vx5m.js\">\u003C/script>\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"yaml\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#7FDBCA;--1:#111111\">flow\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">: \u003C/span>\u003Cspan style=\"--0:#D9F5DD;--1:#111111\">\"\u003C/span>\u003Cspan style=\"--0:#ECC48D;--1:#984E4D\">Kullanıcı Kaydı\u003C/span>\u003Cspan style=\"--0:#D9F5DD;--1:#111111\">\"\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#7FDBCA;--1:#111111\">direction\u003C/span>\u003Cspan style=\"--0:#D6DEEB;--1:#403F53\">: \u003C/span>\u003Cspan style=\"--0:#ECC48D;--1:#3B61B0\">TB\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"flow: "Kullanıcı Kaydı"direction: TB\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Cp>Yaygın yön değerleri:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Ccode dir=\"auto\">TB\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">LR\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">RL\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">BT\u003C/code>\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"düğümler\">Düğümler\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#düğümler\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Düğümler”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Kararlı kimliklere sahip açık düğüm tanımları kullanın:\u003C/p>\n\u003Cdiv class=\"expressive-code\">\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"text\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">node signup [label: \"Kayıt Formu\"]\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">node verify [label: \"E-postayı Doğrula\"]\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">node success [label: \"Çalışma Alanı Hazır\", shape: capsule]\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"node signup [label: "Kayıt Formu"]node verify [label: "E-postayı Doğrula"]node success [label: "Çalışma Alanı Hazır", shape: capsule]\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Cp>İyi kimlikler:\u003C/p>\n\u003Cul>\n\u003Cli>kısa\u003C/li>\n\u003Cli>küçük harfli\u003C/li>\n\u003Cli>anlamlı\u003C/li>\n\u003Cli>düzenlemeler arasında mümkün olduğunca kararlı\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"kenarlar\">Kenarlar\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#kenarlar\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Kenarlar”\u003C/span>\u003C/a>\u003C/div>\n\u003Cdiv class=\"expressive-code\">\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"text\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">signup -> verify\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">verify -> success\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"signup -> verifyverify -> success\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Cp>Gerekirse etiket ve ek meta veri de ekleyebilirsiniz.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"neden-ekipler-bunu-kullanır\">Neden ekipler bunu kullanır?\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#neden-ekipler-bunu-kullanır\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Neden ekipler bunu kullanır?”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>OpenFlowKit ana düzenleme ortamıysa\u003C/li>\n\u003Cli>graf kod olarak incelenecekse\u003C/li>\n\u003Cli>editör içi sadakat uyumluluktan daha önemliyse\u003C/li>\n\u003Cli>yapay zekaya editör-doğal bir hedef sağlamak istiyorsanız\u003C/li>\n\u003C/ul>",{"headings":1857,"localImagePaths":1873,"remoteImagePaths":1874,"frontmatter":1875,"imagePaths":1876},[1858,1861,1864,1867,1870],{"depth":30,"slug":1859,"text":1860},"nerede-doğru-seçimdir","Nerede doğru seçimdir?",{"depth":30,"slug":1862,"text":1863},"temel-belge-yapısı","Temel belge yapısı",{"depth":30,"slug":1865,"text":1866},"düğümler","Düğümler",{"depth":30,"slug":1868,"text":1869},"kenarlar","Kenarlar",{"depth":30,"slug":1871,"text":1872},"neden-ekipler-bunu-kullanır","Neden ekipler bunu kullanır?",[],[],{"draft":20,"title":863,"description":1847},[],"tr/payment-flow",{"id":1877,"data":1879,"body":1884,"filePath":1885,"digest":1886,"rendered":1887},{"title":818,"description":1880,"editUrl":16,"head":1881,"template":18,"sidebar":1882,"pagefind":16,"draft":20},"Abonelik, checkout, retry ve istisna yolları içeren ödeme sistemlerini OpenFlowKit ile modelleyin.",[],{"hidden":20,"attrs":1883},{},"Ödeme sistemleri, mutlu yolun ötesinde retry, hata işleme, manuel inceleme ve bildirim dalları içerdiği için OpenFlowKit için çok uygun bir kullanım alanıdır.\n\n## İyi bir ödeme diyagramı neleri içermelidir?\n\n- giriş olayı\n- tahsilat veya yetkilendirme denemesi\n- başarı ve başarısızlık dalları\n- retry mantığı\n- manuel inceleme\n- kullanıcı bildirimi\n- son hesap durumu\n\n## Güçlü başlangıç seçenekleri\n\n- boş flowchart tuvali\n- SaaS veya ödeme odaklı şablon\n- FlowPilot istemi\n- OpenFlow DSL ile metin tabanlı taslak\n\n## Önerilen akış\n\n1. önce mutlu yolu üretin veya çizin\n2. tüm hata ve retry dallarını ekleyin\n3. kenar etiketlerini açık hale getirin\n4. düzen ile yerleşimi temizleyin\n5. paydaşlar için görsel, düzenleme için JSON saklayın","src/content/docs/tr/payment-flow.md","8bde51fc9970a2c0",{"html":1888,"metadata":1889},"\u003Cp>Ödeme sistemleri, mutlu yolun ötesinde retry, hata işleme, manuel inceleme ve bildirim dalları içerdiği için OpenFlowKit için çok uygun bir kullanım alanıdır.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"i̇yi-bir-ödeme-diyagramı-neleri-içermelidir\">İyi bir ödeme diyagramı neleri içermelidir?\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#i̇yi-bir-ödeme-diyagramı-neleri-içermelidir\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “İyi bir ödeme diyagramı neleri içermelidir?”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>giriş olayı\u003C/li>\n\u003Cli>tahsilat veya yetkilendirme denemesi\u003C/li>\n\u003Cli>başarı ve başarısızlık dalları\u003C/li>\n\u003Cli>retry mantığı\u003C/li>\n\u003Cli>manuel inceleme\u003C/li>\n\u003Cli>kullanıcı bildirimi\u003C/li>\n\u003Cli>son hesap durumu\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"güçlü-başlangıç-seçenekleri\">Güçlü başlangıç seçenekleri\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#güçlü-başlangıç-seçenekleri\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Güçlü başlangıç seçenekleri”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>boş flowchart tuvali\u003C/li>\n\u003Cli>SaaS veya ödeme odaklı şablon\u003C/li>\n\u003Cli>FlowPilot istemi\u003C/li>\n\u003Cli>OpenFlow DSL ile metin tabanlı taslak\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"önerilen-akış\">Önerilen akış\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#önerilen-akış\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Önerilen akış”\u003C/span>\u003C/a>\u003C/div>\n\u003Col>\n\u003Cli>önce mutlu yolu üretin veya çizin\u003C/li>\n\u003Cli>tüm hata ve retry dallarını ekleyin\u003C/li>\n\u003Cli>kenar etiketlerini açık hale getirin\u003C/li>\n\u003Cli>düzen ile yerleşimi temizleyin\u003C/li>\n\u003Cli>paydaşlar için görsel, düzenleme için JSON saklayın\u003C/li>\n\u003C/ol>",{"headings":1890,"localImagePaths":1898,"remoteImagePaths":1899,"frontmatter":1900,"imagePaths":1901},[1891,1894,1897],{"depth":30,"slug":1892,"text":1893},"i̇yi-bir-ödeme-diyagramı-neleri-içermelidir","İyi bir ödeme diyagramı neleri içermelidir?",{"depth":30,"slug":1895,"text":1896},"güçlü-başlangıç-seçenekleri","Güçlü başlangıç seçenekleri",{"depth":30,"slug":1293,"text":1294},[],[],{"draft":20,"title":818,"description":1880},[],"tr/playback-history",{"id":1902,"data":1904,"body":1909,"filePath":1910,"digest":1911,"rendered":1912},{"title":897,"description":1905,"editUrl":16,"head":1906,"template":18,"sidebar":1907,"pagefind":16,"draft":20},"Çalışmanızı geri kazanmak ve diyagram evrimini izlemek için undo, snapshot ve oynatma durumunu kullanın.",[],{"hidden":20,"attrs":1908},{},"OpenFlowKit’te iki farklı ama ilişkili kurtarma sistemi vardır:\n\n- standart undo/redo geçmişi\n- belge veya sekme üzerinde saklanan snapshot tabanlı geçmiş ve playback durumu\n\n## Undo ve redo\n\nKullanın:\n\n- `Cmd/Ctrl + Z` undo\n- `Cmd/Ctrl + Shift + Z` redo\n\nBu, aktif düzenleme sırasında en hızlı geri dönüş yoludur.\n\n## Snapshot’lar\n\nŞu durumlarda snapshot kullanın:\n\n- büyük bir yapay zeka yeniden yazımı öncesinde\n- diyagram ailesi yönünü değiştirirken\n- Studio’dan geniş kapsamlı metin uygulamadan önce\n- büyük bir mimari haritayı yeniden yapılandırırken\n\nSnapshot’lar, özellikle büyük değişikliklerde gerçek güvenlik ağıdır.\n\n## Playback modeli\n\nVeri modeli playback sahneleri, adımlar ve zamanlı dizileri destekler. Bu nedenle video veya GIF gibi animasyonlu dışa aktarma akışlarıyla birlikte anlamlıdır.\n\n## Pratik öneri\n\n- küçük düzeltmeler için undo/redo kullanın\n- önemli kilometre taşları için snapshot alın\n\nBir sonraki işlem grafiği ciddi biçimde değiştirecekse önce snapshot oluşturun.","src/content/docs/tr/playback-history.md","7475bd12c2d56e43",{"html":1913,"metadata":1914},"\u003Cp>OpenFlowKit’te iki farklı ama ilişkili kurtarma sistemi vardır:\u003C/p>\n\u003Cul>\n\u003Cli>standart undo/redo geçmişi\u003C/li>\n\u003Cli>belge veya sekme üzerinde saklanan snapshot tabanlı geçmiş ve playback durumu\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"undo-ve-redo\">Undo ve redo\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#undo-ve-redo\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Undo ve redo”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Kullanın:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Ccode dir=\"auto\">Cmd/Ctrl + Z\u003C/code> undo\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">Cmd/Ctrl + Shift + Z\u003C/code> redo\u003C/li>\n\u003C/ul>\n\u003Cp>Bu, aktif düzenleme sırasında en hızlı geri dönüş yoludur.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"snapshotlar\">Snapshot’lar\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#snapshotlar\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Snapshot’lar”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Şu durumlarda snapshot kullanın:\u003C/p>\n\u003Cul>\n\u003Cli>büyük bir yapay zeka yeniden yazımı öncesinde\u003C/li>\n\u003Cli>diyagram ailesi yönünü değiştirirken\u003C/li>\n\u003Cli>Studio’dan geniş kapsamlı metin uygulamadan önce\u003C/li>\n\u003Cli>büyük bir mimari haritayı yeniden yapılandırırken\u003C/li>\n\u003C/ul>\n\u003Cp>Snapshot’lar, özellikle büyük değişikliklerde gerçek güvenlik ağıdır.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"playback-modeli\">Playback modeli\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#playback-modeli\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Playback modeli”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Veri modeli playback sahneleri, adımlar ve zamanlı dizileri destekler. Bu nedenle video veya GIF gibi animasyonlu dışa aktarma akışlarıyla birlikte anlamlıdır.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"pratik-öneri\">Pratik öneri\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#pratik-öneri\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Pratik öneri”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>küçük düzeltmeler için undo/redo kullanın\u003C/li>\n\u003Cli>önemli kilometre taşları için snapshot alın\u003C/li>\n\u003C/ul>\n\u003Cp>Bir sonraki işlem grafiği ciddi biçimde değiştirecekse önce snapshot oluşturun.\u003C/p>",{"headings":1915,"localImagePaths":1928,"remoteImagePaths":1929,"frontmatter":1930,"imagePaths":1931},[1916,1919,1922,1925],{"depth":30,"slug":1917,"text":1918},"undo-ve-redo","Undo ve redo",{"depth":30,"slug":1920,"text":1921},"snapshotlar","Snapshot’lar",{"depth":30,"slug":1923,"text":1924},"playback-modeli","Playback modeli",{"depth":30,"slug":1926,"text":1927},"pratik-öneri","Pratik öneri",[],[],{"draft":20,"title":897,"description":1905},[],"tr/prompting-agents",{"id":1932,"data":1934,"body":1939,"filePath":1940,"digest":1941,"rendered":1942},{"title":961,"description":1935,"editUrl":16,"head":1936,"template":18,"sidebar":1937,"pagefind":16,"draft":20},"OpenFlowKit için diyagram çıktısı isterken kodlama yardımcılarına ve AI sistemlerine daha iyi istemler yazın.",[],{"hidden":20,"attrs":1938},{},"Cursor, Copilot, ChatGPT, Claude veya başka bir ajan kullanıyor olmanızdan bağımsız olarak; iyi istem kalitesi, model markasından daha belirleyicidir.\n\n## Ne istemelisiniz?\n\nÇıktı türünü açıkça belirtin:\n\n- OpenFlow DSL\n- Mermaid\n- diyagram planı\n\n“Bir diyagram yap” demek yerine hangi formatı istediğinizi söyleyin.\n\n## Güçlü istem yapısı\n\nŞunları ekleyin:\n\n- diyagramın amacı\n- hedef kitle\n- gerekli sistemler veya aktörler\n- önemli dallar ya da hata yolları\n- tercih edilen yön (`TB`, `LR` gibi)\n- tercih edilen sözdizimi\n\n## İlgili sayfalar\n\n- [AI Generation](/tr/ai-generation/)\n- [Ask Flowpilot](/tr/ask-flowpilot/)\n- [OpenFlow DSL](/tr/openflow-dsl/)\n- [Mermaid Integration](/tr/mermaid-integration/)","src/content/docs/tr/prompting-agents.md","e597b9d75b345802",{"html":1943,"metadata":1944},"\u003Cp>Cursor, Copilot, ChatGPT, Claude veya başka bir ajan kullanıyor olmanızdan bağımsız olarak; iyi istem kalitesi, model markasından daha belirleyicidir.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"ne-istemelisiniz\">Ne istemelisiniz?\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#ne-istemelisiniz\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Ne istemelisiniz?”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Çıktı türünü açıkça belirtin:\u003C/p>\n\u003Cul>\n\u003Cli>OpenFlow DSL\u003C/li>\n\u003Cli>Mermaid\u003C/li>\n\u003Cli>diyagram planı\u003C/li>\n\u003C/ul>\n\u003Cp>“Bir diyagram yap” demek yerine hangi formatı istediğinizi söyleyin.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"güçlü-istem-yapısı\">Güçlü istem yapısı\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#güçlü-istem-yapısı\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Güçlü istem yapısı”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Şunları ekleyin:\u003C/p>\n\u003Cul>\n\u003Cli>diyagramın amacı\u003C/li>\n\u003Cli>hedef kitle\u003C/li>\n\u003Cli>gerekli sistemler veya aktörler\u003C/li>\n\u003Cli>önemli dallar ya da hata yolları\u003C/li>\n\u003Cli>tercih edilen yön (\u003Ccode dir=\"auto\">TB\u003C/code>, \u003Ccode dir=\"auto\">LR\u003C/code> gibi)\u003C/li>\n\u003Cli>tercih edilen sözdizimi\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"i̇lgili-sayfalar\">İlgili sayfalar\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#i̇lgili-sayfalar\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “İlgili sayfalar”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/tr/ai-generation/\">AI Generation\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/tr/ask-flowpilot/\">Ask Flowpilot\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/tr/openflow-dsl/\">OpenFlow DSL\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/tr/mermaid-integration/\">Mermaid Integration\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":1945,"localImagePaths":1953,"remoteImagePaths":1954,"frontmatter":1955,"imagePaths":1956},[1946,1949,1952],{"depth":30,"slug":1947,"text":1948},"ne-istemelisiniz","Ne istemelisiniz?",{"depth":30,"slug":1950,"text":1951},"güçlü-istem-yapısı","Güçlü istem yapısı",{"depth":30,"slug":1238,"text":1239},[],[],{"draft":20,"title":961,"description":1935},[],"tr/properties-panel",{"id":1957,"data":1959,"body":1964,"filePath":1965,"digest":1966,"rendered":1967},{"title":929,"description":1960,"editUrl":16,"head":1961,"template":18,"sidebar":1962,"pagefind":16,"draft":20},"OpenFlowKit’te düğüm, kenar, toplu düzenleme ve Studio ile ilişkili ayarlar için sağ taraftaki denetçiyi kullanın.",[],{"hidden":20,"attrs":1963},{},"Properties Panel, bir düğüm veya kenar seçtiğinizde açılan sağ taraf denetçisidir. Kabaca doğru olan yapıyı kesin düzeye taşıyan ana yüzeydir.\n\n## Ne zaman kullanılmalı?\n\nŞu durumlarda kullanın:\n\n- yapı doğru ama ayrıntılar yanlışsa\n- etiket, renk, şekil ve tipografi gibi ayarlar kesinleşecekse\n- kenar etiketleri veya rota davranışı ayarlanacaksa\n- aileye özgü alanlar doğrudan tuvalde düzenlemek için uygun değilse\n\n## Sağ panelin davranışı\n\n- tek düğüm seçiliyse: düğüm denetçisi\n- birden fazla düğüm seçiliyse: toplu düzenleme\n- tek kenar seçiliyse: kenar denetçisi\n- Studio aktifse: AI, kod, lint veya ilgili Studio görünümü\n\n## Düğüm düzenleme\n\nTipik olarak şunlar bulunur:\n\n- içerik\n- şekil\n- renk\n- ikon\n- tipografi\n- görsel ayarları\n- browser/mobile varyant ayarları\n\n## Kenar düzenleme\n\nKenar seçildiğinde tipik olarak:\n\n- etiket\n- rota\n- görünüm ayarları\n\nalanları düzenlenebilir.\n\n## Toplu düzenleme\n\nBirden fazla düğüm seçildiğinde ortak stil ve paylaşılan alanları tek seferde güncellemek için toplu düzenleme modu açılır.","src/content/docs/tr/properties-panel.md","510e26197f3e177b",{"html":1968,"metadata":1969},"\u003Cp>Properties Panel, bir düğüm veya kenar seçtiğinizde açılan sağ taraf denetçisidir. Kabaca doğru olan yapıyı kesin düzeye taşıyan ana yüzeydir.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"ne-zaman-kullanılmalı\">Ne zaman kullanılmalı?\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#ne-zaman-kullanılmalı\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Ne zaman kullanılmalı?”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Şu durumlarda kullanın:\u003C/p>\n\u003Cul>\n\u003Cli>yapı doğru ama ayrıntılar yanlışsa\u003C/li>\n\u003Cli>etiket, renk, şekil ve tipografi gibi ayarlar kesinleşecekse\u003C/li>\n\u003Cli>kenar etiketleri veya rota davranışı ayarlanacaksa\u003C/li>\n\u003Cli>aileye özgü alanlar doğrudan tuvalde düzenlemek için uygun değilse\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"sağ-panelin-davranışı\">Sağ panelin davranışı\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#sağ-panelin-davranışı\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Sağ panelin davranışı”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>tek düğüm seçiliyse: düğüm denetçisi\u003C/li>\n\u003Cli>birden fazla düğüm seçiliyse: toplu düzenleme\u003C/li>\n\u003Cli>tek kenar seçiliyse: kenar denetçisi\u003C/li>\n\u003Cli>Studio aktifse: AI, kod, lint veya ilgili Studio görünümü\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"düğüm-düzenleme\">Düğüm düzenleme\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#düğüm-düzenleme\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Düğüm düzenleme”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Tipik olarak şunlar bulunur:\u003C/p>\n\u003Cul>\n\u003Cli>içerik\u003C/li>\n\u003Cli>şekil\u003C/li>\n\u003Cli>renk\u003C/li>\n\u003Cli>ikon\u003C/li>\n\u003Cli>tipografi\u003C/li>\n\u003Cli>görsel ayarları\u003C/li>\n\u003Cli>browser/mobile varyant ayarları\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"kenar-düzenleme\">Kenar düzenleme\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#kenar-düzenleme\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Kenar düzenleme”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Kenar seçildiğinde tipik olarak:\u003C/p>\n\u003Cul>\n\u003Cli>etiket\u003C/li>\n\u003Cli>rota\u003C/li>\n\u003Cli>görünüm ayarları\u003C/li>\n\u003C/ul>\n\u003Cp>alanları düzenlenebilir.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"toplu-düzenleme\">Toplu düzenleme\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#toplu-düzenleme\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Toplu düzenleme”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Birden fazla düğüm seçildiğinde ortak stil ve paylaşılan alanları tek seferde güncellemek için toplu düzenleme modu açılır.\u003C/p>",{"headings":1970,"localImagePaths":1984,"remoteImagePaths":1985,"frontmatter":1986,"imagePaths":1987},[1971,1972,1975,1978,1981],{"depth":30,"slug":1435,"text":1436},{"depth":30,"slug":1973,"text":1974},"sağ-panelin-davranışı","Sağ panelin davranışı",{"depth":30,"slug":1976,"text":1977},"düğüm-düzenleme","Düğüm düzenleme",{"depth":30,"slug":1979,"text":1980},"kenar-düzenleme","Kenar düzenleme",{"depth":30,"slug":1982,"text":1983},"toplu-düzenleme","Toplu düzenleme",[],[],{"draft":20,"title":929,"description":1960},[],"tr/quick-start",{"id":1988,"data":1990,"body":1995,"filePath":1996,"digest":1997,"rendered":1998},{"title":1007,"description":1991,"editUrl":16,"head":1992,"template":18,"sidebar":1993,"pagefind":16,"draft":20},"İlk OpenFlowKit diyagramınızı tuval, şablonlar, yapay zeka, kod veya yapılandırılmış içe aktarma ile oluşturun.",[],{"hidden":20,"attrs":1994},{},"Bu sayfa, mevcut üründe hızlıca üretken olmanız için en kısa güvenilir yoldur.\n\n## 1. Yeni bir belge açın veya oluşturun\n\nAna ekrandan şunları yapabilirsiniz:\n\n- yeni akış oluşturmak\n- tarayıcıda kayıtlı mevcut bir akışı açmak\n- kayıtlı bir akışı çoğaltmak\n- JSON diyagram belgesi içe aktarmak\n\nHer belge editör içinde ayrı bir sekmede açılır.\n\n## 2. Başlangıç noktanızı seçin\n\nElinizde hangi bilgi varsa ona uygun giriş yolunu seçin.\n\n### Boş tuval\n\nYapıyı zaten biliyorsanız ve doğrudan çizmek istiyorsanız bunu kullanın.\n\n### Şablon\n\n`Cmd/Ctrl + K` ile Komut Merkezi’ni açın ve **Start from Template** seçin. Şablonlar akış diyagramları, bulut mimarileri, zihin haritaları, journey akışları ve wireframe’leri kapsar.\n\n### Varlıklar\n\nKomut Merkezi içindeki **Assets** görünümünü kullanarak not, metin, bölüm, wireframe, görsel veya sağlayıcı ikonları ekleyin.\n\n### Yapay zeka\n\nSağ panelde Studio’yu açın ve **FlowPilot** sekmesine geçin. Örnek istem:\n\n```text\nKayıt, e-posta doğrulama, ekip daveti,\nçalışma alanı oluşturma, ödeme kurulumu\nve ilk başarı adımını içeren bir SaaS onboarding akışı oluştur.\n```\n\n### Kod\n\nElinizde Mermaid veya OpenFlow DSL varsa Studio içindeki **Code** sekmesinden doğrudan yapıştırıp uygulayın.\n\n### Yapılandırılmış giriş\n\nElinizde SQL, OpenAPI, Terraform veya Kubernetes girdisi varsa Studio içe aktarma akışlarını kullanın. Bkz. [Import from Structured Data](/tr/import-from-data/) ve [Infrastructure Sync](/tr/infra-sync/).\n\n## 3. Taslağı iyileştirin\n\nİlk taslak tuvale geldikten sonra:\n\n- düğümleri kabaca konumlandırın\n- kesin düzenlemeler için [Properties Panel](/tr/properties-panel/) kullanın\n- yapı doğru ama yerleşim dağınıksa [Smart Layout](/tr/smart-layout/) çalıştırın\n- arama, ek varlık ve iş akışı geçişleri için [Command Center](/tr/command-center/) kullanın\n\n## 4. Kurtarma noktaları oluşturun\n\nBüyük bir yapay zeka yeniden yazımı veya geniş içe aktarma yenilemesinden önce anlık görüntü geçmişinizi kontrol edin. Bkz. [Playback & History](/tr/playback-history/).\n\n## 5. Paylaşın veya dışa aktarın\n\nDiyagramı dokümantasyon, tasarım veya iş birliği akışına taşımaya hazır olduğunuzda dışa aktarma menüsünü kullanın.\n\n- [Choose an Export Format](/tr/choose-export-format/)\n- [Exporting](/tr/exporting/)\n- [Collaboration & Sharing](/tr/collaboration-sharing/)","src/content/docs/tr/quick-start.md","b82924a03c175c56",{"html":1999,"metadata":2000},"\u003Cp>Bu sayfa, mevcut üründe hızlıca üretken olmanız için en kısa güvenilir yoldur.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"1-yeni-bir-belge-açın-veya-oluşturun\">1. Yeni bir belge açın veya oluşturun\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#1-yeni-bir-belge-açın-veya-oluşturun\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “1. Yeni bir belge açın veya oluşturun”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Ana ekrandan şunları yapabilirsiniz:\u003C/p>\n\u003Cul>\n\u003Cli>yeni akış oluşturmak\u003C/li>\n\u003Cli>tarayıcıda kayıtlı mevcut bir akışı açmak\u003C/li>\n\u003Cli>kayıtlı bir akışı çoğaltmak\u003C/li>\n\u003Cli>JSON diyagram belgesi içe aktarmak\u003C/li>\n\u003C/ul>\n\u003Cp>Her belge editör içinde ayrı bir sekmede açılır.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"2-başlangıç-noktanızı-seçin\">2. Başlangıç noktanızı seçin\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#2-başlangıç-noktanızı-seçin\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “2. Başlangıç noktanızı seçin”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Elinizde hangi bilgi varsa ona uygun giriş yolunu seçin.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"boş-tuval\">Boş tuval\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#boş-tuval\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Boş tuval”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Yapıyı zaten biliyorsanız ve doğrudan çizmek istiyorsanız bunu kullanın.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"şablon\">Şablon\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#şablon\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Şablon”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>\u003Ccode dir=\"auto\">Cmd/Ctrl + K\u003C/code> ile Komut Merkezi’ni açın ve \u003Cstrong>Start from Template\u003C/strong> seçin. Şablonlar akış diyagramları, bulut mimarileri, zihin haritaları, journey akışları ve wireframe’leri kapsar.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"varlıklar\">Varlıklar\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#varlıklar\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Varlıklar”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Komut Merkezi içindeki \u003Cstrong>Assets\u003C/strong> görünümünü kullanarak not, metin, bölüm, wireframe, görsel veya sağlayıcı ikonları ekleyin.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"yapay-zeka\">Yapay zeka\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#yapay-zeka\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Yapay zeka”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Sağ panelde Studio’yu açın ve \u003Cstrong>FlowPilot\u003C/strong> sekmesine geçin. Örnek istem:\u003C/p>\n\u003Cdiv class=\"expressive-code\">\u003Clink rel=\"stylesheet\" href=\"/_astro/ec.v4551.css\">\u003Cscript type=\"module\" src=\"/_astro/ec.0vx5m.js\">\u003C/script>\u003Cfigure class=\"frame not-content\">\u003Cfigcaption class=\"header\">\u003C/figcaption>\u003Cpre data-language=\"text\">\u003Ccode>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">Kayıt, e-posta doğrulama, ekip daveti,\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">çalışma alanı oluşturma, ödeme kurulumu\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"ec-line\">\u003Cdiv class=\"code\">\u003Cspan style=\"--0:#d6deeb;--1:#403f53\">ve ilk başarı adımını içeren bir SaaS onboarding akışı oluştur.\u003C/span>\u003C/div>\u003C/div>\u003C/code>\u003C/pre>\u003Cdiv class=\"copy\">\u003Cdiv aria-live=\"polite\">\u003C/div>\u003Cbutton title=\"Copy to clipboard\" data-copied=\"Copied!\" data-code=\"Kayıt, e-posta doğrulama, ekip daveti,çalışma alanı oluşturma, ödeme kurulumuve ilk başarı adımını içeren bir SaaS onboarding akışı oluştur.\">\u003Cdiv>\u003C/div>\u003C/button>\u003C/div>\u003C/figure>\u003C/div>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"kod\">Kod\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#kod\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Kod”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Elinizde Mermaid veya OpenFlow DSL varsa Studio içindeki \u003Cstrong>Code\u003C/strong> sekmesinden doğrudan yapıştırıp uygulayın.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h3\">\u003Ch3 id=\"yapılandırılmış-giriş\">Yapılandırılmış giriş\u003C/h3>\u003Ca class=\"sl-anchor-link\" href=\"#yapılandırılmış-giriş\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Yapılandırılmış giriş”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Elinizde SQL, OpenAPI, Terraform veya Kubernetes girdisi varsa Studio içe aktarma akışlarını kullanın. Bkz. \u003Ca href=\"/tr/import-from-data/\">Import from Structured Data\u003C/a> ve \u003Ca href=\"/tr/infra-sync/\">Infrastructure Sync\u003C/a>.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"3-taslağı-iyileştirin\">3. Taslağı iyileştirin\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#3-taslağı-iyileştirin\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “3. Taslağı iyileştirin”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>İlk taslak tuvale geldikten sonra:\u003C/p>\n\u003Cul>\n\u003Cli>düğümleri kabaca konumlandırın\u003C/li>\n\u003Cli>kesin düzenlemeler için \u003Ca href=\"/tr/properties-panel/\">Properties Panel\u003C/a> kullanın\u003C/li>\n\u003Cli>yapı doğru ama yerleşim dağınıksa \u003Ca href=\"/tr/smart-layout/\">Smart Layout\u003C/a> çalıştırın\u003C/li>\n\u003Cli>arama, ek varlık ve iş akışı geçişleri için \u003Ca href=\"/tr/command-center/\">Command Center\u003C/a> kullanın\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"4-kurtarma-noktaları-oluşturun\">4. Kurtarma noktaları oluşturun\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#4-kurtarma-noktaları-oluşturun\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “4. Kurtarma noktaları oluşturun”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Büyük bir yapay zeka yeniden yazımı veya geniş içe aktarma yenilemesinden önce anlık görüntü geçmişinizi kontrol edin. Bkz. \u003Ca href=\"/tr/playback-history/\">Playback & History\u003C/a>.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"5-paylaşın-veya-dışa-aktarın\">5. Paylaşın veya dışa aktarın\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#5-paylaşın-veya-dışa-aktarın\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “5. Paylaşın veya dışa aktarın”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Diyagramı dokümantasyon, tasarım veya iş birliği akışına taşımaya hazır olduğunuzda dışa aktarma menüsünü kullanın.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/tr/choose-export-format/\">Choose an Export Format\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/tr/exporting/\">Exporting\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/tr/collaboration-sharing/\">Collaboration & Sharing\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":2001,"localImagePaths":2035,"remoteImagePaths":2036,"frontmatter":2037,"imagePaths":2038},[2002,2005,2008,2011,2014,2017,2020,2023,2026,2029,2032],{"depth":30,"slug":2003,"text":2004},"1-yeni-bir-belge-açın-veya-oluşturun","1. Yeni bir belge açın veya oluşturun",{"depth":30,"slug":2006,"text":2007},"2-başlangıç-noktanızı-seçin","2. Başlangıç noktanızı seçin",{"depth":37,"slug":2009,"text":2010},"boş-tuval","Boş tuval",{"depth":37,"slug":2012,"text":2013},"şablon","Şablon",{"depth":37,"slug":2015,"text":2016},"varlıklar","Varlıklar",{"depth":37,"slug":2018,"text":2019},"yapay-zeka","Yapay zeka",{"depth":37,"slug":2021,"text":2022},"kod","Kod",{"depth":37,"slug":2024,"text":2025},"yapılandırılmış-giriş","Yapılandırılmış giriş",{"depth":30,"slug":2027,"text":2028},"3-taslağı-iyileştirin","3. Taslağı iyileştirin",{"depth":30,"slug":2030,"text":2031},"4-kurtarma-noktaları-oluşturun","4. Kurtarma noktaları oluşturun",{"depth":30,"slug":2033,"text":2034},"5-paylaşın-veya-dışa-aktarın","5. Paylaşın veya dışa aktarın",[],[],{"draft":20,"title":1007,"description":1991},[],"tr/roadmap",{"id":2039,"data":2041,"body":2046,"filePath":2047,"digest":2048,"rendered":2049},{"title":1057,"description":2042,"editUrl":16,"head":2043,"template":18,"sidebar":2044,"pagefind":16,"draft":20},"Yol haritası fikirleri ile şu anda belgelenen ürün davranışını birbirine karıştırmamak için bu sayfayı referans alın.",[],{"hidden":20,"attrs":2045},{},"Bu dokümantasyon sitesi, mevcut gönderilmiş davranışı ve ürün yolunda zaten aktif olan yüzeyleri anlatır.\n\n## Bu sayfanın amacı\n\nBu sayfayı bir vaat listesi olarak değil, içerik politikası notu olarak düşünün.\n\n- Doküman sayfaları mevcut ürün davranışını anlatır.\n- Strateji ve yol haritası belgeleri geleceğe dönük yönü ayrı olarak anlatabilir.\n- Henüz üründe olmayan bir yetenek, dokümantasyonda gönderilmiş gibi anlatılmamalıdır.","src/content/docs/tr/roadmap.md","67a8f18b4681e881",{"html":2050,"metadata":2051},"\u003Cp>Bu dokümantasyon sitesi, mevcut gönderilmiş davranışı ve ürün yolunda zaten aktif olan yüzeyleri anlatır.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"bu-sayfanın-amacı\">Bu sayfanın amacı\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#bu-sayfanın-amacı\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Bu sayfanın amacı”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Bu sayfayı bir vaat listesi olarak değil, içerik politikası notu olarak düşünün.\u003C/p>\n\u003Cul>\n\u003Cli>Doküman sayfaları mevcut ürün davranışını anlatır.\u003C/li>\n\u003Cli>Strateji ve yol haritası belgeleri geleceğe dönük yönü ayrı olarak anlatabilir.\u003C/li>\n\u003Cli>Henüz üründe olmayan bir yetenek, dokümantasyonda gönderilmiş gibi anlatılmamalıdır.\u003C/li>\n\u003C/ul>",{"headings":2052,"localImagePaths":2056,"remoteImagePaths":2057,"frontmatter":2058,"imagePaths":2059},[2053],{"depth":30,"slug":2054,"text":2055},"bu-sayfanın-amacı","Bu sayfanın amacı",[],[],{"draft":20,"title":1057,"description":2042},[],"tr/smart-layout",{"id":2060,"data":2062,"body":2067,"filePath":2068,"digest":2069,"rendered":2070},{"title":1079,"description":2063,"editUrl":16,"head":2064,"template":18,"sidebar":2065,"pagefind":16,"draft":20},"ELK tabanlı düzen ile kaba grafikleri daha okunabilir diyagramlara dönüştürün.",[],{"hidden":20,"attrs":2066},{},"OpenFlowKit, kaba grafikleri hızlı biçimde daha okunabilir diyagramlara dönüştürmek için ELK tabanlı düzen stratejileri kullanır.\n\n## Otomatik düzen ne zaman kullanılmalı?\n\n- şablonun yapısı doğru ama görünümü dağınıksa\n- yapay zeka doğru düğümleri üretip kötü konumlandırdıysa\n- kod veya içe aktarma sonrası normalizasyon gerekiyorsa\n- elle eklenen dallar yüzünden boşluklar bozulduysa\n\n## Nasıl çalıştırılır?\n\nKomut Merkezi’ni açın ve **Auto Layout** seçin. Editör yön, algoritma ve boşluk tercihlerini düzen motoruna geçirir.\n\nYaygın yönler:\n\n- `TB`\n- `LR`\n- `RL`\n- `BT`\n\n## Düzenin güçlü olduğu alanlar\n\n- akış şemaları\n- mimari grafikler\n- dallanan durum diyagramları\n- yapay zeka ile üretilmiş ilk taslaklar\n\nElle kurgulanmış sunum tarzı diyagramlarda ise her zaman sihirli sonuç vermez.\n\n## Pratik strateji\n\n1. önce doğru düğüm ve kenarları kurun\n2. ardından düzeni çalıştırın\n3. gerekirse bölümlerle gruplayın\n4. son görsel ayarları elle yapın\n\nYerleşimi düzen çalıştırmadan önce elle mükemmelleştirmeye çalışmak çoğu zaman boşa emektir.","src/content/docs/tr/smart-layout.md","d5180905178ed101",{"html":2071,"metadata":2072},"\u003Cp>OpenFlowKit, kaba grafikleri hızlı biçimde daha okunabilir diyagramlara dönüştürmek için ELK tabanlı düzen stratejileri kullanır.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"otomatik-düzen-ne-zaman-kullanılmalı\">Otomatik düzen ne zaman kullanılmalı?\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#otomatik-düzen-ne-zaman-kullanılmalı\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Otomatik düzen ne zaman kullanılmalı?”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>şablonun yapısı doğru ama görünümü dağınıksa\u003C/li>\n\u003Cli>yapay zeka doğru düğümleri üretip kötü konumlandırdıysa\u003C/li>\n\u003Cli>kod veya içe aktarma sonrası normalizasyon gerekiyorsa\u003C/li>\n\u003Cli>elle eklenen dallar yüzünden boşluklar bozulduysa\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"nasıl-çalıştırılır\">Nasıl çalıştırılır?\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#nasıl-çalıştırılır\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Nasıl çalıştırılır?”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Komut Merkezi’ni açın ve \u003Cstrong>Auto Layout\u003C/strong> seçin. Editör yön, algoritma ve boşluk tercihlerini düzen motoruna geçirir.\u003C/p>\n\u003Cp>Yaygın yönler:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Ccode dir=\"auto\">TB\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">LR\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">RL\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode dir=\"auto\">BT\u003C/code>\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"düzenin-güçlü-olduğu-alanlar\">Düzenin güçlü olduğu alanlar\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#düzenin-güçlü-olduğu-alanlar\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Düzenin güçlü olduğu alanlar”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>akış şemaları\u003C/li>\n\u003Cli>mimari grafikler\u003C/li>\n\u003Cli>dallanan durum diyagramları\u003C/li>\n\u003Cli>yapay zeka ile üretilmiş ilk taslaklar\u003C/li>\n\u003C/ul>\n\u003Cp>Elle kurgulanmış sunum tarzı diyagramlarda ise her zaman sihirli sonuç vermez.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"pratik-strateji\">Pratik strateji\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#pratik-strateji\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Pratik strateji”\u003C/span>\u003C/a>\u003C/div>\n\u003Col>\n\u003Cli>önce doğru düğüm ve kenarları kurun\u003C/li>\n\u003Cli>ardından düzeni çalıştırın\u003C/li>\n\u003Cli>gerekirse bölümlerle gruplayın\u003C/li>\n\u003Cli>son görsel ayarları elle yapın\u003C/li>\n\u003C/ol>\n\u003Cp>Yerleşimi düzen çalıştırmadan önce elle mükemmelleştirmeye çalışmak çoğu zaman boşa emektir.\u003C/p>",{"headings":2073,"localImagePaths":2086,"remoteImagePaths":2087,"frontmatter":2088,"imagePaths":2089},[2074,2077,2080,2083],{"depth":30,"slug":2075,"text":2076},"otomatik-düzen-ne-zaman-kullanılmalı","Otomatik düzen ne zaman kullanılmalı?",{"depth":30,"slug":2078,"text":2079},"nasıl-çalıştırılır","Nasıl çalıştırılır?",{"depth":30,"slug":2081,"text":2082},"düzenin-güçlü-olduğu-alanlar","Düzenin güçlü olduğu alanlar",{"depth":30,"slug":2084,"text":2085},"pratik-strateji","Pratik strateji",[],[],{"draft":20,"title":1079,"description":2063},[],"tr/templates-assets",{"id":2090,"data":2092,"body":2097,"filePath":2098,"digest":2099,"rendered":2100},{"title":1156,"description":2093,"editUrl":16,"head":2094,"template":18,"sidebar":2095,"pagefind":16,"draft":20},"Yerleşik şablonlar, sağlayıcı ikon varlıkları ve başlangıç paketleriyle diyagramlara daha hızlı başlayın.",[],{"hidden":20,"attrs":2096},{},"Şablonlar ve varlıklar, boş tuval problemini azaltır. Yapı veya görsel sistem için güçlü bir başlangıç istediğinizde bu yüzeyleri kullanın.\n\n## Şablonlar\n\nBaşlangıç grafikleri sunar:\n\n- abonelik yükseltme akışları\n- incident escalation akışları\n- release train yapıları\n- bulut mimarisi başlangıçları\n\n## Varlıklar\n\n- genel yapı taşları\n- wireframe yüzeyleri\n- sağlayıcı ikonları\n\nŞablon tüm iskeleti, varlık ise parça düzeyinde eklemeyi çözer.","src/content/docs/tr/templates-assets.md","95597206e0b3999b",{"html":2101,"metadata":2102},"\u003Cp>Şablonlar ve varlıklar, boş tuval problemini azaltır. Yapı veya görsel sistem için güçlü bir başlangıç istediğinizde bu yüzeyleri kullanın.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"şablonlar\">Şablonlar\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#şablonlar\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Şablonlar”\u003C/span>\u003C/a>\u003C/div>\n\u003Cp>Başlangıç grafikleri sunar:\u003C/p>\n\u003Cul>\n\u003Cli>abonelik yükseltme akışları\u003C/li>\n\u003Cli>incident escalation akışları\u003C/li>\n\u003Cli>release train yapıları\u003C/li>\n\u003Cli>bulut mimarisi başlangıçları\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"varlıklar\">Varlıklar\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#varlıklar\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Varlıklar”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>genel yapı taşları\u003C/li>\n\u003Cli>wireframe yüzeyleri\u003C/li>\n\u003Cli>sağlayıcı ikonları\u003C/li>\n\u003C/ul>\n\u003Cp>Şablon tüm iskeleti, varlık ise parça düzeyinde eklemeyi çözer.\u003C/p>",{"headings":2103,"localImagePaths":2108,"remoteImagePaths":2109,"frontmatter":2110,"imagePaths":2111},[2104,2107],{"depth":30,"slug":2105,"text":2106},"şablonlar","Şablonlar",{"depth":30,"slug":2015,"text":2016},[],[],{"draft":20,"title":1156,"description":2093},[],"tr/studio-overview",{"id":2112,"data":2114,"body":2119,"filePath":2120,"digest":2121,"rendered":2122},{"title":1114,"description":2115,"editUrl":16,"head":2116,"template":18,"sidebar":2117,"pagefind":16,"draft":20},"OpenFlowKit Studio yüzeyinde AI, kod, içe aktarma, altyapı çözümleme ve mimari lint akışlarını anlayın.",[],{"hidden":20,"attrs":2118},{},"Studio, görsel tuvalin yanında çalışan yapılandırılmış üretim alanıdır. Tuval tek başına en iyi araç olmadığında Studio’ya geçersiniz.\n\n## Sekmeler\n\n| Sekme | Amaç |\n| --- | --- |\n| **FlowPilot** | AI ile üretim ve revizyon |\n| **Code** | OpenFlow DSL ve Mermaid ile çalışma |\n| **Infra** | Destekli altyapı girdileri için parse akışı |\n| **Lint** | Mimari kural ve ihlal görünümü |\n\n## Ne zaman açılmalı?\n\n- istemden diyagram üretirken\n- kod tabanlı temsillerle çalışırken\n- altyapı veya yapılandırılmış veri içe aktarırken\n- mimari kuralları doğrularken","src/content/docs/tr/studio-overview.md","5ae3ead79d29754c",{"html":2123,"metadata":2124},"\u003Cp>Studio, görsel tuvalin yanında çalışan yapılandırılmış üretim alanıdır. Tuval tek başına en iyi araç olmadığında Studio’ya geçersiniz.\u003C/p>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"sekmeler\">Sekmeler\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#sekmeler\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Sekmeler”\u003C/span>\u003C/a>\u003C/div>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>Sekme\u003C/th>\u003Cth>Amaç\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd>\u003Cstrong>FlowPilot\u003C/strong>\u003C/td>\u003Ctd>AI ile üretim ve revizyon\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Cstrong>Code\u003C/strong>\u003C/td>\u003Ctd>OpenFlow DSL ve Mermaid ile çalışma\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Cstrong>Infra\u003C/strong>\u003C/td>\u003Ctd>Destekli altyapı girdileri için parse akışı\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Cstrong>Lint\u003C/strong>\u003C/td>\u003Ctd>Mimari kural ve ihlal görünümü\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Cdiv class=\"sl-heading-wrapper level-h2\">\u003Ch2 id=\"ne-zaman-açılmalı\">Ne zaman açılmalı?\u003C/h2>\u003Ca class=\"sl-anchor-link\" href=\"#ne-zaman-açılmalı\">\u003Cspan aria-hidden=\"true\" class=\"sl-anchor-icon\">\u003Csvg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\">\u003Cpath fill=\"currentcolor\" d=\"m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z\">\u003C/path>\u003C/svg>\u003C/span>\u003Cspan class=\"sr-only\">Section titled “Ne zaman açılmalı?”\u003C/span>\u003C/a>\u003C/div>\n\u003Cul>\n\u003Cli>istemden diyagram üretirken\u003C/li>\n\u003Cli>kod tabanlı temsillerle çalışırken\u003C/li>\n\u003Cli>altyapı veya yapılandırılmış veri içe aktarırken\u003C/li>\n\u003Cli>mimari kuralları doğrularken\u003C/li>\n\u003C/ul>",{"headings":2125,"localImagePaths":2132,"remoteImagePaths":2133,"frontmatter":2134,"imagePaths":2135},[2126,2129],{"depth":30,"slug":2127,"text":2128},"sekmeler","Sekmeler",{"depth":30,"slug":2130,"text":2131},"ne-zaman-açılmalı","Ne zaman açılmalı?",[],[],{"draft":20,"title":1114,"description":2115},[]]
\ No newline at end of file
diff --git a/docs-site/_headers b/docs-site/_headers
index 2d74e76..904f9dc 100644
--- a/docs-site/_headers
+++ b/docs-site/_headers
@@ -3,3 +3,4 @@
X-Content-Type-Options: nosniff
Referrer-Policy: strict-origin-when-cross-origin
Permissions-Policy: camera=(), microphone=(), geolocation=()
+ Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; connect-src 'self'; img-src 'self' data: https:; font-src 'self' data:; frame-ancestors 'none';
diff --git a/docs-site/astro.config.mjs b/docs-site/astro.config.mjs
index 2c408ce..34e6d25 100644
--- a/docs-site/astro.config.mjs
+++ b/docs-site/astro.config.mjs
@@ -1,5 +1,6 @@
import { defineConfig } from 'astro/config';
import starlight from '@astrojs/starlight';
+import { toStarlightSidebar } from '../src/docs/publicDocsCatalog.js';
export default defineConfig({
site: 'https://docs.openflowkit.com',
@@ -23,55 +24,8 @@ export default defineConfig({
root: { label: 'English', lang: 'en' },
tr: { label: 'Türkçe', lang: 'tr' },
},
- sidebar: [
- {
- label: 'Getting Started',
- items: [
- { label: 'Introduction', slug: 'introduction' },
- { label: 'Quick Start', slug: 'quick-start' },
- ],
- },
- {
- label: 'Core Workflows',
- items: [
- { label: 'Canvas Basics', slug: 'canvas-basics' },
- { label: 'Node Types', slug: 'node-types' },
- { label: 'Properties Panel', slug: 'properties-panel' },
- { label: 'Command Center', slug: 'command-center' },
- ],
- },
- {
- label: 'Studio & Automation',
- items: [
- { label: 'AI Generation', slug: 'ai-generation' },
- { label: 'Smart Layout', slug: 'smart-layout' },
- { label: 'Playback & History', slug: 'playback-history' },
- { label: 'OpenFlow DSL', slug: 'openflow-dsl' },
- ],
- },
- {
- label: 'Guides',
- items: [
- { label: 'Prompting AI Agents', slug: 'prompting-agents' },
- { label: 'Mermaid vs OpenFlow', slug: 'mermaid-vs-openflow' },
- { label: 'AWS Architecture', slug: 'aws-architecture' },
- { label: 'Payment Flow', slug: 'payment-flow' },
- { label: 'Mermaid Integration', slug: 'mermaid-integration' },
- { label: 'Exporting', slug: 'exporting' },
- { label: 'Keyboard Shortcuts', slug: 'keyboard-shortcuts' },
- ],
- },
- {
- label: 'Project Notes',
- items: [
- { label: 'Roadmap', slug: 'roadmap' },
- ],
- },
- ],
+ sidebar: toStarlightSidebar(),
customCss: ['./src/styles/custom.css'],
}),
],
- redirects: {
- '/': '/introduction',
- },
});
diff --git a/docs-site/src/content/docs/ai-generation.md b/docs-site/src/content/docs/ai-generation.md
index bd66d9e..5c25933 100644
--- a/docs-site/src/content/docs/ai-generation.md
+++ b/docs-site/src/content/docs/ai-generation.md
@@ -1,22 +1,40 @@
---
draft: false
title: AI Generation
+description: Generate and refine diagrams in Studio with Flowpilot, BYOK providers, code-to-architecture, and structured imports.
---
-OpenFlowKit ships with AI-assisted diagram generation through the Studio rail. Internally this flow composes a graph, lays it out, applies it to the current canvas, and keeps the exchange history in the local session.
+OpenFlowKit includes AI-assisted diagram generation through the Studio rail. Flowpilot is best used for first drafts, structural revisions, and code-backed architecture exploration.
+
+AI generation is most valuable when you need to go from ambiguity to structure quickly. It is not the only way to create diagrams in OpenFlowKit, and it is usually not the final step. Think of it as a draft accelerator.
+
+## Access and setup
+
+Flowpilot lives inside Studio. If an API key is not configured yet, OpenFlowKit prompts you to open the shared AI settings modal instead of keeping setup inline inside the panel.
+
+That matters for two reasons:
+
+- the same AI settings surface is used across the product
+- provider choice, model choice, and key storage behavior stay consistent whether you open AI from Home, Studio, or Settings
## Where AI lives in the product
-AI is available in the Studio panel under the **AI** tab and through the **Open FlowPilot** command in the Command Center.
+AI is available in the Studio panel under **Flowpilot** and through the **Open Flowpilot** command in the Command Center. Common sub-flows include:
-The current hook path:
+| Mode | What it does |
+| --- | --- |
+| **Flowpilot** | Chat-based generation and iteration |
+| **From Code** | Paste source code and generate an architecture diagram |
+| **Import** | Paste SQL, Terraform, K8s, or OpenAPI and generate a draft |
-1. captures your prompt and optional image
-2. sends it using your configured provider settings
-3. receives DSL-like graph output
-4. composes nodes and edges
-5. applies layout
-6. replaces the current working graph
+Typical generation flow:
+
+1. capture your prompt and optional image
+2. send it through the configured provider
+3. receive a structured graph representation
+4. compose nodes and edges
+5. apply layout
+6. replace or update the current graph
## Provider model
@@ -32,103 +50,54 @@ The app supports multiple BYOK providers, including:
- OpenRouter
- Custom OpenAI-compatible endpoint
-Default models are defined in the app config, but you can choose from provider-specific lists in Settings.
-
-## Important operational detail
-
-Your API configuration is stored locally in browser state. OpenFlowKit does not require an application account to use the editor.
+This matters because you are not locked to one hosted AI vendor or one billing model.
-Some providers are more browser-friendly than others. In the codebase, provider risk is explicitly categorized, so for certain providers a proxy setup may still be the more reliable production choice.
+API keys stay browser-local. Persistent keys can be stored for reuse on the current device, and session-only mode is available when you do not want the key to survive the browser session.
-## Prompting patterns that work well
+## When AI is the right tool
-Use prompts that specify:
+Use AI when:
-- the diagram goal
-- actors or systems
-- decision points
-- important branches
-- desired layout direction if it matters
-- the diagram family if it matters
+- you are starting from a plain-language idea
+- you want a fast first-pass architecture or workflow draft
+- you want to revise an existing diagram conceptually rather than move boxes one by one
+- you have source code and want a generated architecture view
-Example:
+Avoid AI when:
-```text
-Create a left-to-right architecture diagram for a SaaS product with:
-Cloudflare edge, API gateway, auth service, product service, Postgres,
-Redis, background worker, S3-compatible object storage, and observability.
-Show user traffic, internal service calls, and async jobs.
-```
+- you already have a precise text format such as Mermaid or OpenFlow DSL
+- you need deterministic output from infrastructure files
+- the diagram is small enough that manual editing is faster
-## Iteration workflow
+In those cases, prefer [OpenFlow DSL](/openflow-dsl/), [Mermaid Integration](/mermaid-integration/), or [Infrastructure Sync](/infra-sync/).
-The fastest loop is usually:
+## How to get better results
-1. generate a first draft with AI
-2. clean structure with auto layout
-3. refine labels and edge semantics in Properties
-4. switch to OpenFlow DSL or Mermaid for exact textual edits
+Strong prompts usually include:
-## What AI changes and what it does not
+- the intended audience
+- the systems or actors involved
+- important branches or failure paths
+- the preferred diagram direction
+- the level of detail you want
-AI is good at:
+Weak prompts ask for “a diagram” without constraints. Strong prompts explain the system.
-- initial graph creation
-- rough decomposition
-- generating branch logic
-- filling in missing surrounding steps
+## Recommended workflow
-AI is weaker at:
+1. Generate a first draft with Flowpilot.
+2. Inspect the structure on the canvas.
+3. Use the [Properties Panel](/properties-panel/) to normalize labels, color, and routing.
+4. Run [Smart Layout](/smart-layout/) if the structure is right but spacing is poor.
+5. Save a snapshot before another major rewrite.
-- strict provider-specific architecture semantics
-- exact naming conventions
-- pixel-level visual composition
-- preserving a very specific existing diagram unless you guide it tightly
+## Practical caution
-## Best practices
+AI output should be treated as a draft, not a certified system model. For documentation, architecture review, or infra communication, you should still check naming, boundaries, and missing branches before exporting or sharing.
-- keep prompts concrete
-- ask for one diagram family at a time
-- include failure paths explicitly
-- avoid mixing product requirements and visual polish in the same prompt
-- use a follow-up pass for naming, grouping, and export cleanup
-
-## Related reading
+## Related pages
+- [Ask Flowpilot](/ask-flowpilot/)
+- [Studio Overview](/studio-overview/)
+- [Choose an Input Mode](/choose-input-mode/)
- [Prompting AI Agents](/prompting-agents/)
-- [OpenFlow DSL](/openflow-dsl/)
-- [Mermaid Integration](/mermaid-integration/)
-2. **Structural Generation**: It constructs a valid FlowMind DSL JSON object representing the nodes and connections.
-3. **Layout Optimization**: The engine applies smart layout algorithms to ensure the generated graph is readable.
-
-## Best Practices for Prompts
-
-To get the best results, be specific about the **steps** and the **outcome**.
-
-### ❌ Too Vague
-> "Make a system diagram."
-
-### ✅ Good
-> "Create a high-level system architecture for an e-commerce platform. Include a Web App, API Gateway, User Service, Product Service, and a shared PostgreSQL database."
-
-### ✅ Better (Process Flow)
-> "Draw a flowchart for a user password reset process. Start with 'User clicks forgot password', check if email exists. If yes, send distinct token. If no, show error. End with 'User enters new password'."
-
-## Editing AI Results
-
-AI generation is a starting point, not the end. You can always:
-* Add missing steps manaully.
-* Renaming nodes for clarity.
-* Regenerating specific sections (Coming Soon).
-
-## 🔑 Bring Your Own Key (BYOK)
-
-By default, FlowMind uses a shared API key with limited quotas. For heavy usage, privacy, or to use your own billing, you can bring your own **Gemini API Key**.
-
-1. Go to **Google AI Studio** and [Get an API Key](https://aistudio.google.com/app/apikey).
-2. In FlowMind, open **Settings** (Gear Icon) or click on any **Brand Kit**.
-3. Navigate to the **AI** tab.
-4. Paste your key into the secure input field.
-
-> [!NOTE]
-> Your key is stored locally in your browser's `localStorage` and is never sent to our servers. It is strictly used for client-side API calls to Google.
diff --git a/docs-site/src/content/docs/architecture-lint.md b/docs-site/src/content/docs/architecture-lint.md
new file mode 100644
index 0000000..76eeddf
--- /dev/null
+++ b/docs-site/src/content/docs/architecture-lint.md
@@ -0,0 +1,51 @@
+---
+draft: false
+title: Architecture Linting
+description: Define JSON-based architecture rules in Studio and highlight diagram violations in real time.
+---
+
+Architecture Linting lets you define rules that catch violations directly on the canvas. It is the closest thing OpenFlowKit has to diagram linting for system design.
+
+## Where it lives
+
+Open Studio and switch to the **Lint** tab.
+
+## What it does
+
+The lint panel lets you:
+
+- paste or edit JSON-based rules
+- save and clear rule sets
+- see parse errors in the rule file
+- review live violations with error, warning, or info severity
+
+Violations are surfaced while you work, so the diagram becomes something you can validate, not just draw.
+
+## Why this matters
+
+Many diagrams are only descriptive. Architecture linting makes them evaluative as well. That is useful when the diagram represents real constraints, such as:
+
+- a frontend should not talk directly to a database
+- only certain services should cross a trust boundary
+- an imported topology should still conform to platform rules
+
+## Practical workflow
+
+1. Draft or import the diagram.
+2. Open Studio → **Lint**.
+3. Add or paste the rule JSON.
+4. Save rules and review violations.
+5. Fix the diagram and re-check until the rules pass.
+
+## Best use cases
+
+- architecture review
+- governance for platform diagrams
+- validating diagrams created from infrastructure sync
+- checking that large AI-assisted revisions did not break intended boundaries
+
+## Related pages
+
+- [Studio Overview](/studio-overview/)
+- [Infrastructure Sync](/infra-sync/)
+- [Diagram Diff & Compare](/diagram-diff/)
diff --git a/docs-site/src/content/docs/ask-flowpilot.md b/docs-site/src/content/docs/ask-flowpilot.md
index 35b4828..a74383d 100644
--- a/docs-site/src/content/docs/ask-flowpilot.md
+++ b/docs-site/src/content/docs/ask-flowpilot.md
@@ -1,8 +1,50 @@
---
draft: false
title: Ask Flowpilot
+description: Use Flowpilot as the chat-based Studio assistant for drafting, revising, and explaining diagrams.
---
-# Ask Flowpilot Assistant
+Flowpilot is the chat-based assistant inside Studio. It is the fastest way to describe a diagram in plain language, revise an existing draft, or ask for a different structural take before you start polishing the result manually.
-This page is dynamically replaced by the AI Assistant component inside `DocsPage.tsx`. This file exists only to satisfy the Vite dynamic glob importer and routing logic.
+## Good use cases
+
+Ask Flowpilot when you want to:
+
+- create a first draft from a text prompt
+- revise an existing system into a cleaner structure
+- expand a rough flow with missing failure branches
+- convert source code or structured input into a diagram draft
+
+## What to include in your prompt
+
+Useful prompts specify:
+
+- the audience
+- the systems or actors involved
+- important branches or constraints
+- preferred direction such as `LR` or `TB`
+- whether you want a high-level overview or a detailed operational flow
+
+## Example prompt
+
+```text
+Create a left-to-right architecture diagram for a SaaS app with:
+web client, API gateway, auth service, billing service, Postgres,
+Redis cache, background workers, and S3-backed file storage.
+Show public ingress, async jobs, and failure-handling paths.
+```
+
+## What to do after generation
+
+Flowpilot is strongest as a draft generator, not the final editor. After generation:
+
+- inspect the structure on the canvas
+- relabel and normalize in the [Properties Panel](/properties-panel/)
+- run [Smart Layout](/smart-layout/) if spacing is poor
+- save a snapshot before the next major rewrite
+
+## Related pages
+
+- [AI Generation](/ai-generation/)
+- [Prompting AI Agents](/prompting-agents/)
+- [Choose an Input Mode](/choose-input-mode/)
diff --git a/docs-site/src/content/docs/aws-architecture.md b/docs-site/src/content/docs/aws-architecture.md
index 46cbbb8..cd15dd6 100644
--- a/docs-site/src/content/docs/aws-architecture.md
+++ b/docs-site/src/content/docs/aws-architecture.md
@@ -1,30 +1,42 @@
---
draft: false
title: AWS Architecture Diagram
+description: Use OpenFlowKit for AWS architecture diagrams with templates, icon-backed assets, AI drafting, DSL, and export workflows.
---
-OpenFlowKit is a strong fit for AWS architecture diagrams because it supports both provider-backed icon insertion and code-first drafting.
+OpenFlowKit is a strong fit for AWS architecture diagrams because it supports provider-backed icon insertion, architecture-oriented layouts, AI-assisted drafting, and code-backed editing in the same workflow.
## Best starting points
-For AWS diagrams, use one of these:
+For AWS diagrams, start from the input that already exists:
- an AWS template from the template browser
- the Assets view with AWS icon catalog
- AI generation with a provider-specific architecture prompt
- OpenFlow DSL for a deterministic first pass
+## How to choose the starting point
+
+- Use templates when you want a known structural baseline.
+- Use assets when you know the services already and want manual control.
+- Use AI when you want a fast conceptual draft.
+- Use DSL when the graph should be reviewed as text.
+
## Recommended workflow
1. insert core services first
-2. add boundaries and sections for VPCs, public/private tiers, or trust zones
-3. connect traffic paths
-4. run auto layout
-5. refine protocols and edge labels
+2. add boundaries for VPCs, public/private tiers, or trust zones
+3. connect traffic paths and async flows
+4. run [Smart Layout](/smart-layout/)
+5. refine labels, protocols, and visual emphasis
+6. save a snapshot before large revisions
+7. export or share in the format your audience needs
## Asset strategy
-The assets panel can load provider-backed catalogs and previews. Use icon nodes for branded service identity, then use sections or architecture boundaries to show grouping.
+The assets panel can load provider-backed catalogs and previews. Use icon nodes for branded service identity, then use sections or boundaries to show grouping.
+
+This is usually better than drawing every service as a generic box, especially when the audience expects cloud-provider cues at a glance.
## Example prompt
@@ -47,70 +59,12 @@ Use DSL when:
For architecture reviews:
-- export PNG for slides
+- export PNG or SVG for slides and docs
- export JSON for editable backup
-- optionally export Mermaid or PlantUML for docs workflows
-
-- **Version Control**: Track infrastructure changes over time.
-- **Auto-Layout**: No more overlapping lines or misaligned VPCs.
-- **Speed**: Type a few lines, get a complete diagram.
-
-
-## Example: Basic Web Architecture (Mermaid.js)
-
-OpenFlowKit natively supports Mermaid.js, which is great for standard cloud structures. Here is how you can visualize an AWS VPC with a Load Balancer, EC2 instances, and an RDS database.
-
-```mermaid
-flowchart TD
- %% Define Styles
- classDef aws fill:#FF9900,stroke:#fff,stroke-width:2px,color:#fff,rx:8px,ry:8px;
- classDef vpc fill:#f5f5f5,stroke:#00A4A6,stroke-width:2px,stroke-dasharray: 5 5,rx:12px,ry:12px;
-
- Client((User Traffic))
-
- subgraph AWS_VPC [AWS Cloud VPC]
- ALB(Application Load Balancer)
-
- subgraph Public_Subnet [Public Subnet]
- EC2_1(Web Server 1)
- EC2_2(Web Server 2)
- end
-
- subgraph Private_Subnet [Private Subnet]
- RDS[(Amazon RDS)]
- ElastiCache[(Redis Cache)]
- end
- end
-
- %% Connections
- Client -->|HTTPS| ALB
- ALB -->|Round Robin| EC2_1
- ALB -->|Round Robin| EC2_2
-
- EC2_1 --> RDS
- EC2_1 --> ElastiCache
- EC2_2 --> RDS
- EC2_2 --> ElastiCache
-
- %% Apply Styles
- class ALB,EC2_1,EC2_2 aws;
- class RDS,ElastiCache aws;
- class AWS_VPC,Public_Subnet,Private_Subnet vpc;
-```
-
-## Creating AWS Diagrams with AI
-
-If you don't know Mermaid syntax, you can use **Flowpilot**, our built-in AI assistant.
-
-1. Open the [Command Center](/docs/en/command-center).
-2. Type a prompt like:
-> `"Create an AWS architecture diagram showing an API Gateway routing traffic to three AWS Lambda functions, which all connect to a central DynamoDB table."`
-3. Hit enter. Flowpilot will instantly generate the DSL and render the diagram.
-
-## Exporting for internal documentation
+- optionally export Mermaid or PlantUML for repo or docs workflows
-Once your AWS Architecture is generated, you can easily export it:
-- **SVG / PNG**: For Confluence, Jira, or Slack.
-- **Figma Editable**: Want your UX team to polish the diagram? Click *Figma Editable* and paste it directly into Figma as native, editable vector layers.
+## Related pages
-[Try building your first AWS Architecture diagram now!](/#/canvas)
+- [Infrastructure Sync](/infra-sync/)
+- [Templates & Starter Flows](/templates-assets/)
+- [Choose an Export Format](/choose-export-format/)
diff --git a/docs-site/src/content/docs/canvas-basics.md b/docs-site/src/content/docs/canvas-basics.md
index 0c5dc09..a8c91fb 100644
--- a/docs-site/src/content/docs/canvas-basics.md
+++ b/docs-site/src/content/docs/canvas-basics.md
@@ -1,9 +1,19 @@
---
draft: false
title: Canvas Basics
+description: Learn how to move, select, edit, and recover work on the OpenFlowKit canvas.
---
-The canvas is the main editing surface. It is optimized for desktop and large tablet layouts, with selection, panning, layout, and right-rail editing built around a large-screen workflow.
+The canvas is the main editing surface in OpenFlowKit. It is optimized for desktop and larger-tablet workflows, with direct manipulation on the graph and exact edits in the side rails.
+
+## When to use the canvas
+
+Use the canvas when you want to:
+
+- sketch a diagram manually
+- refine something created by AI, imports, or code
+- inspect structure spatially instead of as text
+- move quickly between direct manipulation and inspector-based editing
## Navigation
@@ -39,61 +49,10 @@ Use either of these:
When multiple nodes are selected, the right rail switches to **Bulk edit** mode.
-## Moving and editing nodes
-
-### Reposition
-
-Drag nodes directly on the canvas.
-
-### Rename
-
-- double-click directly on a node for fast label editing
-- or select the node and edit its content from the Properties panel
-- `F2` triggers rename for the current selection
-
-### Duplicate and delete
-
-- `Cmd/Ctrl + D` duplicates the current selection
-- `Option/Alt + Drag` performs duplicate-drag
-- `Delete` or `Backspace` removes the current selection
-
-## Creating connections
-
-Drag from a node handle to another node to create an edge. After that, use the edge inspector to refine:
-
-- label
-- route style
-- color
-- condition semantics
-- appearance and animation flags
-
-Architecture edges expose extra semantics such as protocol, port, and direction.
-
-## Working styles
-
-The editor supports two primary interaction modes:
-
-- **Select mode** for object manipulation
-- **Pan mode** for navigation
-
-This matters most on dense diagrams, where accidental node moves become expensive.
-
-## Canvas support tools
-
-### Command Center
-
-Use `Cmd/Ctrl + K` to add assets, browse templates, search nodes, or run layout without leaving the canvas.
-
-### Properties rail
-
-Select a node or edge to open the right-side inspector.
-
-### History and snapshots
+## Direct manipulation vs exact editing
-Open the snapshots/history panel when you need recovery points or want to revisit a previous graph state.
+The canvas is where you move, select, and compose the graph. For exact values and family-specific settings, switch to the [Properties Panel](/properties-panel/). For templates, search, layout, and workflow switching, use the [Command Center](/command-center/).
-## Practical advice
+## History and recovery
-- Use sections to create visual boundaries before a diagram gets large
-- Use auto layout early, not only when a canvas is already messy
-- Switch to OpenFlow DSL or Mermaid in Studio when structural edits are faster in text than by drag-and-drop
+Use regular undo/redo for short corrections and snapshots for larger rollback points. See [Playback & History](/playback-history/).
diff --git a/docs-site/src/content/docs/choose-export-format.md b/docs-site/src/content/docs/choose-export-format.md
new file mode 100644
index 0000000..99a2011
--- /dev/null
+++ b/docs-site/src/content/docs/choose-export-format.md
@@ -0,0 +1,36 @@
+---
+draft: false
+title: Choose an Export Format
+description: Pick the right OpenFlowKit export format for editing, docs, collaboration, embeds, or design-tool handoff.
+---
+
+OpenFlowKit supports both visual exports and editable handoff formats. The right format depends on what happens next.
+
+## Quick guide
+
+| Need | Best format |
+| --- | --- |
+| editable archival backup | JSON |
+| editor-native text | OpenFlow DSL |
+| Markdown or repo-friendly text | Mermaid |
+| docs, slides, or tickets | PNG, JPG, or SVG |
+| design-tool handoff | Figma |
+| short playback artifact | GIF or video |
+| live viewer or room access | Share / Embed |
+
+## Rules of thumb
+
+- Use JSON when fidelity matters most.
+- Use OpenFlow DSL when OpenFlowKit remains the editing home.
+- Use Mermaid when another docs or repo workflow expects Mermaid.
+- Use SVG when you need scalable vector output.
+- Use PNG or JPG for lightweight visual sharing.
+- Use share/embed when the diagram should remain interactive.
+
+## Default recommendation
+
+If you want a safe pattern, keep:
+
+- JSON as the editable master
+- a visual export for presentation
+- Mermaid or DSL only when another text-based workflow needs it
diff --git a/docs-site/src/content/docs/choose-input-mode.md b/docs-site/src/content/docs/choose-input-mode.md
new file mode 100644
index 0000000..f51b38c
--- /dev/null
+++ b/docs-site/src/content/docs/choose-input-mode.md
@@ -0,0 +1,39 @@
+---
+draft: false
+title: Choose an Input Mode
+description: Decide when to use templates, AI, OpenFlow DSL, Mermaid, structured imports, or direct canvas editing.
+---
+
+OpenFlowKit supports multiple ways to create a diagram. The best choice depends on what source material already exists and how deterministic you need the result to be.
+
+## Quick guide
+
+| If you have... | Start with... |
+| --- | --- |
+| a common builder workflow you want to adapt quickly | [Templates & Starter Flows](/templates-assets/) |
+| a rough idea | [AI Generation](/ai-generation/) |
+| a diagram you want to sketch manually | [Canvas Basics](/canvas-basics/) |
+| editor-native text you want to control precisely | [OpenFlow DSL](/openflow-dsl/) |
+| Mermaid already used elsewhere | [Mermaid Integration](/mermaid-integration/) |
+| SQL, OpenAPI, Terraform, or K8s source text | [Import from Structured Data](/import-from-data/) |
+| infra files you want parsed deterministically | [Infrastructure Sync](/infra-sync/) |
+
+## Rules of thumb
+
+- Choose templates when the shape is familiar but the exact labels are not.
+- Choose AI for speed and ideation.
+- Choose OpenFlow DSL for editor-native precision.
+- Choose Mermaid for ecosystem compatibility.
+- Choose structured import when a source artifact already exists.
+- Choose Infra Sync when you want deterministic, non-AI parsing of supported infra inputs.
+
+## Common mistakes
+
+- Using AI when you already have a precise source artifact.
+- Starting from a blank canvas when a starter template is already close to the workflow.
+- Using Mermaid as the editing master when fidelity inside OpenFlowKit matters more.
+- Redrawing infrastructure manually when the source files already exist.
+
+## Recommended pattern
+
+Start with the most structured truthful input you already have. Move from template or source text into the visual editor, then use AI only when the stronger input does not exist or when you want alternate drafts fast.
diff --git a/docs-site/src/content/docs/collaboration-sharing.md b/docs-site/src/content/docs/collaboration-sharing.md
new file mode 100644
index 0000000..7cce4f1
--- /dev/null
+++ b/docs-site/src/content/docs/collaboration-sharing.md
@@ -0,0 +1,50 @@
+---
+draft: false
+title: Collaboration & Sharing
+description: Share room links, understand local-only fallback behavior, and use OpenFlowKit collaboration features safely.
+---
+
+OpenFlowKit supports share links and collaboration-oriented room flows while keeping local-first behavior as the default.
+
+## What the share flow includes
+
+The share dialog can expose:
+
+- a room ID
+- an invite URL
+- current viewer count
+- participant badges
+- connection state such as realtime, connecting, or local-only fallback
+
+## Current collaboration model
+
+The product includes a collaboration scaffold with presence, transport status, and local cache behavior. In practice, that means you can share a room link and see whether the current session is in live sync or local-only fallback mode.
+
+This is important because local-first tools should fail gracefully. If realtime sync is not available, the app should not force you to stop working.
+
+## How to use it well
+
+- open the share dialog before inviting others
+- confirm whether the session is in live sync or fallback mode
+- use room links when you want collaborators in the same canvas context
+- export JSON when you need a durable editable backup outside the current browser state
+
+## When to use sharing vs exporting
+
+Use collaboration sharing when:
+
+- the diagram should stay interactive
+- other people should join the current working canvas
+- you want presence and room-based workflows
+
+Use exporting when:
+
+- you need an artifact, not a live session
+- the next destination is docs, slides, or a design tool
+- you need a durable handoff file
+
+## Related pages
+
+- [Exporting](/exporting/)
+- [Choose an Export Format](/choose-export-format/)
+- [Embed Diagrams in GitHub](/github-embed/)
diff --git a/docs-site/src/content/docs/command-center.md b/docs-site/src/content/docs/command-center.md
index df54ce5..3f3b078 100644
--- a/docs-site/src/content/docs/command-center.md
+++ b/docs-site/src/content/docs/command-center.md
@@ -1,18 +1,19 @@
---
draft: false
title: Command Center
+description: Use the keyboard-first launcher to search, insert assets, start templates, switch into Studio, and run layout or design-system actions.
---
-The Command Center is the keyboard-first launcher for the editor. It opens as a floating panel and is the fastest way to move between assets, templates, search, layout, and studio actions.
+The Command Center is the keyboard-first launcher for the editor. It opens as a floating panel and is the fastest way to move between assets, templates, search, layout, and Studio actions.
> [!NOTE]
> Open it with `Cmd + K` on macOS or `Ctrl + K` on Windows/Linux.
## Root commands
-The top-level command list currently includes:
+The top-level command list includes actions such as:
-- Open FlowPilot
+- Open Flowpilot
- Edit Flow DSL
- Edit Mermaid Code
- Assets
@@ -21,7 +22,7 @@ The top-level command list currently includes:
- Start from Template
- Design Systems
-Playback Studio also appears when its rollout flag is enabled.
+Playback-related entries may also appear when the relevant playback surface is active in the current product path.
## Views inside the Command Center
@@ -38,54 +39,23 @@ Use this to insert:
- uploaded images
- browser wireframes
- mobile wireframes
-- provider-backed icons and cloud assets
### Templates
-The template browser supports search and category filtering. It is the fastest way to start from a known graph shape.
+Use templates when you want a proven starting structure instead of a blank canvas.
### Search
-Search scans existing nodes on the current canvas so you can find and jump to content in large diagrams.
-
-### Layout
-
-The layout view lets you run auto layout without leaving the keyboard workflow.
+Use search to jump to named nodes in larger diagrams.
### Design Systems
-This view is used to manage reusable visual styling choices for the canvas.
-
-## Why use it instead of clicking around
-
-Use the Command Center when:
-
-- you are working on a laptop and want minimal pointer travel
-- the canvas is crowded and the toolbar is slower than search
-- you want to switch directly into AI or code editing
-- you want to insert assets in batches
-
-## Recommended habit
-
-Treat the Command Center as the default launcher, not a secondary shortcut. In daily use it becomes the fastest path to most non-drag operations.
-
-### 1. Templates
-Don't start from scratch. Access a library of pre-built diagrams:
-* AWS Architecture Patterns
-* User Journey Maps
-* Database Schemas
-* Organizational Charts
+Use Design Systems to switch themes, duplicate them, edit them, or import/export theme JSON.
-### 2. Design System / Visuals
-Access a library of assets to enhance your diagram:
-* **Wireframes**: Drag and drop low-fidelity UI components (Buttons, Inputs, Modals) to build quick mockups.
-* **Icons**: Search and insert any icon as a standalone node.
+## How it fits with the rest of the editor
-### 3. AI Copilot
-The text input in the Command Center is your direct line to our AI engine. Type what you want to build, and hitting `Enter` generates it instantly.
+The Command Center is the fastest bridge between the canvas and Studio:
-### 4. Layout & Tools
-Quickly access utility functions:
-* **Auto Layout**: Re-organize the chaos.
-* **Reset View**: Jump back to center.
-* **Format Code**: Clean up your DSL.
+- use the canvas for direct manipulation
+- use the inspector for exact edits
+- use the Command Center for navigation, search, layout, templates, assets, and workflow switching
diff --git a/docs-site/src/content/docs/design-systems-branding.md b/docs-site/src/content/docs/design-systems-branding.md
new file mode 100644
index 0000000..7f61566
--- /dev/null
+++ b/docs-site/src/content/docs/design-systems-branding.md
@@ -0,0 +1,50 @@
+---
+draft: false
+title: Design Systems & Branding
+description: Manage reusable design systems in OpenFlowKit and import or export theme definitions for consistent diagrams.
+---
+
+OpenFlowKit includes design-system support so your diagrams can inherit a repeatable visual language instead of being styled one by one.
+
+## What the design-system flow supports
+
+From the Command Center you can:
+
+- switch the active design system
+- create a new theme from an existing base
+- duplicate and edit themes
+- import theme JSON
+- export the active theme
+
+This is the right workflow when consistency matters as much as diagram correctness.
+
+## When to use it
+
+Use design systems when:
+
+- multiple diagrams should share a consistent look
+- your team has visual standards you want to reuse
+- you want architecture, workflow, and product diagrams to feel like one system
+- you need to package diagram styling as something reusable instead of manual
+
+## Import and export
+
+The design-system view supports JSON import and export. That makes it possible to:
+
+- move a theme between environments
+- create branded variants
+- version visual settings outside the current session
+
+## Relationship to Figma
+
+Figma style import is a related workflow. Use it when you want to fetch colors and text styles from a Figma file and apply them to a design system inside OpenFlowKit.
+
+## Recommended pattern
+
+Keep one stable default theme for everyday work and create variants only when the audience or brand needs are genuinely different. Too many themes usually create inconsistency instead of flexibility.
+
+## Related pages
+
+- [Figma Design Import](/figma-design-import/)
+- [Templates & Starter Flows](/templates-assets/)
+- [Command Center](/command-center/)
diff --git a/docs-site/src/content/docs/diagram-diff.md b/docs-site/src/content/docs/diagram-diff.md
new file mode 100644
index 0000000..d5bea48
--- /dev/null
+++ b/docs-site/src/content/docs/diagram-diff.md
@@ -0,0 +1,48 @@
+---
+draft: false
+title: Diagram Diff & Compare
+description: Compare the current diagram against a snapshot baseline and review added, removed, and changed elements.
+---
+
+Diagram Diff & Compare lets you inspect how the current graph differs from a saved baseline snapshot.
+
+## What compare mode shows
+
+When compare mode is active, OpenFlowKit surfaces:
+
+- added nodes and edges
+- removed nodes and edges
+- changed nodes
+- the baseline snapshot name and timestamp
+
+This is useful after imports, AI rewrites, or manual restructures when you want to understand what actually changed rather than rely on memory.
+
+## Why it is valuable
+
+Large diagram edits often fail in two ways:
+
+- the result is visually different but you cannot explain what changed
+- the result looks mostly similar, but a few important relationships disappeared
+
+Compare mode helps with both. It gives you a concrete change view against a known baseline.
+
+## Recommended workflow
+
+1. Save or identify the baseline snapshot.
+2. Make the changes you need.
+3. Enter compare mode against that snapshot.
+4. Review the counts for added, removed, and changed elements.
+5. Exit compare mode and continue editing if needed.
+
+## Good use cases
+
+- checking the impact of a major Flowpilot revision
+- reviewing the result of a large infrastructure refresh
+- comparing before-and-after states during architecture refactors
+- validating that a simplification pass did not delete something important
+
+## Related pages
+
+- [Playback & History](/playback-history/)
+- [AI Generation](/ai-generation/)
+- [Infrastructure Sync](/infra-sync/)
diff --git a/docs-site/src/content/docs/diagram-families.md b/docs-site/src/content/docs/diagram-families.md
new file mode 100644
index 0000000..1a92dc8
--- /dev/null
+++ b/docs-site/src/content/docs/diagram-families.md
@@ -0,0 +1,40 @@
+---
+draft: false
+title: Diagram Families
+description: Choose the right diagram family in OpenFlowKit for flows, architecture maps, mind maps, journeys, class diagrams, ER diagrams, and more.
+---
+
+OpenFlowKit supports multiple diagram families because not every problem should be forced into the same node and edge model.
+
+## Families in the current editor
+
+| Family | Best for |
+| --- | --- |
+| `flowchart` | General process and system flows |
+| `architecture` | Cloud, service, and platform diagrams |
+| `mindmap` | Branching ideation and hierarchical thinking |
+| `journey` | User journey or multi-stage experience mapping |
+| `stateDiagram` | State transitions and event-driven logic |
+| `classDiagram` | Object modeling and relationships |
+| `erDiagram` | Tables, entities, and relational structure |
+| `gitGraph` | Git history and branching flows |
+
+## How to choose
+
+Use the family that matches the semantics of the diagram, not just the visual look.
+
+- Choose `flowchart` when the problem is procedural.
+- Choose `architecture` when services, infrastructure, or trust boundaries matter.
+- Choose `mindmap` when branching and hierarchy matter more than exact routing.
+- Choose `journey` when stages, actors, and sentiment or score matter.
+- Choose `classDiagram` or `erDiagram` when the relationships themselves carry meaning.
+
+## Why it matters
+
+Different families unlock different node behavior, import paths, layout assumptions, and inspector controls. Picking the right family early usually means less cleanup later.
+
+## Related pages
+
+- [Node Types](/node-types/)
+- [Choose an Input Mode](/choose-input-mode/)
+- [Studio Overview](/studio-overview/)
diff --git a/docs-site/src/content/docs/exporting.md b/docs-site/src/content/docs/exporting.md
index 5f3893c..88ed055 100644
--- a/docs-site/src/content/docs/exporting.md
+++ b/docs-site/src/content/docs/exporting.md
@@ -1,36 +1,46 @@
---
draft: false
title: Exporting
+description: Export diagrams from OpenFlowKit as images, cinematic media, JSON, code formats, design-tool handoff, or share/embed links.
---
Export lives in the top-right menu of the editor and covers both downloadable files and clipboard-oriented formats.
+The right export choice depends on whether your next step is editing, publishing, presenting, embedding, or collaboration.
+
## Downloaded file exports
-### PNG
+### PNG and JPG
-Best for:
+Use PNG or JPG for:
- docs
- slides
-- issue trackers
-- transparent-background diagram drops
+- tickets
+- lightweight visual sharing
-### JPG
+PNG is usually the better default when you want cleaner transparency handling. JPG is useful when a simple white-background image is enough.
-Best for:
+### SVG
-- white-background presentations
-- lightweight sharing where transparency is not required
+Use SVG when you need vector output for docs, websites, or further design-tool handling. SVG is the best choice when the diagram needs to stay crisp across sizes.
### JSON
This is the most faithful archival format for re-import into OpenFlowKit. Use it for:
- backups
-- migration between browsers or machines
-- preserving playback metadata where present
-- team handoff of editable diagrams
+- browser-to-browser handoff
+- preserving the most editable version of the graph
+- long-term retention of a diagram you may need to revise later
+
+If you are unsure what to save as the master file, choose JSON.
+
+### Cinematic video and GIF
+
+Use cinematic exports when the diagram is meant to communicate change over time rather than a single static state. These are useful for demos, changelogs, social posts, and process walkthroughs.
+
+These exports are presentation-oriented. Keep JSON as the editable master if you may need to revise the underlying diagram later.
## Clipboard-oriented exports
@@ -39,71 +49,25 @@ These exports are generated from the current graph and copied rather than downlo
- OpenFlow DSL
- Mermaid
- PlantUML
-- Figma-friendly SVG payload
-
-Use these when the next destination is another editor rather than a file browser.
-
-## Animated export
-
-The codebase supports playback export to:
-
-- GIF
-- browser-recorded video
-
-These options appear only when the animated export rollout flag is enabled.
-
-## Fidelity guidance
-
-Choose formats by goal:
-
-- use **JSON** for maximum round-trip fidelity
-- use **OpenFlow DSL** for editor-native textual workflows
-- use **Mermaid** when the target is Markdown or docs tooling
-- use **PlantUML** when the destination stack already expects PlantUML
-- use **PNG/JPG** when the result only needs to be viewed
-
-## Import pairing
-
-If you expect to continue editing later, always export a JSON copy alongside any presentation export.
-
-That one habit prevents most avoidable rework.
-
-Perfect for slides, documents, or sharing on Slack.
-
-### PNG (Portable Network Graphics)
-Exports a high-resolution, pixel-based image of your current flow.
-* **Best for**: Slides, Web, General Sharing.
-* **Settings**: Includes transparency by default if enabled in settings.
-
-### JPEG (Joint Photographic Experts Group)
-Exports a compressed image file.
-* **Best for**: Email attachments, situations where file size matters.
-* **Note**: Does not support transparency (background will be white).
+- Figma editable export
-## Data & Code Exports
+Use these when the next tool in the workflow expects text or design-tool-compatible handoff rather than an image.
-FlowMind is a "Diagram-as-Code" tool, so we treat your diagram data as a first-class citizen.
+## Sharing
-### JSON (FlowMind Native)
-Downloads the raw `.json` file containing all node positions, styles, and data.
-* **Best for**: Backups, Version Control, Sharing editable files with other FlowMind users.
+The export menu also includes **Share / Embed** for viewer-link and collaboration-oriented workflows. Use this when you want a room link, viewer URL, or embed-style flow instead of a file.
-### FlowMind DSL
-Copies the simplified Domain Specific Language (DSL) representation to your clipboard.
-* **Best for**: Storing diagram logic in your codebase comments or generating similar flows via AI.
+## Recommended export pattern
-### Mermaid.js
-Converts your current diagram into [Mermaid](https://mermaid.js.org/) syntax and copies it to the clipboard.
-* **Best for**: Embedding diagrams in GitHub `README.md` files, Notion, or Obsidian.
-* **Supported**: Basic Flowcharts, Sequence Diagrams.
+For serious work, a practical pattern is:
-### PlantUML
-Copies the PlantUML representation of your diagram.
-* **Best for**: Enterprise wikis (Confluence) or legacy documentation systems.
+1. keep JSON as the editable master
+2. export Mermaid or DSL for text workflows
+3. export PNG, JPG, or SVG for presentation
+4. use share/embed when the diagram should remain interactive
-### Figma
-Copies a vector representation compatible with Figma's paste format.
-* **Best for**: Handing off diagrams to designers for high-fidelity polishing.
+## Related pages
-> [!WARNING]
-> Figma export is experimental. Complex custom nodes may not transfer 100% perfectly.
+- [Choose an Export Format](/choose-export-format/)
+- [Collaboration & Sharing](/collaboration-sharing/)
+- [Embed Diagrams in GitHub](/github-embed/)
diff --git a/docs-site/src/content/docs/figma-design-import.md b/docs-site/src/content/docs/figma-design-import.md
new file mode 100644
index 0000000..bfdba58
--- /dev/null
+++ b/docs-site/src/content/docs/figma-design-import.md
@@ -0,0 +1,44 @@
+---
+draft: false
+title: Figma Design Import
+description: Fetch colors and text styles from Figma and apply them to an OpenFlowKit design system.
+---
+
+OpenFlowKit includes a Figma import flow for design-system work. Instead of recreating theme tokens manually, you can fetch styles from a Figma file and apply them to a diagram theme.
+
+## What you need
+
+- a Figma file URL
+- a personal access token
+
+The token is used in your browser to fetch styles. This is a token-based import flow, not a permanent synced integration.
+
+## What the import previews
+
+The current import flow can preview:
+
+- color styles
+- text styles
+- font families represented in those text styles
+
+After review, you can apply the result to a design system inside OpenFlowKit.
+
+## Best use cases
+
+- aligning diagrams with an existing design language
+- quickly creating a theme from a product or brand system
+- reducing manual token setup work before building multiple diagrams
+
+## Recommended workflow
+
+1. Open the Figma import flow.
+2. Paste the Figma file URL.
+3. Enter a personal access token.
+4. Fetch styles and review the preview.
+5. Apply the imported result to a design system.
+6. Use that design system across your diagram set.
+
+## Related pages
+
+- [Design Systems & Branding](/design-systems-branding/)
+- [Templates & Starter Flows](/templates-assets/)
diff --git a/docs-site/src/content/docs/github-embed.md b/docs-site/src/content/docs/github-embed.md
new file mode 100644
index 0000000..4a9621c
--- /dev/null
+++ b/docs-site/src/content/docs/github-embed.md
@@ -0,0 +1,109 @@
+---
+draft: false
+title: Embed Diagrams in GitHub
+description: Create viewer links for OpenFlowKit diagrams and embed them into GitHub-flavored documentation workflows.
+---
+
+OpenFlowKit diagrams can be embedded in any GitHub README or Markdown file as interactive, read-only views. No server setup or GitHub App required.
+
+## How it works
+
+The `/view` route renders any OpenFlow DSL passed as a URL parameter. You encode your diagram as a URL-safe string and link to it from your README.
+
+```
+https://openflowkit.dev/#/view?flow=BASE64_ENCODED_DSL
+```
+
+When someone clicks the link, they see the fully rendered, interactive diagram and can pan, zoom, and click **Open in Editor** to load it into the canvas for editing.
+
+## When this is useful
+
+Use the GitHub embed workflow when:
+
+- your team documents systems in Markdown
+- you want a richer diagram experience than a static PNG
+- you want readers to be able to open the diagram back in the editor
+
+## Step-by-step
+
+### 1. Write your diagram in OpenFlow DSL
+
+```
+flow: "My Architecture"
+direction: LR
+
+[browser] client: Web App
+[system] api: API Server
+[system] db: PostgreSQL
+
+client -> api |HTTP|
+api -> db |SQL|
+```
+
+### 2. Encode it
+
+In the browser console, or any JavaScript environment:
+
+```js
+const dsl = `flow: "My Architecture"
+direction: LR
+
+[browser] client: Web App
+[system] api: API Server
+[system] db: PostgreSQL
+
+client -> api |HTTP|
+api -> db |SQL|`;
+
+const encoded = btoa(encodeURIComponent(dsl));
+console.log(encoded);
+// → paste this into the URL below
+```
+
+### 3. Embed in your README
+
+```markdown
+[](https://openflowkit.dev/#/view?flow=PASTE_ENCODED_VALUE_HERE)
+```
+
+The outer image link makes GitHub show a clickable preview image. Replace `og-diagram.png` with a screenshot of your diagram for the best preview.
+
+Or link directly without an image:
+
+```markdown
+[View Architecture Diagram →](https://openflowkit.dev/#/view?flow=PASTE_ENCODED_VALUE_HERE)
+```
+
+## Updating diagrams
+
+Edit your DSL, re-encode, and update the URL in the README. Because the entire diagram is in the URL, there is no external file to keep in sync.
+
+For diagrams you want to iterate on frequently, store the raw DSL in a `.flow` file in your repo and reference it in a comment next to the embed link:
+
+```markdown
+
+[View Architecture →](https://openflowkit.dev/#/view?flow=...)
+```
+
+## Encoding helper
+
+You can also export the viewer URL directly from the OpenFlowKit editor:
+
+1. Open your diagram in the editor
+2. Open **Studio → Code → OpenFlow DSL**
+3. Copy the DSL
+4. Encode it with the snippet above
+
+## Supported DSL features
+
+All OpenFlow DSL node types and edge types render in the viewer:
+
+- All node types: `[system]`, `[browser]`, `[mobile]`, `[process]`, `[decision]`, `[section]`, `[annotation]`, and more
+- All edge styles: solid, dashed (`..>`), curved (`-->`), thick (`==>`)
+- Edge labels, colors, icons, and grouping sections
+
+## Related reading
+
+- [OpenFlow DSL Reference](/openflow-dsl/)
+- [Exporting Diagrams](/exporting/)
+- [Import from Structured Data](/import-from-data/)
diff --git a/docs-site/src/content/docs/import-from-data.md b/docs-site/src/content/docs/import-from-data.md
new file mode 100644
index 0000000..5b1184d
--- /dev/null
+++ b/docs-site/src/content/docs/import-from-data.md
@@ -0,0 +1,40 @@
+---
+draft: false
+title: Import from Structured Data
+description: Turn SQL, OpenAPI, Terraform, and Kubernetes source text into editable diagrams from the Studio import flows.
+---
+
+The structured import flows in Studio convert source text into editable diagrams. This is useful when you already have SQL, OpenAPI, Terraform, or Kubernetes-related content and want a visual model quickly.
+
+## How it works
+
+Paste your source text, choose the matching mode, and generate the diagram. Depending on the input type, OpenFlowKit either runs a specialized AI-assisted import or a deterministic parser-based flow.
+
+One common pipeline is:
+
+```text
+Your text → specialized prompt → AI model → DSL → ELK layout → canvas
+```
+
+All your existing AI provider and API key settings apply.
+
+For fully deterministic infrastructure parsing that does not need AI, use [Infrastructure Sync](/infra-sync/).
+
+## SQL DDL → Entity-Relationship Diagram
+
+Paste one or more `CREATE TABLE` statements to generate an ER diagram.
+
+Flowpilot will:
+
+- create one node per table
+- list primary keys, foreign keys, and key columns inside each node
+- draw edges between tables that share foreign key relationships
+- group related tables where the model can infer a useful structure
+
+## OpenAPI and service-structure imports
+
+Use OpenAPI import when you want a service or endpoint-level first pass from an existing API spec.
+
+## When to choose this flow
+
+Choose structured import when a source artifact already exists and you want a fast editable draft. Choose manual editing when the diagram is primarily conceptual. Choose [Infrastructure Sync](/infra-sync/) when determinism matters more than AI interpretation.
diff --git a/docs-site/src/content/docs/infra-sync.md b/docs-site/src/content/docs/infra-sync.md
new file mode 100644
index 0000000..daf72fd
--- /dev/null
+++ b/docs-site/src/content/docs/infra-sync.md
@@ -0,0 +1,62 @@
+---
+title: Infrastructure Sync (Living Diagrams)
+description: Parse Terraform state, Kubernetes manifests, and Docker Compose files directly into diagrams without depending on an AI provider.
+---
+
+Infrastructure Sync converts real infrastructure files into OpenFlow diagrams deterministically. It works offline for supported inputs and produces diagrams that stay close to your actual infrastructure sources.
+
+## Supported formats
+
+- **Terraform State** (`.tfstate` JSON)
+- **Kubernetes YAML**
+- **Docker Compose YAML**
+- **Terraform HCL** through the AI-assisted path when needed
+
+## When to use it
+
+Use Infrastructure Sync when:
+
+- you already have real infrastructure files
+- you want deterministic parsing
+- you need an offline-friendly import path
+- you want an editable starting point for architecture review
+
+## Why it is different from AI import
+
+AI import is useful when the model needs to interpret messy or conceptual input. Infrastructure Sync is for cases where the source artifact already contains the structure and you want OpenFlowKit to parse it rather than reinterpret it.
+
+That distinction matters for trust. If the goal is to stay close to the underlying infra source, deterministic parsing is usually the better first move.
+
+## How to use it
+
+1. Open Studio.
+2. Switch to the **Infra** tab.
+3. Select the matching format.
+4. Paste or drop the file contents.
+5. Generate the diagram.
+6. Review the summary.
+7. Apply it to the canvas.
+
+## After import
+
+The result is still an editable OpenFlowKit diagram. After applying it to the canvas, you can:
+
+- annotate it
+- regroup it
+- run layout
+- export it
+- compare it against later snapshots
+- apply lint rules for architecture review
+
+## Best use cases
+
+- cloud topology reviews
+- current-state architecture documentation
+- infra change communication
+- turning operational source files into something easier to discuss visually
+
+## Related pages
+
+- [Import from Structured Data](/import-from-data/)
+- [Architecture Linting](/architecture-lint/)
+- [Diagram Diff & Compare](/diagram-diff/)
diff --git a/docs-site/src/content/docs/introduction.md b/docs-site/src/content/docs/introduction.md
index 3b6bf6d..fe469fc 100644
--- a/docs-site/src/content/docs/introduction.md
+++ b/docs-site/src/content/docs/introduction.md
@@ -1,24 +1,29 @@
---
draft: false
title: Introduction
+description: OpenFlowKit is a local-first diagramming workspace for developers and builders working on technical flows, architecture maps, code-backed diagrams, and AI-assisted editing.
---
-OpenFlowKit is a local-first diagram editor for technical flows, architecture maps, mind maps, journey maps, and code-backed diagram workflows.
+OpenFlowKit is a local-first diagramming workspace for developers and builders. It combines a visual canvas, code-friendly representations, deterministic imports, AI-assisted generation, and share/export workflows in one browser-based tool.
-The current product combines four working modes:
+## What OpenFlowKit is good at
-- A visual canvas for direct editing
-- A command-driven asset and template browser
-- A studio rail for AI, OpenFlow DSL, and Mermaid editing
-- Export and import paths for sharing diagrams outside the app
+OpenFlowKit works best when a diagram needs to evolve instead of staying static:
-## What OpenFlowKit is good at
+- start from a blank canvas, template, AI prompt, code representation, or imported source artifact
+- move quickly from Mermaid, SQL, OpenAPI, infrastructure files, or a builder-oriented starter template
+- refine the result visually instead of treating generation as a one-shot output
+- keep a text representation close to the editor model when needed
+- export or share the same diagram across docs, design, and collaboration workflows
-OpenFlowKit works best when you need a diagram that starts rough and becomes structured over time:
+## Core product surfaces
-- You can begin from a blank canvas, a template, imported JSON, Mermaid text, or an AI prompt.
-- You can keep refining the result visually with node handles, layout tools, properties, and edge controls.
-- You can switch to code when you want a more repeatable or reviewable representation.
+The current product centers on four major surfaces:
+
+- A visual canvas for direct editing
+- A command-driven launcher for search, templates, assets, layout, and design systems
+- A Studio rail for AI, code, imports, infrastructure sync, and linting
+- Export, embed, and share flows for moving work outside the editor
## Diagram families in the app
@@ -39,37 +44,18 @@ You will also see reusable node families for general-purpose flows, architecture
### Local-first by default
-Regular editing state is stored in the browser. You do not need an account to create or edit diagrams.
-
-### Bring your own model access
-
-AI generation uses the provider and model you configure in Settings. API keys stay in local browser storage.
-
-### Visual plus code workflow
-
-The Studio panel lets you work in:
-
-- **FlowPilot** for AI-driven edits
-- **OpenFlow DSL** for OpenFlowKit-native code
-- **Mermaid** for Mermaid-compatible text editing
+Diagram state lives in the browser by default. You choose when to export, share, or join collaboration-style room flows.
-### Export beyond the canvas
+### Multiple input modes
-You can export or copy diagrams as:
+OpenFlowKit does not force a single source of truth. You can work visually, with AI, through OpenFlow DSL, through Mermaid, or from structured imports.
-- PNG
-- JPG
-- JSON document
-- OpenFlow DSL
-- Mermaid
-- PlantUML
-- Figma-friendly SVG payload
+### Editable outputs
-Animated playback export exists in the codebase, but it is currently gated behind a rollout flag and should be treated as optional rather than universally available.
+Generated and imported diagrams come back into the same editable canvas model rather than becoming dead screenshots.
-## What to read next
+## Start here
-- Start with [Quick Start](/quick-start/)
-- Learn the editor model in [Canvas Basics](/canvas-basics/)
-- Review data and syntax in [OpenFlow DSL](/openflow-dsl/)
-- See automation workflows in [AI Generation](/ai-generation/)
+- Read [Quick Start](/quick-start/) for the fastest first-run workflow.
+- Read [Studio Overview](/studio-overview/) for the AI, code, import, and lint flows.
+- Read [Choose an Input Mode](/choose-input-mode/) if you are not sure where to start.
diff --git a/docs-site/src/content/docs/keyboard-shortcuts.md b/docs-site/src/content/docs/keyboard-shortcuts.md
index b4b373b..3958de9 100644
--- a/docs-site/src/content/docs/keyboard-shortcuts.md
+++ b/docs-site/src/content/docs/keyboard-shortcuts.md
@@ -1,6 +1,7 @@
---
draft: false
title: Keyboard Shortcuts
+description: Reference the current keyboard shortcuts for editing, navigation, and diagram authoring in OpenFlowKit.
---
These are the current shortcut groups defined by the app.
@@ -38,45 +39,10 @@ These are the current shortcut groups defined by the app.
| Action | macOS | Windows/Linux |
| --- | --- | --- |
-| Select tool | `V` | `V` |
-| Hand tool | `H` | `H` |
-| Pan canvas | `Space + Drag` | `Space + Drag` |
-| Zoom | `Cmd + +/-` | `Ctrl + +/-` |
+| Open Command Center | `Cmd + K` | `Ctrl + K` |
| Fit view | `Shift + 1` | `Shift + 1` |
-| Nudge node | `Arrow keys` | `Arrow keys` |
-
-## Help and launcher
-
-| Action | macOS | Windows/Linux |
-| --- | --- | --- |
-| Keyboard shortcuts | `?` | `?` |
-| Command Center | `Cmd + K` | `Ctrl + K` |
## Notes
-- The app also opens the shortcut modal with `Cmd/Ctrl + /`
-- Shortcuts are suppressed when you are actively typing in an input, textarea, or editable text field
-| :--- | :--- | :--- |
-| **Command Palette** | \`Cmd + K\` | \`Ctrl + K\` |
-| **Save** | \`Cmd + S\` | \`Ctrl + S\` |
-| **Undo** | \`Cmd + Z\` | \`Ctrl + Z\` |
-| **Redo** | \`Cmd + Shift + Z\` | \`Ctrl + Shift + Z\` |
-
-## Canvas Navigation
-
-| Action | MacOS | Windows/Linux |
-| :--- | :--- | :--- |
-| **Zoom In** | \`+\` | \`+\` |
-| **Zoom Out** | \`-\` | \`-\` |
-| **Fit View** | \`Shift + 1\` | \`Shift + 1\` |
-
-## Editing
-
-| Action | MacOS | Windows/Linux |
-| :--- | :--- | :--- |
-| **Duplicate Node** | \`Cmd + D\` or \`Alt + Drag\` | \`Ctrl + D\` or \`Alt + Drag\` |
-| **Delete Node** | \`Backspace\` | \`Backspace\` |
-| **Select All** | \`Cmd + A\` | \`Ctrl + A\` |
-| **Group Selection** | \`Cmd + G\` | \`Ctrl + G\` |
-
-> **Note:** Shortcuts are active when the canvas has focus.
+- Shortcut availability depends on editor focus and current mode.
+- Use the [Command Center](/command-center/) for many actions that do not need a dedicated shortcut.
diff --git a/docs-site/src/content/docs/local-first-diagramming.md b/docs-site/src/content/docs/local-first-diagramming.md
new file mode 100644
index 0000000..daae3ad
--- /dev/null
+++ b/docs-site/src/content/docs/local-first-diagramming.md
@@ -0,0 +1,55 @@
+---
+draft: false
+title: Local-First Diagramming
+description: Understand what local-first means in OpenFlowKit and how it affects privacy, sharing, and day-to-day diagram work.
+---
+
+Local-first means your diagram work starts in the browser, not on a required hosted backend. In OpenFlowKit, that changes how you think about privacy, portability, and failure modes.
+
+## What local-first means here
+
+In practical terms:
+
+- your diagram state lives in the browser by default
+- refreshes and browser restarts should restore your saved documents instead of resetting to a blank canvas
+- AI usage can follow a BYOK model instead of mandatory platform credits
+- collaboration can fall back to local-only behavior instead of blocking all work
+- export is explicit, so you decide when a diagram leaves the current device
+
+OpenFlowKit now treats the browser database as the durable source of truth for saved document state. The live editor is rebuilt from that local data after reload rather than assuming the in-memory canvas is still available.
+
+## Why it matters
+
+Local-first workflows are useful when:
+
+- you are working with internal architecture diagrams
+- you do not want to depend on account creation for first use
+- you need a browser-native tool that still works well as a solo editor
+- you want control over when artifacts become shared assets
+
+## What stays on the current device
+
+By default, OpenFlowKit keeps these things in browser-local storage on the current device:
+
+- saved diagrams and tabs
+- document-oriented chat history for Flowpilot sessions
+- persistent AI settings when you choose persistent storage
+- local workspace preferences
+
+Session-only secrets can still be kept for just the current browser session when you prefer that behavior.
+
+## What it does not mean
+
+Local-first does not mean isolated forever. OpenFlowKit still supports:
+
+- exports for images, JSON, text formats, and design-tool handoff
+- collaboration rooms and share links
+- embed flows for docs and GitHub-style usage
+
+It means those are explicit actions instead of prerequisites.
+
+## Recommended next reads
+
+- [Introduction](/introduction/)
+- [Collaboration & Sharing](/collaboration-sharing/)
+- [Choose an Export Format](/choose-export-format/)
diff --git a/docs-site/src/content/docs/mermaid-integration.md b/docs-site/src/content/docs/mermaid-integration.md
index fa3632e..e7f4781 100644
--- a/docs-site/src/content/docs/mermaid-integration.md
+++ b/docs-site/src/content/docs/mermaid-integration.md
@@ -1,72 +1,50 @@
---
draft: false
title: Mermaid Integration
+description: Import, edit, validate, and export Mermaid while keeping OpenFlowKit as the visual editing workspace.
---
-OpenFlowKit includes Mermaid import, editing, and export paths, but it should be treated as a compatibility workflow, not the editor's only source of truth.
+OpenFlowKit includes Mermaid import, editing, and export paths, but Mermaid should be treated as a compatibility workflow rather than the editor's only source of truth.
## What Mermaid support is for
Use Mermaid support when:
- you already have Mermaid diagrams in docs or repos
-- you want to keep diagrams close to Markdown workflows
-- you want to move between Mermaid and a visual editor
+- you want a Markdown-friendly text format
+- another system in your workflow expects Mermaid syntax
## Mermaid in Studio
-The Studio code rail has a dedicated **Mermaid** mode. From there you can:
+The Studio code rail has a dedicated Mermaid mode. From there you can:
- view Mermaid generated from the current canvas
- edit Mermaid directly
- apply the parsed graph back into the editor
+- review diagnostics when parsing fails
-When parsing fails, the Studio panel surfaces validation feedback and diagnostics.
+This makes Mermaid useful as a bridge between documentation-centric workflows and a richer visual editor.
## Mermaid export
-The export menu can copy Mermaid text for the current graph to the clipboard.
+The export menu can copy Mermaid text for the current graph to the clipboard. That is especially useful when a diagram needs to live in Markdown or Git-based documentation after you finish editing it visually.
## Fidelity expectations
-Mermaid round-tripping is useful, but not every OpenFlowKit concept maps perfectly. Be careful with:
+Mermaid round-tripping is useful, but not every OpenFlowKit concept maps perfectly. Be especially careful with:
- highly visual hand-tuned layouts
- provider-specific architecture icon presentation
-- some family-specific semantics that are richer in the native graph model
+- family-specific semantics that are richer in the native graph model
If exact recovery matters, export JSON alongside Mermaid.
-## Best workflow
+## Recommended pattern
-For teams already using Mermaid:
+Use Mermaid as the publishing or portability layer, not always the editing master. If you need both portability and fidelity, keep JSON or OpenFlow DSL as the authoritative version and regenerate Mermaid when needed.
-1. import or paste Mermaid
-2. refine visually in OpenFlowKit
-3. export Mermaid again if the downstream system still needs it
-4. keep JSON as the editable master backup
+## Related pages
-1. Click the **"Import"** button in the toolbar.
-2. Select **"Mermaid"**.
-3. Paste your code snippet.
-
-### Supported Diagram Types
-Currently, FlowMind optimizes for:
-* **Flowcharts** (`graph TD`, `graph LR`)
-* **Sequence Diagrams** (Partial support via conversion)
-
-```mermaid
-graph TD
- A[Start] --> B{Is it working?}
- B -- Yes --> C[Great!]
- B -- No --> D[Debug]
-```
-
-## Exporting to Mermaid
-
-You can also export any FlowMind diagram *back* to Mermaid syntax.
-This is perfect for embedding diagrams in GitHub `README.md` files or Notion documents.
-
-1. Open the **Code Panel** (bottom panel).
-2. Switch to the **"Mermaid"** tab.
-3. Copy the generated code.
+- [Mermaid vs OpenFlow](/mermaid-vs-openflow/)
+- [OpenFlow DSL](/openflow-dsl/)
+- [Choose an Export Format](/choose-export-format/)
diff --git a/docs-site/src/content/docs/mermaid-vs-openflow.md b/docs-site/src/content/docs/mermaid-vs-openflow.md
index 575d93b..7a46483 100644
--- a/docs-site/src/content/docs/mermaid-vs-openflow.md
+++ b/docs-site/src/content/docs/mermaid-vs-openflow.md
@@ -1,6 +1,7 @@
---
draft: false
title: Mermaid vs OpenFlow
+description: Decide whether Mermaid or OpenFlow DSL is the better text representation for your OpenFlowKit workflow.
---
Mermaid and OpenFlow DSL solve adjacent but different problems in OpenFlowKit.
@@ -18,16 +19,16 @@ Mermaid and OpenFlow DSL solve adjacent but different problems in OpenFlowKit.
- you want fewer compatibility constraints during editing
- you want a better target for OpenFlowKit-specific AI and Studio workflows
-## Practical difference
+## The real difference
-Mermaid is a broad ecosystem format.
+Mermaid is the better portability format.
-OpenFlow DSL is an editor-native format.
+OpenFlow DSL is the better editor-native format.
That usually means:
-- Mermaid is better for portability
-- OpenFlow DSL is better for fidelity inside this product
+- Mermaid is better for publication and interoperability
+- OpenFlow DSL is better for fidelity inside the product
## Recommended team pattern
@@ -36,47 +37,10 @@ If you need both:
- treat JSON or OpenFlow DSL as the editing master
- publish Mermaid as a downstream representation when required
-This avoids losing detail every time a diagram moves between ecosystems.
+This avoids losing detail every time the diagram moves between ecosystems.
-**Mermaid.js:**
-- Renders SVGs based on predefined themes (default, dark, forest, neutral).
-- Customizing styles requires inline CSS classes, which can clutter your markdown.
+## Related pages
-**OpenFlowKit:**
-- Features a full **White-Label Design System**.
-- You can inject [Theming](/docs/en/theming) tokens dynamically (colors, corner radii, fonts).
-- Nodes automatically adopt glassmorphism, shadows, and modern UI treatments without writing a single line of CSS.
-
-## 2. Interaction and Editing
-
-**Mermaid.js:**
-- Strictly code-in, diagram-out. To move a node, you rewrite the code.
-- Layouts are handled automatically by Dagre, which is great but offers zero manual control if a line routes awkwardly.
-
-**OpenFlowKit:**
-- **Two-Way Sync**: Write code and watch the canvas update, *or* drag a node on the canvas and watch the code update automatically.
-- You get full drag-and-drop capabilities, manual edge routing, and [Smart Layouts](/docs/en/smart-layout) via ELK.js.
-
-## 3. Export Options
-
-**Mermaid.js:**
-- Typically exports as SVG or PNG via a CLI or browser extension.
-
-**OpenFlowKit:**
-- Native [Exporting](/docs/en/exporting) to SVG, high-res PNG/JPG.
-- **Figma Editable**: OpenFlowKit can export diagrams directly to your clipboard in a format that pastes into Figma as native, editable vector layers and text objects.
-
-## 4. Artificial Intelligence
-
-While AI can write Mermaid syntax, iterating on it is difficult.
-
-**OpenFlowKit:**
-- Integrated [Flowpilot AI](/docs/en/ask-flowpilot) directly into the [Command Center](/docs/en/command-center).
-- You can prompt the AI, generate the canvas, and then manually adjust the final 10% visually instead of trying to perfectly craft a prompt to fix a misaligned node.
-- Supports **BYOK (Bring Your Own Key)** for 7 different AI providers.
-
-## Direct Compatibility
-
-We love Mermaid. That is why OpenFlowKit has a native [Mermaid Integration](/docs/en/mermaid-integration). You can paste any existing Mermaid flowchart or state diagram into OpenFlowKit, and it will instantly convert it into editable, styled React Flow nodes.
-
-Try converting your Mermaid diagrams today in the [Editor](/#/canvas).
+- [Mermaid Integration](/mermaid-integration/)
+- [OpenFlow DSL](/openflow-dsl/)
+- [Choose an Export Format](/choose-export-format/)
diff --git a/docs-site/src/content/docs/node-types.md b/docs-site/src/content/docs/node-types.md
index 4bd0d3e..b887d0d 100644
--- a/docs-site/src/content/docs/node-types.md
+++ b/docs-site/src/content/docs/node-types.md
@@ -1,9 +1,10 @@
---
draft: false
title: Node Types
+description: Understand the core node families available in OpenFlowKit and how they map to different diagram workflows.
---
-OpenFlowKit supports both generic and family-specific nodes. The actual node model in the app covers flow, architecture, mind map, journey, class, ER, annotation, grouping, and media use cases.
+OpenFlowKit supports both generic and family-specific nodes. The node model in the app covers flow, architecture, mind map, journey, class, ER, annotation, grouping, and media use cases.
## Core node families
@@ -17,131 +18,44 @@ These are the default building blocks for most workflows:
- `end`
- `custom`
-Typical properties include:
-
-- label and sublabel
-- icon
-- color preset or custom color
-- shape
-- typography
-- dimensions and rotation
+Use them when the diagram is primarily procedural and you do not need a richer family model.
### Mind map nodes
-`mindmap` nodes track extra structure such as:
+Mind map nodes carry extra structure such as:
- depth
- parent id
- left/right side
- branch style
-Keyboard helpers:
-
-- `Tab` adds a child
-- `Enter` adds a sibling
-
-### Journey nodes
-
-`journey` nodes include journey-specific metadata such as:
-
-- actor
-- section
-- task
-- score
-
-These are useful for service blueprints and UX journey maps.
-
-### Architecture nodes
-
-`architecture` and icon-backed `custom` nodes are designed for system diagrams. They can carry:
-
-- provider metadata
-- resource type
-- environment and trust domain fields
-- provider icon pack references
-- architecture boundary relationships
-
-### Structural and content nodes
-
-These support organization and annotation:
-
-- `annotation`
-- `section`
-- `group`
-- `swimlane`
-- `image`
+They are better than plain flow nodes when hierarchy and branch structure matter more than route semantics.
-Use them to explain or frame diagrams rather than only to model system entities.
+### Architecture and asset-backed nodes
-## Shapes
+Architecture-oriented diagrams can use provider-backed icon nodes and related visual grouping structures such as sections and boundaries.
-The node data model supports these shape variants:
+These are useful when the diagram should read like a system topology instead of a generic flowchart.
-- rectangle
-- rounded
-- capsule
-- diamond
-- hexagon
-- cylinder
-- ellipse
-- parallelogram
-- circle
+### Journey and experience nodes
-Not every family exposes every shape in the same way. General flow nodes are the most flexible.
+Journey-oriented nodes help when the diagram represents user or process stages instead of system topology. They are a better fit when actor, stage, and score-like information matter.
-## Wireframe surfaces
+### Media and wireframe nodes
-The asset browser can create browser and mobile wireframe nodes. These are useful when you need UI flow context inside the same canvas as process logic.
+OpenFlowKit also supports image nodes and browser/mobile wireframe-style nodes for product, UX, and annotated architecture workflows.
-## Provider-backed icon nodes
+## How to choose
-The assets panel can load icon catalogs for:
+Choose the node family that matches the semantics of the work, not just the shape you want on the canvas.
-- general icons
-- AWS
-- Azure
-- GCP
-- CNCF
+- Use flow nodes for generic process logic.
+- Use architecture nodes for system and infrastructure modeling.
+- Use mind map nodes for branching ideation.
+- Use journey nodes for experience mapping.
-These are inserted as icon-presented nodes rather than plain boxes, which makes them better suited for infrastructure maps.
-
-## Which node should you use?
-
-Use this rule of thumb:
-
-- choose **process/start/decision/end** for classic workflows
-- choose **mindmap** for branching idea trees
-- choose **journey** for actor and stage-based experiences
-- choose **architecture** or provider icons for cloud/system diagrams
-- choose **annotation**, **text**, and **section** for explanation and grouping
-
-## Related reading
+## Related pages
+- [Diagram Families](/diagram-families/)
- [Properties Panel](/properties-panel/)
-- [AWS Architecture](/aws-architecture/)
-- [Payment Flow](/payment-flow/)
-* **Best for**: Process steps, services, database tables, or general entities.
-* **Features**: Resizable, editable label, support for icons.
-
-## 2. Text Node / Annotation
-
-A lightweight, borderless node used for adding comments or labels to the canvas without affecting the flow structure.
-* **Best for**: Adding sticky notes, section headers, or explanatory text.
-* **Usage**: Select "Text" from the toolbar or press \`T\`.
-
-## 3. Group Node
-
-Container nodes that visually group other nodes together. Moving a group moves all nodes inside it.
-* **Best for**: Visualizing sub-systems, VPCs, or logical boundaries.
-* **Usage**: Select nodes -> Right Click -> "Group Selection".
-
-## 4. Swimlane Node
-
-Vertical or horizontal lanes to organize processes by actor or department.
-* **Best for**: Cross-functional flowcharts.
-
-## 5. Image Node
-
-Embed arbitrary images directly onto the canvas.
-* **Best for**: Adding logos, screenshots, or reference diagrams.
-* **Usage**: Drag and drop an image file directly onto the canvas.
+- [Templates & Starter Flows](/templates-assets/)
diff --git a/docs-site/src/content/docs/openflow-dsl.md b/docs-site/src/content/docs/openflow-dsl.md
index bac0532..e778254 100644
--- a/docs-site/src/content/docs/openflow-dsl.md
+++ b/docs-site/src/content/docs/openflow-dsl.md
@@ -1,6 +1,7 @@
---
draft: false
title: OpenFlow DSL
+description: Use OpenFlow DSL as the editor-native text representation for OpenFlowKit diagrams.
---
OpenFlow DSL is the native text representation used by OpenFlowKit Studio. It is the best option when you want a code-first representation that stays close to the editor's own graph model.
@@ -16,6 +17,8 @@ Use OpenFlow DSL when you want:
The Studio code panel can generate DSL from the current canvas and apply DSL back onto it.
+Use Mermaid instead when ecosystem compatibility matters more than editor-native fidelity. See [Mermaid vs OpenFlow](/mermaid-vs-openflow/).
+
## Basic document structure
Start with a header:
@@ -58,221 +61,27 @@ signup -> verify
verify -> success
```
-You can add labels and other edge-level metadata:
-
-```text
-verify -> success [label: "Verified"]
-verify -> retry [label: "Expired"]
-```
-
-## Typical node attributes
-
-The visual node model supports a broad set of properties. In practice, the most useful attributes to express in DSL are:
-
-- `label`
-- `subLabel`
-- `shape`
-- `color`
-- `icon`
-
-For advanced families, the graph model also carries metadata for mind maps, journey nodes, architecture nodes, class diagrams, and ER diagrams.
-
-## Example
-
-```text
-flow: "Payment Recovery"
-direction: LR
-
-node invoice [label: "Invoice Due", color: blue]
-node charge [label: "Attempt Charge", color: emerald]
-node decision [label: "Charge Successful?", shape: diamond, color: amber]
-node retry [label: "Retry Sequence", color: violet]
-node review [label: "Manual Review", color: slate]
-node success [label: "Subscription Active", shape: capsule, color: emerald]
-
-invoice -> charge
-charge -> decision
-decision -> success [label: "Yes"]
-decision -> retry [label: "Retry"]
-decision -> review [label: "Manual"]
-```
-
-## Editing workflow in Studio
-
-The Studio code panel does three things:
-
-1. generates current DSL from the canvas
-2. previews whether your draft is valid
-3. applies the parsed graph back to the editor
-
-Use **Reset** if the draft diverges too far from the current canvas.
-
-## When to choose OpenFlow DSL over Mermaid
-
-Prefer OpenFlow DSL when:
-
-- the diagram lives mainly inside OpenFlowKit
-- you want fewer Mermaid translation constraints
-- you want a format tailored to the editor's own graph model
-
-Prefer Mermaid when:
-
-- the diagram must also live in Markdown-heavy environments
-- you already have Mermaid sources
-- external tooling expects Mermaid syntax
-
-## Recommended AI instruction
-
-If you want another agent to write OpenFlow DSL for this app, give it these constraints:
-
-```text
-Generate OpenFlow DSL for OpenFlowKit.
-Use explicit node ids.
-Create a clear flow title and direction.
-Prefer process, decision, start, end, and custom nodes unless a more specific family is required.
-Label all meaningful branch edges.
-Keep names concise and production-friendly.
-```
-
-Use ONLY these types:
-
-start
-end
-process
-decision
-system
-note
-section
-container
-
-Guidelines:
+You can also attach labels or other edge-level metadata when the diagram needs explicit branch meaning.
-start → beginning of flow
-end → termination states
-process → actions or steps
-decision → branching logic
-system → external system/service/database
-note → annotations
-section → major grouped area
-container → generic grouping
+## Why teams use it
-----------------------------------------
+OpenFlow DSL is useful when:
-4. NODE ATTRIBUTES (Optional)
+- OpenFlowKit is the primary editing environment
+- you want a reviewable text representation without committing to Mermaid’s constraints
+- you want a format that maps more directly to editor-native concepts
+- you want AI to target a structure that is closer to the actual canvas model
-Attributes use JSON-like syntax:
+## Recommended workflow
-{ color: "red", icon: "database", style: "dashed" }
+Use DSL when you want to control the structure, then switch back to the canvas for final visual tuning. It is especially useful for:
-Rules:
-- Only add attributes if meaningful.
-- Keep styling minimal.
-- Do not invent unsupported properties.
+- architecture drafts
+- system workflows
+- iterative AI-assisted editing where text inspection matters
-----------------------------------------
+## Related pages
-5. EDGES (CONNECTIONS)
-
-Basic syntax:
-id1 -> id2
-
-Edge types:
--> solid
---> curved
-..> dashed
-==> thick
-
-Labeled edges:
-id1 ->|Yes| id2
-
-Edge with attributes:
-id1 -> id2 { label: "Async", style: "dashed" }
-
-Rules:
-- Always connect using IDs, not labels.
-- Decision nodes MUST use labeled edges.
-- Every branch from a decision must be explicit.
-- No floating nodes.
-
-----------------------------------------
-
-6. GROUPS
-
-Use grouping when logical clustering exists.
-
-Syntax:
-
-group "Group Name" {
- node declarations
- internal connections
-}
-
-Rules:
-- Groups should wrap related nodes only.
-- Connections across groups should be declared outside the group block.
-
-----------------------------------------
-
-7. COMMENTS
-
-Use # for comments sparingly.
-Do not over-comment.
-
-----------------------------------------
-
-8. OUTPUT RULES (STRICT)
-
-You MUST:
-
-- Output ONLY valid FlowMind DSL
-- Do NOT explain
-- Do NOT use markdown formatting
-- Do NOT wrap in code blocks
-- Do NOT add commentary
-- Do NOT describe what you are doing
-- Do NOT output anything except the DSL
-
-If user description is vague:
-- Make reasonable assumptions
-- Choose logical structure
-- Keep flow clean and readable
-
-========================================
-LOGIC CONVERSION STRATEGY
-========================================
-
-When converting user input:
-
-1. Identify:
- - Start event
- - End states
- - Actions
- - Decisions
- - External systems
- - Logical clusters
-
-2. Convert:
- - Events → start / end
- - Actions → process
- - Branching → decision
- - Databases/APIs → system
- - Parallel logic → separate branches
- - Error paths → explicit end nodes
-
-3. Ensure:
- - Every path leads to an end
- - No orphan nodes
- - Clean logical readability
-
-========================================
-USER REQUEST
-========================================
-
-Convert the following workflow description into FlowMind DSL V2:
-
-{{USER_WORKFLOW_DESCRIPTION}}
-
-Generate the DSL now.
-```
-
----
+- [Mermaid vs OpenFlow](/mermaid-vs-openflow/)
+- [Studio Overview](/studio-overview/)
+- [Choose an Input Mode](/choose-input-mode/)
diff --git a/docs-site/src/content/docs/payment-flow.md b/docs-site/src/content/docs/payment-flow.md
index 0ab9445..6fcbb5a 100644
--- a/docs-site/src/content/docs/payment-flow.md
+++ b/docs-site/src/content/docs/payment-flow.md
@@ -1,10 +1,13 @@
---
draft: false
title: Payment Flow Visualization
+description: Model subscription, checkout, retry, and exception-heavy payment systems in OpenFlowKit.
---
Payment systems are one of the best use cases for OpenFlowKit because they mix clear business stages with asynchronous branches, retries, and exception handling.
+They are also easy to get wrong if the diagram only shows the happy path. OpenFlowKit is a good fit because it lets you start rough, then keep adding operational detail.
+
## What a useful payment diagram should include
Do not stop at the happy path. Most payment diagrams need:
@@ -17,6 +20,13 @@ Do not stop at the happy path. Most payment diagrams need:
- customer notification path
- final account state
+Depending on the workflow, you may also need:
+
+- fraud or risk review
+- webhook handling
+- customer notifications
+- ledger or billing-state updates
+
## Suggested node pattern
For a typical subscription or checkout diagram:
@@ -26,6 +36,15 @@ For a typical subscription or checkout diagram:
- `decision` for gateway outcomes
- `end` for terminal account states
+## Strong starting options
+
+You can begin from:
+
+- a blank flowchart canvas
+- a payment or SaaS-oriented template
+- an AI prompt in Flowpilot
+- OpenFlow DSL if the flow should be reviewed as text
+
## Example prompt
```text
@@ -35,6 +54,14 @@ smart retries, request updated card, manual fraud review,
customer notification, subscription active, and account downgrade.
```
+## Recommended workflow
+
+1. generate or sketch the happy path
+2. add all failure and retry branches
+3. label edges so business outcomes are explicit
+4. use layout to normalize spacing
+5. export a visual format for stakeholders and JSON for editable retention
+
## Why this works well in OpenFlowKit
- branch labeling is easy on edges
@@ -53,7 +80,7 @@ After drafting:
- **Shareability**: Everyone from the PM to the backend engineer needs to see the same flow.
- **Clarity**: Mapping out happy paths, failures, and webhook retries visually is much easier than reading through Stripe API documentation.
-- **Speed**: Use the [Command Center](/docs/en/command-center) and AI to generate the boilerplate flow in seconds.
+- **Speed**: Use the [Command Center](/command-center/) and AI to generate the boilerplate flow in seconds.
## Example: Stripe Checkout Flow
@@ -93,8 +120,8 @@ sequenceDiagram
## AI Prompt Example
-To generate a similar flow using [Ask Flowpilot](/docs/en/ask-flowpilot):
+To generate a similar flow using [Ask Flowpilot](/ask-flowpilot/):
> `"Generate a flowchart showing a subscription payment flow using Braintree. Include the client requesting a client token, the server generating it, the user submitting a nonce, and the final server-side transaction creation. Show both success and failure branches."`
-Need to present this to your team? Try the [Playback History](/docs/en/playback-history) feature to walk through the payment sequence step-by-step.
+Need to present this to your team? Try the [Playback History](/playback-history/) feature to walk through the payment sequence step-by-step.
diff --git a/docs-site/src/content/docs/playback-history.md b/docs-site/src/content/docs/playback-history.md
index 99654ac..97fd532 100644
--- a/docs-site/src/content/docs/playback-history.md
+++ b/docs-site/src/content/docs/playback-history.md
@@ -1,29 +1,25 @@
---
draft: false
title: Playback & History
+description: Use undo, snapshots, and playback-related state to recover work and review diagram evolution.
---
OpenFlowKit has two related but distinct recovery systems:
- regular undo/redo history
-- snapshot-based history and playback state stored on tabs/documents
+- snapshot-based history and playback state stored on tabs or documents
## Undo and redo
-The editor keeps standard editing history for canvas operations. Use:
+Use:
- `Cmd/Ctrl + Z` to undo
- `Cmd/Ctrl + Shift + Z` to redo
-This is your fastest local recovery path during active editing.
+This is the fastest recovery path during active editing.
## Snapshots
-The history panel exposes:
-
-- manual snapshots you name yourself
-- automatic snapshots queued while you work
-
Use snapshots when you are about to:
- run a major AI rewrite
@@ -31,39 +27,23 @@ Use snapshots when you are about to:
- do a broad text apply from Studio
- restructure a large architecture map
-## Playback model
-
-The data model already supports playback scenes, timeline steps, selected scenes, and default step durations.
-
-In practice this means OpenFlowKit is structured for diagram playback authoring, even though some playback-studio surfaces remain behind rollout flags.
+Snapshots are the safest checkpoint tool before large AI or import-driven edits. They are also the baseline you use for compare workflows later.
-## Animated export status
-
-Animated export code exists for:
-
-- GIF
-- browser-recorded video
-
-However, these options are only shown when `animatedExportV1` is enabled. Do not assume every deployment exposes them.
+## Playback model
-## Recommended workflow
+The data model supports playback scenes, steps, and timed sequences. Animated export options appear in the export menu for playback-oriented outputs such as video and GIF.
-For stable edits:
+## Practical advice
-1. save a manual snapshot
-2. perform your risky change
-3. compare visually
-4. restore if needed
+Treat history and snapshots differently:
-This is safer than relying only on a long undo chain.
+- use undo/redo for quick corrections
+- use snapshots for milestones
-### Version Checkpoints
-Every time you perform a significant action (adding a node, changing a color, auto-layout), a "snapshot" is saved.
-* **Undo/Redo**: Uses this same system to jump back and forth (`Cmd+Z`).
+If the next operation could meaningfully rewrite the graph, create a snapshot first.
-## Playback Mode
+## Related pages
-Press the **Play** button in the History panel to watch a "movie" of your diagram being built from start to finish.
-* **Speed Control**: Adjust playback speed (1x, 2x, 4x).
-* **Scrubbing**: Drag the slider to specific points in time.
-* **Restore**: Found an older version you like better? Click "Restore" to revert the canvas to that state perfectly.
+- [Diagram Diff & Compare](/diagram-diff/)
+- [Exporting](/exporting/)
+- [AI Generation](/ai-generation/)
diff --git a/docs-site/src/content/docs/prompting-agents.md b/docs-site/src/content/docs/prompting-agents.md
index b816d76..76c7c63 100644
--- a/docs-site/src/content/docs/prompting-agents.md
+++ b/docs-site/src/content/docs/prompting-agents.md
@@ -1,6 +1,7 @@
---
draft: false
title: Prompting AI Agents
+description: Write better prompts for coding assistants and AI systems when you want diagram output for OpenFlowKit.
---
If you use Cursor, Copilot, ChatGPT, Claude, or any other coding agent to help author diagrams, the prompt quality matters more than the model brand.
diff --git a/docs-site/src/content/docs/properties-panel.md b/docs-site/src/content/docs/properties-panel.md
index 6faf5d3..0f21df1 100644
--- a/docs-site/src/content/docs/properties-panel.md
+++ b/docs-site/src/content/docs/properties-panel.md
@@ -1,10 +1,20 @@
---
draft: false
title: Properties Panel
+description: Use the right-side inspector to make exact node, edge, bulk-edit, and Studio-related adjustments in OpenFlowKit.
---
The Properties panel is the right-side inspector that appears when you select a node or edge. It is the main place for exact edits after rough structure is already on the canvas.
+## When to use it
+
+Use the Properties panel when:
+
+- the rough structure is correct but the details are not
+- you need exact labels, colors, shapes, or typography
+- you want edge labels and routing adjustments
+- a diagram family exposes settings that are not convenient to edit directly on the graph
+
## What opens in the right rail
The rail changes based on selection state:
@@ -12,7 +22,7 @@ The rail changes based on selection state:
- one node selected: node inspector
- multiple nodes selected: bulk edit
- one edge selected: edge inspector
-- Studio mode active: AI, code, or playback rail instead of properties
+- Studio mode active: AI, code, lint, or other Studio tabs instead of properties
## Node editing
@@ -38,52 +48,8 @@ When an edge is selected, the panel exposes:
- **Label**
- **Route**
-- **Color**
-- **Appearance**
-- **Condition**
-
-If both ends are architecture nodes, you also get an **Architecture** section for connection semantics such as protocol and direction.
-
-## Bulk edit mode
-
-When you multi-select nodes, the panel switches to bulk mode. Use this for operations like:
-
-- applying the same color to a group
-- changing shared typography
-- normalizing labels with prefixes or suffixes
-
-This is faster than editing nodes one by one after template insertion or AI generation.
-
-## Practical workflow
-
-A good editing pattern is:
-
-1. create structure on canvas
-2. select key nodes and assign the right family or icon style
-3. use bulk edit for visual consistency
-4. finish with edge labels and route cleanup
-
-## When not to use the panel
-
-Do not force everything through the inspector.
-
-- For large structural changes, use auto layout
-- For mass insertion, use templates or assets
-- For text-first refactors, use Studio with OpenFlow DSL or Mermaid
-
-### Visual Styling
-Make your diagrams pop with custom styles:
-* **Colors**: Choose from a curated palette of semantic colors (Red for danger, Green for success, etc.).
-* **Icons**: Add an icon to any node to make it instantly recognizable. We support the full Lucide React icon library.
-* **Stroke Style**: Toggle between `Solid` and `Dashed` borders (great for representing tentative or future states).
-
-### Layout & Sizing
-* **Width/Height**: Manually set dimensions for pixel-perfect alignment.
-* **Position**: View and edit exact X/Y coordinates.
-
-## Bulk Editing
+- appearance-related settings where supported
-> [!TIP]
-> You can select multiple nodes (`Shift + Click`) to edit them all at once!
+## Bulk edit
-When multiple nodes are selected, the Properties Panel will apply changes (like color or icon) to **all** selected nodes.
+When multiple nodes are selected, the right rail switches to bulk edit so you can update common styling and shared properties together.
diff --git a/docs-site/src/content/docs/quick-start.md b/docs-site/src/content/docs/quick-start.md
index ea0af52..caeedc1 100644
--- a/docs-site/src/content/docs/quick-start.md
+++ b/docs-site/src/content/docs/quick-start.md
@@ -1,91 +1,75 @@
---
draft: false
title: Quick Start
+description: Create your first OpenFlowKit diagram from builder templates, imports, AI, code, or the canvas.
---
-This walkthrough is the fastest reliable way to get productive in the current app.
+This is the fastest reliable way to get productive if you are building software, documenting systems, or preparing technical diagrams for docs and reviews.
-## 1. Open or create a flow
+## 1. Start from the home screen
-From the home screen you can:
+The first screen is designed to get you to a useful draft in under a couple of minutes. From there you can:
-- create a new flow
+- create a blank flow
- open an existing browser-stored flow
- duplicate a saved flow
- import a JSON diagram document
+- jump directly into templates or Flowpilot
-Each flow opens in its own tab inside the editor.
+Each document opens in its own editor tab.
-## 2. Pick a starting point
+## 2. Pick the strongest input you already have
-You have five realistic entry paths:
+OpenFlowKit works best when you start from the most truthful source available, then refine visually.
-### Blank canvas
+### Template-first
-Use this when you already know the structure and want to sketch directly.
+Use **Browse Templates** when you need a strong developer-oriented starting structure fast. The starter set includes release flows, incident runbooks, cloud diagrams, sequence flows, C4 context, and network-edge layouts.
-### Template
+### Import or code-first
-Open the Command Center with `Cmd/Ctrl + K`, then choose **Start from Template**. Templates cover flowcharts, cloud diagrams, mind maps, journeys, and wireframes.
+Use import or the Studio code flows when you already have a technical source artifact:
-### Assets
+- Mermaid or OpenFlow DSL for editable diagram-as-code
+- SQL or OpenAPI for structured system drafts
+- Terraform or Kubernetes text for deterministic infra parsing
+- JSON/OpenFlow when you are restoring a saved graph exactly
-Open **Assets** from the Command Center to add notes, text, sections, wireframes, images, or provider-backed icons.
+### Prompt-to-diagram
-### AI
-
-Switch the right rail to Studio and open the **AI** tab. Enter a prompt such as:
+Switch the right rail to Studio and open the **Flowpilot** tab. Enter a prompt such as:
```text
Create a SaaS onboarding workflow with signup, email verification,
-workspace setup, billing check, and success/failure branches.
+team invite, workspace creation, billing setup, and first success milestone.
```
-### Code
-
-Open Studio and switch to **OpenFlow DSL** or **Mermaid** if you prefer to start from text.
-
-## 3. Edit on the canvas
-
-Once you have content:
-
-- drag nodes to reposition them
-- click a node or edge to open the Properties panel
-- drag from a handle to create a connection
-- use `Shift + Click` or `Shift + Drag` for multi-select
-- use `Cmd/Ctrl + D` to duplicate
-- use `Delete` or `Backspace` to remove the current selection
-
-## 4. Clean up the structure
+Use this when the shape is still fuzzy and you want a first draft quickly. For technical work, prompt generation is usually strongest after you already know the systems involved.
-For fast organization:
+If AI is not configured yet, use the **Add key** action to open the shared AI settings modal, choose your provider, and decide whether the key should persist on this device or only for the current session.
-1. Open `Cmd/Ctrl + K`
-2. Choose **Auto Layout**
-3. Pick direction, algorithm, and spacing
+### Blank canvas and assets
-The app uses ELK-based layout strategies and passes the active diagram type into layout decisions where relevant.
+Use blank canvas when the structure is already in your head and visual iteration is faster than import. Open **Assets** from the Command Center to add sections, notes, wireframes, provider icons, and reusable building blocks.
-## 5. Save a recovery point
+## 3. Refine the diagram visually
-Open the history panel and create a manual snapshot before major edits. OpenFlowKit also keeps automatic snapshots while you work.
+Once something is on the canvas:
-## 6. Export or share
+- move nodes into rough position
+- use the [Properties Panel](/properties-panel/) for exact edits and architecture metadata
+- run [Smart Layout](/smart-layout/) when the structure is right but spacing is rough
+- use the [Command Center](/command-center/) to search, switch workflows, or insert more assets
-Use the top-right export menu for:
+## 4. Save recovery points
-- PNG
-- JPG
-- JSON
-- OpenFlow DSL
-- Mermaid
-- PlantUML
-- Figma payload copy
+Before a major AI rewrite or import refresh, review the snapshot/history tooling so you can recover quickly if the new result is worse. See [Playback & History](/playback-history/).
-Use the Share control if you want a lightweight collaboration room link.
+## 5. Share or export the result
-## Recommended next steps
+Use the export menu when you are ready to move the diagram into docs, design tools, code review threads, or launch assets.
-- Read [Canvas Basics](/canvas-basics/) for navigation and selection details
-- Read [Properties Panel](/properties-panel/) for editing controls
-- Read [AI Generation](/ai-generation/) if you plan to use FlowPilot or BYOK models
+- See [Choose an Export Format](/choose-export-format/)
+- See [Exporting](/exporting/)
+- See [Collaboration & Sharing](/collaboration-sharing/)
+- Use viewer links and embed snippets when you want the diagram to stay live instead of pasting a screenshot
diff --git a/docs-site/src/content/docs/roadmap.md b/docs-site/src/content/docs/roadmap.md
index e5820a7..2a60199 100644
--- a/docs-site/src/content/docs/roadmap.md
+++ b/docs-site/src/content/docs/roadmap.md
@@ -1,10 +1,17 @@
---
draft: false
title: Roadmap
+description: How to read product direction without confusing roadmap ideas for currently documented functionality.
---
-Roadmap details are being refreshed.
+This docs site focuses on current shipped behavior plus default-enabled product surfaces that are already part of the active experience.
-## Coming Soon
+## What this page is for
-This page will return with an updated roadmap once the current product direction is finalized.
+Use this page as a policy note, not as a promise list.
+
+- Docs pages describe current product behavior.
+- Strategy and roadmap materials may describe future direction separately.
+- If a capability is planned but not currently available in the product path, it should not be documented here as if it already ships.
+
+For broader direction, refer to the project strategy materials in the repository rather than treating the docs site as a roadmap announcement channel.
diff --git a/docs-site/src/content/docs/smart-layout.md b/docs-site/src/content/docs/smart-layout.md
index 10424c3..968a831 100644
--- a/docs-site/src/content/docs/smart-layout.md
+++ b/docs-site/src/content/docs/smart-layout.md
@@ -1,6 +1,7 @@
---
draft: false
title: Smart Layout
+description: Use ELK-based layout to turn rough graphs into cleaner, more readable diagrams in OpenFlowKit.
---
OpenFlowKit uses ELK-based layout strategies to turn rough graphs into readable diagrams quickly.
@@ -36,7 +37,7 @@ Auto layout is especially effective for:
- state-like branching diagrams
- AI-generated drafts
-It is less magical for intentionally hand-composed slides or dense annotated canvases where visual storytelling matters more than graph regularity.
+It is less effective for intentionally hand-composed slides or dense annotated canvases where visual storytelling matters more than graph regularity.
## Practical strategy
@@ -56,17 +57,10 @@ OpenFlow DSL and Mermaid edits are especially effective when combined with layou
- make structural changes in text
- apply them
- run auto layout
-- then finish visual polish in Properties
+- finish visual polish in the properties panel
-### Usage
-1. Click the **Layout** button in the Command Center (or top toolbar).
-2. The engine calculates the optimal position for every node and edge.
-3. The diagram animates smoothly to its new structure.
+## Related pages
-### Features
-* **Hierarchical Layering**: Perfect for flowcharts and organizational trees.
-* **Collision Detection**: Ensures nodes never overlap.
-* **Edge Routing**: Minimizes line crossings for cleaner readability.
-
-> [!TIP]
-> Use Smart Layout after importing a raw Mermaid text or generating a large flow with AI to instantly tidy up the result.
+- [Canvas Basics](/canvas-basics/)
+- [OpenFlow DSL](/openflow-dsl/)
+- [Mermaid Integration](/mermaid-integration/)
diff --git a/docs-site/src/content/docs/studio-overview.md b/docs-site/src/content/docs/studio-overview.md
new file mode 100644
index 0000000..361c77d
--- /dev/null
+++ b/docs-site/src/content/docs/studio-overview.md
@@ -0,0 +1,101 @@
+---
+draft: false
+title: Studio Overview
+description: Understand the OpenFlowKit Studio rail for AI, code, imports, infrastructure sync, and architecture linting.
+---
+
+Studio is the right-side workspace for generation, code-backed editing, imports, infrastructure parsing, and rule-driven validation. Use it when the canvas alone is not the best tool for the job.
+
+Studio matters because OpenFlowKit is not only a drag-and-drop editor. The product is built around moving between visual editing and structured inputs. Studio is where those structured workflows live.
+
+## Studio tabs in the current product path
+
+| Tab | Purpose |
+| --- | --- |
+| **Flowpilot** | AI-assisted generation, revision, and guided import flows |
+| **Code** | OpenFlow DSL and Mermaid editing against the current canvas |
+| **Infra** | Infrastructure Sync for supported infra file inputs |
+| **Lint** | Architecture rules and live violation feedback |
+
+## When to open Studio
+
+Open Studio when you want to:
+
+- draft a diagram from a prompt
+- paste or edit OpenFlow DSL or Mermaid
+- import SQL, OpenAPI, Terraform, or Kubernetes-oriented inputs
+- parse infra files without AI
+- define architecture constraints and review violations
+
+If you are already happy with the diagram structure and only need visual cleanup, stay on the canvas and use the [Properties Panel](/properties-panel/) instead.
+
+## Flowpilot tab
+
+Flowpilot is the AI-first area of Studio. Use it when you want:
+
+- a first draft from plain language
+- a different structural take on an existing concept
+- code-to-architecture generation
+- structured imports that benefit from model interpretation
+
+Good Flowpilot sessions are specific. Name the systems, actors, branches, constraints, and intended audience. If you want output that is easy to refine later, ask for explicit structure instead of purely aesthetic phrasing.
+
+## Code tab
+
+The Code tab is where you switch from visual editing to text representations.
+
+Use it when:
+
+- you want to review or edit [OpenFlow DSL](/openflow-dsl/)
+- you already have Mermaid and want to apply it to the canvas
+- you want to compare an editor-native representation with a portable one
+
+This tab is best when you want repeatability and precision. It is also the right choice when AI is unnecessary and the diagram is easier to reason about as code.
+
+## Infra tab
+
+The Infra tab exists for deterministic infrastructure parsing. It is the best option when you already have:
+
+- Terraform state
+- Kubernetes YAML
+- Docker Compose YAML
+- other supported infra-oriented inputs
+
+Use this tab when you want a trustworthy structural import instead of a model-generated interpretation. The result still comes back as a regular editable OpenFlowKit diagram.
+
+## Lint tab
+
+The Lint tab turns the diagram into something closer to a governed system model. You can define JSON rules and review violations as errors, warnings, or informational findings.
+
+This is useful when a diagram is doing real architecture work instead of just presentation work. It helps answer questions like:
+
+- should this service be allowed to talk to that datastore?
+- did an imported architecture diagram violate an agreed boundary?
+- did a large refactor accidentally break a documented rule?
+
+## How Studio fits into the editor
+
+Studio complements, rather than replaces, the canvas:
+
+- use the canvas for spatial editing
+- use Studio for generation, import, code, and rule workflows
+- switch back to the [Properties Panel](/properties-panel/) when a generated result needs exact tuning
+- use the [Command Center](/command-center/) when you want to jump between workflows quickly
+
+## Recommended workflow
+
+For most serious diagrams, a good sequence is:
+
+1. start with AI, code, template, or import
+2. inspect the result on the canvas
+3. make exact changes in the inspector
+4. save a snapshot before another major Studio operation
+5. export or share once the structure is stable
+
+## Related pages
+
+- [AI Generation](/ai-generation/)
+- [OpenFlow DSL](/openflow-dsl/)
+- [Infrastructure Sync](/infra-sync/)
+- [Architecture Linting](/architecture-lint/)
+- [Choose an Input Mode](/choose-input-mode/)
diff --git a/docs-site/src/content/docs/templates-assets.md b/docs-site/src/content/docs/templates-assets.md
new file mode 100644
index 0000000..dd1494f
--- /dev/null
+++ b/docs-site/src/content/docs/templates-assets.md
@@ -0,0 +1,58 @@
+---
+draft: false
+title: Templates & Starter Flows
+description: Start diagrams faster with developer-oriented templates, architecture assets, and reusable starter packs.
+---
+
+Templates and assets help you skip the empty-canvas problem. In OpenFlowKit they are tuned for developer and builder workflows first: architecture communication, sequence flows, cloud systems, network diagrams, and technical documentation.
+
+## Template starter paths
+
+The template library includes starter graphs for common builder workflows across flowcharts, architecture, cloud diagrams, sequence diagrams, mind maps, journeys, and wireframes.
+
+High-value starter examples include:
+
+- release-train and delivery flows
+- incident escalation runbooks
+- backend request handoff sequence diagrams
+- AWS event-driven architecture starters
+- C4 system context diagrams
+- network-edge and perimeter layouts
+
+Use templates when the structure is more important than the exact wording at the start. The goal is to get you to a diagram worth editing in minutes, not to lock you into a canned output.
+
+## Assets and provider libraries
+
+The assets flow covers:
+
+- generic building blocks such as sections, text, and notes
+- images and wireframe-style surfaces
+- provider-backed architecture icons
+- C4 and network-aware architecture nodes
+
+Assets are better than templates when you already know the overall structure and just need the right pieces to finish it.
+
+## When to use templates vs assets
+
+- Use templates when you want a starting graph with the layout already implied.
+- Use assets when you want to insert individual nodes into an existing diagram.
+- Use provider-backed asset packs when the diagram needs cloud icon fidelity.
+- Use design systems when the problem is styling consistency rather than structure.
+
+## Recommended launch-ready starter set
+
+If you are evaluating the product quickly, start with these first:
+
+1. `CI/CD Release Train`
+2. `API Request Handoff`
+3. `AWS Event-Driven API`
+4. `C4 System Context`
+5. `Network Edge Security`
+
+That set shows the best mix of developer-builder workflows, visual editing, and export/share value.
+
+## Related pages
+
+- [Command Center](/command-center/)
+- [Design Systems & Branding](/design-systems-branding/)
+- [AWS Architecture](/aws-architecture/)
diff --git a/docs-site/src/content/docs/theming.md b/docs-site/src/content/docs/theming.md
new file mode 100644
index 0000000..bb73a63
--- /dev/null
+++ b/docs-site/src/content/docs/theming.md
@@ -0,0 +1,46 @@
+---
+draft: false
+title: Theming
+description: Use design systems in OpenFlowKit to keep diagram styling consistent without manually restyling every canvas.
+---
+
+OpenFlowKit handles theming through reusable design systems rather than ad hoc per-diagram styling.
+
+## What theming means in OpenFlowKit
+
+Theming is not a separate rendering mode. It is the design-system layer that controls how diagrams feel across sessions and teams.
+
+Use it when you want to:
+
+- keep multiple diagrams visually consistent
+- create branded variants for different audiences
+- avoid hand-tuning colors and styling on every new flow
+- move styling definitions between environments
+
+## Recommended workflow
+
+The practical workflow is:
+
+1. Start from a stable default design system.
+2. Duplicate it when you need a branded or audience-specific variant.
+3. Apply the active design system while editing instead of restyling each diagram manually.
+4. Export theme JSON when the styling needs to travel outside the current browser session.
+
+## Where to manage it
+
+Open the Command Center and use the design-system tools to:
+
+- switch the active design system
+- duplicate or edit existing themes
+- import a theme from JSON
+- export the active theme
+
+## Keep the system small
+
+Too many themes usually create drift instead of flexibility. In most cases, one default system and a small number of variants is the maintainable path.
+
+## Related pages
+
+- [Design Systems & Branding](/design-systems-branding/)
+- [Command Center](/command-center/)
+- [Figma Design Import](/figma-design-import/)
diff --git a/docs-site/src/content/docs/tr/ai-generation.md b/docs-site/src/content/docs/tr/ai-generation.md
index ce5fa1d..64871ff 100644
--- a/docs-site/src/content/docs/tr/ai-generation.md
+++ b/docs-site/src/content/docs/tr/ai-generation.md
@@ -1,46 +1,80 @@
---
draft: false
title: AI Generation
+description: Flowpilot, BYOK sağlayıcılar, koddan mimari üretimi ve yapılandırılmış içe aktarma ile diyagram üretin ve geliştirin.
---
+OpenFlowKit, Studio alanı üzerinden yapay zeka destekli diyagram üretimi sunar. Flowpilot özellikle ilk taslak, yapısal revizyon ve kod tabanlı mimari görünümü üretmek için güçlüdür.
+## Üründe AI nerede yer alır?
-FlowMind, doğal dili anlayarak yapısal diyagramlara dönüştürmek için Google'ın **Gemini 2.0 Flash** modelinden yararlanır.
+AI akışları Studio içindeki **Flowpilot** alanında ve Komut Merkezi üzerinden açılan **Open Flowpilot** eyleminde bulunur.
-## Nasıl Çalışır?
+| Mod | Ne yapar |
+| --- | --- |
+| **Flowpilot** | sohbet tabanlı üretim ve revizyon |
+| **From Code** | kaynak koddan mimari diyagram taslağı |
+| **Import** | SQL, Terraform, K8s veya OpenAPI girdilerinden taslak |
-1. **Niyet Analizi**: Yapay zeka, isteminizi analiz ederek *hedefi* (örn. "Giriş Akışı") ve *aktörleri* (Kullanıcı, Sunucu, Veritabanı) anlar.
-2. **Yapısal Üretim**: Düğümleri ve bağlantıları temsil eden geçerli bir FlowMind DSL JSON nesnesi oluşturur.
-3. **Düzen Optimizasyonu**: Motor, oluşturulan grafiğin okunabilir olmasını sağlamak için akıllı düzen algoritmaları uygular.
+Tipik üretim akışı:
-## İstemler İçin En İyi Uygulamalar
+1. istem ve varsa görsel alınır
+2. yapılandırılmış sağlayıcıya gönderilir
+3. yapısal graf temsili geri alınır
+4. düğüm ve kenarlar oluşturulur
+5. düzen uygulanır
+6. mevcut graf değiştirilir veya güncellenir
-En iyi sonuçları elde etmek için **adımlar** ve **çıktı** hakkında spesifik olun.
+## Sağlayıcı modeli
-### ❌ Çok Belirsiz
-> "Bir sistem diyagramı yap."
+Uygulama birden çok BYOK sağlayıcıyı destekler:
-### ✅ İyi
-> "Bir e-ticaret platformu için üst düzey sistem mimarisi oluştur. Web Uygulaması, API Ağ Geçidi, Kullanıcı Servisi, Ürün Servisi ve ortak bir PostgreSQL veritabanı içersin."
+- Gemini
+- OpenAI
+- Claude
+- Groq
+- NVIDIA
+- Cerebras
+- Mistral
+- OpenRouter
+- özel OpenAI-uyumlu uç nokta
-### ✅ Daha İyi (Süreç Akışı)
-> "Kullanıcı şifre sıfırlama süreci için bir akış diyagramı çiz. 'Kullanıcı şifremi unuttum'a tıklar' ile başla, e-postanın var olup olmadığını kontrol et. Evet ise benzersiz token gönder. Hayır ise hata göster. 'Kullanıcı yeni şifresini girer' ile bitir."
+## AI ne zaman doğru araçtır?
-## Yapay Zeka Sonuçlarını Düzenleme
+Şu durumlarda kullanın:
-Yapay zeka üretimi bir başlangıç noktasıdır, son nokta değil. Her zaman şunları yapabilirsiniz:
-* Eksik adımları manuel olarak ekleyin.
-* Netlik için düğümleri yeniden adlandırın.
-* Belirli bölümleri yeniden oluşturun (Yakında).
+- elinizde sadece doğal dil açıklaması varsa
+- hızlı bir ilk taslak istiyorsanız
+- mevcut diyagramı kavramsal olarak yeniden şekillendirmek istiyorsanız
+- kaynak koddan yüksek seviyeli mimari çıkarımı almak istiyorsanız
-## 🔑 Kendi Anahtarını Getir (BYOK)
+Şu durumlarda başka akışlar daha iyidir:
-FlowMind varsayılan olarak sınırlı kotaya sahip paylaşımlı bir API anahtarı kullanır. Yoğun kullanım, gizlilik veya kendi faturalandırmanızı kullanmak için kendi **Gemini API Anahtarınızı** getirebilirsiniz.
+- zaten kesin bir metinsel temsil varsa
+- deterministik altyapı parse’ı istiyorsanız
+- küçük diyagramı elle çizmek daha hızlıysa
-1. **Google AI Studio**'ya gidin ve [API Anahtarı Alın](https://aistudio.google.com/app/apikey).
-2. FlowMind'da **Ayarlar**'ı (Dişli Simgesi) açın veya herhangi bir **Marka Kiti**'ne tıklayın.
-3. **Yapay Zeka** sekmesine gidin.
-4. Anahtarınızı güvenli giriş alanına yapıştırın.
+## Daha iyi sonuç almak için
-> [!NOTE]
-> Anahtarınız tarayıcınızın `localStorage` alanında yerel olarak saklanır ve sunucularımıza hiçbir zaman gönderilmez. Yalnızca Google'a yapılan istemci taraflı API çağrıları için kullanılır.
+İyi istemler genellikle şunları içerir:
+
+- hedef kitle
+- sistemler veya aktörler
+- önemli dallar ve hata yolları
+- istenen yön
+- istenen detay seviyesi
+
+## Önerilen iş akışı
+
+1. Flowpilot ile ilk taslağı üretin
+2. tuval üzerinde yapıyı kontrol edin
+3. [Properties Panel](/tr/properties-panel/) ile ayrıntıları düzeltin
+4. gerekiyorsa [Smart Layout](/tr/smart-layout/) uygulayın
+5. sonraki büyük revizyondan önce snapshot alın
+
+## İlgili sayfalar
+
+- [Ask Flowpilot](/tr/ask-flowpilot/)
+- [Studio Overview](/tr/studio-overview/)
+- [Choose an Input Mode](/tr/choose-input-mode/)
+- [Prompting AI Agents](/tr/prompting-agents/)
diff --git a/docs-site/src/content/docs/tr/architecture-lint.md b/docs-site/src/content/docs/tr/architecture-lint.md
new file mode 100644
index 0000000..5fcc82c
--- /dev/null
+++ b/docs-site/src/content/docs/tr/architecture-lint.md
@@ -0,0 +1,24 @@
+---
+draft: false
+title: Architecture Linting
+description: JSON tabanlı mimari kurallar tanımlayın ve ihlalleri tuval üzerinde gerçek zamanlı görün.
+---
+
+Architecture Linting, kuralları doğrudan diyagram üzerinde uygulamanızı sağlar. Bu, sistem diyagramları için lint mantığına en yakın yüzeydir.
+
+## Nerede bulunur?
+
+Studio içindeki **Lint** sekmesinde.
+
+## Neler yapar?
+
+- JSON kural seti düzenleme
+- kural dosyası parse hatalarını görme
+- error, warning ve info seviyelerinde ihlal listesi görme
+- diyagram üzerinde kural uyumunu hızlıca değerlendirme
+
+## Ne zaman kullanılır?
+
+- mimari sınırları zorlayan ilişkileri tespit etmek için
+- altyapı senkronizasyonundan gelen grafiği doğrulamak için
+- büyük AI revizyonlarından sonra yapısal kalite kontrolü yapmak için
diff --git a/docs-site/src/content/docs/tr/ask-flowpilot.md b/docs-site/src/content/docs/tr/ask-flowpilot.md
index 10bccca..9d50691 100644
--- a/docs-site/src/content/docs/tr/ask-flowpilot.md
+++ b/docs-site/src/content/docs/tr/ask-flowpilot.md
@@ -1,8 +1,50 @@
---
draft: false
title: Ask Flowpilot
+description: Flowpilot’i Studio içindeki sohbet tabanlı yardımcı olarak kullanın; diyagram taslağı üretin, revize edin ve yön değiştirin.
---
-# Flowpilot Asistanına Sor
+Flowpilot, Studio içindeki sohbet tabanlı asistandır. Bir diyagramı doğal dille tarif etmek, mevcut bir taslağı yeniden kurmak veya farklı bir yapısal yaklaşım istemek için en hızlı yoldur.
-Bu sayfa, `DocsPage.tsx` içindeki AI Asistan bileşeni tarafından dinamik olarak değiştirilir. Bu dosya yalnızca Vite dinamik glob içe aktarıcısını ve yönlendirme mantığını karşılamak için mevcuttur.
+## İyi kullanım senaryoları
+
+Flowpilot’i şu durumlarda kullanın:
+
+- metin isteminden ilk taslağı üretmek için
+- mevcut sistemi daha temiz bir yapıya çevirmek için
+- eksik hata yollarını ve dalları eklemek için
+- kod veya yapılandırılmış girdiden ilk diyagram taslağını almak için
+
+## İsteminizde ne olmalı?
+
+İyi istemler genelde şunları içerir:
+
+- hedef kitle
+- sistemler veya aktörler
+- önemli dallar veya kısıtlar
+- tercih edilen yön (`LR`, `TB` gibi)
+- yüksek seviye mi, detaylı operasyon akışı mı istendiği
+
+## Örnek istem
+
+```text
+Şu bileşenleri içeren soldan sağa bir SaaS mimarisi oluştur:
+web istemcisi, API gateway, auth servisi, billing servisi,
+Postgres, Redis cache, background workers ve S3 tabanlı dosya saklama.
+Public ingress, async işler ve hata işleme yollarını göster.
+```
+
+## Üretimden sonra ne yapılmalı?
+
+Flowpilot en güçlü halini taslak üreticisi olarak gösterir, son editör olarak değil. Üretimden sonra:
+
+- yapıyı tuvalde inceleyin
+- [Properties Panel](/tr/properties-panel/) ile etiket ve görsel ayarları düzeltin
+- gerekirse [Smart Layout](/tr/smart-layout/) ile yerleşimi toplayın
+- yeni büyük revizyonlardan önce snapshot alın
+
+## İlgili sayfalar
+
+- [AI Generation](/tr/ai-generation/)
+- [Prompting AI Agents](/tr/prompting-agents/)
+- [Choose an Input Mode](/tr/choose-input-mode/)
diff --git a/docs-site/src/content/docs/tr/aws-architecture.md b/docs-site/src/content/docs/tr/aws-architecture.md
new file mode 100644
index 0000000..afec7e5
--- /dev/null
+++ b/docs-site/src/content/docs/tr/aws-architecture.md
@@ -0,0 +1,30 @@
+---
+draft: false
+title: AWS Architecture Diagram
+description: Şablonlar, ikon destekli varlıklar, AI taslağı, DSL ve dışa aktarma akışlarıyla OpenFlowKit içinde AWS mimari diyagramları oluşturun.
+---
+
+OpenFlowKit, sağlayıcı ikonları, mimari odaklı yerleşim ve AI/kod tabanlı üretim kombinasyonu sayesinde AWS mimari diyagramları için güçlü bir çalışma alanıdır.
+
+## Başlangıç yolları
+
+- AWS şablonları
+- Assets içindeki AWS ikon kataloğu
+- Flowpilot ile mimari istemi
+- OpenFlow DSL ile deterministik ilk taslak
+
+## Önerilen akış
+
+1. ana servisleri yerleştirin
+2. VPC ve subnet sınırlarını ekleyin
+3. trafik ve async akışları bağlayın
+4. [Smart Layout](/tr/smart-layout/) uygulayın
+5. etiket, protokol ve görsel vurguları netleştirin
+6. gerekiyorsa snapshot alın
+7. uygun formatta paylaşın veya dışa aktarın
+
+## İlgili sayfalar
+
+- [Infrastructure Sync](/tr/infra-sync/)
+- [Templates & Starter Flows](/tr/templates-assets/)
+- [Choose an Export Format](/tr/choose-export-format/)
diff --git a/docs-site/src/content/docs/tr/canvas-basics.md b/docs-site/src/content/docs/tr/canvas-basics.md
index 503c267..10b0da8 100644
--- a/docs-site/src/content/docs/tr/canvas-basics.md
+++ b/docs-site/src/content/docs/tr/canvas-basics.md
@@ -1,31 +1,54 @@
---
draft: false
title: Canvas Basics
+description: OpenFlowKit tuvalinde gezinmeyi, seçim yapmayı, düzenlemeyi ve çalışmanızı geri kazanmayı öğrenin.
---
+Tuval, OpenFlowKit’in ana düzenleme yüzeyidir. Doğrudan graf üzerinde çalışmayı ve kesin düzenlemeleri yan panellerle birleştirir.
-FlowMind tuvali sonsuz, etkileşimli bir çalışma alanıdır. Etkin biçimde gezinmek ve kullanmak için aşağıdaki rehberi inceleyin.
+## Tuvali ne zaman kullanmalısınız?
-## Gezinti
+Tuvali şu durumlarda kullanın:
-* **Kaydırma**: Belirli fare eylemi (örn. Boşluk Tuşu + Sürükle veya Orta Tıklama + Sürükle) tuval görünümünü taşır.
-* **Yakınlaştırma**: Fare tekerleğini kullanarak yakınlaştırın ve uzaklaştırın.
-* **Görünüme Sığdır**: Tüm düğümleri görünüme sığdırmak için \`Shift + 1\` tuşlarına basın.
+- diyagramı manuel olarak çizmek istediğinizde
+- yapay zeka, içe aktarma veya koddan gelen bir sonucu iyileştirmek istediğinizde
+- yapıyı metin yerine mekânsal olarak değerlendirmek istediğinizde
+- doğrudan sürükle-bırak düzenleme yapmak istediğinizde
-## Düğüm İşlemleri
+## Gezinme
-### Düğüm Seçme
-* **Tekli Seçim**: Bir düğüme tıklayın.
-* **Çoklu Seçim**: \`Shift\` tuşunu basılı tutarak birden fazla düğüme tıklayın veya etraflarına bir seçim kutusu çizmek için tıklayıp sürükleyin.
+### Kaydırma ve yakınlaştırma
-### Kopyalama
-Bir veya daha fazla düğümü seçin ve kopyalamak için \`Cmd + D\` (Mac) veya \`Ctrl + D\` (Windows) tuşlarına basın.
+- Fare tekerleği ile yakınlaşın veya uzaklaşın
+- `Space + Drag` ile kaydırın
+- `H` el moduna geçer
+- `V` seçim moduna döner
+- `Shift + 1` mevcut grafiği görünüşe sığdırır
+- `Cmd/Ctrl + +/-` yakınlaştırma kontrolü sağlar
-### Silme
-Düğümleri seçin ve \`Backspace\` veya \`Delete\` tuşuna basın.
+### Büyük diyagramlarda gezinme
-## Mini Harita
+- görünüşe sığdırmayı kullanın
+- Komut Merkezi aramasıyla düğümlere atlayın
+- yapı doğruysa otomatik düzeni kullanın
-Sağ alt köşedeki Mini Harita, tüm akışınıza genel bir bakış sunar. Büyük diyagramlarda hızlıca gezinmek için mini haritanın içindeki görünüm kutusunu sürükleyebilirsiniz.
+## Seçim
-[YER TUTUCU: Çağrı açıklamalarıyla Tuval Arayüzü görseli]
+### Tekli seçim
+
+Bir düğüme veya kenara tıklayarak inceleyip düzenleyin.
+
+### Çoklu seçim
+
+- `Shift + Click`
+- `Shift + Drag` ile seçim kutusu
+
+Birden fazla düğüm seçildiğinde sağ panel toplu düzenleme moduna geçer.
+
+## Doğrudan düzenleme ve kesin düzenleme
+
+Tuval, grafiği hareket ettirdiğiniz ve yapılandırdığınız yüzeydir. Kesin değerler ve aileye özgü ayarlar için [Properties Panel](/tr/properties-panel/) kullanın. Şablonlar, arama, düzen ve iş akışı geçişleri için [Command Center](/tr/command-center/) daha doğrudur.
+
+## Geçmiş ve kurtarma
+
+Kısa düzeltmeler için undo/redo, büyük geri dönüşler için snapshot kullanın. Bkz. [Playback & History](/tr/playback-history/).
diff --git a/docs-site/src/content/docs/tr/choose-export-format.md b/docs-site/src/content/docs/tr/choose-export-format.md
new file mode 100644
index 0000000..7884d50
--- /dev/null
+++ b/docs-site/src/content/docs/tr/choose-export-format.md
@@ -0,0 +1,25 @@
+---
+draft: false
+title: Choose an Export Format
+description: Düzenleme, dokümantasyon, ortak çalışma, gömme veya tasarım aracı aktarımı için doğru OpenFlowKit dışa aktarma formatını seçin.
+---
+
+OpenFlowKit hem görsel hem de düzenlenebilir teslim formatlarını destekler. En doğru seçim bir sonraki adıma göre belirlenir.
+
+## Hızlı rehber
+
+| İhtiyaç | En iyi format |
+| --- | --- |
+| düzenlenebilir ana arşiv | JSON |
+| editör-doğal metin | OpenFlow DSL |
+| Markdown veya repo dostu metin | Mermaid |
+| dokümanlar ve sunumlar | PNG, JPG veya SVG |
+| tasarım aracı aktarımı | Figma |
+| kısa oynatma çıktısı | GIF veya video |
+| canlı izleyici veya oda erişimi | Share / Embed |
+
+## Varsayılan öneri
+
+- JSON’u ana düzenlenebilir kaynak olarak tutun
+- ihtiyaç halinde görsel çıktı üretin
+- metin iş akışı gerekiyorsa Mermaid veya DSL kullanın
diff --git a/docs-site/src/content/docs/tr/choose-input-mode.md b/docs-site/src/content/docs/tr/choose-input-mode.md
new file mode 100644
index 0000000..82fdc2a
--- /dev/null
+++ b/docs-site/src/content/docs/tr/choose-input-mode.md
@@ -0,0 +1,22 @@
+---
+draft: false
+title: Choose an Input Mode
+description: Tuval, AI, OpenFlow DSL, Mermaid, yapılandırılmış içe aktarma veya Infrastructure Sync arasında doğru başlangıç modunu seçin.
+---
+
+OpenFlowKit bir diyagramı üretmek için birden fazla yol sunar. Doğru seçim, zaten elinizde ne olduğuna bağlıdır.
+
+## Hızlı eşleştirme
+
+| Elinizde olan | Başlangıç |
+| --- | --- |
+| kaba bir fikir | [AI Generation](/tr/ai-generation/) |
+| manuel çizilecek yapı | [Canvas Basics](/tr/canvas-basics/) |
+| editör-doğal metin kontrolü | [OpenFlow DSL](/tr/openflow-dsl/) |
+| mevcut Mermaid | [Mermaid Integration](/tr/mermaid-integration/) |
+| SQL, OpenAPI, Terraform veya K8s metni | [Import from Structured Data](/tr/import-from-data/) |
+| deterministik parse edilecek altyapı dosyaları | [Infrastructure Sync](/tr/infra-sync/) |
+
+## Temel kural
+
+Elinizdeki en güçlü ve en doğru yapısal girdi ile başlayın. O yoksa daha gevşek bir mod olan AI’ya geçin.
diff --git a/docs-site/src/content/docs/tr/collaboration-sharing.md b/docs-site/src/content/docs/tr/collaboration-sharing.md
new file mode 100644
index 0000000..b6658f0
--- /dev/null
+++ b/docs-site/src/content/docs/tr/collaboration-sharing.md
@@ -0,0 +1,29 @@
+---
+draft: false
+title: Collaboration & Sharing
+description: Oda bağlantıları paylaşın, local-only fallback davranışını anlayın ve OpenFlowKit ortak çalışma akışlarını doğru kullanın.
+---
+
+OpenFlowKit, varsayılan local-first davranışı korurken paylaşım bağlantıları ve ortak çalışma odası akışlarını destekler.
+
+## Paylaşım akışında neler bulunur?
+
+- oda kimliği
+- davet URL’si
+- izleyici sayısı
+- katılımcı rozetleri
+- bağlantı durumu: realtime, connecting veya local-only fallback
+
+## Ne zaman paylaşım, ne zaman dışa aktarma?
+
+Paylaşımı şu durumlarda kullanın:
+
+- diyagram etkileşimli kalacaksa
+- başkaları aynı çalışma oturumuna katılacaksa
+- oda temelli ortak çalışma gerekiyorsa
+
+Dışa aktarmayı şu durumlarda kullanın:
+
+- dosya/artifact gerekiyorsa
+- hedef sunum, doküman veya tasarım aracıysa
+- kalıcı bir teslim dosyası gerekiyorsa
diff --git a/docs-site/src/content/docs/tr/command-center.md b/docs-site/src/content/docs/tr/command-center.md
index f27bcb3..8e1c51b 100644
--- a/docs-site/src/content/docs/tr/command-center.md
+++ b/docs-site/src/content/docs/tr/command-center.md
@@ -1,32 +1,59 @@
---
draft: false
title: Command Center
+description: Arama yapmak, varlık eklemek, şablon başlatmak, Studio’ya geçmek ve düzen/tasarım sistemi işlemlerini çalıştırmak için klavye odaklı başlatıcıyı kullanın.
---
-Komut Merkezi, ekranın alt kısmındaki kayan araç çubuğudur. FlowMind'ın "klavye öncelikli" iş akışının kalbidir.
+Komut Merkezi, editörün klavye öncelikli başlatıcısıdır. Yüzen bir panel olarak açılır ve varlıklar, şablonlar, arama, düzen ve Studio akışları arasında geçiş yapmanın en hızlı yoludur.
> [!NOTE]
-> Komut Merkezini istediğiniz zaman `Cmd + K` (Mac) veya `Ctrl + K` (Windows) tuşlarına basarak açabilirsiniz.
-
-## Özellikler
-
-### 1. Şablonlar
-Sıfırdan başlamayın. Önceden hazırlanmış diyagram kütüphanesine erişin:
-* AWS Mimari Şablonları
-* Kullanıcı Yolculuğu Haritaları
-* Veritabanı Şemaları
-* Organizasyon Şemaları
-
-### 2. Tasarım Sistemi / Görseller
-Diyagramınızı zenginleştirmek için varlık kütüphanesine erişin:
-* **Tel Çerçeveler**: Hızlı taslaklar oluşturmak için düşük kaliteli UI bileşenlerini (Düğmeler, Girişler, Modaller) sürükleyip bırakın.
-* **İkonlar**: Herhangi bir ikonu bağımsız bir düğüm olarak arayın ve ekleyin.
-
-### 3. Yapay Zeka Copilot
-Komut Merkezindeki metin girişi, yapay zeka motorumuza doğrudan bağlantınızdır. Ne oluşturmak istediğinizi yazın ve `Enter` tuşuna basarak anında oluşturun.
-
-### 4. Düzen ve Araçlar
-Yardımcı işlevlere hızlıca erişin:
-* **Otomatik Düzen**: Karmaşıklığı düzenleyin.
-* **Görünümü Sıfırla**: Merkeze geri dönün.
-* **Kodu Biçimlendir**: DSL'nizi düzenleyin.
+> macOS için `Cmd + K`, Windows/Linux için `Ctrl + K` ile açılır.
+
+## Üst seviye komutlar
+
+Sık kullanılan komutlar:
+
+- Open Flowpilot
+- Edit Flow DSL
+- Edit Mermaid Code
+- Assets
+- Search Nodes
+- Auto Layout
+- Start from Template
+- Design Systems
+
+## Görünümler
+
+### Assets
+
+Şunları eklemek için kullanın:
+
+- notlar
+- metin blokları
+- bölümler
+- journey düğümleri
+- zihin haritası düğümleri
+- mimari düğümler
+- yüklenen görseller
+- browser wireframe’leri
+- mobile wireframe’leri
+
+### Templates
+
+Boş tuval yerine kanıtlanmış bir başlangıç iskeleti istediğinizde kullanın.
+
+### Search
+
+Büyük diyagramlarda adlı düğümlere hızlı atlamak için kullanın.
+
+### Design Systems
+
+Tema değiştirmek, çoğaltmak, düzenlemek veya JSON tema dosyalarını içe/dışa aktarmak için kullanın.
+
+## Editördeki yeri
+
+Komut Merkezi, tuval ile Studio arasında en hızlı geçiş yüzeyidir:
+
+- doğrudan düzenleme için tuvali kullanın
+- kesin düzenlemeler için özellik panelini kullanın
+- arama, şablon, varlık, düzen ve iş akışı geçişleri için Komut Merkezi’ni kullanın
diff --git a/docs-site/src/content/docs/tr/design-systems-branding.md b/docs-site/src/content/docs/tr/design-systems-branding.md
new file mode 100644
index 0000000..d4fb8b5
--- /dev/null
+++ b/docs-site/src/content/docs/tr/design-systems-branding.md
@@ -0,0 +1,23 @@
+---
+draft: false
+title: Design Systems & Branding
+description: Tutarlı diyagramlar için OpenFlowKit tasarım sistemlerini yönetin ve tema tanımlarını içe veya dışa aktarın.
+---
+
+OpenFlowKit, diyagramların tek tek elle stillenmesi yerine tekrar kullanılabilir bir görsel sistemle çalışmasını sağlayan tasarım sistemi desteğine sahiptir.
+
+## Desteklenen akışlar
+
+Komut Merkezi üzerinden:
+
+- aktif tasarım sistemini değiştirebilir
+- mevcut temadan yeni tema türetebilir
+- tema çoğaltabilir ve düzenleyebilir
+- JSON içe aktarabilir
+- aktif temayı dışa aktarabilirsiniz
+
+## Ne zaman kullanılmalı?
+
+- birden çok diyagramın tutarlı görünmesi gerektiğinde
+- takımın marka veya ürün standartları olduğunda
+- diyagram stilini tekrar kullanılabilir bir varlık olarak yönetmek istediğinizde
diff --git a/docs-site/src/content/docs/tr/diagram-diff.md b/docs-site/src/content/docs/tr/diagram-diff.md
new file mode 100644
index 0000000..9c01a2b
--- /dev/null
+++ b/docs-site/src/content/docs/tr/diagram-diff.md
@@ -0,0 +1,18 @@
+---
+draft: false
+title: Diagram Diff & Compare
+description: Mevcut diyagramı bir snapshot tabanı ile karşılaştırın ve eklenen, kaldırılan veya değişen öğeleri görün.
+---
+
+Diagram Diff & Compare, mevcut grafiğin kaydedilmiş bir baseline snapshot’a göre nasıl değiştiğini incelemenizi sağlar.
+
+## Neleri gösterir?
+
+- eklenen düğümler ve kenarlar
+- kaldırılan düğümler ve kenarlar
+- değişen düğümler
+- baseline snapshot adı ve zamanı
+
+## Neden yararlıdır?
+
+Büyük değişikliklerden sonra sadece “farklı görünüyor” demek yerine, tam olarak neyin değiştiğini görmek için en doğru akıştır.
diff --git a/docs-site/src/content/docs/tr/diagram-families.md b/docs-site/src/content/docs/tr/diagram-families.md
new file mode 100644
index 0000000..6be19b6
--- /dev/null
+++ b/docs-site/src/content/docs/tr/diagram-families.md
@@ -0,0 +1,29 @@
+---
+draft: false
+title: Diagram Families
+description: Akışlar, mimari haritalar, zihin haritaları, journey diyagramları, sınıf diyagramları ve ER diyagramları için doğru OpenFlowKit ailesini seçin.
+---
+
+OpenFlowKit birden fazla diyagram ailesini destekler; çünkü her problem aynı düğüm ve kenar modeline zorlanmamalıdır.
+
+## Mevcut aileler
+
+| Aile | En uygun kullanım |
+| --- | --- |
+| `flowchart` | Genel süreç ve sistem akışları |
+| `architecture` | Bulut, servis ve platform diyagramları |
+| `mindmap` | Dallanarak düşünme ve hiyerarşik fikirler |
+| `journey` | Kullanıcı veya süreç yolculukları |
+| `stateDiagram` | Durum geçişleri |
+| `classDiagram` | Nesne modelleme ve ilişkiler |
+| `erDiagram` | Tablolar ve ilişkisel yapı |
+| `gitGraph` | Git geçmişi ve branch akışları |
+
+## Nasıl seçilir?
+
+Şekle değil, diyagramın anlamsal ihtiyacına göre seçim yapın.
+
+- süreç odaklıysa `flowchart`
+- sistem topolojisi önemliyse `architecture`
+- hiyerarşi önemliyse `mindmap`
+- aşama ve aktör önemliyse `journey`
diff --git a/docs-site/src/content/docs/tr/exporting.md b/docs-site/src/content/docs/tr/exporting.md
index 6230da5..f1cf91c 100644
--- a/docs-site/src/content/docs/tr/exporting.md
+++ b/docs-site/src/content/docs/tr/exporting.md
@@ -1,51 +1,59 @@
---
draft: false
title: Exporting
+description: Diyagramları OpenFlowKit’ten görsel, oynatma medyası, JSON, kod formatları, tasarım aracı aktarımı veya paylaşım/gömme akışları olarak dışa aktarın.
---
-FlowMind, diyagramlarınızı sunumlarda, belgelerde veya diğer harici araçlarda kullanmanıza yardımcı olmak için geniş bir dışa aktarma seçenekleri yelpazesi sunar.
+Dışa aktarma menüsü editörün sağ üstünde yer alır ve hem indirilen dosyaları hem de panoya kopyalanan formatları kapsar.
-> [!TIP]
-> Tüm dışa aktarma seçeneklerine araç çubuğunun sağ üst köşesindeki **"Dışa Aktar"** düğmesinden ulaşabilirsiniz.
+## İndirilen formatlar
-## Görsel Dışa Aktarma
+### PNG ve JPG
-Slaytlar, belgeler veya Slack'te paylaşmak için idealdir.
+Şunlar için kullanın:
-### PNG (Taşınabilir Ağ Grafikleri)
-Mevcut akışınızın yüksek çözünürlüklü, piksel tabanlı bir görselini dışa aktarır.
-* **En İyi Kullanım**: Slaytlar, Web, Genel Paylaşım.
-* **Ayarlar**: Ayarlarda etkinleştirilmişse varsayılan olarak şeffaflık içerir.
+- dokümanlar
+- slaytlar
+- ticket sistemleri
+- hızlı görsel paylaşım
-### JPEG (Ortak Fotoğrafçılık Uzmanları Grubu)
-Sıkıştırılmış bir görsel dosyası dışa aktarır.
-* **En İyi Kullanım**: E-posta ekleri, dosya boyutunun önemli olduğu durumlar.
-* **Not**: Şeffaflığı desteklemez (arka plan beyaz olacaktır).
+PNG genellikle şeffaflık ve netlik açısından daha iyi varsayılandır. JPG ise beyaz arka planlı hafif paylaşım için uygundur.
-## Veri ve Kod Dışa Aktarma
+### SVG
-FlowMind bir "Kod Olarak Diyagram" aracıdır; bu nedenle diyagram verilerinizi birinci sınıf vatandaş olarak ele alıyoruz.
+Web, dokümantasyon ve ölçeklenebilir tasarım kullanımları için en iyi seçenektir.
-### JSON (FlowMind Yerel Formatı)
-Tüm düğüm konumlarını, stillerini ve verilerini içeren ham `.json` dosyasını indirir.
-* **En İyi Kullanım**: Yedekleme, Sürüm Kontrolü, Diğer FlowMind kullanıcılarıyla düzenlenebilir dosya paylaşımı.
+### JSON
-### FlowMind DSL
-Basitleştirilmiş Alan Spesifik Dil (DSL) temsilini panonuza kopyalar.
-* **En İyi Kullanım**: Diyagram mantığını kod tabanı yorumlarında saklamak veya yapay zeka aracılığıyla benzer akışlar oluşturmak.
+OpenFlowKit’e en yüksek sadakatle geri içe aktarılabilen ana arşiv formatıdır. Şunlar için kullanın:
-### Mermaid.js
-Mevcut diyagramınızı [Mermaid](https://mermaid.js.org/) sözdizimine dönüştürür ve panoya kopyalar.
-* **En İyi Kullanım**: GitHub `README.md` dosyalarına, Notion veya Obsidian'a diyagram gömme.
-* **Desteklenen**: Temel Akış Şemaları, Sekans Diyagramları.
+- yedekleme
+- düzenlenebilir ana kopya saklama
+- tarayıcılar arası aktarım
+- ileri tarihte tekrar düzenlenecek diyagramlar
-### PlantUML
-Diyagramınızın PlantUML temsilini kopyalar.
-* **En İyi Kullanım**: Kurumsal wikiler (Confluence) veya eski dokümantasyon sistemleri.
+### Oynatma videosu ve GIF
-### Figma
-Figma'nın yapıştırma formatıyla uyumlu bir vektör temsilini kopyalar.
-* **En İyi Kullanım**: Yüksek kaliteli parlatma için diyagramları tasarımcılara teslim etme.
+Değişimin zaman içinde anlatılması gereken akışlar için kullanın.
-> [!WARNING]
-> Figma dışa aktarma deneyseldir. Karmaşık özel düğümler %100 mükemmel aktarılmayabilir.
+## Panoya kopyalanan formatlar
+
+- OpenFlow DSL
+- Mermaid
+- PlantUML
+- Figma editable export
+
+Bu formatlar bir sonraki araç metin veya tasarım düzeyinde girdi beklediğinde daha uygundur.
+
+## Paylaşım
+
+Menüdeki **Share / Embed** seçeneği izleyici bağlantısı ve iş birliği odası akışları içindir.
+
+## Önerilen yaklaşım
+
+Çoğu ciddi kullanım için iyi bir desen şudur:
+
+1. JSON’u düzenlenebilir ana kopya olarak saklayın
+2. sunum için görsel format dışa aktarın
+3. metin iş akışı gerekiyorsa Mermaid veya DSL üretin
+4. etkileşim gerekiyorsa paylaşım/gömme akışını kullanın
diff --git a/docs-site/src/content/docs/tr/figma-design-import.md b/docs-site/src/content/docs/tr/figma-design-import.md
new file mode 100644
index 0000000..5d9c7ad
--- /dev/null
+++ b/docs-site/src/content/docs/tr/figma-design-import.md
@@ -0,0 +1,24 @@
+---
+draft: false
+title: Figma Design Import
+description: Figma’dan renk ve metin stillerini alıp bir OpenFlowKit tasarım sistemine uygulayın.
+---
+
+Figma import akışı, tema token’larını elle yeniden kurmak yerine mevcut bir Figma dosyasından stil çekmenizi sağlar.
+
+## Gerekli olanlar
+
+- Figma dosya URL’si
+- kişisel erişim token’ı
+
+## Neler önizlenir?
+
+- renk stilleri
+- metin stilleri
+- ilgili font aileleri
+
+## Ne zaman faydalıdır?
+
+- mevcut marka sistemini diyagramlara taşırken
+- hızla bir tema oluşturmak isterken
+- birden çok diyagram için aynı görsel dili korurken
diff --git a/docs-site/src/content/docs/tr/github-embed.md b/docs-site/src/content/docs/tr/github-embed.md
new file mode 100644
index 0000000..082f4e9
--- /dev/null
+++ b/docs-site/src/content/docs/tr/github-embed.md
@@ -0,0 +1,17 @@
+---
+draft: false
+title: Embed Diagrams in GitHub
+description: OpenFlowKit diyagramları için izleyici bağlantıları üretin ve bunları GitHub odaklı dokümantasyon akışlarında kullanın.
+---
+
+OpenFlowKit diyagramlarını GitHub README veya başka Markdown tabanlı belgelerde etkileşimli, salt okunur görünüm bağlantılarıyla paylaşabilirsiniz.
+
+## Ne zaman faydalıdır?
+
+- ekip dokümantasyonu Markdown içinde yaşıyorsa
+- statik PNG yerine daha zengin bir deneyim istiyorsanız
+- okuyucunun diyagramı editörde açabilmesini istiyorsanız
+
+## Temel fikir
+
+OpenFlow DSL içeriği URL güvenli biçimde kodlanır ve `/view` rotasına aktarılır. Böylece harici servis veya GitHub uygulaması gerekmeden izleyici bağlantısı elde edilir.
diff --git a/docs-site/src/content/docs/tr/import-from-data.md b/docs-site/src/content/docs/tr/import-from-data.md
new file mode 100644
index 0000000..9d73c00
--- /dev/null
+++ b/docs-site/src/content/docs/tr/import-from-data.md
@@ -0,0 +1,19 @@
+---
+draft: false
+title: Import from Structured Data
+description: SQL, OpenAPI, Terraform ve Kubernetes kaynak metnini Studio içinden düzenlenebilir diyagramlara dönüştürün.
+---
+
+Studio içindeki yapılandırılmış içe aktarma akışları, mevcut kaynak metinleri düzenlenebilir diyagramlara dönüştürür.
+
+## Ne zaman kullanılmalı?
+
+- elinizde zaten SQL DDL varsa
+- OpenAPI spesifikasyonundan servis görünümü üretmek istiyorsanız
+- Terraform veya K8s metninden ilk taslağı almak istiyorsanız
+
+## Nasıl çalışır?
+
+Kaynak metni yapıştırın, uygun modu seçin ve diyagramı üretin. Girdi türüne göre OpenFlowKit ya uzmanlaşmış AI destekli akış ya da daha deterministik parse akışı kullanır.
+
+Tamamen deterministik altyapı parse’ı gerektiğinde [Infrastructure Sync](/tr/infra-sync/) kullanın.
diff --git a/docs-site/src/content/docs/tr/infra-sync.md b/docs-site/src/content/docs/tr/infra-sync.md
new file mode 100644
index 0000000..5437089
--- /dev/null
+++ b/docs-site/src/content/docs/tr/infra-sync.md
@@ -0,0 +1,25 @@
+---
+draft: false
+title: Infrastructure Sync (Living Diagrams)
+description: Terraform state, Kubernetes manifestleri ve Docker Compose dosyalarını AI sağlayıcısına ihtiyaç duymadan doğrudan diyagrama dönüştürün.
+---
+
+Infrastructure Sync, gerçek altyapı dosyalarını deterministik şekilde OpenFlowKit diyagramlarına dönüştürür.
+
+## Desteklenen formatlar
+
+- Terraform State (`.tfstate` JSON)
+- Kubernetes YAML
+- Docker Compose YAML
+- gerektiğinde AI destekli yol üzerinden Terraform HCL
+
+## Ne zaman kullanılmalı?
+
+- elinizde gerçek altyapı dosyaları varsa
+- deterministik parse gerekiyorsa
+- çevrimdışı dostu içe aktarma istiyorsanız
+- mimari inceleme için düzenlenebilir başlangıç noktası istiyorsanız
+
+## Sonrasında ne olur?
+
+Oluşturulan sonuç yine normal bir OpenFlowKit diyagramıdır. Uyguladıktan sonra düzen, açıklama, dışa aktarma ve karşılaştırma akışlarına devam edebilirsiniz.
diff --git a/docs-site/src/content/docs/tr/introduction.md b/docs-site/src/content/docs/tr/introduction.md
index 4444ced..d30ed50 100644
--- a/docs-site/src/content/docs/tr/introduction.md
+++ b/docs-site/src/content/docs/tr/introduction.md
@@ -1,39 +1,60 @@
---
draft: false
title: Introduction
+description: OpenFlowKit; teknik akışlar, mimari diyagramlar, kod tabanlı temsil ve yapay zeka destekli düzenleme için local-first bir diyagram çalışma alanıdır.
---
-**OpenFlowKit**, yapay zeka destekli görselleştirme ile hassas, kod tabanlı düzenleme arasındaki boşluğu dolduran yeni nesil bir diyagram aracıdır. Geliştiriciler, mimarlar ve ürün yöneticileri için tasarlanan OpenFlowKit, doğal dil veya özel DSL'imizi kullanarak karmaşık akış şemaları, sıra diyagramları ve sistem mimarileri oluşturmanıza olanak tanır.
+OpenFlowKit, teknik ekipler için tasarlanmış local-first bir diyagram çalışma alanıdır. Görsel tuvali, kod dostu temsilleri, deterministik içe aktarma yollarını, yapay zeka destekli üretimi ve paylaşım/dışa aktarma akışlarını tek bir tarayıcı tabanlı üründe birleştirir.
-## Neden OpenFlowKit?
+## OpenFlowKit nerede güçlüdür?
-Geleneksel diyagram araçları genellikle şu seçenekler arasında tercih yapmaya zorlar:
-1. **Sürükle-bırak araçları**: Başlamak kolay, ancak sürdürmesi ve versiyon kontrolü zor.
-2. **Kod tabanlı araçlar (Mermaid gibi)**: Versiyon kontrolü için harika, ancak sıfırdan yazmak zahmetli olabilir.
+OpenFlowKit özellikle diyagramın zaman içinde evrilmesi gereken durumlarda güçlüdür:
-OpenFlowKit size her iki dünyanın en iyisini sunar. Bir metin istemiyle başlangıç yapısını oluşturabilir, ardından **Hibrit Editörümüzü** kullanarak düzenleyebilirsiniz—düğümleri tuval üzerinde görsel olarak manipüle edebilir *veya* altta yatan kodu doğrudan düzenleyebilirsiniz.
+- boş tuval, şablon, yapay zeka istemi, kod temsili veya mevcut kaynak girdiden başlayabilirsiniz
+- sonucu tek seferlik bir çıktı gibi değil, düzenlenebilir bir çalışma yüzeyi gibi geliştirebilirsiniz
+- gerektiğinde metinsel temsili editör modeline yakın tutabilirsiniz
+- aynı diyagramı dokümantasyon, tasarım ve paylaşım iş akışlarına taşıyabilirsiniz
-## Temel Özellikler
+## Ürünün temel yüzeyleri
-### Yapay Zeka Destekli Üretim
-Sisteminizi basitçe tanımlayın: *"OAuth yedekli ve hata işlemeli bir giriş akışı oluştur."* OpenFlowKit'in Gemini entegrasyonu tüm diyagramı anında oluşturur.
+Mevcut ürün dört ana yüzey etrafında şekillenir:
-### Hibrit Tuval
-Tuvalimiz sadece statik bir görüntü değil. Tamamen etkileşimli bir grafik ortamıdır.
-* **Sürükle & Bırak**: Düğümleri taşıyın, otomatik hizalama.
-* **Akıllı Düzenler**: Elk.js kullanarak tek tıkla yeniden düzenleme.
-* **Özellikler Paneli**: CSS'e dokunmadan belirli düğüm stillerini ince ayarlayın.
+- doğrudan düzenleme için görsel tuval
+- arama, şablon, varlık, düzen ve tasarım sistemleri için komut merkezi
+- yapay zeka, kod, içe aktarma, infra senkronizasyonu ve lint akışları için Studio alanı
+- editör dışına taşımak için dışa aktarma, gömme ve paylaşım akışları
-### Kod Olarak Diyagram
-Her diyagram okunabilir, düzenlenebilir bir JSON yapısı ile desteklenir ve Mermaid.js sözdizimi ile uyumludur. Bu, dokümantasyonunuzun kodunuzla birlikte yaşayabileceği anlamına gelir.
+## Uygulamadaki diyagram aileleri
-### Premium Estetik
-"Önce Tasarım" yaklaşımıyla oluşturulan OpenFlowKit diyagramları varsayılan olarak sunum için hazırdır. Artık çirkin, varsayılan gri kutular yok.
+Editör şu diyagram türlerini birinci sınıf olarak destekler:
-## Sonraki Adımlar
+- `flowchart`
+- `stateDiagram`
+- `classDiagram`
+- `erDiagram`
+- `gitGraph`
+- `mindmap`
+- `journey`
+- `architecture`
-Başlamaya hazır mısınız?
+Buna ek olarak genel amaçlı akış düğümleri, mimari ikon düğümleri, açıklamalar, bölümler, görseller ve wireframe yüzeyleri de bulunur.
-* İlk akışınızı oluşturmak için [Hızlı Başlangıç](/docs/tr/quick-start) kılavuzuna göz atın.
-* [Tuval Temelleri](/docs/tr/canvas-basics) hakkında bilgi edinin.
-* [OpenFlow DSL](/docs/tr/openflow-dsl)'de ustalaşın.
+## Temel kavramlar
+
+### Varsayılan olarak local-first
+
+Diyagram durumu varsayılan olarak tarayıcıda kalır. Ne zaman dışa aktaracağınızı, paylaşacağınızı veya bir ortak çalışma odasına gireceğinizi siz belirlersiniz.
+
+### Birden fazla giriş modu
+
+OpenFlowKit tek bir kaynak doğruluğu modeline sizi zorlamaz. Görsel düzenleme, yapay zeka, OpenFlow DSL, Mermaid veya yapılandırılmış içe aktarma arasında ihtiyaç bazlı geçiş yapabilirsiniz.
+
+### Düzenlenebilir çıktılar
+
+Üretilen veya içe aktarılan diyagramlar ölü ekran görüntülerine dönüşmez; aynı düzenlenebilir tuval modeline geri gelir.
+
+## Buradan başlayın
+
+- En hızlı ilk kullanım akışı için [Quick Start](/tr/quick-start/) sayfasını okuyun.
+- Yapay zeka, kod ve içe aktarma yüzeyleri için [Studio Overview](/tr/studio-overview/) sayfasını açın.
+- Nereden başlamanız gerektiğinden emin değilseniz [Choose an Input Mode](/tr/choose-input-mode/) sayfasına gidin.
diff --git a/docs-site/src/content/docs/tr/keyboard-shortcuts.md b/docs-site/src/content/docs/tr/keyboard-shortcuts.md
index 237357d..942d654 100644
--- a/docs-site/src/content/docs/tr/keyboard-shortcuts.md
+++ b/docs-site/src/content/docs/tr/keyboard-shortcuts.md
@@ -1,35 +1,48 @@
---
draft: false
title: Keyboard Shortcuts
+description: OpenFlowKit’te düzenleme, gezinme ve diyagram üretimi için mevcut klavye kısayolları.
---
+Bu tablolar uygulamadaki temel kısayol gruplarını özetler.
-İş akışınızı hızlandırmak için bu klavye kısayollarıyla FlowMind'ı ustalıkla kullanın.
+## Temel
-## Genel
+| Eylem | macOS | Windows/Linux |
+| --- | --- | --- |
+| Undo | `Cmd + Z` | `Ctrl + Z` |
+| Redo | `Cmd + Shift + Z` | `Ctrl + Shift + Z` |
+| Tümünü seç | `Cmd + A` | `Ctrl + A` |
+| Seçimi sil | `Delete` | `Backspace` |
-| Eylem | MacOS | Windows/Linux |
-| :--- | :--- | :--- |
-| **Komut Paleti** | \`Cmd + K\` | \`Ctrl + K\` |
-| **Kaydet** | \`Cmd + S\` | \`Ctrl + S\` |
-| **Geri Al** | \`Cmd + Z\` | \`Ctrl + Z\` |
-| **Yeniden Yap** | \`Cmd + Shift + Z\` | \`Ctrl + Shift + Z\` |
+## Düzenleme
-## Tuval Gezintisi
+| Eylem | macOS | Windows/Linux |
+| --- | --- | --- |
+| Çoklu seçim | `Shift + Click` | `Shift + Click` |
+| Seçim kutusu | `Shift + Drag` | `Shift + Drag` |
+| Çoğalt | `Cmd + D` | `Ctrl + D` |
+| Sürükleyerek çoğalt | `Opt + Drag` | `Alt + Drag` |
+| Kopyala | `Cmd + C` | `Ctrl + C` |
+| Yapıştır | `Cmd + V` | `Ctrl + V` |
+| Grupla | `Cmd + G` | `Ctrl + G` |
-| Eylem | MacOS | Windows/Linux |
-| :--- | :--- | :--- |
-| **Yakınlaştır** | \`+\` | \`+\` |
-| **Uzaklaştır** | \`-\` | \`-\` |
-| **Görünüme Sığdır** | \`Shift + 1\` | \`Shift + 1\` |
+## Düğüm işlemleri
-## Düzenleme
+| Eylem | macOS | Windows/Linux |
+| --- | --- | --- |
+| Zihin haritasına çocuk ekle | `Tab` | `Tab` |
+| Zihin haritasına kardeş ekle | `Enter` | `Enter` |
+| Seçimi yeniden adlandır | `F2` | `F2` |
+
+## Gezinme
+
+| Eylem | macOS | Windows/Linux |
+| --- | --- | --- |
+| Komut Merkezi | `Cmd + K` | `Ctrl + K` |
+| Görünüşe sığdır | `Shift + 1` | `Shift + 1` |
-| Eylem | MacOS | Windows/Linux |
-| :--- | :--- | :--- |
-| **Düğümü Kopyala** | \`Cmd + D\` veya \`Alt + Sürükle\` | \`Ctrl + D\` veya \`Alt + Sürükle\` |
-| **Düğümü Sil** | \`Backspace\` | \`Backspace\` |
-| **Tümünü Seç** | \`Cmd + A\` | \`Ctrl + A\` |
-| **Seçimi Grupla** | \`Cmd + G\` | \`Ctrl + G\` |
+## Notlar
-> **Not:** Kısayollar yalnızca tuval odakta iken aktiftir.
+- Kısayollar odak durumuna ve aktif moda göre değişebilir.
+- Bazı işlemler için doğrudan kısayol yerine [Command Center](/tr/command-center/) kullanmak daha hızlıdır.
diff --git a/docs-site/src/content/docs/tr/local-first-diagramming.md b/docs-site/src/content/docs/tr/local-first-diagramming.md
new file mode 100644
index 0000000..d575f2f
--- /dev/null
+++ b/docs-site/src/content/docs/tr/local-first-diagramming.md
@@ -0,0 +1,14 @@
+---
+draft: false
+title: Local-First Diagramming
+description: OpenFlowKit’te local-first yaklaşımının günlük çalışma, gizlilik ve paylaşım akışlarına etkisini öğrenin.
+---
+
+Local-first, çalışmanın zorunlu olarak merkezi bir sunucuda başlamaması demektir. OpenFlowKit bağlamında bu; verinin varsayılan olarak tarayıcıda kalması ve paylaşımın bilinçli bir adım olması anlamına gelir.
+
+## Pratik etkileri
+
+- diyagram verisi varsayılan olarak tarayıcıdadır
+- dışa aktarma ve paylaşım kullanıcı kararıyla olur
+- canlı iş birliği mümkün değilse yerel çalışma devam edebilir
+- AI kullanımı BYOK ile daha kontrollü olabilir
diff --git a/docs-site/src/content/docs/tr/mermaid-integration.md b/docs-site/src/content/docs/tr/mermaid-integration.md
index 6f52c65..93681c2 100644
--- a/docs-site/src/content/docs/tr/mermaid-integration.md
+++ b/docs-site/src/content/docs/tr/mermaid-integration.md
@@ -1,35 +1,38 @@
---
draft: false
title: Mermaid Integration
+description: OpenFlowKit’i görsel düzenleme yüzeyi olarak kullanırken Mermaid içe aktarın, düzenleyin, doğrulayın ve dışa aktarın.
---
-FlowMind, kod olarak diyagram için endüstri standardı olan [Mermaid.js](https://mermaid.js.org/) ile yüksek uyumluluk sağlar.
+OpenFlowKit, Mermaid için içe aktarma, düzenleme ve dışa aktarma yolları sunar. Ancak Mermaid’i editörün tek doğruluk kaynağı değil, bir uyumluluk katmanı olarak düşünmek gerekir.
-## Mermaid İçe Aktarma
+## Mermaid ne zaman doğru seçimdir?
-Mevcut Mermaid kodunu doğrudan FlowMind'a yapıştırabilirsiniz.
+Mermaid’i şu durumlarda kullanın:
-1. Araç çubuğundaki **"İçe Aktar"** düğmesine tıklayın.
-2. **"Mermaid"** seçeneğini seçin.
-3. Kod parçacığınızı yapıştırın.
+- diyagramlarınız zaten dokümanlarda veya repo içinde Mermaid olarak yaşıyorsa
+- Markdown dostu metinsel format gerekiyorsa
+- başka bir araç Mermaid bekliyorsa
-### Desteklenen Diyagram Türleri
-FlowMind şu an için aşağıdakileri optimize etmektedir:
-* **Akış Şemaları** (`graph TD`, `graph LR`)
-* **Sekans Diyagramları** (Dönüşüm yoluyla kısmi destek)
+## Studio içinde Mermaid
-```mermaid
-graph TD
- A[Başlat] --> B{Çalışıyor mu?}
- B -- Evet --> C[Harika!]
- B -- Hayır --> D[Hata Ayıkla]
-```
+Studio’nun Code alanında Mermaid modu vardır. Burada:
-## Mermaid'e Dışa Aktarma
+- mevcut tuvalden üretilen Mermaid’i görebilir
+- doğrudan Mermaid düzenleyebilir
+- parse edilen grafiği tekrar editöre uygulayabilir
+- parse hatalarında tanılama görebilirsiniz
-Herhangi bir FlowMind diyagramını Mermaid sözdizimine *geri* aktarabilirsiniz.
-Bu özellik, GitHub `README.md` dosyalarına veya Notion belgelerine diyagram gömmek için idealdir.
+## Sadakat beklentisi
-1. **Kod Paneli**'ni açın (alt panel).
-2. **"Mermaid"** sekmesine geçin.
-3. Oluşturulan kodu kopyalayın.
+Mermaid round-trip faydalıdır, ancak OpenFlowKit’in tüm kavramları birebir eşlenmez. Özellikle şu konularda dikkatli olun:
+
+- elle ince ayarlanmış yerleşimler
+- sağlayıcı ikonlarıyla çalışan mimari sunumlar
+- editörde daha zengin olan aileye özgü semantik alanlar
+
+Tam geri kazanım gerekiyorsa Mermaid ile birlikte JSON da saklayın.
+
+## Önerilen desen
+
+Mermaid’i çoğu zaman yayınlama veya uyumluluk katmanı olarak kullanın. Asıl düzenleme kaynağı olarak JSON veya OpenFlow DSL tutmak genellikle daha güvenlidir.
diff --git a/docs-site/src/content/docs/tr/mermaid-vs-openflow.md b/docs-site/src/content/docs/tr/mermaid-vs-openflow.md
new file mode 100644
index 0000000..e446f0c
--- /dev/null
+++ b/docs-site/src/content/docs/tr/mermaid-vs-openflow.md
@@ -0,0 +1,24 @@
+---
+draft: false
+title: Mermaid vs OpenFlow
+description: Mermaid ile OpenFlow DSL arasında hangi metin temsilinin iş akışınız için daha uygun olduğunu belirleyin.
+---
+
+Mermaid ve OpenFlow DSL benzer görünen ama farklı amaçlara hizmet eden iki metin temsilidir.
+
+## Mermaid ne zaman seçilmeli?
+
+- Markdown ve README iş akışları için
+- dış araçlar Mermaid bekliyorsa
+- taşınabilirlik sadakatten daha önemliyse
+
+## OpenFlow DSL ne zaman seçilmeli?
+
+- OpenFlowKit ana düzenleme ortamıysa
+- editör içi sadakat önemliyse
+- Mermaid kısıtları gereksizse
+
+## Kısa sonuç
+
+- Mermaid taşınabilirlik için daha iyidir
+- OpenFlow DSL editör-doğal sadakat için daha iyidir
diff --git a/docs-site/src/content/docs/tr/node-types.md b/docs-site/src/content/docs/tr/node-types.md
index 7cfd498..ca23eee 100644
--- a/docs-site/src/content/docs/tr/node-types.md
+++ b/docs-site/src/content/docs/tr/node-types.md
@@ -1,36 +1,49 @@
---
draft: false
title: Node Types
+description: OpenFlowKit’teki temel düğüm ailelerini ve bunların hangi diyagram iş akışlarına uyduğunu anlayın.
---
+OpenFlowKit hem genel amaçlı hem de aileye özgü düğümleri destekler. Uygulamadaki düğüm modeli akış, mimari, zihin haritası, journey, sınıf, ER, açıklama, gruplama ve medya senaryolarını kapsar.
-FlowMind, farklı diyagram ihtiyaçlarını karşılamak için çeşitli özel düğüm türlerini destekler.
+## Temel düğüm aileleri
-## 1. Özel Düğüm (Varsayılan)
+### Flow düğümleri
-Diyagramlarınızın temel yapı taşı. Başlık, isteğe bağlı ikon ve zengin bağlantı tutamaçlarını destekler.
-* **En İyi Kullanım**: Süreç adımları, servisler, veritabanı tabloları veya genel varlıklar.
-* **Özellikler**: Yeniden boyutlandırılabilir, düzenlenebilir etiket, ikon desteği.
+En sık kullanılan temel yapı taşları:
-## 2. Metin Düğümü / Açıklama
+- `start`
+- `process`
+- `decision`
+- `end`
+- `custom`
-Akış yapısını etkilemeden tuvale yorum veya etiket eklemek için kullanılan hafif, kenarsız bir düğüm.
-* **En İyi Kullanım**: Yapışkan notlar, bölüm başlıkları veya açıklayıcı metin ekleme.
-* **Kullanım**: Araç çubuğundan "Metin" seçin veya \`T\` tuşuna basın.
+### Mind map düğümleri
-## 3. Grup Düğümü
+Ek yapısal bilgiler taşırlar:
-Diğer düğümleri görsel olarak bir arada tutan kapsayıcı düğümler. Bir grubu taşımak, içindeki tüm düğümleri de taşır.
-* **En İyi Kullanım**: Alt sistemleri, VPC'leri veya mantıksal sınırları görselleştirme.
-* **Kullanım**: Düğümleri seçin → Sağ Tıklayın → "Seçimi Grupla".
+- derinlik
+- ebeveyn
+- sol/sağ taraf
+- dal stili
-## 4. Yüzme Şeridi Düğümü
+### Architecture ve varlık tabanlı düğümler
-Süreçleri aktöre veya departmana göre düzenlemek için dikey veya yatay şeritler.
-* **En İyi Kullanım**: Çok işlevli akış şemaları.
+Mimari diyagramlar sağlayıcı ikonları, sınırlar ve bölümler ile daha güçlü okunabilirlik kazanır.
-## 5. Görsel Düğümü
+### Journey ve deneyim odaklı düğümler
-İsteğe bağlı görselleri doğrudan tuvale yerleştirin.
-* **En İyi Kullanım**: Logo, ekran görüntüsü veya referans diyagramı ekleme.
-* **Kullanım**: Bir görsel dosyasını doğrudan tuvalin üzerine sürükleyip bırakın.
+Aşama, aktör ve skor gibi bilgilerin önemli olduğu süreçler için daha uygundur.
+
+### Medya ve wireframe düğümleri
+
+OpenFlowKit ayrıca görsel düğümleri ile browser/mobile wireframe yüzeylerini destekler.
+
+## Nasıl seçilmeli?
+
+Sadece şekle göre değil, diyagramın semantiğine göre seçim yapın:
+
+- genel süreçler için flow düğümleri
+- sistem topolojisi için architecture düğümleri
+- dallanan fikir yapıları için mind map düğümleri
+- deneyim haritaları için journey düğümleri
diff --git a/docs-site/src/content/docs/tr/openflow-dsl.md b/docs-site/src/content/docs/tr/openflow-dsl.md
index 02a5081..ad75389 100644
--- a/docs-site/src/content/docs/tr/openflow-dsl.md
+++ b/docs-site/src/content/docs/tr/openflow-dsl.md
@@ -1,403 +1,67 @@
---
draft: false
title: OpenFlow DSL
+description: OpenFlowKit diyagramları için editör-doğal metin temsili olan OpenFlow DSL’i kullanın.
---
-# 🧠 FlowMind DSL Sözdizimi Rehberi (V2)
+OpenFlow DSL, OpenFlowKit Studio’da kullanılan yerel metinsel temsildir. Kod tabanlı bir çalışma istiyor ama editör modeline yakın kalmak istiyorsanız en iyi seçenektir.
-FlowMind, diyagramları metin kullanarak tanımlamak için temiz, insan tarafından okunabilir bir DSL kullanır.
-Sürüm 2 şunları sunar:
+## Nerede doğru seçimdir?
-* Açık düğüm kimlikleri
-* Stil özellikleri
-* Gruplar / kapsayıcılar
-* Kenar özelleştirmesi
+OpenFlow DSL’i şu durumlarda tercih edin:
----
-
-# 1️⃣ Belge Başlığı
-
-Her DSL dosyası isteğe bağlı meta verilerle başlayabilir:
-
-```yaml
-flow: "Harika İş Akışım"
-direction: TB
-```
-
-### Alanlar
-
-| Alan | Açıklama |
-| ----------- | -------------------------------------------------------------- |
-| `flow` | Diyagramın başlığı |
-| `direction` | Düzen yönü: `TB` (Yukarıdan Aşağıya) veya `LR` (Soldan Sağa) |
-
----
-
-# 2️⃣ Düğümler
-
-Düğümler diyagram öğelerini tanımlar.
-
-## Temel Sözdizimi
-
-```
-[start] Süreci Başlat
-[process] İsteği İşle
-[end] Süreci Sonlandır
-```
-
----
-
-## Açık Kimliklerle
-
-Özellikle büyük akışlarda netlik için kullanışlıdır.
-
-```
-[start] start: Süreci Başlat
-[process] proc1: İsteği İşle
-[end] end: Süreci Sonlandır
-
-start -> proc1
-proc1 -> end
-```
-
----
-
-## Özelliklerle
-
-Özellikler JSON benzeri sözdizimi kullanır:
-
-```
-[process] p1: Kritik Adım { color: "red", icon: "alert-triangle" }
-[system] db: Veritabanı { icon: "database" }
-```
-
-### Özellik Örnekleri
-
-| Özellik | Amaç |
-| --------- | --------------------- |
-| `color` | Düğüm rengini geçersiz kıl |
-| `icon` | İkon ekle |
-| `style` | Özel stil değiştirici |
-
----
+- okunabilir ve editör-doğal bir sözdizimi istediğinizde
+- düzen öncesi deterministik yapısal değişiklikler yapmak istediğinizde
+- Mermaid’e göre OpenFlowKit’e daha yakın bir temsil gerektiğinde
+- yapay zekanın ham JSON yerine daha iyi hedefleyebileceği bir format istediğinizde
-## Desteklenen Düğüm Türleri
+Studio içindeki Code alanı, mevcut tuvalden DSL üretebilir ve DSL’i tekrar grafiğe uygulayabilir.
-| DSL Türü | Şekil | Varsayılan Renk |
-| ----------- | ----------------- | ------------- |
-| `start` | Kapsül | Zümrüt |
-| `end` | Kapsül | Kırmızı |
-| `process` | Yuvarlak dikdörtgen | Arduvaz |
-| `decision` | Elmas | Amber |
-| `system` | Özel düğüm | Mor |
-| `note` | Yapışkan not | Sarı |
-| `section` | Grup kapsayıcısı | Mavi |
-| `container` | Genel grup | Gri |
+Ekosistem uyumluluğu daha önemliyse Mermaid kullanın. Bkz. [Mermaid vs OpenFlow](/tr/mermaid-vs-openflow/).
-Bir düğüm bağlantıda referans alınır ancak tanımlanmazsa varsayılan olarak `process` kullanılır.
-
----
-
-# 3️⃣ Kenarlar (Bağlantılar)
-
-Bağlantılar düğümler arasındaki akışı tanımlar.
-
-## Temel Bağlantı
-
-```
-Süreci Başlat -> İsteği İşle
-```
-
----
-
-## Kenar Türleri
-
-| Sembol | Anlam |
-| ------ | ----------- |
-| `->` | Düz çizgi |
-| `-->` | Kavisli çizgi |
-| `..>` | Kesik çizgi |
-| `==>` | Kalın çizgi |
-
-Örnek:
-
-```
-A ..> B
-C ==> D
-```
-
----
-
-## Etiketli Bağlantılar
-
-Pipe karakterleri kullanın:
-
-```
-Geçerli mi? ->|Evet| Veriyi Kaydet
-Geçerli mi? ->|Hayır| Hata Döndür
-```
-
----
-
-## Kenar Özellikleri
-
-```
-A -> B { style: "dashed", label: "Async" }
-```
-
----
-
-# 4️⃣ Gruplar
-
-Düğümleri kümelemek için `group` kullanın.
-
-```
-group "Backend Servisleri" {
- [process] api: API Sunucusu
- [system] db: Veritabanı
- api -> db
-}
-```
-
-Gruplar mantıksal alanları görsel olarak ayırmaya yardımcı olur.
-
----
-
-# 5️⃣ Yorumlar
-
-`#` ile başlayan satırlar yoksayılır.
-
-```
-# Bu bir yorumdur
-[start] Başla
-```
-
----
-
-# ✅ Tam Örnek
+## Temel belge yapısı
```yaml
-flow: "Kullanıcı Giriş Akışı"
+flow: "Kullanıcı Kaydı"
direction: TB
-
-# Düğümleri Tanımla
-[start] user: Kullanıcı
-[process] login: Giriş Sayfası { icon: "log-in" }
-
-group "Kimlik Doğrulama" {
- [system] auth: Auth Servisi
- [decision] check: Geçerli mi?
-}
-
-[end] dash: Gösterge Paneli
-[end] err: Hata
-
-# Mantığı Tanımla
-user -> login
-login -> auth
-auth -> check
-
-check ->|Evet| dash { color: "green" }
-check ->|Hayır| err { color: "red", style: "dashed" }
```
----
-
-# 🤖 LLM Ajan İstem Şablonu
+Yaygın yön değerleri:
-Bir LLM ajanı kullanarak FlowMind DSL oluşturmak isteyenler aşağıdaki istemi kullanabilir:
+- `TB`
+- `LR`
+- `RL`
+- `BT`
----
+## Düğümler
-## LLM için Kopyala-Yapıştır İstemi
+Kararlı kimliklere sahip açık düğüm tanımları kullanın:
+```text
+node signup [label: "Kayıt Formu"]
+node verify [label: "E-postayı Doğrula"]
+node success [label: "Çalışma Alanı Hazır", shape: capsule]
```
-Sen uzman bir FlowMind DSL V2 oluşturucususun.
-
-Görevin, kullanıcının iş akışı açıklamasını geçerli FlowMind DSL'ye dönüştürmektir.
-
-Aşağıda tanımlanan FlowMind DSL V2 spesifikasyonunu kesinlikle takip etmelisin.
-
-========================================
-FLOWMIND DSL V2 SPESİFİKASYONU
-========================================
-
-1. BELGE BAŞLIĞI (Zorunlu)
-
-Her çıktı şununla başlamalıdır:
-
-flow: "Başlık Buraya"
-direction: TB veya LR
-
-Kurallar:
-- Her zaman anlamlı bir başlık oluştur.
-- Kullanıcı açıkça yatay düzen belirtmediği sürece TB'yi varsayılan olarak kullan.
-
-----------------------------------------
-
-2. DÜĞÜM TANIMLAMA KURALLARI
-
-Düğüm sözdizimi:
-
-[tür] kimlik: Etiket { isteğe_bağlı_özellikler }
-
-Örnek:
-[process] p1: İsteği İşle
-[decision] d1: Geçerli mi? { icon: "help-circle" }
-
-Kurallar:
-- HER ZAMAN açık kimlikler kullan.
-- Kimlikler kısa, küçük harf ve boşluksuz olmalıdır.
-- Kimlikler benzersiz olmalıdır.
-- Anlamlı isimler kullan (start, login, checkAuth, db, vb.).
-- Etiketleri kimlik olarak KULLANMA.
-- Düğüm tanımlamalarını ATLAMA.
-
-Bir düğüm bağlantıda referans alınıyorsa önce tanımlanmış OLMALIDIR.
-
-----------------------------------------
-
-3. DESTEKLENEN DÜĞÜM TÜRLERİ
-
-YALNIZCA bu türleri kullan:
-start
-end
-process
-decision
-system
-note
-section
-container
+İyi kimlikler:
-Kılavuz:
+- kısa
+- küçük harfli
+- anlamlı
+- düzenlemeler arasında mümkün olduğunca kararlı
-start → akışın başlangıcı
-end → bitiş durumları
-process → eylemler veya adımlar
-decision → dallanma mantığı
-system → harici sistem/servis/veritabanı
-note → açıklamalar
-section → ana gruplu alan
-container → genel gruplama
+## Kenarlar
-----------------------------------------
-
-4. DÜĞÜM ÖZELLİKLERİ (İsteğe Bağlı)
-
-Özellikler JSON benzeri sözdizimi kullanır:
-
-{ color: "red", icon: "database", style: "dashed" }
-
-Kurallar:
-- Özelliği yalnızca anlamlıysa ekle.
-- Stili minimal tut.
-- Desteklenmeyen özellikler uydurma.
-
-----------------------------------------
-
-5. KENARLAR (BAĞLANTILAR)
-
-Temel sözdizimi:
-kimlik1 -> kimlik2
-
-Kenar türleri:
--> düz
---> kavisli
-..> kesik
-==> kalın
-
-Etiketli kenarlar:
-kimlik1 ->|Evet| kimlik2
-
-Özellikli kenar:
-kimlik1 -> kimlik2 { label: "Async", style: "dashed" }
-
-Kurallar:
-- Her zaman etiket değil kimlik kullanarak bağlan.
-- Karar düğümleri etiketli kenarlar KULLANMALIDIR.
-- Karardan gelen her dal açık olmalıdır.
-- Yalnız düğüm bırakma.
-
-----------------------------------------
-
-6. GRUPLAR
-
-Mantıksal kümeleme mevcutsa gruplama kullan.
-
-Sözdizimi:
-
-group "Grup Adı" {
- düğüm tanımlamaları
- iç bağlantılar
-}
-
-Kurallar:
-- Gruplar yalnızca ilgili düğümleri kapsamalıdır.
-- Gruplar arası bağlantılar grup bloğunun dışında tanımlanmalıdır.
-
-----------------------------------------
-
-7. YORUMLAR
-
-Yorumlar için # kullan; aşırıya kaçma.
-Aşırı yorum yapma.
-
-----------------------------------------
-
-8. ÇIKTI KURALLARI (KATI)
-
-ZORUNLU:
-
-- YALNIZCA geçerli FlowMind DSL çıktısı üret
-- Açıklama YAPMA
-- Markdown biçimlendirmesi KULLANMA
-- Kod bloğuna SARMA
-- Yorum EKLEMEema
-- Ne yaptığını AÇIKLAMA
-- DSL dışında hiçbir şey ÇIKARMAK
-
-Kullanıcı açıklaması belirsizse:
-- Makul varsayımlar yap
-- Mantıklı yapı seç
-- Akışı temiz ve okunabilir tut
-
-========================================
-MANTIK DÖNÜŞÜM STRATEJİSİ
-========================================
-
-Kullanıcı girdisini dönüştürürken:
-
-1. Belirle:
- - Başlangıç olayı
- - Bitiş durumları
- - Eylemler
- - Kararlar
- - Harici sistemler
- - Mantıksal kümeler
-
-2. Dönüştür:
- - Olaylar → start / end
- - Eylemler → process
- - Dallanma → decision
- - Veritabanları/API'ler → system
- - Paralel mantık → ayrı dallar
- - Hata yolları → açık end düğümleri
-
-3. Sağla:
- - Her yol bir uca ulaşır
- - Yalnız düğüm yok
- - Temiz mantıksal okunabilirlik
-
-========================================
-KULLANICI İSTEĞİ
-========================================
-
-Aşağıdaki iş akışı açıklamasını FlowMind DSL V2'ye dönüştür:
+```text
+signup -> verify
+verify -> success
+```
-{{KULLANICI_İŞ_AKIŞI_AÇIKLAMASI}}
+Gerekirse etiket ve ek meta veri de ekleyebilirsiniz.
-DSL'yi şimdi oluştur.
-```
+## Neden ekipler bunu kullanır?
----
+- OpenFlowKit ana düzenleme ortamıysa
+- graf kod olarak incelenecekse
+- editör içi sadakat uyumluluktan daha önemliyse
+- yapay zekaya editör-doğal bir hedef sağlamak istiyorsanız
diff --git a/docs-site/src/content/docs/tr/payment-flow.md b/docs-site/src/content/docs/tr/payment-flow.md
new file mode 100644
index 0000000..e6d79a8
--- /dev/null
+++ b/docs-site/src/content/docs/tr/payment-flow.md
@@ -0,0 +1,32 @@
+---
+draft: false
+title: Payment Flow Visualization
+description: Abonelik, checkout, retry ve istisna yolları içeren ödeme sistemlerini OpenFlowKit ile modelleyin.
+---
+
+Ödeme sistemleri, mutlu yolun ötesinde retry, hata işleme, manuel inceleme ve bildirim dalları içerdiği için OpenFlowKit için çok uygun bir kullanım alanıdır.
+
+## İyi bir ödeme diyagramı neleri içermelidir?
+
+- giriş olayı
+- tahsilat veya yetkilendirme denemesi
+- başarı ve başarısızlık dalları
+- retry mantığı
+- manuel inceleme
+- kullanıcı bildirimi
+- son hesap durumu
+
+## Güçlü başlangıç seçenekleri
+
+- boş flowchart tuvali
+- SaaS veya ödeme odaklı şablon
+- Flowpilot istemi
+- OpenFlow DSL ile metin tabanlı taslak
+
+## Önerilen akış
+
+1. önce mutlu yolu üretin veya çizin
+2. tüm hata ve retry dallarını ekleyin
+3. kenar etiketlerini açık hale getirin
+4. düzen ile yerleşimi temizleyin
+5. paydaşlar için görsel, düzenleme için JSON saklayın
diff --git a/docs-site/src/content/docs/tr/playback-history.md b/docs-site/src/content/docs/tr/playback-history.md
index f11cc93..20da6dc 100644
--- a/docs-site/src/content/docs/tr/playback-history.md
+++ b/docs-site/src/content/docs/tr/playback-history.md
@@ -1,22 +1,41 @@
---
draft: false
title: Playback & History
+description: Çalışmanızı geri kazanmak ve diyagram evrimini izlemek için undo, snapshot ve oynatma durumunu kullanın.
---
+OpenFlowKit’te iki farklı ama ilişkili kurtarma sistemi vardır:
-FlowMind, yaptığınız her değişikliği otomatik olarak izler. **Oynatma** özelliği, karar sürecinizi gözden geçirmek için zamanda geriye gitmenizi sağlar.
+- standart undo/redo geçmişi
+- belge veya sekme üzerinde saklanan snapshot tabanlı geçmiş ve playback durumu
-## Geçmiş Zaman Çizelgesi
+## Undo ve redo
-Geçmiş Zaman Çizelgesini açmak için üst gezinme çubuğundaki **Saat İkonuna** tıklayın.
+Kullanın:
-### Sürüm Kontrol Noktaları
-Önemli bir eylem gerçekleştirdiğinizde (düğüm ekleme, renk değiştirme, otomatik düzen) her seferinde bir "anlık görüntü" kaydedilir.
-* **Geri Al/Yeniden Yap**: Aynı sistemi kullanarak ileri geri atlar (`Cmd+Z`).
+- `Cmd/Ctrl + Z` undo
+- `Cmd/Ctrl + Shift + Z` redo
-## Oynatma Modu
+Bu, aktif düzenleme sırasında en hızlı geri dönüş yoludur.
-Diyagramınızın baştan sona inşa edildiğini izlemek için Geçmiş panelindeki **Oynat** düğmesine basın.
-* **Hız Kontrolü**: Oynatma hızını ayarlayın (1x, 2x, 4x).
-* **Kaydırma**: Sürgüyü belirli noktalara sürükleyin.
-* **Geri Yükle**: Daha eski bir sürümü beğendiniz mi? Tuvali o duruma mükemmel biçimde geri döndürmek için "Geri Yükle"ye tıklayın.
+## Snapshot’lar
+
+Şu durumlarda snapshot kullanın:
+
+- büyük bir yapay zeka yeniden yazımı öncesinde
+- diyagram ailesi yönünü değiştirirken
+- Studio’dan geniş kapsamlı metin uygulamadan önce
+- büyük bir mimari haritayı yeniden yapılandırırken
+
+Snapshot’lar, özellikle büyük değişikliklerde gerçek güvenlik ağıdır.
+
+## Playback modeli
+
+Veri modeli playback sahneleri, adımlar ve zamanlı dizileri destekler. Bu nedenle video veya GIF gibi animasyonlu dışa aktarma akışlarıyla birlikte anlamlıdır.
+
+## Pratik öneri
+
+- küçük düzeltmeler için undo/redo kullanın
+- önemli kilometre taşları için snapshot alın
+
+Bir sonraki işlem grafiği ciddi biçimde değiştirecekse önce snapshot oluşturun.
diff --git a/docs-site/src/content/docs/tr/prompting-agents.md b/docs-site/src/content/docs/tr/prompting-agents.md
new file mode 100644
index 0000000..bfa31ac
--- /dev/null
+++ b/docs-site/src/content/docs/tr/prompting-agents.md
@@ -0,0 +1,35 @@
+---
+draft: false
+title: Prompting AI Agents
+description: OpenFlowKit için diyagram çıktısı isterken kodlama yardımcılarına ve AI sistemlerine daha iyi istemler yazın.
+---
+
+Cursor, Copilot, ChatGPT, Claude veya başka bir ajan kullanıyor olmanızdan bağımsız olarak; iyi istem kalitesi, model markasından daha belirleyicidir.
+
+## Ne istemelisiniz?
+
+Çıktı türünü açıkça belirtin:
+
+- OpenFlow DSL
+- Mermaid
+- diyagram planı
+
+“Bir diyagram yap” demek yerine hangi formatı istediğinizi söyleyin.
+
+## Güçlü istem yapısı
+
+Şunları ekleyin:
+
+- diyagramın amacı
+- hedef kitle
+- gerekli sistemler veya aktörler
+- önemli dallar ya da hata yolları
+- tercih edilen yön (`TB`, `LR` gibi)
+- tercih edilen sözdizimi
+
+## İlgili sayfalar
+
+- [AI Generation](/tr/ai-generation/)
+- [Ask Flowpilot](/tr/ask-flowpilot/)
+- [OpenFlow DSL](/tr/openflow-dsl/)
+- [Mermaid Integration](/tr/mermaid-integration/)
diff --git a/docs-site/src/content/docs/tr/properties-panel.md b/docs-site/src/content/docs/tr/properties-panel.md
index 11d3130..ffcf634 100644
--- a/docs-site/src/content/docs/tr/properties-panel.md
+++ b/docs-site/src/content/docs/tr/properties-panel.md
@@ -1,29 +1,49 @@
---
draft: false
title: Properties Panel
+description: OpenFlowKit’te düğüm, kenar, toplu düzenleme ve Studio ile ilişkili ayarlar için sağ taraftaki denetçiyi kullanın.
---
+Properties Panel, bir düğüm veya kenar seçtiğinizde açılan sağ taraf denetçisidir. Kabaca doğru olan yapıyı kesin düzeye taşıyan ana yüzeydir.
-Özellikler Paneli, bireysel düğümleri özelleştirmek için kontrol merkezinizdir. Bir düğüm seçtiğinizde ekranın sağ tarafında görünür.
+## Ne zaman kullanılmalı?
-## Düğüm Özelleştirme
+Şu durumlarda kullanın:
-### Etiket Düzenleme
-Herhangi bir düğümü doğrudan panelden yeniden adlandırabilirsiniz. Etiket, tuval üzerinde gerçek zamanlı olarak güncellenir.
+- yapı doğru ama ayrıntılar yanlışsa
+- etiket, renk, şekil ve tipografi gibi ayarlar kesinleşecekse
+- kenar etiketleri veya rota davranışı ayarlanacaksa
+- aileye özgü alanlar doğrudan tuvalde düzenlemek için uygun değilse
-### Görsel Stil
-Diyagramlarınızı özel stillerle öne çıkarın:
-* **Renkler**: Anlamlı renk paletinden seçim yapın (Tehlike için Kırmızı, Başarı için Yeşil vb.).
-* **İkonlar**: Anında tanınabilir hale getirmek için herhangi bir düğüme ikon ekleyin. Tam Lucide React ikon kütüphanesini destekliyoruz.
-* **Çizgi Stili**: `Düz` ve `Kesik` kenarlıklar arasında geçiş yapın (geçici veya gelecekteki durumları temsil etmek için harikadır).
+## Sağ panelin davranışı
-### Düzen ve Boyutlandırma
-* **Genişlik/Yükseklik**: Piksel mükemmeliyetinde hizalama için boyutları manuel olarak ayarlayın.
-* **Konum**: Tam X/Y koordinatlarını görüntüleyin ve düzenleyin.
+- tek düğüm seçiliyse: düğüm denetçisi
+- birden fazla düğüm seçiliyse: toplu düzenleme
+- tek kenar seçiliyse: kenar denetçisi
+- Studio aktifse: AI, kod, lint veya ilgili Studio görünümü
-## Toplu Düzenleme
+## Düğüm düzenleme
-> [!TIP]
-> Hepsini aynı anda düzenlemek için birden fazla düğümü seçebilirsiniz (`Shift + Tıklama`)!
+Tipik olarak şunlar bulunur:
-Birden fazla düğüm seçildiğinde, Özellikler Paneli değişiklikleri (renk veya ikon gibi) **tüm** seçili düğümlere uygular.
+- içerik
+- şekil
+- renk
+- ikon
+- tipografi
+- görsel ayarları
+- browser/mobile varyant ayarları
+
+## Kenar düzenleme
+
+Kenar seçildiğinde tipik olarak:
+
+- etiket
+- rota
+- görünüm ayarları
+
+alanları düzenlenebilir.
+
+## Toplu düzenleme
+
+Birden fazla düğüm seçildiğinde ortak stil ve paylaşılan alanları tek seferde güncellemek için toplu düzenleme modu açılır.
diff --git a/docs-site/src/content/docs/tr/quick-start.md b/docs-site/src/content/docs/tr/quick-start.md
index 026429b..b1cd48d 100644
--- a/docs-site/src/content/docs/tr/quick-start.md
+++ b/docs-site/src/content/docs/tr/quick-start.md
@@ -1,43 +1,73 @@
---
draft: false
title: Quick Start
+description: İlk OpenFlowKit diyagramınızı tuval, şablonlar, yapay zeka, kod veya yapılandırılmış içe aktarma ile oluşturun.
---
-Bu kılavuz, OpenFlowKit'te 2 dakikadan kısa sürede ilk diyagramınızı oluşturmanıza yardımcı olacaktır.
+Bu sayfa, mevcut üründe hızlıca üretken olmanız için en kısa güvenilir yoldur.
-## 1. Yeni Bir Akış Oluşturun
+## 1. Yeni bir belge açın veya oluşturun
-Kontrol Panelinden **"Yeni Oluştur"** düğmesine tıklayın (veya \`Cmd+N\` tuşuna basın). Temiz bir tuvale yönlendirileceksiniz.
+Ana ekrandan şunları yapabilirsiniz:
-## 2. Yapay Zeka Üretimini Kullanma
+- yeni akış oluşturmak
+- tarayıcıda kayıtlı mevcut bir akışı açmak
+- kayıtlı bir akışı çoğaltmak
+- JSON diyagram belgesi içe aktarmak
-Başlamanın en hızlı yolu bir istemle başlamaktır.
+Her belge editör içinde ayrı bir sekmede açılır.
-1. Ekranın alt kısmındaki komut çubuğunu bulun.
-2. Akışınızın bir açıklamasını yazın.
- * *Örnek:* "E-posta doğrulama ve veritabanı kontrolleri içeren bir kullanıcı kayıt akışı oluştur."
-3. \`Enter\` tuşuna basın.
+## 2. Başlangıç noktanızı seçin
-OpenFlowKit sizin için eksiksiz bir diyagram yapısı oluşturacaktır.
+Elinizde hangi bilgi varsa ona uygun giriş yolunu seçin.
-## 3. Düğümleri Düzenleme
+### Boş tuval
-Oluşturulduktan sonra diyagramı iyileştirebilirsiniz:
+Yapıyı zaten biliyorsanız ve doğrudan çizmek istiyorsanız bunu kullanın.
-* **Taşı**: Herhangi bir düğümü yeniden konumlandırmak için tıklayın ve sürükleyin.
-* **Metni Düzenle**: Etiketini değiştirmek için bir düğüme çift tıklayın.
-* **Bağla**: Bir düğümü başka bir düğüme bağlamak için düğüm kenarındaki tutamaclardan (noktalar) sürükleyin.
+### Şablon
-## 4. Akıllı Düzen Kullanma
+`Cmd/Ctrl + K` ile Komut Merkezi’ni açın ve **Start from Template** seçin. Şablonlar akış diyagramları, bulut mimarileri, zihin haritaları, journey akışları ve wireframe’leri kapsar.
-Diyagramınız karmaşıklaşırsa, üst araç çubuğundaki **"Otomatik Düzen"** düğmesine tıklayın. OpenFlowKit, düğümlerinizi temiz bir hiyerarşi içinde otomatik olarak düzenlemek için ELK düzen motorunu kullanır.
+### Varlıklar
-## 5. Dışa Aktarma
+Komut Merkezi içindeki **Assets** görünümünü kullanarak not, metin, bölüm, wireframe, görsel veya sağlayıcı ikonları ekleyin.
-Akışınızdan memnun kaldığınızda:
+### Yapay zeka
-1. Sağ üstteki **Dışa Aktar** düğmesine tıklayın.
-2. Formatınızı seçin (PNG, SVG veya JSON).
-3. Dosyanızı indirin.
+Sağ panelde Studio’yu açın ve **Flowpilot** sekmesine geçin. Örnek istem:
-[YER TUTUCU: Oluşturma sürecini gösteren GIF]
+```text
+Kayıt, e-posta doğrulama, ekip daveti,
+çalışma alanı oluşturma, ödeme kurulumu
+ve ilk başarı adımını içeren bir SaaS onboarding akışı oluştur.
+```
+
+### Kod
+
+Elinizde Mermaid veya OpenFlow DSL varsa Studio içindeki **Code** sekmesinden doğrudan yapıştırıp uygulayın.
+
+### Yapılandırılmış giriş
+
+Elinizde SQL, OpenAPI, Terraform veya Kubernetes girdisi varsa Studio içe aktarma akışlarını kullanın. Bkz. [Import from Structured Data](/tr/import-from-data/) ve [Infrastructure Sync](/tr/infra-sync/).
+
+## 3. Taslağı iyileştirin
+
+İlk taslak tuvale geldikten sonra:
+
+- düğümleri kabaca konumlandırın
+- kesin düzenlemeler için [Properties Panel](/tr/properties-panel/) kullanın
+- yapı doğru ama yerleşim dağınıksa [Smart Layout](/tr/smart-layout/) çalıştırın
+- arama, ek varlık ve iş akışı geçişleri için [Command Center](/tr/command-center/) kullanın
+
+## 4. Kurtarma noktaları oluşturun
+
+Büyük bir yapay zeka yeniden yazımı veya geniş içe aktarma yenilemesinden önce anlık görüntü geçmişinizi kontrol edin. Bkz. [Playback & History](/tr/playback-history/).
+
+## 5. Paylaşın veya dışa aktarın
+
+Diyagramı dokümantasyon, tasarım veya iş birliği akışına taşımaya hazır olduğunuzda dışa aktarma menüsünü kullanın.
+
+- [Choose an Export Format](/tr/choose-export-format/)
+- [Exporting](/tr/exporting/)
+- [Collaboration & Sharing](/tr/collaboration-sharing/)
diff --git a/docs-site/src/content/docs/tr/roadmap.md b/docs-site/src/content/docs/tr/roadmap.md
index 4045d0f..9f6b06d 100644
--- a/docs-site/src/content/docs/tr/roadmap.md
+++ b/docs-site/src/content/docs/tr/roadmap.md
@@ -1,10 +1,15 @@
---
draft: false
title: Roadmap
+description: Yol haritası fikirleri ile şu anda belgelenen ürün davranışını birbirine karıştırmamak için bu sayfayı referans alın.
---
-Yol haritası ayrıntıları yenileniyor.
+Bu dokümantasyon sitesi, mevcut gönderilmiş davranışı ve ürün yolunda zaten aktif olan yüzeyleri anlatır.
-## Yakında
+## Bu sayfanın amacı
-Bu sayfa, ürün yönü netleştiğinde güncellenmiş yol haritasıyla geri dönecek.
+Bu sayfayı bir vaat listesi olarak değil, içerik politikası notu olarak düşünün.
+
+- Doküman sayfaları mevcut ürün davranışını anlatır.
+- Strateji ve yol haritası belgeleri geleceğe dönük yönü ayrı olarak anlatabilir.
+- Henüz üründe olmayan bir yetenek, dokümantasyonda gönderilmiş gibi anlatılmamalıdır.
diff --git a/docs-site/src/content/docs/tr/smart-layout.md b/docs-site/src/content/docs/tr/smart-layout.md
index 54ed19b..83e0362 100644
--- a/docs-site/src/content/docs/tr/smart-layout.md
+++ b/docs-site/src/content/docs/tr/smart-layout.md
@@ -1,25 +1,43 @@
---
draft: false
title: Smart Layout
+description: ELK tabanlı düzen ile kaba grafikleri daha okunabilir diyagramlara dönüştürün.
---
+OpenFlowKit, kaba grafikleri hızlı biçimde daha okunabilir diyagramlara dönüştürmek için ELK tabanlı düzen stratejileri kullanır.
-FlowMind, **ELK (Eclipse Layout Kernel)** tarafından desteklenen güçlü bir "Akıllı Düzen" motoru içerir.
+## Otomatik düzen ne zaman kullanılmalı?
-## Nasıl Çalışır?
+- şablonun yapısı doğru ama görünümü dağınıksa
+- yapay zeka doğru düğümleri üretip kötü konumlandırdıysa
+- kod veya içe aktarma sonrası normalizasyon gerekiyorsa
+- elle eklenen dallar yüzünden boşluklar bozulduysa
-Karmaşık diyagramları elle çizmek sıkıcıdır. Mantığı düşünmek yerine kutucukları HIZALAMAKLA zaman harcarsınız.
-Akıllı Düzen, düğümleri otomatik olarak düzenlemek için kuvvet yönlü bir algoritma çalıştırarak bu sorunu çözer.
+## Nasıl çalıştırılır?
-### Kullanım
-1. Komut Merkezindeki (veya üst araç çubuğundaki) **Düzen** düğmesine tıklayın.
-2. Motor, her düğüm ve kenar için en uygun konumu hesaplar.
-3. Diyagram, yeni yapısına akıcı biçimde animasyonla geçer.
+Komut Merkezi’ni açın ve **Auto Layout** seçin. Editör yön, algoritma ve boşluk tercihlerini düzen motoruna geçirir.
-### Özellikler
-* **Hiyerarşik Katmanlama**: Akış şemaları ve organizasyon ağaçları için mükemmeldir.
-* **Çakışma Algılama**: Düğümlerin asla üst üste gelmemesini sağlar.
-* **Kenar Yönlendirme**: Daha temiz bir okunabilirlik için çizgi kesişimlerini en aza indirir.
+Yaygın yönler:
-> [!TIP]
-> Ham Mermaid metni içe aktardıktan veya yapay zeka ile büyük bir akış oluşturduktan sonra sonucu anında düzenlemek için Akıllı Düzen'i kullanın.
+- `TB`
+- `LR`
+- `RL`
+- `BT`
+
+## Düzenin güçlü olduğu alanlar
+
+- akış şemaları
+- mimari grafikler
+- dallanan durum diyagramları
+- yapay zeka ile üretilmiş ilk taslaklar
+
+Elle kurgulanmış sunum tarzı diyagramlarda ise her zaman sihirli sonuç vermez.
+
+## Pratik strateji
+
+1. önce doğru düğüm ve kenarları kurun
+2. ardından düzeni çalıştırın
+3. gerekirse bölümlerle gruplayın
+4. son görsel ayarları elle yapın
+
+Yerleşimi düzen çalıştırmadan önce elle mükemmelleştirmeye çalışmak çoğu zaman boşa emektir.
diff --git a/docs-site/src/content/docs/tr/studio-overview.md b/docs-site/src/content/docs/tr/studio-overview.md
new file mode 100644
index 0000000..268ab9a
--- /dev/null
+++ b/docs-site/src/content/docs/tr/studio-overview.md
@@ -0,0 +1,23 @@
+---
+draft: false
+title: Studio Overview
+description: OpenFlowKit Studio yüzeyinde AI, kod, içe aktarma, altyapı çözümleme ve mimari lint akışlarını anlayın.
+---
+
+Studio, görsel tuvalin yanında çalışan yapılandırılmış üretim alanıdır. Tuval tek başına en iyi araç olmadığında Studio’ya geçersiniz.
+
+## Sekmeler
+
+| Sekme | Amaç |
+| --- | --- |
+| **Flowpilot** | AI ile üretim ve revizyon |
+| **Code** | OpenFlow DSL ve Mermaid ile çalışma |
+| **Infra** | Destekli altyapı girdileri için parse akışı |
+| **Lint** | Mimari kural ve ihlal görünümü |
+
+## Ne zaman açılmalı?
+
+- istemden diyagram üretirken
+- kod tabanlı temsillerle çalışırken
+- altyapı veya yapılandırılmış veri içe aktarırken
+- mimari kuralları doğrularken
diff --git a/docs-site/src/content/docs/tr/templates-assets.md b/docs-site/src/content/docs/tr/templates-assets.md
new file mode 100644
index 0000000..b48faee
--- /dev/null
+++ b/docs-site/src/content/docs/tr/templates-assets.md
@@ -0,0 +1,24 @@
+---
+draft: false
+title: Templates & Starter Flows
+description: Yerleşik şablonlar, sağlayıcı ikon varlıkları ve başlangıç paketleriyle diyagramlara daha hızlı başlayın.
+---
+
+Şablonlar ve varlıklar, boş tuval problemini azaltır. Yapı veya görsel sistem için güçlü bir başlangıç istediğinizde bu yüzeyleri kullanın.
+
+## Şablonlar
+
+Başlangıç grafikleri sunar:
+
+- abonelik yükseltme akışları
+- incident escalation akışları
+- release train yapıları
+- bulut mimarisi başlangıçları
+
+## Varlıklar
+
+- genel yapı taşları
+- wireframe yüzeyleri
+- sağlayıcı ikonları
+
+Şablon tüm iskeleti, varlık ise parça düzeyinde eklemeyi çözer.
diff --git a/docs-site/src/content/docs/tr/theming.md b/docs-site/src/content/docs/tr/theming.md
new file mode 100644
index 0000000..2f1e7e2
--- /dev/null
+++ b/docs-site/src/content/docs/tr/theming.md
@@ -0,0 +1,46 @@
+---
+draft: false
+title: Theming
+description: OpenFlowKit içinde tasarım sistemleri kullanarak her diyagramı tek tek stillendirmeden tutarlı bir görsel dil kurun.
+---
+
+OpenFlowKit, tema yönetimini tek tek diyagram stilleri yerine tekrar kullanılabilir tasarım sistemleri üzerinden ele alır.
+
+## OpenFlowKit içinde theming ne anlama gelir?
+
+Theming ayrı bir render modu değildir. Diyagramların oturumlar ve ekipler arasında nasıl göründüğünü belirleyen tasarım sistemi katmanıdır.
+
+Şu durumlarda kullanın:
+
+- birden çok diyagramın tutarlı görünmesi gerektiğinde
+- farklı hedef kitleler için markalı varyantlar oluşturmak istediğinizde
+- her yeni akışta renk ve stil ayarlarını yeniden yapmak istemediğinizde
+- stil tanımlarını ortamlar arasında taşımak gerektiğinde
+
+## Önerilen kullanım şekli
+
+Pratik akış şu şekildedir:
+
+1. Kararlı bir varsayılan tasarım sistemi ile başlayın.
+2. Marka veya kullanım bağlamı değiştiğinde onu çoğaltın.
+3. Diyagramları tek tek yeniden biçimlendirmek yerine aktif tasarım sistemini kullanın.
+4. Stil tanımını tarayıcı oturumu dışına taşımak gerektiğinde tema JSON'unu dışa aktarın.
+
+## Nereden yönetilir?
+
+Komut Merkezi üzerinden tasarım sistemi araçlarıyla şunları yapabilirsiniz:
+
+- aktif tasarım sistemini değiştirme
+- mevcut temaları çoğaltma ve düzenleme
+- JSON içe aktarma
+- aktif temayı dışa aktarma
+
+## Sistemi küçük tutun
+
+Fazla sayıda tema çoğu zaman esneklikten çok tutarsızlık üretir. Çoğu ekip için bir varsayılan sistem ve az sayıda varyant en sürdürülebilir yaklaşımdır.
+
+## İlgili sayfalar
+
+- [Design Systems & Branding](/tr/design-systems-branding/)
+- [Command Center](/tr/command-center/)
+- [Figma Design Import](/tr/figma-design-import/)
diff --git a/docs-site/src/content/docs/tr/v1-beta-launch.md b/docs-site/src/content/docs/tr/v1-beta-launch.md
new file mode 100644
index 0000000..ed03e67
--- /dev/null
+++ b/docs-site/src/content/docs/tr/v1-beta-launch.md
@@ -0,0 +1,37 @@
+---
+draft: false
+title: V1 Beta Launch
+description: OpenFlowKit V1 beta dönüm noktasını ve o sürümün getirdiği ürün yönünü özetleyen tarihsel sürüm notu.
+---
+
+Bu sayfa, V1 beta sürümünü güncel özellik taahhüdü olarak değil, ürün tarihinin bir notu olarak korur.
+
+## V1 beta neyi temsil ediyordu?
+
+V1 beta, OpenFlowKit'in basit bir akış şeması aracından daha geniş bir local-first diyagram çalışma alanına dönüştüğü dönüm noktasıydı.
+
+Bu sürümle birlikte ürün yönü netleşti:
+
+- genel whiteboard yerine teknik diyagramlama odağı
+- varsayılan yaklaşım olarak local-first düzenleme
+- görsel tuvale ek olarak kod ve içe aktarma temelli çalışma akışları
+- ölü çıktı yerine düzenlenebilir başlangıç noktası olarak yapay zeka üretimi
+
+## Bu sürüm notu neden korunuyor?
+
+Tarihsel sürüm notları şu konular için değerlidir:
+
+- ürün konumlandırmasının nasıl evrildiğini görmek
+- o dönemde hangi yeteneklerin temel kabul edildiğini anlamak
+- sonraki mimari ve iş akışı kararlarının neden alındığını takip etmek
+
+## Bunu tarih olarak okuyun, güncel yol haritası olarak değil
+
+O dönem öne çıkan bazı maddeler zamanla şekil değiştirdi, olgunlaştı veya daha güncel uygulamalarla yer değiştirdi. Güncel davranış için bu sayfayı değil, mevcut ürün dokümantasyonunu referans alın.
+
+## Güncel referanslar
+
+- [Introduction](/tr/introduction/)
+- [Quick Start](/tr/quick-start/)
+- [Studio Overview](/tr/studio-overview/)
+- [Roadmap](/tr/roadmap/)
diff --git a/docs-site/src/content/docs/v1-beta-launch.md b/docs-site/src/content/docs/v1-beta-launch.md
new file mode 100644
index 0000000..ca10076
--- /dev/null
+++ b/docs-site/src/content/docs/v1-beta-launch.md
@@ -0,0 +1,37 @@
+---
+draft: false
+title: V1 Beta Launch
+description: Historical release note for the OpenFlowKit V1 beta milestone and the product direction it introduced.
+---
+
+This page records the original V1 beta milestone as a product-history note rather than a current feature promise.
+
+## What the V1 beta represented
+
+The V1 beta marked the point where OpenFlowKit stopped being treated as a basic flowchart tool and became a broader local-first diagramming workspace.
+
+That milestone brought the product direction into focus:
+
+- technical diagramming instead of generic whiteboarding
+- local-first editing as a default posture
+- code-backed and import-backed workflows alongside the visual canvas
+- AI-assisted generation as an editable starting point rather than a dead output
+
+## Why keep this release note
+
+Historical release notes are useful when you want to understand:
+
+- how the product positioning evolved
+- which capabilities were considered foundational at the time
+- why some later architecture and workflow decisions exist
+
+## Read it as history, not roadmap
+
+Some items that were exciting at the time have since changed shape, matured, or been replaced by more current implementations. For current behavior, use the product docs instead of treating this page as a live feature contract.
+
+## Better current references
+
+- [Introduction](/introduction/)
+- [Quick Start](/quick-start/)
+- [Studio Overview](/studio-overview/)
+- [Roadmap](/roadmap/)
diff --git a/docs-site/src/pages/index.astro b/docs-site/src/pages/index.astro
new file mode 100644
index 0000000..8bf4647
--- /dev/null
+++ b/docs-site/src/pages/index.astro
@@ -0,0 +1,133 @@
+---
+import StarlightPage from '@astrojs/starlight/components/StarlightPage.astro';
+
+const guidedTracks = [
+ {
+ title: 'Start the editor fast',
+ href: '/quick-start/',
+ description: 'Open a document, choose a starting point, and get to a usable diagram quickly.',
+ },
+ {
+ title: 'Learn the core surfaces',
+ href: '/introduction/',
+ description: 'Understand the canvas, command center, Studio, and export/share model before you go deep.',
+ },
+ {
+ title: 'Pick the right input mode',
+ href: '/choose-input-mode/',
+ description: 'Decide when to use canvas editing, AI, OpenFlow DSL, Mermaid, or structured imports.',
+ },
+ {
+ title: 'Work with AI intentionally',
+ href: '/ai-generation/',
+ description: 'See where AI fits, where it helps, and how to avoid treating it like a one-shot generator.',
+ },
+];
+
+const workflowCards = [
+ {
+ title: 'Architecture diagrams',
+ href: '/aws-architecture/',
+ kicker: 'Guide',
+ description: 'The fastest path from icons, AI, and layout into a presentable architecture map.',
+ },
+ {
+ title: 'Code-backed diagrams',
+ href: '/openflow-dsl/',
+ kicker: 'Reference',
+ description: 'Use OpenFlow DSL when the diagram model needs to stay structured and editable.',
+ },
+ {
+ title: 'Import existing systems',
+ href: '/import-from-data/',
+ kicker: 'Workflow',
+ description: 'Bring in SQL, OpenAPI, and other structured sources without starting from scratch.',
+ },
+ {
+ title: 'Share or export',
+ href: '/choose-export-format/',
+ kicker: 'Decision',
+ description: 'Choose the right output path for docs, handoff, review, and collaboration.',
+ },
+];
+
+const referenceLinks = [
+ { title: 'Studio Overview', href: '/studio-overview/' },
+ { title: 'Command Center', href: '/command-center/' },
+ { title: 'Templates & Assets', href: '/templates-assets/' },
+ { title: 'Keyboard Shortcuts', href: '/keyboard-shortcuts/' },
+ { title: 'Prompting AI Agents', href: '/prompting-agents/' },
+ { title: 'Roadmap & Release Policy', href: '/roadmap/' },
+];
+---
+
+
+
+
Docs Home
+
Start with the right path, not the full tree.
+
+ OpenFlowKit has multiple ways to begin: canvas-first editing, AI-assisted drafting, code-backed
+ diagrams, and structured imports. This page is the fastest way to choose the right route.
+
+
+
diff --git a/docs-site/src/styles/custom.css b/docs-site/src/styles/custom.css
index 7f5e725..783becb 100644
--- a/docs-site/src/styles/custom.css
+++ b/docs-site/src/styles/custom.css
@@ -9,3 +9,162 @@
--sl-color-accent: #f97316;
--sl-color-accent-high: #fed7aa;
}
+
+.docs-home-hero {
+ padding: 0.5rem 0 1rem;
+}
+
+.docs-home-eyebrow,
+.docs-home-section-label,
+.docs-home-kicker {
+ letter-spacing: 0.14em;
+ text-transform: uppercase;
+ font-size: 0.72rem;
+ font-weight: 700;
+}
+
+.docs-home-eyebrow,
+.docs-home-section-label {
+ color: var(--sl-color-text-accent);
+}
+
+.docs-home-hero h1,
+.docs-home-section h2 {
+ margin: 0;
+ letter-spacing: -0.03em;
+}
+
+.docs-home-hero h1 {
+ max-width: 12ch;
+ font-size: clamp(2.4rem, 5vw, 4rem);
+ line-height: 0.95;
+}
+
+.docs-home-lead,
+.docs-home-section-copy p,
+.docs-home-card p {
+ color: var(--sl-color-gray-3);
+}
+
+.docs-home-lead {
+ max-width: 46rem;
+ font-size: 1.05rem;
+ line-height: 1.7;
+}
+
+.docs-home-actions {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 0.75rem;
+ margin-top: 1.5rem;
+}
+
+.docs-home-actions a {
+ text-decoration: none;
+}
+
+.docs-home-primary,
+.docs-home-secondary {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ min-height: 2.8rem;
+ padding: 0.75rem 1.1rem;
+ border-radius: 999px;
+ font-weight: 700;
+}
+
+.docs-home-primary {
+ background: var(--sl-color-accent);
+ color: white;
+}
+
+.docs-home-secondary {
+ border: 1px solid var(--sl-color-gray-5);
+ color: var(--sl-color-white);
+ background: color-mix(in srgb, var(--sl-color-black) 18%, transparent);
+}
+
+:root[data-theme='light'] .docs-home-secondary {
+ background: white;
+ color: var(--sl-color-black);
+}
+
+.docs-home-section {
+ margin-top: 2.5rem;
+}
+
+.docs-home-section-copy {
+ max-width: 40rem;
+ margin-bottom: 1rem;
+}
+
+.docs-home-grid {
+ display: grid;
+ gap: 1rem;
+ grid-template-columns: repeat(2, minmax(0, 1fr));
+}
+
+.docs-home-grid--tracks {
+ grid-template-columns: repeat(2, minmax(0, 1fr));
+}
+
+.docs-home-card {
+ display: block;
+ padding: 1.2rem;
+ border: 1px solid var(--sl-color-gray-5);
+ border-radius: 1rem;
+ background:
+ linear-gradient(180deg, color-mix(in srgb, var(--sl-color-accent) 8%, transparent), transparent 42%),
+ color-mix(in srgb, var(--sl-color-bg-inline-code) 68%, transparent);
+ text-decoration: none;
+}
+
+.docs-home-card h3 {
+ margin: 0.35rem 0 0.45rem;
+ color: var(--sl-color-white);
+ font-size: 1.02rem;
+}
+
+:root[data-theme='light'] .docs-home-card h3 {
+ color: var(--sl-color-black);
+}
+
+.docs-home-card p {
+ margin: 0;
+ line-height: 1.6;
+}
+
+.docs-home-link-list {
+ display: grid;
+ gap: 0.75rem;
+ grid-template-columns: repeat(3, minmax(0, 1fr));
+}
+
+.docs-home-link-list a {
+ display: block;
+ padding: 0.95rem 1rem;
+ border-radius: 0.9rem;
+ border: 1px solid var(--sl-color-gray-5);
+ text-decoration: none;
+ font-weight: 600;
+ color: var(--sl-color-white);
+ background: color-mix(in srgb, var(--sl-color-black) 18%, transparent);
+}
+
+:root[data-theme='light'] .docs-home-link-list a {
+ background: white;
+ color: var(--sl-color-black);
+}
+
+@media (max-width: 50em) {
+ .docs-home-grid,
+ .docs-home-grid--tracks,
+ .docs-home-link-list {
+ grid-template-columns: 1fr;
+ }
+
+ .docs-home-hero h1 {
+ max-width: none;
+ }
+}
diff --git a/docs/en/ai-generation.md b/docs/en/ai-generation.md
deleted file mode 100644
index bcd2f0f..0000000
--- a/docs/en/ai-generation.md
+++ /dev/null
@@ -1,41 +0,0 @@
-
-
-FlowMind leverages Google's **Gemini 2.0 Flash** model to understand natural language and convert it into structural diagrams.
-
-## How it Works
-
-1. **Intent Analysis**: The AI analyzes your prompt to understand the *goal* (e.g., "Login Flow") and the *actors* (User, Server, Database).
-2. **Structural Generation**: It constructs a valid FlowMind DSL JSON object representing the nodes and connections.
-3. **Layout Optimization**: The engine applies smart layout algorithms to ensure the generated graph is readable.
-
-## Best Practices for Prompts
-
-To get the best results, be specific about the **steps** and the **outcome**.
-
-### ❌ Too Vague
-> "Make a system diagram."
-
-### ✅ Good
-> "Create a high-level system architecture for an e-commerce platform. Include a Web App, API Gateway, User Service, Product Service, and a shared PostgreSQL database."
-
-### ✅ Better (Process Flow)
-> "Draw a flowchart for a user password reset process. Start with 'User clicks forgot password', check if email exists. If yes, send distinct token. If no, show error. End with 'User enters new password'."
-
-## Editing AI Results
-
-AI generation is a starting point, not the end. You can always:
-* Add missing steps manaully.
-* Renaming nodes for clarity.
-* Regenerating specific sections (Coming Soon).
-
-## 🔑 Bring Your Own Key (BYOK)
-
-By default, FlowMind uses a shared API key with limited quotas. For heavy usage, privacy, or to use your own billing, you can bring your own **Gemini API Key**.
-
-1. Go to **Google AI Studio** and [Get an API Key](https://aistudio.google.com/app/apikey).
-2. In FlowMind, open **Settings** (Gear Icon) or click on any **Brand Kit**.
-3. Navigate to the **AI** tab.
-4. Paste your key into the secure input field.
-
-> [!NOTE]
-> Your key is stored locally in your browser's `localStorage` and is never sent to our servers. It is strictly used for client-side API calls to Google.
diff --git a/docs/en/ask-flowpilot.md b/docs/en/ask-flowpilot.md
deleted file mode 100644
index cd39da8..0000000
--- a/docs/en/ask-flowpilot.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# Ask Flowpilot Assistant
-
-This page is dynamically replaced by the AI Assistant component inside `DocsPage.tsx`. This file exists only to satisfy the Vite dynamic glob importer and routing logic.
diff --git a/docs/en/aws-architecture.md b/docs/en/aws-architecture.md
deleted file mode 100644
index 4fd2792..0000000
--- a/docs/en/aws-architecture.md
+++ /dev/null
@@ -1,71 +0,0 @@
-# How to Draw AWS Architecture Diagrams with OpenFlowKit
-
-Drawing cloud infrastructure can be tedious if you are dragging and dropping shapes manually. OpenFlowKit provides a **Diagram-as-Code** approach to visualizing AWS Architectures, making it perfect for DevOps teams, Solutions Architects, and Cloud Engineers.
-
-## Why Use Diagram-as-Code for AWS?
-
-Instead of spending hours aligning server icons, you can write simple text that OpenFlowKit instantly renders into a beautiful, auto-routed diagram. Because it's code, your architecture diagram can live right next to your Terraform or CloudFormation scripts in Git.
-
-- **Version Control**: Track infrastructure changes over time.
-- **Auto-Layout**: No more overlapping lines or misaligned VPCs.
-- **Speed**: Type a few lines, get a complete diagram.
-
-
-## Example: Basic Web Architecture (Mermaid.js)
-
-OpenFlowKit natively supports Mermaid.js, which is great for standard cloud structures. Here is how you can visualize an AWS VPC with a Load Balancer, EC2 instances, and an RDS database.
-
-```mermaid
-flowchart TD
- %% Define Styles
- classDef aws fill:#FF9900,stroke:#fff,stroke-width:2px,color:#fff,rx:8px,ry:8px;
- classDef vpc fill:#f5f5f5,stroke:#00A4A6,stroke-width:2px,stroke-dasharray: 5 5,rx:12px,ry:12px;
-
- Client((User Traffic))
-
- subgraph AWS_VPC [AWS Cloud VPC]
- ALB(Application Load Balancer)
-
- subgraph Public_Subnet [Public Subnet]
- EC2_1(Web Server 1)
- EC2_2(Web Server 2)
- end
-
- subgraph Private_Subnet [Private Subnet]
- RDS[(Amazon RDS)]
- ElastiCache[(Redis Cache)]
- end
- end
-
- %% Connections
- Client -->|HTTPS| ALB
- ALB -->|Round Robin| EC2_1
- ALB -->|Round Robin| EC2_2
-
- EC2_1 --> RDS
- EC2_1 --> ElastiCache
- EC2_2 --> RDS
- EC2_2 --> ElastiCache
-
- %% Apply Styles
- class ALB,EC2_1,EC2_2 aws;
- class RDS,ElastiCache aws;
- class AWS_VPC,Public_Subnet,Private_Subnet vpc;
-```
-
-## Creating AWS Diagrams with AI
-
-If you don't know Mermaid syntax, you can use **Flowpilot**, our built-in AI assistant.
-
-1. Open the [Command Center](/docs/en/command-center).
-2. Type a prompt like:
-> `"Create an AWS architecture diagram showing an API Gateway routing traffic to three AWS Lambda functions, which all connect to a central DynamoDB table."`
-3. Hit enter. Flowpilot will instantly generate the DSL and render the diagram.
-
-## Exporting for internal documentation
-
-Once your AWS Architecture is generated, you can easily export it:
-- **SVG / PNG**: For Confluence, Jira, or Slack.
-- **Figma Editable**: Want your UX team to polish the diagram? Click *Figma Editable* and paste it directly into Figma as native, editable vector layers.
-
-[Try building your first AWS Architecture diagram now!](/#/canvas)
diff --git a/docs/en/canvas-basics.md b/docs/en/canvas-basics.md
deleted file mode 100644
index 3647d47..0000000
--- a/docs/en/canvas-basics.md
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-The FlowMind canvas is an infinite, interactive workspace. Here's how to navigate and manipulate it effectively.
-
-## Navigation
-
-* **Pan**: specific mouse action (e.g., Hold Space + Drag, or Middle Click + Drag) moves the canvas view.
-* **Zoom**: Use the mouse wheel to zoom in and out.
-* **Fit View**: Press \`Shift + 1\` to fit all nodes within the view.
-
-## Node Operations
-
-### Selecting Nodes
-* **Single Select**: Click a node.
-* **Multi-Select**: Hold \`Shift\` and click multiple nodes, or click and drag a selection box around them.
-
-### Duplicating
-Select one or more nodes and press \`Cmd + D\` (Mac) or \`Ctrl + D\` (Windows) to duplicate them.
-
-### Deleting
-Select nodes and press \`Backspace\` or \`Delete\`.
-
-## The Mini-Map
-
-The Mini-Map in the bottom right corner gives you a high-level overview of your entire flow. You can drag the viewport box inside the mini-map to quickly navigate large diagrams.
-
-[PLACEHOLDER: Image of Canvas Interface with callouts]
diff --git a/docs/en/command-center.md b/docs/en/command-center.md
deleted file mode 100644
index 65967a6..0000000
--- a/docs/en/command-center.md
+++ /dev/null
@@ -1,28 +0,0 @@
-
-The Command Center is the floating toolbar at the bottom of the screen. It's the heart of FlowMind's "keyboard-first" workflow.
-
-> [!NOTE]
-> Open the Command Center anytime by pressing `Cmd + K` (Mac) or `Ctrl + K` (Windows).
-
-## Features
-
-### 1. Templates
-Don't start from scratch. Access a library of pre-built diagrams:
-* AWS Architecture Patterns
-* User Journey Maps
-* Database Schemas
-* Organizational Charts
-
-### 2. Design System / Visuals
-Access a library of assets to enhance your diagram:
-* **Wireframes**: Drag and drop low-fidelity UI components (Buttons, Inputs, Modals) to build quick mockups.
-* **Icons**: Search and insert any icon as a standalone node.
-
-### 3. AI Copilot
-The text input in the Command Center is your direct line to our AI engine. Type what you want to build, and hitting `Enter` generates it instantly.
-
-### 4. Layout & Tools
-Quickly access utility functions:
-* **Auto Layout**: Re-organize the chaos.
-* **Reset View**: Jump back to center.
-* **Format Code**: Clean up your DSL.
diff --git a/docs/en/exporting.md b/docs/en/exporting.md
deleted file mode 100644
index 1f1c2c8..0000000
--- a/docs/en/exporting.md
+++ /dev/null
@@ -1,47 +0,0 @@
-
-FlowMind offers a wide range of export options to help you use your diagrams in presentations, documentation, or other external tools.
-
-> [!TIP]
-> All export options are available via the **"Export"** button in the top right corner of the toolbar.
-
-## Image Exports
-
-Perfect for slides, documents, or sharing on Slack.
-
-### PNG (Portable Network Graphics)
-Exports a high-resolution, pixel-based image of your current flow.
-* **Best for**: Slides, Web, General Sharing.
-* **Settings**: Includes transparency by default if enabled in settings.
-
-### JPEG (Joint Photographic Experts Group)
-Exports a compressed image file.
-* **Best for**: Email attachments, situations where file size matters.
-* **Note**: Does not support transparency (background will be white).
-
-## Data & Code Exports
-
-FlowMind is a "Diagram-as-Code" tool, so we treat your diagram data as a first-class citizen.
-
-### JSON (FlowMind Native)
-Downloads the raw `.json` file containing all node positions, styles, and data.
-* **Best for**: Backups, Version Control, Sharing editable files with other FlowMind users.
-
-### FlowMind DSL
-Copies the simplified Domain Specific Language (DSL) representation to your clipboard.
-* **Best for**: Storing diagram logic in your codebase comments or generating similar flows via AI.
-
-### Mermaid.js
-Converts your current diagram into [Mermaid](https://mermaid.js.org/) syntax and copies it to the clipboard.
-* **Best for**: Embedding diagrams in GitHub `README.md` files, Notion, or Obsidian.
-* **Supported**: Basic Flowcharts, Sequence Diagrams.
-
-### PlantUML
-Copies the PlantUML representation of your diagram.
-* **Best for**: Enterprise wikis (Confluence) or legacy documentation systems.
-
-### Figma
-Copies a vector representation compatible with Figma's paste format.
-* **Best for**: Handing off diagrams to designers for high-fidelity polishing.
-
-> [!WARNING]
-> Figma export is experimental. Complex custom nodes may not transfer 100% perfectly.
diff --git a/docs/en/introduction.md b/docs/en/introduction.md
deleted file mode 100644
index fe3d3c9..0000000
--- a/docs/en/introduction.md
+++ /dev/null
@@ -1,34 +0,0 @@
-**OpenFlowKit** is a next-generation diagramming tool that bridges the gap between AI-generated visualization and precise, code-based editing. Designed for developers, architects, and product managers, OpenFlowKit allows you to create complex flowcharts, sequence diagrams, and system architectures using natural language or our specialized DSL.
-
-## Why OpenFlowKit?
-
-Traditional diagramming tools often force a choice between:
-1. **Drag-and-drop tools**: Easy to start, but hard to maintain and version control.
-2. **Code-based tools (like Mermaid)**: Great for versioning, but can be tedious to write from scratch.
-
-FlowMind gives you the best of both worlds. You can start with a text prompt to generate an initial structure, then refine it using our **Hybrid Editor**—manipulating nodes visually on the canvas *or* editing the underlying code directly.
-
-## Key Features
-
-### AI-Powered Generation
-Simply describe your system: *"Create a login flow with OAuth fallback and error handling."* FlowMind's Gemini integration scaffolds the entire diagram effectively instantly.
-
-### Hybrid Canvas
-Our canvas isn't just a static image. It's a fully interactive graph environment.
-* **Drag & Drop**: Move nodes, auto-snap alignment.
-* **Smart Layouts**: One-click re-organization using Elk.js.
-* **Properties Panel**: Fine-tune specific node styling without touching CSS.
-
-### Diagram-as-Code
-Every diagram is backed by a readable, editable JSON structure and compatible with Mermaid.js syntax. This means your documentation can live alongside your code.
-
-### Premium Aesthetics
-Built with a "Design First" code, FlowMind diagrams are presentation-ready by default. No more ugly, default-grey boxes.
-
-## Next Steps
-
-Ready to get started?
-
-* Check out the [Quick Start](/docs/quick-start) guide to build your first flow.
-* Learn about the [Canvas Basics](/docs/canvas-basics).
-* Master the [OpenFlow DSL](/docs/openflow-dsl).
diff --git a/docs/en/keyboard-shortcuts.md b/docs/en/keyboard-shortcuts.md
deleted file mode 100644
index 16a8bff..0000000
--- a/docs/en/keyboard-shortcuts.md
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-Master FlowMind with these keyboard shortcuts to speed up your workflow.
-
-## General
-
-| Action | MacOS | Windows/Linux |
-| :--- | :--- | :--- |
-| **Command Palette** | \`Cmd + K\` | \`Ctrl + K\` |
-| **Save** | \`Cmd + S\` | \`Ctrl + S\` |
-| **Undo** | \`Cmd + Z\` | \`Ctrl + Z\` |
-| **Redo** | \`Cmd + Shift + Z\` | \`Ctrl + Shift + Z\` |
-
-## Canvas Navigation
-
-| Action | MacOS | Windows/Linux |
-| :--- | :--- | :--- |
-| **Zoom In** | \`+\` | \`+\` |
-| **Zoom Out** | \`-\` | \`-\` |
-| **Fit View** | \`Shift + 1\` | \`Shift + 1\` |
-
-## Editing
-
-| Action | MacOS | Windows/Linux |
-| :--- | :--- | :--- |
-| **Duplicate Node** | \`Cmd + D\` or \`Alt + Drag\` | \`Ctrl + D\` or \`Alt + Drag\` |
-| **Delete Node** | \`Backspace\` | \`Backspace\` |
-| **Select All** | \`Cmd + A\` | \`Ctrl + A\` |
-| **Group Selection** | \`Cmd + G\` | \`Ctrl + G\` |
-
-> **Note:** Shortcuts are active when the canvas has focus.
diff --git a/docs/en/mermaid-integration.md b/docs/en/mermaid-integration.md
deleted file mode 100644
index 1a00a73..0000000
--- a/docs/en/mermaid-integration.md
+++ /dev/null
@@ -1,31 +0,0 @@
-
-FlowMind maintains high compatibility with [Mermaid.js](https://mermaid.js.org/), the industry standard for diagram-as-code.
-
-## Importing Mermaid
-
-You can paste existing Mermaid code directly into FlowMind.
-
-1. Click the **"Import"** button in the toolbar.
-2. Select **"Mermaid"**.
-3. Paste your code snippet.
-
-### Supported Diagram Types
-Currently, FlowMind optimizes for:
-* **Flowcharts** (`graph TD`, `graph LR`)
-* **Sequence Diagrams** (Partial support via conversion)
-
-```mermaid
-graph TD
- A[Start] --> B{Is it working?}
- B -- Yes --> C[Great!]
- B -- No --> D[Debug]
-```
-
-## Exporting to Mermaid
-
-You can also export any FlowMind diagram *back* to Mermaid syntax.
-This is perfect for embedding diagrams in GitHub `README.md` files or Notion documents.
-
-1. Open the **Code Panel** (bottom panel).
-2. Switch to the **"Mermaid"** tab.
-3. Copy the generated code.
diff --git a/docs/en/mermaid-vs-openflow.md b/docs/en/mermaid-vs-openflow.md
deleted file mode 100644
index 4cdfa04..0000000
--- a/docs/en/mermaid-vs-openflow.md
+++ /dev/null
@@ -1,50 +0,0 @@
-# Mermaid.js vs OpenFlowKit
-
-Mermaid.js is an incredible text-based diagramming tool that has become the standard for markdown-based documentation. However, when you need a presentation-ready, highly interactive canvas, raw Mermaid can sometimes feel limiting.
-
-This is why **OpenFlowKit is built on top of Mermaid.js**, giving you the best of both worlds: Diagram-as-code speed with visual-editor polish.
-
-## 1. Aesthetics and Branding
-
-**Mermaid.js:**
-- Renders SVGs based on predefined themes (default, dark, forest, neutral).
-- Customizing styles requires inline CSS classes, which can clutter your markdown.
-
-**OpenFlowKit:**
-- Features a full **White-Label Design System**.
-- You can inject [Theming](/docs/en/theming) tokens dynamically (colors, corner radii, fonts).
-- Nodes automatically adopt glassmorphism, shadows, and modern UI treatments without writing a single line of CSS.
-
-## 2. Interaction and Editing
-
-**Mermaid.js:**
-- Strictly code-in, diagram-out. To move a node, you rewrite the code.
-- Layouts are handled automatically by Dagre, which is great but offers zero manual control if a line routes awkwardly.
-
-**OpenFlowKit:**
-- **Two-Way Sync**: Write code and watch the canvas update, *or* drag a node on the canvas and watch the code update automatically.
-- You get full drag-and-drop capabilities, manual edge routing, and [Smart Layouts](/docs/en/smart-layout) via ELK.js.
-
-## 3. Export Options
-
-**Mermaid.js:**
-- Typically exports as SVG or PNG via a CLI or browser extension.
-
-**OpenFlowKit:**
-- Native [Exporting](/docs/en/exporting) to SVG, high-res PNG/JPG.
-- **Figma Editable**: OpenFlowKit can export diagrams directly to your clipboard in a format that pastes into Figma as native, editable vector layers and text objects.
-
-## 4. Artificial Intelligence
-
-While AI can write Mermaid syntax, iterating on it is difficult.
-
-**OpenFlowKit:**
-- Integrated [Flowpilot AI](/docs/en/ask-flowpilot) directly into the [Command Center](/docs/en/command-center).
-- You can prompt the AI, generate the canvas, and then manually adjust the final 10% visually instead of trying to perfectly craft a prompt to fix a misaligned node.
-- Supports **BYOK (Bring Your Own Key)** for 7 different AI providers.
-
-## Direct Compatibility
-
-We love Mermaid. That is why OpenFlowKit has a native [Mermaid Integration](/docs/en/mermaid-integration). You can paste any existing Mermaid flowchart or state diagram into OpenFlowKit, and it will instantly convert it into editable, styled React Flow nodes.
-
-Try converting your Mermaid diagrams today in the [Editor](/#/canvas).
diff --git a/docs/en/node-types.md b/docs/en/node-types.md
deleted file mode 100644
index 68a1bad..0000000
--- a/docs/en/node-types.md
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-FlowMind supports several specialized node types to handle different diagramming needs.
-
-## 1. Custom Node (Default)
-
-The workhorse of your diagrams. It supports a title, an optional icon, and rich connection handles.
-* **Best for**: Process steps, services, database tables, or general entities.
-* **Features**: Resizable, editable label, support for icons.
-
-## 2. Text Node / Annotation
-
-A lightweight, borderless node used for adding comments or labels to the canvas without affecting the flow structure.
-* **Best for**: Adding sticky notes, section headers, or explanatory text.
-* **Usage**: Select "Text" from the toolbar or press \`T\`.
-
-## 3. Group Node
-
-Container nodes that visually group other nodes together. Moving a group moves all nodes inside it.
-* **Best for**: Visualizing sub-systems, VPCs, or logical boundaries.
-* **Usage**: Select nodes -> Right Click -> "Group Selection".
-
-## 4. Swimlane Node
-
-Vertical or horizontal lanes to organize processes by actor or department.
-* **Best for**: Cross-functional flowcharts.
-
-## 5. Image Node
-
-Embed arbitrary images directly onto the canvas.
-* **Best for**: Adding logos, screenshots, or reference diagrams.
-* **Usage**: Drag and drop an image file directly onto the canvas.
diff --git a/docs/en/openflow-dsl.md b/docs/en/openflow-dsl.md
deleted file mode 100644
index a417fbf..0000000
--- a/docs/en/openflow-dsl.md
+++ /dev/null
@@ -1,398 +0,0 @@
-# 🧠 FlowMind DSL Syntax Guide (V2)
-
-FlowMind uses a clean, human-readable DSL to define diagrams using text.
-Version 2 introduces:
-
-* Explicit node IDs
-* Styling attributes
-* Groups / containers
-* Edge customization
-
----
-
-# 1️⃣ Document Header
-
-Every DSL file can begin with optional metadata:
-
-```yaml
-flow: "My Awesome Workflow"
-direction: TB
-```
-
-### Fields
-
-| Field | Description |
-| ----------- | -------------------------------------------------------------- |
-| `flow` | Title of the diagram |
-| `direction` | Layout direction: `TB` (Top to Bottom) or `LR` (Left to Right) |
-
----
-
-# 2️⃣ Nodes
-
-Nodes define diagram elements.
-
-## Basic Syntax
-
-```
-[start] Start Process
-[process] Handle Request
-[end] End Process
-```
-
----
-
-## With Explicit IDs
-
-Useful for clarity, especially in large flows.
-
-```
-[start] start: Start Process
-[process] proc1: Handle Request
-[end] end: End Process
-
-start -> proc1
-proc1 -> end
-```
-
----
-
-## With Attributes
-
-Attributes use JSON-like syntax:
-
-```
-[process] p1: Critical Step { color: "red", icon: "alert-triangle" }
-[system] db: Database { icon: "database" }
-```
-
-### Attribute Examples
-
-| Attribute | Purpose |
-| --------- | --------------------- |
-| `color` | Override node color |
-| `icon` | Add icon |
-| `style` | Custom style modifier |
-
----
-
-## Supported Node Types
-
-| DSL Type | Shape | Default Color |
-| ----------- | ----------------- | ------------- |
-| `start` | Capsule | Emerald |
-| `end` | Capsule | Red |
-| `process` | Rounded rectangle | Slate |
-| `decision` | Diamond | Amber |
-| `system` | Custom node | Violet |
-| `note` | Sticky note | Yellow |
-| `section` | Group container | Blue |
-| `container` | Generic group | Gray |
-
-If a node is referenced in a connection but not declared, it defaults to `process`.
-
----
-
-# 3️⃣ Edges (Connections)
-
-Connections define flow between nodes.
-
-## Basic Connection
-
-```
-Start Process -> Handle Request
-```
-
----
-
-## Edge Types
-
-| Symbol | Meaning |
-| ------ | ----------- |
-| `->` | Solid line |
-| `-->` | Curved line |
-| `..>` | Dashed line |
-| `==>` | Thick line |
-
-Example:
-
-```
-A ..> B
-C ==> D
-```
-
----
-
-## Labeled Connections
-
-Use pipes:
-
-```
-Is Valid? ->|Yes| Save Data
-Is Valid? ->|No| Return Error
-```
-
----
-
-## Edge Attributes
-
-```
-A -> B { style: "dashed", label: "Async" }
-```
-
----
-
-# 4️⃣ Groups
-
-Use `group` to cluster nodes.
-
-```
-group "Backend Services" {
- [process] api: API Server
- [system] db: Database
- api -> db
-}
-```
-
-Groups help visually separate logical areas.
-
----
-
-# 5️⃣ Comments
-
-Lines starting with `#` are ignored.
-
-```
-# This is a comment
-[start] Begin
-```
-
----
-
-# ✅ Complete Example
-
-```yaml
-flow: "User Login Flow"
-direction: TB
-
-# Define Nodes
-[start] user: User
-[process] login: Login Page { icon: "log-in" }
-
-group "Authentication" {
- [system] auth: Auth Service
- [decision] check: Is Valid?
-}
-
-[end] dash: Dashboard
-[end] err: Error
-
-# Define Logic
-user -> login
-login -> auth
-auth -> check
-
-check ->|Yes| dash { color: "green" }
-check ->|No| err { color: "red", style: "dashed" }
-```
-
----
-
-# 🤖 LLM Agent Prompt Template
-
-If someone wants to generate FlowMind DSL using an LLM agent, they can paste the following prompt:
-
----
-
-## Copy-Paste Prompt for LLM
-
-```
-You are an expert FlowMind DSL V2 generator.
-
-Your job is to convert a user's workflow description into valid FlowMind DSL.
-
-You must strictly follow the FlowMind DSL V2 specification defined below.
-
-========================================
-FLOWMIND DSL V2 SPECIFICATION
-========================================
-
-1. DOCUMENT HEADER (Required)
-
-Every output MUST begin with:
-
-flow: "Title Here"
-direction: TB or LR
-
-Rules:
-- Always generate a meaningful title.
-- Default to TB unless user clearly needs horizontal layout.
-
-----------------------------------------
-
-2. NODE DECLARATION RULES
-
-Node syntax:
-
-[type] id: Label { optional_attributes }
-
-Example:
-[process] p1: Handle Request
-[decision] d1: Is Valid? { icon: "help-circle" }
-
-Rules:
-- ALWAYS use explicit IDs.
-- IDs must be short, lowercase, no spaces.
-- IDs must be unique.
-- Use semantic naming (start, login, checkAuth, db, etc).
-- Do NOT reuse labels as IDs.
-- Do NOT skip node declarations.
-
-If a node is referenced in a connection, it MUST be declared first.
-
-----------------------------------------
-
-3. SUPPORTED NODE TYPES
-
-Use ONLY these types:
-
-start
-end
-process
-decision
-system
-note
-section
-container
-
-Guidelines:
-
-start → beginning of flow
-end → termination states
-process → actions or steps
-decision → branching logic
-system → external system/service/database
-note → annotations
-section → major grouped area
-container → generic grouping
-
-----------------------------------------
-
-4. NODE ATTRIBUTES (Optional)
-
-Attributes use JSON-like syntax:
-
-{ color: "red", icon: "database", style: "dashed" }
-
-Rules:
-- Only add attributes if meaningful.
-- Keep styling minimal.
-- Do not invent unsupported properties.
-
-----------------------------------------
-
-5. EDGES (CONNECTIONS)
-
-Basic syntax:
-id1 -> id2
-
-Edge types:
--> solid
---> curved
-..> dashed
-==> thick
-
-Labeled edges:
-id1 ->|Yes| id2
-
-Edge with attributes:
-id1 -> id2 { label: "Async", style: "dashed" }
-
-Rules:
-- Always connect using IDs, not labels.
-- Decision nodes MUST use labeled edges.
-- Every branch from a decision must be explicit.
-- No floating nodes.
-
-----------------------------------------
-
-6. GROUPS
-
-Use grouping when logical clustering exists.
-
-Syntax:
-
-group "Group Name" {
- node declarations
- internal connections
-}
-
-Rules:
-- Groups should wrap related nodes only.
-- Connections across groups should be declared outside the group block.
-
-----------------------------------------
-
-7. COMMENTS
-
-Use # for comments sparingly.
-Do not over-comment.
-
-----------------------------------------
-
-8. OUTPUT RULES (STRICT)
-
-You MUST:
-
-- Output ONLY valid FlowMind DSL
-- Do NOT explain
-- Do NOT use markdown formatting
-- Do NOT wrap in code blocks
-- Do NOT add commentary
-- Do NOT describe what you are doing
-- Do NOT output anything except the DSL
-
-If user description is vague:
-- Make reasonable assumptions
-- Choose logical structure
-- Keep flow clean and readable
-
-========================================
-LOGIC CONVERSION STRATEGY
-========================================
-
-When converting user input:
-
-1. Identify:
- - Start event
- - End states
- - Actions
- - Decisions
- - External systems
- - Logical clusters
-
-2. Convert:
- - Events → start / end
- - Actions → process
- - Branching → decision
- - Databases/APIs → system
- - Parallel logic → separate branches
- - Error paths → explicit end nodes
-
-3. Ensure:
- - Every path leads to an end
- - No orphan nodes
- - Clean logical readability
-
-========================================
-USER REQUEST
-========================================
-
-Convert the following workflow description into FlowMind DSL V2:
-
-{{USER_WORKFLOW_DESCRIPTION}}
-
-Generate the DSL now.
-```
-
----
diff --git a/docs/en/payment-flow.md b/docs/en/payment-flow.md
deleted file mode 100644
index 2ce1bdb..0000000
--- a/docs/en/payment-flow.md
+++ /dev/null
@@ -1,55 +0,0 @@
-# How to Visualize Payment Flows (Stripe, PayPal, etc.)
-
-When building e-commerce or SaaS applications, understanding the exact sequence of a payment flow is critical. A single missed webhook can lead to a dropped order or an angry customer.
-
-OpenFlowKit allows you to map out complex asynchronous payment architectures quickly using a variety of [Node Types](/docs/en/node-types).
-
-## Why build payment architectures with OpenFlowKit?
-
-- **Shareability**: Everyone from the PM to the backend engineer needs to see the same flow.
-- **Clarity**: Mapping out happy paths, failures, and webhook retries visually is much easier than reading through Stripe API documentation.
-- **Speed**: Use the [Command Center](/docs/en/command-center) and AI to generate the boilerplate flow in seconds.
-
-## Example: Stripe Checkout Flow
-
-Here is a common Stripe Checkout implementation mapped out. Notice how we use different node shapes to distinguish between client-side actions, server-side actions, and third-party API calls.
-
-```mermaid
-sequenceDiagram
- participant User
- participant Client as Frontend (React)
- participant Server as Backend (Node.js)
- participant Stripe
-
- User->>Client: Clicks "Pay $50"
- Client->>Server: POST /create-checkout-session
- Server->>Stripe: API Request: Create Session
- Stripe-->>Server: Returns Session ID & URL
- Server-->>Client: Returns Checkout URL
-
- Client->>User: Redirects to Stripe Checkout
- User->>Stripe: Enters Credit Card Info
-
- alt Payment Success
- Stripe-->>User: Redirect to Success URL
- Stripe->>Server: Webhook event: checkout.session.completed
- Server->>Server: Fulfills Order / Updates DB
- else Payment Failure
- Stripe-->>User: Redirect to Cancel URL
- User->>Client: Try Again
- end
-```
-
-## Tips for Better Payment Diagrams
-
-1. **Use Swimlanes**: Group actions by responsibility. Put the User in one lane, your API in another, and the Payment Processor (Stripe/PayPal) in a third.
-2. **Color Code**: Use green for happy paths (success), red for failure states (declines/insufficient funds), and gray for retries.
-3. **Explicit Callouts**: Use the **Annotation Node** to document exact webhook payloads or secret keys needed at specific steps.
-
-## AI Prompt Example
-
-To generate a similar flow using [Ask Flowpilot](/docs/en/ask-flowpilot):
-
-> `"Generate a flowchart showing a subscription payment flow using Braintree. Include the client requesting a client token, the server generating it, the user submitting a nonce, and the final server-side transaction creation. Show both success and failure branches."`
-
-Need to present this to your team? Try the [Playback History](/docs/en/playback-history) feature to walk through the payment sequence step-by-step.
diff --git a/docs/en/playback-history.md b/docs/en/playback-history.md
deleted file mode 100644
index 4c743e1..0000000
--- a/docs/en/playback-history.md
+++ /dev/null
@@ -1,17 +0,0 @@
-
-FlowMind automatically tracks every change you make. The **Playback** features allows you to travel back in time to review your decision process.
-
-## History Timeline
-
-Click the **Clock Icon** in the top navigation bar to open the History Timeline.
-
-### Version Checkpoints
-Every time you perform a significant action (adding a node, changing a color, auto-layout), a "snapshot" is saved.
-* **Undo/Redo**: Uses this same system to jump back and forth (`Cmd+Z`).
-
-## Playback Mode
-
-Press the **Play** button in the History panel to watch a "movie" of your diagram being built from start to finish.
-* **Speed Control**: Adjust playback speed (1x, 2x, 4x).
-* **Scrubbing**: Drag the slider to specific points in time.
-* **Restore**: Found an older version you like better? Click "Restore" to revert the canvas to that state perfectly.
diff --git a/docs/en/prompting-agents.md b/docs/en/prompting-agents.md
deleted file mode 100644
index 0297089..0000000
--- a/docs/en/prompting-agents.md
+++ /dev/null
@@ -1,31 +0,0 @@
-# How to Prompt AI Agents (Cursor, Copilot, ChatGPT)
-
-OpenFlowKit is built to be AI-native. While it includes **Flowpilot** (our built-in AI assistant), you often want to generate diagrams directly inside your IDE using tools like Cursor, GitHub Copilot, or even regular ChatGPT.
-
-To get the best results from any LLM, you need to point them to our syntax rules.
-
-## The Magic Keyword: `llms.txt`
-
-The secret to perfect AI generation is our `llms.txt` file. We host a machine-readable set of rules that teaches any AI exactly how to write OpenFlow DSL V2 code.
-
-When prompting an AI agent, just include a reference to this file.
-
-### Example Prompt for Cursor IDE
-Open your Composer or Chat window and type:
-
-> `"Read https://openflowkit.com/llms.txt and then generate an architecture diagram showing our Next.js frontend connecting to a Supabase backend."`
-
-### Example Prompt for ChatGPT
-If you are using ChatGPT with web-browsing enabled:
-
-> `"Go to https://openflowkit.com/llms.txt to learn the OpenFlowKit syntax. Then, write a flowchart detailing an OAuth2 login sequence. Output the result using the \`\`\`openflow code block."`
-
-## Best Practices for Prompting
-
-Even with the rules, LLMs can sometimes get confused. Here are three tips for perfect diagrams every time:
-
-1. **Be specific about shapes**: Instead of just saying "add a database", say "add a Node with the `[process]` type labeled 'Database'".
-2. **Name your connections**: The diagram is much more useful if edges have labels. Example: "Connect the frontend to the backend with the label '|REST API|'".
-3. **Use Groups for clarity**: If you have multiple microservices, tell the AI to wrap them in a group: "Put the 'Auth Service' and 'User DB' inside a group called 'Backend Infrastructure'."
-
-[Return to Editor](/#/canvas)
diff --git a/docs/en/properties-panel.md b/docs/en/properties-panel.md
deleted file mode 100644
index 11f81f0..0000000
--- a/docs/en/properties-panel.md
+++ /dev/null
@@ -1,24 +0,0 @@
-
-The Properties Panel is your control center for customizing individual nodes. It appears on the right side of the screen when you select a node.
-
-## Node Customization
-
-### Label Editing
-You can rename any node directly from the panel. The label updates in real-time on the canvas.
-
-### Visual Styling
-Make your diagrams pop with custom styles:
-* **Colors**: Choose from a curated palette of semantic colors (Red for danger, Green for success, etc.).
-* **Icons**: Add an icon to any node to make it instantly recognizable. We support the full Lucide React icon library.
-* **Stroke Style**: Toggle between `Solid` and `Dashed` borders (great for representing tentative or future states).
-
-### Layout & Sizing
-* **Width/Height**: Manually set dimensions for pixel-perfect alignment.
-* **Position**: View and edit exact X/Y coordinates.
-
-## Bulk Editing
-
-> [!TIP]
-> You can select multiple nodes (`Shift + Click`) to edit them all at once!
-
-When multiple nodes are selected, the Properties Panel will apply changes (like color or icon) to **all** selected nodes.
diff --git a/docs/en/quick-start.md b/docs/en/quick-start.md
deleted file mode 100644
index 918001e..0000000
--- a/docs/en/quick-start.md
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
-This guide will help you create your first diagram in FlowMind in under 2 minutes.
-
-## 1. Create a New Flow
-
-From the Dashboard, click the **"Create New"** button (or press \`Cmd+N\`). You will be taken to a fresh canvas.
-
-## 2. Using AI Generation
-
-The fastest way to start is with a prompt.
-
-1. Locate the command bar at the bottom of the screen.
-2. Type a description of your flow.
- * *Example:* "Create a user registration flow that includes email verification and database checks."
-3. Press \`Enter\`.
-
-FlowMind will generate a complete diagram structure for you.
-
-## 3. Editing Nodes
-
-Once generated, you can refine the diagram:
-
-* **Move**: Click and drag any node to reposition it.
-* **Edit Text**: Double-click a node to change its label.
-* **Connect**: Drag from the handles (dots) on a node's edge to connect it to another node.
-
-## 4. Using Smart Layout
-
-If your diagram gets messy, click the **"Auto Layout"** button in the top toolbar. FlowMind uses the ELK layout engine to automatically organize your nodes into a clean hierarchy.
-
-## 5. Exporting
-
-When you're happy with your flow:
-
-1. Click the **Export** button in the top right.
-2. Choose your format (PNG, SVG, or JSON).
-3. Download your file.
-
-[PLACEHOLDER: GIF showing the creation process]
diff --git a/docs/en/roadmap.md b/docs/en/roadmap.md
deleted file mode 100644
index 1fd5182..0000000
--- a/docs/en/roadmap.md
+++ /dev/null
@@ -1,70 +0,0 @@
-# 🗺️ OpenFlowKit Product Roadmap
-
-We are building the standard for open-source, white-label diagramming. This roadmap outlines our vision for the future of **OpenFlowKit**.
-
-> **Note**: This is a living document. Priorities may change based on community feedback.
-
----
-
-## 🚀 Q3 2026: The AI Expansion (v1.2)
-*Focus: Making the diagram generation smarter, faster, and more versatile.*
-
-### 🧠 Multi-Model AI Support
-Move beyond a single provider. We will support a "Bring Your Own Key" model for all major LLMs:
-- **Anthropic Claude 3.5 Sonnet**: Optimized for complex system architecture diagrams.
-- **OpenAI GPT-4o**: Fast, reasoning-heavy generation for business logic flows.
-- **Local LLMs (Ollama)**: run Llama 3 or Mistral locally for 100% offline, air-gapped diagram generation.
-
-### ⚡ Real-time "Copilot" Mode
-- **Autocomplete for Flows**: As you drag a node, the AI suggests the next 3 most logical steps based on your current graph context.
-- **Smart Refactoring**: Select a mess of nodes and ask AI to "Optimize Layout" or "Group into Subgraph".
-
-
----
-
-## 🤝 Q4 2026: Collaboration & Teams (v2.0)
-*Focus: Turning a solo developer tool into a team powerhouse.*
-
-### 👥 Real-Time Multiplayer
-- **Live Cursors**: See where your teammates are looking.
-- **Conflict-Free Editing**: Powered by **Yjs** and CRDTs for seamless collaborative sessions.
-- **Presence**: "Who's on this flow?" indicators.
-
-### 💬 Contextual Comments
-- Pin comments directly to nodes or edges.
-- @mention team members to assigned tasks within the diagram.
-- Resolve threads as you complete the implementation.
-
-### 💾 Cloud Persistence Adapter
-- Optional reference implementation for saving flows to PostgreSQL/Supabase.
-- "Project" view to organize hundreds of diagrams.
-
----
-
-## 🛠️ 2027: The Platform Era (v3.0)
-*Focus: Deep integration into the developer ecosystem.*
-
-### 🔌 IDE Extensions
-- **VS Code Extension**: Edit `.flow` or `.mermaid` files directly inside VS Code with our premium GUI.
-- **IntelliJ / JetBrains Plugin**: Native support for Java/Kotlin ecosystem diagrams.
-
-### 🎨 Advanced Design System
-- **Figma Sync**: Two-way synchronization. Push changes from Figma to OpenFlowKit and vice-versa.
-- **Custom React Nodes**: A plugin API to let developers render *any* React component inside a node (Charts, Data Grids, Videos).
-
-### 📊 Data-Driven Diagrams
-- **Live Metrics**: Bind node colors/sizes to real-time API data (e.g., Server Health visualization).
-- **SQL-to-ERD**: Connect to your DB and auto-generate the Entity Relationship Diagram.
-
----
-
-## 💡 Community Wishlist
-Features we are exploring based on user requests:
-- [ ] **Presentation Mode**: Slide-by-slide walkthrough of complex flows.
-- [ ] **Accessibility (A11y)**: Screen reader support and keyboard navigation improvements.
-- [ ] **Internationalization (i18n)**: Translating the UI into 10+ languages.
-
----
-
-*Current Version: v1.0.0-beta*
-*Last Updated: February 2026*
diff --git a/docs/en/smart-layout.md b/docs/en/smart-layout.md
deleted file mode 100644
index 8dfa17b..0000000
--- a/docs/en/smart-layout.md
+++ /dev/null
@@ -1,20 +0,0 @@
-
-FlowMind includes a powerful "Smart Layout" engine powered by **ELK (Eclipse Layout Kernel)**.
-
-## How it Works
-
-Drawing complex diagrams by hand is tedious. You spend more time ALIGNING boxes than thinking about the logic.
-Smart Layout fixes this by running a force-directed algorithm to automatically arrange your nodes.
-
-### Usage
-1. Click the **Layout** button in the Command Center (or top toolbar).
-2. The engine calculates the optimal position for every node and edge.
-3. The diagram animates smoothly to its new structure.
-
-### Features
-* **Hierarchical Layering**: Perfect for flowcharts and organizational trees.
-* **Collision Detection**: Ensures nodes never overlap.
-* **Edge Routing**: Minimizes line crossings for cleaner readability.
-
-> [!TIP]
-> Use Smart Layout after importing a raw Mermaid text or generating a large flow with AI to instantly tidy up the result.
diff --git a/docs/en/theming.md b/docs/en/theming.md
deleted file mode 100644
index d3bac43..0000000
--- a/docs/en/theming.md
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-Customize FlowMind to match your personal preference or brand identity.
-
-## Brand Settings
-
-Navigate to **Settings > Brand Kit** to configure:
-
-* **Primary Color**: The main accent color for buttons, active states, and focused nodes.
-* **Background**: The canvas background color.
-* **Surface**: The color of panels and sidebars.
-* **Logo**: Upload your own logo to replace the FlowMind icon in the sidebar.
-
-
-
-## Export Settings
-
-When exporting images (PNG/SVG):
-* **Transparent Background**: Toggle this if you want to overlay the diagram on slides.
-* **Scale**: Increase scale (e.g., 2x, 3x) for high-resolution printing.
-* **Include Watermark**: You can disable the branding watermark in the export settings.
diff --git a/docs/en/v1-beta-launch.md b/docs/en/v1-beta-launch.md
deleted file mode 100644
index 2baf887..0000000
--- a/docs/en/v1-beta-launch.md
+++ /dev/null
@@ -1,63 +0,0 @@
-# 🚀 OpenFlowKit V1 Beta: The Future of Diagram-as-Code is Here
-
-We are beyond excited to officially announce the **OpenFlowKit V1 Beta**. What started as a simple flowchart tool has evolved into a comprehensive, white-label diagramming ecosystem designed for developers who demand premium aesthetics and local-first reliability.
-
-This release marks a fundamental shift in our mission: **OpenFlowKit is no longer just an app; it's a foundation for your next project.**
-
----
-
-## 🏗️ What's New in V1 Beta?
-
-### 🎨 The Brand Engine (True White-Labeling)
-Most diagramming tools force you to look like their product. OpenFlowKit is the first open-source tool built to look like **yours**.
-- **Dynamic Palette Generation**: Enter one primary color, and our engine generates a smooth, harmonious design system including surface, background, and accent colors.
-- **Typography Integration**: Native Google Fonts support allows you to sync your app's typography directly with the canvas.
-- **UI Physics**: Toggle Glassmorphism and adjust border radiuses to match your brand's aesthetic density.
-
-### 📜 Diagram-as-Code (DaC) Second-to-None
-We treat diagrams as data. Whether you're a Mermaid.js power user or prefer a custom DSL, we've got you covered.
-- **Expanded Mermaid Support**: Full fidelity for Flowcharts, State Diagrams, and Subgraphs.
-- **FlowMind DSL**: A human-readable notation designed for rapid prototyping without touching a mouse.
-- **Live Sync**: Visual changes and code changes stay perfectly in sync, offering the best of both worlds.
-
-### 💎 Figma Fidelity Export
-Stop screenshotting! Our "Figma-First" export strategy ensures your diagrams belong in your design files.
-- **Vector Perfection**: Export clean SVGs that maintain stroke precision and rounded corners.
-- **Editable Text**: Labels are exported as native SVG text blocks, meaning you can fix typos directly in Figma without redrawing.
-
-### 🔑 Privacy-First AI (BYOK)
-AI is powerful, but your data is private. Our **Bring Your Own Key** model puts you in control.
-- **Gemini Powered**: Use your own Gemini API key for intelligent diagram generation.
-- **Local Storage**: Your API keys are stored locally in your browser and never touch our servers.
-
-### 🖼️ Image-to-Flowchart (Vision AI)
-Sketch it, scan it, ship it.
-- **Visual Recognition**: Upload a photo of a whiteboard session or napkin sketch.
-- **Instant Conversion**: Our AI analyzes the visual structure and converts it into a fully editable, semantic flowchart in seconds.
-
-### 📦 The Library Ecosystem
-In addition to the standalone editor, we've extracted OpenFlowKit's core into `@openflowkit/core`. This allows developers to embed our state-of-the-art parsers and theming logic into their own applications.
-
----
-
-## 🌟 The Philosophy: Premium & Open
-We believe that open-source tools shouldn't "look" like open-source tools. OpenFlowKit V1 Beta brings the polish of a billion-dollar SaaS product to the open-source community, 100% free under the MIT license.
-
----
-
-## 🛣️ What's Next?
-The V1 Beta is just the beginning. We are working on:
-- **Collaborative Real-Time Editing** (Yjs/WebRTC).
-- **Expanded Component Libraries** for wireframing.
-- **Direct Figma Plugin** integration.
-
----
-
-## ❤️ Get Involved
-OpenFlowKit is built by and for developers.
-- ⭐️ **Star us on GitHub**: Help us reach more developers!
-- 💬 **Join the Discussion**: Share your brand kits and feedback.
-- 🛠️ **Contribute**: Check out the `CONTRIBUTING.md` to help build the future of diagramming.
-
-**Happy Diagramming!**
-*The OpenFlowKit Team*
diff --git a/docs/internal/COMPETITIVE_ANALYSIS.md b/docs/internal/COMPETITIVE_ANALYSIS.md
new file mode 100644
index 0000000..d9aa93e
--- /dev/null
+++ b/docs/internal/COMPETITIVE_ANALYSIS.md
@@ -0,0 +1,273 @@
+# OpenFlowKit — Competitive Analysis + Launch Roadmap
+
+**Last updated:** 2026-03-26
+**Audience:** Founder. Unfiltered.
+**Status:** Rewritten against the current codebase, not old assumptions.
+
+---
+
+## Who We Are Actually Building For
+
+Primary audience:
+- developers
+- technical builders
+- DevRel / technical writers
+- startup teams shipping technical products
+
+Secondary audience:
+- PMs and designers who work closely with technical systems
+
+This matters because our strongest wedge is not "general diagramming for everyone."
+It is:
+
+> **local-first diagramming for builders who need structure, portability, privacy, and AI-assisted workflows**
+
+The product can serve broader users, but the launch story is strongest when we lead with the technical builder use case.
+
+---
+
+## Verified Current State
+
+### Clearly Shipped
+
+These are real in the codebase today:
+
+- Welcome flow with template/import/blank entry points
+- Inline AI key setup in the studio panel
+- Cinematic animated export in the product UI as video and GIF
+- Sequence diagrams with plugin support, Mermaid import/export, property-panel support, and starter template coverage
+- `/view` route and share viewer flow
+- Template system with launch-priority metadata
+- SQL import, Terraform/Kubernetes/Docker Compose infrastructure parsing, Mermaid import/export, OpenFlow JSON document import/export
+- Architecture linting with rule library/templates
+- Playback/presentation system
+- Collaboration beta
+- Figma export and Figma style import
+
+### Shipped But Still Needs Polish
+
+- Welcome flow is better than before, but the builder-first path can still be more explicit.
+- AI setup works, but the local-first / BYOK explanation can still be clearer.
+- Template gallery has strong foundations, but the launch-facing set is still thin relative to the opportunity.
+- Share/embed exists, but the output and promotion surface are still not strong enough.
+- Cinematic export direction is strong, but visual polish and export performance still have room to improve.
+
+### Partially Shipped
+
+- Sequence is no longer missing. It is partially complete and already useful, but still deserves a completion audit before aggressive claims.
+- C4 and network support exist in meaningful form through architecture resource types, starter templates, asset categories, and lint templates, but the breadth is still below dedicated enterprise diagram suites.
+- Local-first persistence is real, but cold-start offline app-shell support is still not defensible.
+
+### Not Shipped Yet
+
+- true offline PWA/app-shell caching
+- larger enterprise-oriented shape breadth
+- scale/performance work specifically for very large diagrams
+- stronger embed preset system for README/card/full share formats
+
+---
+
+## Verified By Code Inspection
+
+### What is actually true right now
+
+| Feature | Status | Notes |
+|---|---|---|
+| Welcome onboarding | ✅ | Builder-oriented starter templates/import prompts are already configured in `src/services/onboarding/config.ts` |
+| Inline AI setup | ✅ | Present in `StudioAIPanel` and wired into the main studio flow |
+| Cinematic export | ✅ | Current animated export path is cinematic-only in the UI |
+| Sequence diagrams | ✅ | Visual node/edge types, property panels, Mermaid export, parser plugin, starter template |
+| C4 architecture support | ✅ partial | Resource types, templates, lint library support exist |
+| Network/infra support | ✅ partial | Network resource types, templates, provider catalogs, infra parsers exist |
+| README/share viewer | ✅ | `/view` route and share modal flow exist |
+| Local-first persistence | ✅ | Stored locally; no server account model required |
+| Full offline cold-start | ❌ | No defensible service-worker app-shell layer yet |
+
+### Important corrections to old assumptions
+
+- Sequence is **not** a missing feature anymore.
+- Animated export is **not** "playback/reveal first" anymore in the product UI. The product now exposes cinematic export.
+- C4 and network support are **not** fully absent. They exist, but are still shallow compared with the eventual target.
+- The product is stronger for technical builders than the old "broad builders" framing admitted.
+
+---
+
+## Competitive Read
+
+### Where we are genuinely strong
+
+1. **AI breadth + privacy**
+We have a wider practical AI surface than most diagram tools, and we do it with a BYOK/local-first posture that is genuinely differentiated.
+
+2. **Export portability**
+PNG, SVG, PDF, Mermaid, PlantUML, JSON/OpenFlow, Figma, and cinematic animated output is an unusually strong export surface.
+
+3. **Structured technical diagram depth**
+ER, architecture, class, state, journey, mindmap, flowchart, and sequence give us a better technical-builder mix than the usual whiteboard-first tools.
+
+4. **Local-first product story**
+No account, no default server storage, portable artifacts, and private workflows are a meaningful wedge.
+
+### Where competitors still feel stronger
+
+1. **Activation and immediate clarity**
+FigJam, Excalidraw, and even Lucidchart feel clearer in the first minute.
+
+2. **Template breadth**
+Lucidchart and draw.io win on sheer catalog volume.
+
+3. **Visual polish**
+We are better than before, but still not at the level where people immediately describe the product as premium or inevitable.
+
+4. **Cold-start offline**
+We can honestly claim local-first persistence. We should not yet over-claim full offline web-app resilience.
+
+---
+
+## Honest Gaps
+
+### Gap 1 — Activation polish
+
+Still the highest-priority product gap.
+
+What remains:
+- make the fastest builder paths even more obvious
+- reduce any ambiguity between template, import, and AI-first starts
+- ensure the first useful artifact happens in under 2 minutes
+
+Why it matters:
+- this directly affects Product Hunt conversion
+- this directly affects Hacker News patience
+- this is more important than adding breadth right now
+
+### Gap 2 — AI setup clarity
+
+The capability is real. The explanation can still be sharper.
+
+What remains:
+- clearer provider guidance
+- clearer local-first / key storage explanation
+- clearer “what to do next” immediately after a key is saved
+
+Why it matters:
+- AI is one of our biggest moats
+- if setup feels unclear, the moat is invisible
+
+### Gap 3 — Sequence completion audit
+
+Sequence is already in the product, but it should be treated as a completion/polish project.
+
+What remains:
+- verify create/edit/export/re-import paths end to end
+- ensure discovery is strong enough from app entry points
+- tighten starter template and documentation support
+
+Why it matters:
+- sequence is highly searched by backend/API users
+- under-claiming a real feature is better than overstating a partial one
+
+### Gap 4 — Share/embed quality
+
+The underlying share system exists. The output is not yet strong enough to become a distribution loop.
+
+What remains:
+- better viewer presets
+- better Markdown/embed snippets
+- more explicit promotion of shareable outputs
+
+Why it matters:
+- this is the bridge from “good product” to “artifacts that spread”
+
+### Gap 5 — Template gallery depth
+
+The system exists. The catalog is the weak point.
+
+What remains:
+- more curated technical-builder templates
+- stronger naming, descriptions, and launch-quality examples
+- a better “first page” of templates for common builder tasks
+
+Why it matters:
+- this improves activation
+- this improves SEO/content capture
+- this reduces blank-canvas friction
+
+### Gap 6 — Offline/PWA defensibility
+
+Current honest statement:
+- local-first persistence: yes
+- works without a backend for many flows: yes
+- guaranteed cold-start offline web app: no
+
+What remains:
+- app-shell caching
+- service-worker strategy
+- removal of remaining cold-start external dependencies from the critical offline path
+
+### Gap 7 — Performance at scale
+
+Current work has improved structure and some export performance, but large-diagram behavior still needs direct profiling and targeted optimization.
+
+What remains:
+- large graph profiling
+- path/render cost reduction
+- export performance follow-up
+
+---
+
+## Outdated Claims Removed
+
+These were stale and should no longer guide planning:
+
+- "Sequence must build from scratch"
+- "Cinematic reveal export needs to be invented"
+- "C4/network are not started at all"
+- "Playback/reveal export menu is the current product surface"
+
+These are no longer true enough to use as roadmap anchors.
+
+---
+
+## Recommended Execution Order
+
+### Next 2 Weeks
+
+1. Activation polish
+2. AI setup clarity
+3. Sequence completion audit
+4. Share/embed preset quality
+5. Template gallery expansion
+
+### After That
+
+1. Offline/PWA hardening
+2. Performance-at-scale work
+3. Broader C4/network depth
+4. Additional enterprise-oriented shape breadth
+
+---
+
+## What I Would Improve In This Doc Later
+
+This version is now a much better source of truth, but it could still improve by adding:
+
+- a stricter scoring table per pending item
+- a launch-only subset versus a post-launch subset
+- explicit owner/scope per item
+- direct links from each roadmap bullet to the code surface that supports it
+
+---
+
+## Bottom Line
+
+The product is stronger than the older roadmap implied.
+
+The biggest remaining work is not "invent major new capability."
+It is:
+
+- finish and sharpen what already exists
+- make the best features easier to discover
+- make the resulting artifacts easier to share
+- only then broaden further
+
+That is a much better position than being early on fundamentals.
diff --git a/docs/tr/ai-generation.md b/docs/tr/ai-generation.md
deleted file mode 100644
index 6a5e6ee..0000000
--- a/docs/tr/ai-generation.md
+++ /dev/null
@@ -1,41 +0,0 @@
-
-
-FlowMind, doğal dili anlayarak yapısal diyagramlara dönüştürmek için Google'ın **Gemini 2.0 Flash** modelinden yararlanır.
-
-## Nasıl Çalışır?
-
-1. **Niyet Analizi**: Yapay zeka, isteminizi analiz ederek *hedefi* (örn. "Giriş Akışı") ve *aktörleri* (Kullanıcı, Sunucu, Veritabanı) anlar.
-2. **Yapısal Üretim**: Düğümleri ve bağlantıları temsil eden geçerli bir FlowMind DSL JSON nesnesi oluşturur.
-3. **Düzen Optimizasyonu**: Motor, oluşturulan grafiğin okunabilir olmasını sağlamak için akıllı düzen algoritmaları uygular.
-
-## İstemler İçin En İyi Uygulamalar
-
-En iyi sonuçları elde etmek için **adımlar** ve **çıktı** hakkında spesifik olun.
-
-### ❌ Çok Belirsiz
-> "Bir sistem diyagramı yap."
-
-### ✅ İyi
-> "Bir e-ticaret platformu için üst düzey sistem mimarisi oluştur. Web Uygulaması, API Ağ Geçidi, Kullanıcı Servisi, Ürün Servisi ve ortak bir PostgreSQL veritabanı içersin."
-
-### ✅ Daha İyi (Süreç Akışı)
-> "Kullanıcı şifre sıfırlama süreci için bir akış diyagramı çiz. 'Kullanıcı şifremi unuttum'a tıklar' ile başla, e-postanın var olup olmadığını kontrol et. Evet ise benzersiz token gönder. Hayır ise hata göster. 'Kullanıcı yeni şifresini girer' ile bitir."
-
-## Yapay Zeka Sonuçlarını Düzenleme
-
-Yapay zeka üretimi bir başlangıç noktasıdır, son nokta değil. Her zaman şunları yapabilirsiniz:
-* Eksik adımları manuel olarak ekleyin.
-* Netlik için düğümleri yeniden adlandırın.
-* Belirli bölümleri yeniden oluşturun (Yakında).
-
-## 🔑 Kendi Anahtarını Getir (BYOK)
-
-FlowMind varsayılan olarak sınırlı kotaya sahip paylaşımlı bir API anahtarı kullanır. Yoğun kullanım, gizlilik veya kendi faturalandırmanızı kullanmak için kendi **Gemini API Anahtarınızı** getirebilirsiniz.
-
-1. **Google AI Studio**'ya gidin ve [API Anahtarı Alın](https://aistudio.google.com/app/apikey).
-2. FlowMind'da **Ayarlar**'ı (Dişli Simgesi) açın veya herhangi bir **Marka Kiti**'ne tıklayın.
-3. **Yapay Zeka** sekmesine gidin.
-4. Anahtarınızı güvenli giriş alanına yapıştırın.
-
-> [!NOTE]
-> Anahtarınız tarayıcınızın `localStorage` alanında yerel olarak saklanır ve sunucularımıza hiçbir zaman gönderilmez. Yalnızca Google'a yapılan istemci taraflı API çağrıları için kullanılır.
diff --git a/docs/tr/ask-flowpilot.md b/docs/tr/ask-flowpilot.md
deleted file mode 100644
index cd31b20..0000000
--- a/docs/tr/ask-flowpilot.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# Flowpilot Asistanına Sor
-
-Bu sayfa, `DocsPage.tsx` içindeki AI Asistan bileşeni tarafından dinamik olarak değiştirilir. Bu dosya yalnızca Vite dinamik glob içe aktarıcısını ve yönlendirme mantığını karşılamak için mevcuttur.
diff --git a/docs/tr/canvas-basics.md b/docs/tr/canvas-basics.md
deleted file mode 100644
index 1d05751..0000000
--- a/docs/tr/canvas-basics.md
+++ /dev/null
@@ -1,26 +0,0 @@
-
-FlowMind tuvali sonsuz, etkileşimli bir çalışma alanıdır. Etkin biçimde gezinmek ve kullanmak için aşağıdaki rehberi inceleyin.
-
-## Gezinti
-
-* **Kaydırma**: Belirli fare eylemi (örn. Boşluk Tuşu + Sürükle veya Orta Tıklama + Sürükle) tuval görünümünü taşır.
-* **Yakınlaştırma**: Fare tekerleğini kullanarak yakınlaştırın ve uzaklaştırın.
-* **Görünüme Sığdır**: Tüm düğümleri görünüme sığdırmak için \`Shift + 1\` tuşlarına basın.
-
-## Düğüm İşlemleri
-
-### Düğüm Seçme
-* **Tekli Seçim**: Bir düğüme tıklayın.
-* **Çoklu Seçim**: \`Shift\` tuşunu basılı tutarak birden fazla düğüme tıklayın veya etraflarına bir seçim kutusu çizmek için tıklayıp sürükleyin.
-
-### Kopyalama
-Bir veya daha fazla düğümü seçin ve kopyalamak için \`Cmd + D\` (Mac) veya \`Ctrl + D\` (Windows) tuşlarına basın.
-
-### Silme
-Düğümleri seçin ve \`Backspace\` veya \`Delete\` tuşuna basın.
-
-## Mini Harita
-
-Sağ alt köşedeki Mini Harita, tüm akışınıza genel bir bakış sunar. Büyük diyagramlarda hızlıca gezinmek için mini haritanın içindeki görünüm kutusunu sürükleyebilirsiniz.
-
-[YER TUTUCU: Çağrı açıklamalarıyla Tuval Arayüzü görseli]
diff --git a/docs/tr/command-center.md b/docs/tr/command-center.md
deleted file mode 100644
index 7e89bdf..0000000
--- a/docs/tr/command-center.md
+++ /dev/null
@@ -1,27 +0,0 @@
-Komut Merkezi, ekranın alt kısmındaki kayan araç çubuğudur. FlowMind'ın "klavye öncelikli" iş akışının kalbidir.
-
-> [!NOTE]
-> Komut Merkezini istediğiniz zaman `Cmd + K` (Mac) veya `Ctrl + K` (Windows) tuşlarına basarak açabilirsiniz.
-
-## Özellikler
-
-### 1. Şablonlar
-Sıfırdan başlamayın. Önceden hazırlanmış diyagram kütüphanesine erişin:
-* AWS Mimari Şablonları
-* Kullanıcı Yolculuğu Haritaları
-* Veritabanı Şemaları
-* Organizasyon Şemaları
-
-### 2. Tasarım Sistemi / Görseller
-Diyagramınızı zenginleştirmek için varlık kütüphanesine erişin:
-* **Tel Çerçeveler**: Hızlı taslaklar oluşturmak için düşük kaliteli UI bileşenlerini (Düğmeler, Girişler, Modaller) sürükleyip bırakın.
-* **İkonlar**: Herhangi bir ikonu bağımsız bir düğüm olarak arayın ve ekleyin.
-
-### 3. Yapay Zeka Copilot
-Komut Merkezindeki metin girişi, yapay zeka motorumuza doğrudan bağlantınızdır. Ne oluşturmak istediğinizi yazın ve `Enter` tuşuna basarak anında oluşturun.
-
-### 4. Düzen ve Araçlar
-Yardımcı işlevlere hızlıca erişin:
-* **Otomatik Düzen**: Karmaşıklığı düzenleyin.
-* **Görünümü Sıfırla**: Merkeze geri dönün.
-* **Kodu Biçimlendir**: DSL'nizi düzenleyin.
diff --git a/docs/tr/exporting.md b/docs/tr/exporting.md
deleted file mode 100644
index 9a0032f..0000000
--- a/docs/tr/exporting.md
+++ /dev/null
@@ -1,46 +0,0 @@
-FlowMind, diyagramlarınızı sunumlarda, belgelerde veya diğer harici araçlarda kullanmanıza yardımcı olmak için geniş bir dışa aktarma seçenekleri yelpazesi sunar.
-
-> [!TIP]
-> Tüm dışa aktarma seçeneklerine araç çubuğunun sağ üst köşesindeki **"Dışa Aktar"** düğmesinden ulaşabilirsiniz.
-
-## Görsel Dışa Aktarma
-
-Slaytlar, belgeler veya Slack'te paylaşmak için idealdir.
-
-### PNG (Taşınabilir Ağ Grafikleri)
-Mevcut akışınızın yüksek çözünürlüklü, piksel tabanlı bir görselini dışa aktarır.
-* **En İyi Kullanım**: Slaytlar, Web, Genel Paylaşım.
-* **Ayarlar**: Ayarlarda etkinleştirilmişse varsayılan olarak şeffaflık içerir.
-
-### JPEG (Ortak Fotoğrafçılık Uzmanları Grubu)
-Sıkıştırılmış bir görsel dosyası dışa aktarır.
-* **En İyi Kullanım**: E-posta ekleri, dosya boyutunun önemli olduğu durumlar.
-* **Not**: Şeffaflığı desteklemez (arka plan beyaz olacaktır).
-
-## Veri ve Kod Dışa Aktarma
-
-FlowMind bir "Kod Olarak Diyagram" aracıdır; bu nedenle diyagram verilerinizi birinci sınıf vatandaş olarak ele alıyoruz.
-
-### JSON (FlowMind Yerel Formatı)
-Tüm düğüm konumlarını, stillerini ve verilerini içeren ham `.json` dosyasını indirir.
-* **En İyi Kullanım**: Yedekleme, Sürüm Kontrolü, Diğer FlowMind kullanıcılarıyla düzenlenebilir dosya paylaşımı.
-
-### FlowMind DSL
-Basitleştirilmiş Alan Spesifik Dil (DSL) temsilini panonuza kopyalar.
-* **En İyi Kullanım**: Diyagram mantığını kod tabanı yorumlarında saklamak veya yapay zeka aracılığıyla benzer akışlar oluşturmak.
-
-### Mermaid.js
-Mevcut diyagramınızı [Mermaid](https://mermaid.js.org/) sözdizimine dönüştürür ve panoya kopyalar.
-* **En İyi Kullanım**: GitHub `README.md` dosyalarına, Notion veya Obsidian'a diyagram gömme.
-* **Desteklenen**: Temel Akış Şemaları, Sekans Diyagramları.
-
-### PlantUML
-Diyagramınızın PlantUML temsilini kopyalar.
-* **En İyi Kullanım**: Kurumsal wikiler (Confluence) veya eski dokümantasyon sistemleri.
-
-### Figma
-Figma'nın yapıştırma formatıyla uyumlu bir vektör temsilini kopyalar.
-* **En İyi Kullanım**: Yüksek kaliteli parlatma için diyagramları tasarımcılara teslim etme.
-
-> [!WARNING]
-> Figma dışa aktarma deneyseldir. Karmaşık özel düğümler %100 mükemmel aktarılmayabilir.
diff --git a/docs/tr/introduction.md b/docs/tr/introduction.md
deleted file mode 100644
index 1beaf01..0000000
--- a/docs/tr/introduction.md
+++ /dev/null
@@ -1,34 +0,0 @@
-**OpenFlowKit**, yapay zeka destekli görselleştirme ile hassas, kod tabanlı düzenleme arasındaki boşluğu dolduran yeni nesil bir diyagram aracıdır. Geliştiriciler, mimarlar ve ürün yöneticileri için tasarlanan OpenFlowKit, doğal dil veya özel DSL'imizi kullanarak karmaşık akış şemaları, sıra diyagramları ve sistem mimarileri oluşturmanıza olanak tanır.
-
-## Neden OpenFlowKit?
-
-Geleneksel diyagram araçları genellikle şu seçenekler arasında tercih yapmaya zorlar:
-1. **Sürükle-bırak araçları**: Başlamak kolay, ancak sürdürmesi ve versiyon kontrolü zor.
-2. **Kod tabanlı araçlar (Mermaid gibi)**: Versiyon kontrolü için harika, ancak sıfırdan yazmak zahmetli olabilir.
-
-OpenFlowKit size her iki dünyanın en iyisini sunar. Bir metin istemiyle başlangıç yapısını oluşturabilir, ardından **Hibrit Editörümüzü** kullanarak düzenleyebilirsiniz—düğümleri tuval üzerinde görsel olarak manipüle edebilir *veya* altta yatan kodu doğrudan düzenleyebilirsiniz.
-
-## Temel Özellikler
-
-### Yapay Zeka Destekli Üretim
-Sisteminizi basitçe tanımlayın: *"OAuth yedekli ve hata işlemeli bir giriş akışı oluştur."* OpenFlowKit'in Gemini entegrasyonu tüm diyagramı anında oluşturur.
-
-### Hibrit Tuval
-Tuvalimiz sadece statik bir görüntü değil. Tamamen etkileşimli bir grafik ortamıdır.
-* **Sürükle & Bırak**: Düğümleri taşıyın, otomatik hizalama.
-* **Akıllı Düzenler**: Elk.js kullanarak tek tıkla yeniden düzenleme.
-* **Özellikler Paneli**: CSS'e dokunmadan belirli düğüm stillerini ince ayarlayın.
-
-### Kod Olarak Diyagram
-Her diyagram okunabilir, düzenlenebilir bir JSON yapısı ile desteklenir ve Mermaid.js sözdizimi ile uyumludur. Bu, dokümantasyonunuzun kodunuzla birlikte yaşayabileceği anlamına gelir.
-
-### Premium Estetik
-"Önce Tasarım" yaklaşımıyla oluşturulan OpenFlowKit diyagramları varsayılan olarak sunum için hazırdır. Artık çirkin, varsayılan gri kutular yok.
-
-## Sonraki Adımlar
-
-Başlamaya hazır mısınız?
-
-* İlk akışınızı oluşturmak için [Hızlı Başlangıç](/docs/tr/quick-start) kılavuzuna göz atın.
-* [Tuval Temelleri](/docs/tr/canvas-basics) hakkında bilgi edinin.
-* [OpenFlow DSL](/docs/tr/openflow-dsl)'de ustalaşın.
diff --git a/docs/tr/keyboard-shortcuts.md b/docs/tr/keyboard-shortcuts.md
deleted file mode 100644
index a577f78..0000000
--- a/docs/tr/keyboard-shortcuts.md
+++ /dev/null
@@ -1,30 +0,0 @@
-
-İş akışınızı hızlandırmak için bu klavye kısayollarıyla FlowMind'ı ustalıkla kullanın.
-
-## Genel
-
-| Eylem | MacOS | Windows/Linux |
-| :--- | :--- | :--- |
-| **Komut Paleti** | \`Cmd + K\` | \`Ctrl + K\` |
-| **Kaydet** | \`Cmd + S\` | \`Ctrl + S\` |
-| **Geri Al** | \`Cmd + Z\` | \`Ctrl + Z\` |
-| **Yeniden Yap** | \`Cmd + Shift + Z\` | \`Ctrl + Shift + Z\` |
-
-## Tuval Gezintisi
-
-| Eylem | MacOS | Windows/Linux |
-| :--- | :--- | :--- |
-| **Yakınlaştır** | \`+\` | \`+\` |
-| **Uzaklaştır** | \`-\` | \`-\` |
-| **Görünüme Sığdır** | \`Shift + 1\` | \`Shift + 1\` |
-
-## Düzenleme
-
-| Eylem | MacOS | Windows/Linux |
-| :--- | :--- | :--- |
-| **Düğümü Kopyala** | \`Cmd + D\` veya \`Alt + Sürükle\` | \`Ctrl + D\` veya \`Alt + Sürükle\` |
-| **Düğümü Sil** | \`Backspace\` | \`Backspace\` |
-| **Tümünü Seç** | \`Cmd + A\` | \`Ctrl + A\` |
-| **Seçimi Grupla** | \`Cmd + G\` | \`Ctrl + G\` |
-
-> **Not:** Kısayollar yalnızca tuval odakta iken aktiftir.
diff --git a/docs/tr/mermaid-integration.md b/docs/tr/mermaid-integration.md
deleted file mode 100644
index 05b892c..0000000
--- a/docs/tr/mermaid-integration.md
+++ /dev/null
@@ -1,30 +0,0 @@
-FlowMind, kod olarak diyagram için endüstri standardı olan [Mermaid.js](https://mermaid.js.org/) ile yüksek uyumluluk sağlar.
-
-## Mermaid İçe Aktarma
-
-Mevcut Mermaid kodunu doğrudan FlowMind'a yapıştırabilirsiniz.
-
-1. Araç çubuğundaki **"İçe Aktar"** düğmesine tıklayın.
-2. **"Mermaid"** seçeneğini seçin.
-3. Kod parçacığınızı yapıştırın.
-
-### Desteklenen Diyagram Türleri
-FlowMind şu an için aşağıdakileri optimize etmektedir:
-* **Akış Şemaları** (`graph TD`, `graph LR`)
-* **Sekans Diyagramları** (Dönüşüm yoluyla kısmi destek)
-
-```mermaid
-graph TD
- A[Başlat] --> B{Çalışıyor mu?}
- B -- Evet --> C[Harika!]
- B -- Hayır --> D[Hata Ayıkla]
-```
-
-## Mermaid'e Dışa Aktarma
-
-Herhangi bir FlowMind diyagramını Mermaid sözdizimine *geri* aktarabilirsiniz.
-Bu özellik, GitHub `README.md` dosyalarına veya Notion belgelerine diyagram gömmek için idealdir.
-
-1. **Kod Paneli**'ni açın (alt panel).
-2. **"Mermaid"** sekmesine geçin.
-3. Oluşturulan kodu kopyalayın.
diff --git a/docs/tr/node-types.md b/docs/tr/node-types.md
deleted file mode 100644
index a3b7881..0000000
--- a/docs/tr/node-types.md
+++ /dev/null
@@ -1,31 +0,0 @@
-
-FlowMind, farklı diyagram ihtiyaçlarını karşılamak için çeşitli özel düğüm türlerini destekler.
-
-## 1. Özel Düğüm (Varsayılan)
-
-Diyagramlarınızın temel yapı taşı. Başlık, isteğe bağlı ikon ve zengin bağlantı tutamaçlarını destekler.
-* **En İyi Kullanım**: Süreç adımları, servisler, veritabanı tabloları veya genel varlıklar.
-* **Özellikler**: Yeniden boyutlandırılabilir, düzenlenebilir etiket, ikon desteği.
-
-## 2. Metin Düğümü / Açıklama
-
-Akış yapısını etkilemeden tuvale yorum veya etiket eklemek için kullanılan hafif, kenarsız bir düğüm.
-* **En İyi Kullanım**: Yapışkan notlar, bölüm başlıkları veya açıklayıcı metin ekleme.
-* **Kullanım**: Araç çubuğundan "Metin" seçin veya \`T\` tuşuna basın.
-
-## 3. Grup Düğümü
-
-Diğer düğümleri görsel olarak bir arada tutan kapsayıcı düğümler. Bir grubu taşımak, içindeki tüm düğümleri de taşır.
-* **En İyi Kullanım**: Alt sistemleri, VPC'leri veya mantıksal sınırları görselleştirme.
-* **Kullanım**: Düğümleri seçin → Sağ Tıklayın → "Seçimi Grupla".
-
-## 4. Yüzme Şeridi Düğümü
-
-Süreçleri aktöre veya departmana göre düzenlemek için dikey veya yatay şeritler.
-* **En İyi Kullanım**: Çok işlevli akış şemaları.
-
-## 5. Görsel Düğümü
-
-İsteğe bağlı görselleri doğrudan tuvale yerleştirin.
-* **En İyi Kullanım**: Logo, ekran görüntüsü veya referans diyagramı ekleme.
-* **Kullanım**: Bir görsel dosyasını doğrudan tuvalin üzerine sürükleyip bırakın.
diff --git a/docs/tr/openflow-dsl.md b/docs/tr/openflow-dsl.md
deleted file mode 100644
index d01ee91..0000000
--- a/docs/tr/openflow-dsl.md
+++ /dev/null
@@ -1,398 +0,0 @@
-# 🧠 FlowMind DSL Sözdizimi Rehberi (V2)
-
-FlowMind, diyagramları metin kullanarak tanımlamak için temiz, insan tarafından okunabilir bir DSL kullanır.
-Sürüm 2 şunları sunar:
-
-* Açık düğüm kimlikleri
-* Stil özellikleri
-* Gruplar / kapsayıcılar
-* Kenar özelleştirmesi
-
----
-
-# 1️⃣ Belge Başlığı
-
-Her DSL dosyası isteğe bağlı meta verilerle başlayabilir:
-
-```yaml
-flow: "Harika İş Akışım"
-direction: TB
-```
-
-### Alanlar
-
-| Alan | Açıklama |
-| ----------- | -------------------------------------------------------------- |
-| `flow` | Diyagramın başlığı |
-| `direction` | Düzen yönü: `TB` (Yukarıdan Aşağıya) veya `LR` (Soldan Sağa) |
-
----
-
-# 2️⃣ Düğümler
-
-Düğümler diyagram öğelerini tanımlar.
-
-## Temel Sözdizimi
-
-```
-[start] Süreci Başlat
-[process] İsteği İşle
-[end] Süreci Sonlandır
-```
-
----
-
-## Açık Kimliklerle
-
-Özellikle büyük akışlarda netlik için kullanışlıdır.
-
-```
-[start] start: Süreci Başlat
-[process] proc1: İsteği İşle
-[end] end: Süreci Sonlandır
-
-start -> proc1
-proc1 -> end
-```
-
----
-
-## Özelliklerle
-
-Özellikler JSON benzeri sözdizimi kullanır:
-
-```
-[process] p1: Kritik Adım { color: "red", icon: "alert-triangle" }
-[system] db: Veritabanı { icon: "database" }
-```
-
-### Özellik Örnekleri
-
-| Özellik | Amaç |
-| --------- | --------------------- |
-| `color` | Düğüm rengini geçersiz kıl |
-| `icon` | İkon ekle |
-| `style` | Özel stil değiştirici |
-
----
-
-## Desteklenen Düğüm Türleri
-
-| DSL Türü | Şekil | Varsayılan Renk |
-| ----------- | ----------------- | ------------- |
-| `start` | Kapsül | Zümrüt |
-| `end` | Kapsül | Kırmızı |
-| `process` | Yuvarlak dikdörtgen | Arduvaz |
-| `decision` | Elmas | Amber |
-| `system` | Özel düğüm | Mor |
-| `note` | Yapışkan not | Sarı |
-| `section` | Grup kapsayıcısı | Mavi |
-| `container` | Genel grup | Gri |
-
-Bir düğüm bağlantıda referans alınır ancak tanımlanmazsa varsayılan olarak `process` kullanılır.
-
----
-
-# 3️⃣ Kenarlar (Bağlantılar)
-
-Bağlantılar düğümler arasındaki akışı tanımlar.
-
-## Temel Bağlantı
-
-```
-Süreci Başlat -> İsteği İşle
-```
-
----
-
-## Kenar Türleri
-
-| Sembol | Anlam |
-| ------ | ----------- |
-| `->` | Düz çizgi |
-| `-->` | Kavisli çizgi |
-| `..>` | Kesik çizgi |
-| `==>` | Kalın çizgi |
-
-Örnek:
-
-```
-A ..> B
-C ==> D
-```
-
----
-
-## Etiketli Bağlantılar
-
-Pipe karakterleri kullanın:
-
-```
-Geçerli mi? ->|Evet| Veriyi Kaydet
-Geçerli mi? ->|Hayır| Hata Döndür
-```
-
----
-
-## Kenar Özellikleri
-
-```
-A -> B { style: "dashed", label: "Async" }
-```
-
----
-
-# 4️⃣ Gruplar
-
-Düğümleri kümelemek için `group` kullanın.
-
-```
-group "Backend Servisleri" {
- [process] api: API Sunucusu
- [system] db: Veritabanı
- api -> db
-}
-```
-
-Gruplar mantıksal alanları görsel olarak ayırmaya yardımcı olur.
-
----
-
-# 5️⃣ Yorumlar
-
-`#` ile başlayan satırlar yoksayılır.
-
-```
-# Bu bir yorumdur
-[start] Başla
-```
-
----
-
-# ✅ Tam Örnek
-
-```yaml
-flow: "Kullanıcı Giriş Akışı"
-direction: TB
-
-# Düğümleri Tanımla
-[start] user: Kullanıcı
-[process] login: Giriş Sayfası { icon: "log-in" }
-
-group "Kimlik Doğrulama" {
- [system] auth: Auth Servisi
- [decision] check: Geçerli mi?
-}
-
-[end] dash: Gösterge Paneli
-[end] err: Hata
-
-# Mantığı Tanımla
-user -> login
-login -> auth
-auth -> check
-
-check ->|Evet| dash { color: "green" }
-check ->|Hayır| err { color: "red", style: "dashed" }
-```
-
----
-
-# 🤖 LLM Ajan İstem Şablonu
-
-Bir LLM ajanı kullanarak FlowMind DSL oluşturmak isteyenler aşağıdaki istemi kullanabilir:
-
----
-
-## LLM için Kopyala-Yapıştır İstemi
-
-```
-Sen uzman bir FlowMind DSL V2 oluşturucususun.
-
-Görevin, kullanıcının iş akışı açıklamasını geçerli FlowMind DSL'ye dönüştürmektir.
-
-Aşağıda tanımlanan FlowMind DSL V2 spesifikasyonunu kesinlikle takip etmelisin.
-
-========================================
-FLOWMIND DSL V2 SPESİFİKASYONU
-========================================
-
-1. BELGE BAŞLIĞI (Zorunlu)
-
-Her çıktı şununla başlamalıdır:
-
-flow: "Başlık Buraya"
-direction: TB veya LR
-
-Kurallar:
-- Her zaman anlamlı bir başlık oluştur.
-- Kullanıcı açıkça yatay düzen belirtmediği sürece TB'yi varsayılan olarak kullan.
-
-----------------------------------------
-
-2. DÜĞÜM TANIMLAMA KURALLARI
-
-Düğüm sözdizimi:
-
-[tür] kimlik: Etiket { isteğe_bağlı_özellikler }
-
-Örnek:
-[process] p1: İsteği İşle
-[decision] d1: Geçerli mi? { icon: "help-circle" }
-
-Kurallar:
-- HER ZAMAN açık kimlikler kullan.
-- Kimlikler kısa, küçük harf ve boşluksuz olmalıdır.
-- Kimlikler benzersiz olmalıdır.
-- Anlamlı isimler kullan (start, login, checkAuth, db, vb.).
-- Etiketleri kimlik olarak KULLANMA.
-- Düğüm tanımlamalarını ATLAMA.
-
-Bir düğüm bağlantıda referans alınıyorsa önce tanımlanmış OLMALIDIR.
-
-----------------------------------------
-
-3. DESTEKLENEN DÜĞÜM TÜRLERİ
-
-YALNIZCA bu türleri kullan:
-
-start
-end
-process
-decision
-system
-note
-section
-container
-
-Kılavuz:
-
-start → akışın başlangıcı
-end → bitiş durumları
-process → eylemler veya adımlar
-decision → dallanma mantığı
-system → harici sistem/servis/veritabanı
-note → açıklamalar
-section → ana gruplu alan
-container → genel gruplama
-
-----------------------------------------
-
-4. DÜĞÜM ÖZELLİKLERİ (İsteğe Bağlı)
-
-Özellikler JSON benzeri sözdizimi kullanır:
-
-{ color: "red", icon: "database", style: "dashed" }
-
-Kurallar:
-- Özelliği yalnızca anlamlıysa ekle.
-- Stili minimal tut.
-- Desteklenmeyen özellikler uydurma.
-
-----------------------------------------
-
-5. KENARLAR (BAĞLANTILAR)
-
-Temel sözdizimi:
-kimlik1 -> kimlik2
-
-Kenar türleri:
--> düz
---> kavisli
-..> kesik
-==> kalın
-
-Etiketli kenarlar:
-kimlik1 ->|Evet| kimlik2
-
-Özellikli kenar:
-kimlik1 -> kimlik2 { label: "Async", style: "dashed" }
-
-Kurallar:
-- Her zaman etiket değil kimlik kullanarak bağlan.
-- Karar düğümleri etiketli kenarlar KULLANMALIDIR.
-- Karardan gelen her dal açık olmalıdır.
-- Yalnız düğüm bırakma.
-
-----------------------------------------
-
-6. GRUPLAR
-
-Mantıksal kümeleme mevcutsa gruplama kullan.
-
-Sözdizimi:
-
-group "Grup Adı" {
- düğüm tanımlamaları
- iç bağlantılar
-}
-
-Kurallar:
-- Gruplar yalnızca ilgili düğümleri kapsamalıdır.
-- Gruplar arası bağlantılar grup bloğunun dışında tanımlanmalıdır.
-
-----------------------------------------
-
-7. YORUMLAR
-
-Yorumlar için # kullan; aşırıya kaçma.
-Aşırı yorum yapma.
-
-----------------------------------------
-
-8. ÇIKTI KURALLARI (KATI)
-
-ZORUNLU:
-
-- YALNIZCA geçerli FlowMind DSL çıktısı üret
-- Açıklama YAPMA
-- Markdown biçimlendirmesi KULLANMA
-- Kod bloğuna SARMA
-- Yorum EKLEMEema
-- Ne yaptığını AÇIKLAMA
-- DSL dışında hiçbir şey ÇIKARMAK
-
-Kullanıcı açıklaması belirsizse:
-- Makul varsayımlar yap
-- Mantıklı yapı seç
-- Akışı temiz ve okunabilir tut
-
-========================================
-MANTIK DÖNÜŞÜM STRATEJİSİ
-========================================
-
-Kullanıcı girdisini dönüştürürken:
-
-1. Belirle:
- - Başlangıç olayı
- - Bitiş durumları
- - Eylemler
- - Kararlar
- - Harici sistemler
- - Mantıksal kümeler
-
-2. Dönüştür:
- - Olaylar → start / end
- - Eylemler → process
- - Dallanma → decision
- - Veritabanları/API'ler → system
- - Paralel mantık → ayrı dallar
- - Hata yolları → açık end düğümleri
-
-3. Sağla:
- - Her yol bir uca ulaşır
- - Yalnız düğüm yok
- - Temiz mantıksal okunabilirlik
-
-========================================
-KULLANICI İSTEĞİ
-========================================
-
-Aşağıdaki iş akışı açıklamasını FlowMind DSL V2'ye dönüştür:
-
-{{KULLANICI_İŞ_AKIŞI_AÇIKLAMASI}}
-
-DSL'yi şimdi oluştur.
-```
-
----
diff --git a/docs/tr/playback-history.md b/docs/tr/playback-history.md
deleted file mode 100644
index bdaf215..0000000
--- a/docs/tr/playback-history.md
+++ /dev/null
@@ -1,17 +0,0 @@
-
-FlowMind, yaptığınız her değişikliği otomatik olarak izler. **Oynatma** özelliği, karar sürecinizi gözden geçirmek için zamanda geriye gitmenizi sağlar.
-
-## Geçmiş Zaman Çizelgesi
-
-Geçmiş Zaman Çizelgesini açmak için üst gezinme çubuğundaki **Saat İkonuna** tıklayın.
-
-### Sürüm Kontrol Noktaları
-Önemli bir eylem gerçekleştirdiğinizde (düğüm ekleme, renk değiştirme, otomatik düzen) her seferinde bir "anlık görüntü" kaydedilir.
-* **Geri Al/Yeniden Yap**: Aynı sistemi kullanarak ileri geri atlar (`Cmd+Z`).
-
-## Oynatma Modu
-
-Diyagramınızın baştan sona inşa edildiğini izlemek için Geçmiş panelindeki **Oynat** düğmesine basın.
-* **Hız Kontrolü**: Oynatma hızını ayarlayın (1x, 2x, 4x).
-* **Kaydırma**: Sürgüyü belirli noktalara sürükleyin.
-* **Geri Yükle**: Daha eski bir sürümü beğendiniz mi? Tuvali o duruma mükemmel biçimde geri döndürmek için "Geri Yükle"ye tıklayın.
diff --git a/docs/tr/properties-panel.md b/docs/tr/properties-panel.md
deleted file mode 100644
index 623dabe..0000000
--- a/docs/tr/properties-panel.md
+++ /dev/null
@@ -1,24 +0,0 @@
-
-Özellikler Paneli, bireysel düğümleri özelleştirmek için kontrol merkezinizdir. Bir düğüm seçtiğinizde ekranın sağ tarafında görünür.
-
-## Düğüm Özelleştirme
-
-### Etiket Düzenleme
-Herhangi bir düğümü doğrudan panelden yeniden adlandırabilirsiniz. Etiket, tuval üzerinde gerçek zamanlı olarak güncellenir.
-
-### Görsel Stil
-Diyagramlarınızı özel stillerle öne çıkarın:
-* **Renkler**: Anlamlı renk paletinden seçim yapın (Tehlike için Kırmızı, Başarı için Yeşil vb.).
-* **İkonlar**: Anında tanınabilir hale getirmek için herhangi bir düğüme ikon ekleyin. Tam Lucide React ikon kütüphanesini destekliyoruz.
-* **Çizgi Stili**: `Düz` ve `Kesik` kenarlıklar arasında geçiş yapın (geçici veya gelecekteki durumları temsil etmek için harikadır).
-
-### Düzen ve Boyutlandırma
-* **Genişlik/Yükseklik**: Piksel mükemmeliyetinde hizalama için boyutları manuel olarak ayarlayın.
-* **Konum**: Tam X/Y koordinatlarını görüntüleyin ve düzenleyin.
-
-## Toplu Düzenleme
-
-> [!TIP]
-> Hepsini aynı anda düzenlemek için birden fazla düğümü seçebilirsiniz (`Shift + Tıklama`)!
-
-Birden fazla düğüm seçildiğinde, Özellikler Paneli değişiklikleri (renk veya ikon gibi) **tüm** seçili düğümlere uygular.
diff --git a/docs/tr/quick-start.md b/docs/tr/quick-start.md
deleted file mode 100644
index af8ff48..0000000
--- a/docs/tr/quick-start.md
+++ /dev/null
@@ -1,38 +0,0 @@
-Bu kılavuz, OpenFlowKit'te 2 dakikadan kısa sürede ilk diyagramınızı oluşturmanıza yardımcı olacaktır.
-
-## 1. Yeni Bir Akış Oluşturun
-
-Kontrol Panelinden **"Yeni Oluştur"** düğmesine tıklayın (veya \`Cmd+N\` tuşuna basın). Temiz bir tuvale yönlendirileceksiniz.
-
-## 2. Yapay Zeka Üretimini Kullanma
-
-Başlamanın en hızlı yolu bir istemle başlamaktır.
-
-1. Ekranın alt kısmındaki komut çubuğunu bulun.
-2. Akışınızın bir açıklamasını yazın.
- * *Örnek:* "E-posta doğrulama ve veritabanı kontrolleri içeren bir kullanıcı kayıt akışı oluştur."
-3. \`Enter\` tuşuna basın.
-
-OpenFlowKit sizin için eksiksiz bir diyagram yapısı oluşturacaktır.
-
-## 3. Düğümleri Düzenleme
-
-Oluşturulduktan sonra diyagramı iyileştirebilirsiniz:
-
-* **Taşı**: Herhangi bir düğümü yeniden konumlandırmak için tıklayın ve sürükleyin.
-* **Metni Düzenle**: Etiketini değiştirmek için bir düğüme çift tıklayın.
-* **Bağla**: Bir düğümü başka bir düğüme bağlamak için düğüm kenarındaki tutamaclardan (noktalar) sürükleyin.
-
-## 4. Akıllı Düzen Kullanma
-
-Diyagramınız karmaşıklaşırsa, üst araç çubuğundaki **"Otomatik Düzen"** düğmesine tıklayın. OpenFlowKit, düğümlerinizi temiz bir hiyerarşi içinde otomatik olarak düzenlemek için ELK düzen motorunu kullanır.
-
-## 5. Dışa Aktarma
-
-Akışınızdan memnun kaldığınızda:
-
-1. Sağ üstteki **Dışa Aktar** düğmesine tıklayın.
-2. Formatınızı seçin (PNG, SVG veya JSON).
-3. Dosyanızı indirin.
-
-[YER TUTUCU: Oluşturma sürecini gösteren GIF]
diff --git a/docs/tr/roadmap.md b/docs/tr/roadmap.md
deleted file mode 100644
index 26c4df6..0000000
--- a/docs/tr/roadmap.md
+++ /dev/null
@@ -1,69 +0,0 @@
-# 🗺️ OpenFlowKit Ürün Yol Haritası
-
-Açık kaynaklı, beyaz etiketli diyagramlama için standartı oluşturuyoruz. Bu yol haritası **OpenFlowKit**'in geleceğine yönelik vizyonumuzu özetlemektedir.
-
-> **Not**: Bu yaşayan bir belgedir. Öncelikler topluluk geri bildirimlerine göre değişebilir.
-
----
-
-## 🚀 Ç3 2026: Yapay Zeka Genişlemesi (v1.2)
-*Odak: Diyagram oluşturmayı daha akıllı, daha hızlı ve daha çok yönlü hale getirmek.*
-
-### 🧠 Çok Modelli Yapay Zeka Desteği
-Tek bir sağlayıcıyla sınırlı kalmayın. Tüm büyük LLM'ler için "Kendi Anahtarını Getir" modelini destekleyeceğiz:
-- **Anthropic Claude 3.5 Sonnet**: Karmaşık sistem mimarisi diyagramları için optimize edilmiş.
-- **OpenAI GPT-4o**: İş mantığı akışları için hızlı, muhakeme ağırlıklı üretim.
-- **Yerel LLM'ler (Ollama)**: %100 çevrimdışı, hava boşluklu diyagram oluşturma için Llama 3 veya Mistral'ı yerel olarak çalıştırın.
-
-### ⚡ Gerçek Zamanlı "Copilot" Modu
-- **Akışlar için Otomatik Tamamlama**: Bir düğümü sürüklerken yapay zeka, mevcut grafik bağlamınıza dayanarak en mantıklı 3 sonraki adımı önerir.
-- **Akıllı Yeniden Düzenleme**: Karmaşık düğümleri seçin ve yapay zekadan "Düzeni Optimize Et" veya "Alt Gruba Grupla" isteyin.
-
----
-
-## 🤝 Ç4 2026: İş Birliği ve Ekipler (v2.0)
-*Odak: Bireysel bir geliştirici aracını ekip gücü merkezine dönüştürmek.*
-
-### 👥 Gerçek Zamanlı Çok Oyunculu
-- **Canlı İmleçler**: Takım arkadaşlarınızın nereye baktığını görün.
-- **Çakışmasız Düzenleme**: Sorunsuz iş birlikçi oturumlar için **Yjs** ve CRDT'lerle desteklenir.
-- **Varlık**: "Bu akışta kim var?" göstergeleri.
-
-### 💬 Bağlamsal Yorumlar
-- Yorumları doğrudan düğümlere veya kenarlara sabitleyin.
-- Diyagram içindeki görevlere takım üyelerini @etiketle.
-- Uygulamayı tamamladıkça konuları çözüme kavuşturun.
-
-### 💾 Bulut Kalıcılık Adaptörü
-- PostgreSQL/Supabase'e akış kaydetmek için isteğe bağlı referans uygulaması.
-- Yüzlerce diyagramı düzenlemek için "Proje" görünümü.
-
----
-
-## 🛠️ 2027: Platform Dönemi (v3.0)
-*Odak: Geliştirici ekosistemine derin entegrasyon.*
-
-### 🔌 IDE Uzantıları
-- **VS Code Uzantısı**: Premium GUI'mizle `.flow` veya `.mermaid` dosyalarını doğrudan VS Code içinde düzenleyin.
-- **IntelliJ / JetBrains Eklentisi**: Java/Kotlin ekosistemi diyagramları için yerel destek.
-
-### 🎨 Gelişmiş Tasarım Sistemi
-- **Figma Senkronizasyonu**: İki yönlü senkronizasyon. Değişiklikleri Figma'dan OpenFlowKit'e ve tersine aktarın.
-- **Özel React Düğümleri**: Geliştiricilerin bir düğüm içinde *herhangi bir* React bileşenini (Grafikler, Veri Tabloları, Videolar) oluşturmasına olanak tanıyan eklenti API'si.
-
-### 📊 Veri Odaklı Diyagramlar
-- **Canlı Metrikler**: Düğüm renklerini/boyutlarını gerçek zamanlı API verilerine bağlayın (örn. Sunucu Sağlığı görselleştirmesi).
-- **SQL'den ERD'ye**: Veritabanınıza bağlanın ve Varlık İlişki Diyagramını otomatik olarak oluşturun.
-
----
-
-## 💡 Topluluk İstek Listesi
-Kullanıcı isteklerine göre incelediğimiz özellikler:
-- [ ] **Sunum Modu**: Karmaşık akışların slayt slayt anlatımı.
-- [ ] **Erişilebilirlik (A11y)**: Ekran okuyucu desteği ve klavye navigasyonu iyileştirmeleri.
-- [ ] **Uluslararasılaştırma (i18n)**: Arayüzü 10'dan fazla dile çevirme.
-
----
-
-*Mevcut Sürüm: v1.0.0-beta*
-*Son Güncelleme: Şubat 2026*
diff --git a/docs/tr/smart-layout.md b/docs/tr/smart-layout.md
deleted file mode 100644
index 806abeb..0000000
--- a/docs/tr/smart-layout.md
+++ /dev/null
@@ -1,20 +0,0 @@
-
-FlowMind, **ELK (Eclipse Layout Kernel)** tarafından desteklenen güçlü bir "Akıllı Düzen" motoru içerir.
-
-## Nasıl Çalışır?
-
-Karmaşık diyagramları elle çizmek sıkıcıdır. Mantığı düşünmek yerine kutucukları HIZALAMAKLA zaman harcarsınız.
-Akıllı Düzen, düğümleri otomatik olarak düzenlemek için kuvvet yönlü bir algoritma çalıştırarak bu sorunu çözer.
-
-### Kullanım
-1. Komut Merkezindeki (veya üst araç çubuğundaki) **Düzen** düğmesine tıklayın.
-2. Motor, her düğüm ve kenar için en uygun konumu hesaplar.
-3. Diyagram, yeni yapısına akıcı biçimde animasyonla geçer.
-
-### Özellikler
-* **Hiyerarşik Katmanlama**: Akış şemaları ve organizasyon ağaçları için mükemmeldir.
-* **Çakışma Algılama**: Düğümlerin asla üst üste gelmemesini sağlar.
-* **Kenar Yönlendirme**: Daha temiz bir okunabilirlik için çizgi kesişimlerini en aza indirir.
-
-> [!TIP]
-> Ham Mermaid metni içe aktardıktan veya yapay zeka ile büyük bir akış oluşturduktan sonra sonucu anında düzenlemek için Akıllı Düzen'i kullanın.
diff --git a/docs/tr/theming.md b/docs/tr/theming.md
deleted file mode 100644
index 9c1005e..0000000
--- a/docs/tr/theming.md
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-FlowMind'ı kişisel tercihlerinize veya marka kimliğinize göre özelleştirin.
-
-## Marka Ayarları
-
-**Ayarlar > Marka Kiti** bölümüne giderek aşağıdakileri yapılandırın:
-
-* **Ana Renk**: Düğmeler, etkin durumlar ve odaklanmış düğümler için ana vurgu rengi.
-* **Arka Plan**: Tuval arka plan rengi.
-* **Yüzey**: Panellerin ve kenar çubuklarının rengi.
-* **Logo**: Kenar çubuğundaki FlowMind simgesini değiştirmek için kendi logonuzu yükleyin.
-
-
-
-## Dışa Aktarma Ayarları
-
-Görüntüleri dışa aktarırken (PNG/SVG):
-* **Şeffaf Arka Plan**: Diyagramı slaytların üzerine yerleştirmek istiyorsanız bu seçeneği etkinleştirin.
-* **Ölçek**: Yüksek çözünürlüklü baskı için ölçeği artırın (ör. 2x, 3x).
-* **Filigran Ekle**: Dışa aktarma ayarlarında marka filigranını devre dışı bırakabilirsiniz.
diff --git a/docs/tr/v1-beta-launch.md b/docs/tr/v1-beta-launch.md
deleted file mode 100644
index 0fec9c9..0000000
--- a/docs/tr/v1-beta-launch.md
+++ /dev/null
@@ -1,63 +0,0 @@
-# 🚀 OpenFlowKit V1 Beta: Kod Olarak Diyagramın Geleceği Burada
-
-**OpenFlowKit V1 Beta**'yı resmi olarak duyurmaktan son derece heyecan duyuyoruz. Basit bir akış şeması aracı olarak başlayan bu proje; premium estetik ve yerel öncelikli güvenilirlik talep eden geliştiriciler için kapsamlı, beyaz etiketli bir diyagram ekosistemine dönüştü.
-
-Bu sürüm misyonumuzda köklü bir değişimi simgeliyor: **OpenFlowKit artık sadece bir uygulama değil; bir sonraki projenizin temeli.**
-
----
-
-## 🏗️ V1 Beta'daki Yenilikler
-
-### 🎨 Marka Motoru (Gerçek Beyaz Etiketleme)
-Çoğu diyagram aracı sizi kendi ürünlerine benzer görünmeye zorlar. OpenFlowKit, **sizin** gibi görünmek için tasarlanmış ilk açık kaynaklı araçtır.
-- **Dinamik Palet Oluşturma**: Tek bir ana renk girin; motorumuz yüzey, arka plan ve vurgu renklerini içeren uyumlu bir tasarım sistemi oluşturur.
-- **Tipografi Entegrasyonu**: Yerel Google Fonts desteği, uygulamanızın tipografisini doğrudan tuval ile senkronize etmenizi sağlar.
-- **UI Fiziği**: Glassmorphism'i açıp kapatın ve markanızın estetik yoğunluğuna uygun kenarlık yarıçaplarını ayarlayın.
-
-### 📜 Eşsiz Kod Olarak Diyagram (DaC)
-Diyagramlara veri olarak bakıyoruz. İster Mermaid.js uzmanı olun ister özel DSL tercih edin, sizi destekliyoruz.
-- **Genişletilmiş Mermaid Desteği**: Akış Şemaları, Durum Diyagramları ve Alt Grafikler için tam uyum.
-- **FlowMind DSL**: Fare kullanmadan hızlı prototipleme için tasarlanmış insan tarafından okunabilir bir gösterim.
-- **Canlı Senkronizasyon**: Görsel değişiklikler ve kod değişiklikleri mükemmel biçimde senkronize kalır; her iki dünyanın da en iyisini sunar.
-
-### 💎 Figma Kalitesinde Dışa Aktarma
-Ekran görüntüsü almayı bırakın! "Figma Öncelikli" dışa aktarma stratejimiz, diyagramlarınızın tasarım dosyalarınıza ait olmasını sağlar.
-- **Vektör Mükemmeliyeti**: Çizgi hassasiyetini ve yuvarlak köşeleri koruyan temiz SVG'ler dışa aktarın.
-- **Düzenlenebilir Metin**: Etiketler yerel SVG metin blokları olarak dışa aktarılır; yani Figma'da yeniden çizmeden doğrudan yazım hatalarını düzeltebilirsiniz.
-
-### 🔑 Gizlilik Öncelikli Yapay Zeka (BYOK)
-Yapay zeka güçlüdür, ancak verileriniz gizlidir. **Kendi Anahtarını Getir** modelimiz kontrolü size verir.
-- **Gemini ile Güçlendirilmiş**: Akıllı diyagram oluşturma için kendi Gemini API anahtarınızı kullanın.
-- **Yerel Depolama**: API anahtarlarınız tarayıcınızda yerel olarak depolanır ve sunucularımıza hiçbir zaman ulaşmaz.
-
-### 🖼️ Görselden Akış Şemasına (Görsel Yapay Zeka)
-Çizin, tarayın, gönderin.
-- **Görsel Tanıma**: Beyaz tahta oturumunuzun veya peçete üzerindeki taslağınızın fotoğrafını yükleyin.
-- **Anında Dönüşüm**: Yapay zekamız görsel yapıyı analiz eder ve saniyeler içinde tam düzenlenebilir, anlamlı bir akış şemasına dönüştürür.
-
-### 📦 Kütüphane Ekosistemi
-Bağımsız düzenleyiciye ek olarak OpenFlowKit'in çekirdeğini `@openflowkit/core` olarak ayıkladık. Bu sayede geliştiriciler son teknoloji ayrıştırıcılarımızı ve tema mantığımızı kendi uygulamalarına gömebilir.
-
----
-
-## 🌟 Felsefe: Premium ve Açık
-Açık kaynaklı araçların açık kaynak "görünmesi" gerektiğine inanmıyoruz. OpenFlowKit V1 Beta, milyar dolarlık SaaS ürünlerin kalitesini açık kaynak topluluğuna %100 ücretsiz olarak MIT lisansı altında sunuyor.
-
----
-
-## 🛣️ Sırada Ne Var?
-V1 Beta yalnızca bir başlangıç. Üzerinde çalıştıklarımız:
-- **İş Birlikçi Gerçek Zamanlı Düzenleme** (Yjs/WebRTC).
-- **Tel çerçeveleme için Genişletilmiş Bileşen Kütüphaneleri**.
-- **Doğrudan Figma Eklentisi** entegrasyonu.
-
----
-
-## ❤️ Dahil Olun
-OpenFlowKit, geliştiriciler tarafından geliştiriciler için inşa edilmektedir.
-- ⭐️ **GitHub'da Yıldız Verin**: Daha fazla geliştiriciye ulaşmamıza yardım edin!
-- 💬 **Tartışmaya Katılın**: Marka kitlerini ve geri bildirimlerinizi paylaşın.
-- 🛠️ **Katkıda Bulunun**: Diyagramlamanın geleceğini inşa etmeye yardımcı olmak için `CONTRIBUTING.md`'ye göz atın.
-
-**İyi Diyagramlamalar!**
-*OpenFlowKit Ekibi*
diff --git a/e2e/smoke.spec.ts b/e2e/smoke.spec.ts
index 8ab2ded..9eef486 100644
--- a/e2e/smoke.spec.ts
+++ b/e2e/smoke.spec.ts
@@ -14,9 +14,10 @@ test('creates a new flow and adds an extra tab', async ({ page }) => {
await page.getByTestId('home-create-new').click();
await expect(page).toHaveURL(/#\/flow\/[^?]+(?:\?.*)?$/);
- await expect(page.getByTestId('topnav-play')).toBeVisible();
+ await expect(page.getByTestId('toolbar-add-toggle')).toBeVisible({ timeout: 15000 });
const tabs = page.getByTestId('flow-tab');
+ await expect(tabs.first()).toBeVisible();
const tabCountBefore = await tabs.count();
await page.getByTestId('flow-tab-add').click();
@@ -28,7 +29,8 @@ test('creates a new flow and adds an extra tab', async ({ page }) => {
test('saves and restores snapshot state', async ({ page }) => {
await page.goto('/#/home');
await page.getByTestId('home-create-new').click();
- await expect(page.getByTestId('topnav-menu-toggle')).toBeVisible();
+ await expect(page.getByTestId('toolbar-add-toggle')).toBeVisible({ timeout: 15000 });
+ await expect(page.getByTestId('topnav-menu-toggle')).toBeVisible({ timeout: 15000 });
const canvasNodes = page.locator('.react-flow__node');
diff --git a/e2e/workflows.spec.ts b/e2e/workflows.spec.ts
index 0cdda90..eda2b5b 100644
--- a/e2e/workflows.spec.ts
+++ b/e2e/workflows.spec.ts
@@ -15,7 +15,8 @@ async function createNewFlow(page: import('@playwright/test').Page) {
await page.goto('/#/home');
await page.getByTestId('home-create-new').click();
await expect(page).toHaveURL(/#\/flow\/[^?]+(?:\?.*)?$/);
- await expect(page.getByTestId('topnav-play')).toBeVisible();
+ await expect(page.getByTestId('toolbar-add-toggle')).toBeVisible({ timeout: 15000 });
+ await expect(page.getByTestId('flow-tab').first()).toBeVisible();
}
async function addRectangleNode(page: import('@playwright/test').Page) {
@@ -74,12 +75,12 @@ test('exports the diagram as JSON and download starts', async ({ page }) => {
await createNewFlow(page);
await addRectangleNode(page);
- // Open export menu first, then listen for download
await page.getByTestId('topnav-export').click();
- await expect(page.getByTestId('export-json')).toBeVisible();
+ await page.getByTestId('export-section-code').click();
+ await expect(page.getByTestId('export-action-json-download')).toBeVisible();
const downloadPromise = page.waitForEvent('download');
- await page.getByTestId('export-json').click();
+ await page.getByTestId('export-action-json-download').click();
const download = await downloadPromise;
expect(download.suggestedFilename()).toMatch(/\.json$/);
@@ -94,10 +95,10 @@ test('exports the diagram as PNG and download starts', async ({ page }) => {
await addRectangleNode(page);
await page.getByTestId('topnav-export').click();
- await expect(page.getByTestId('export-png')).toBeVisible();
+ await expect(page.getByTestId('export-action-png-download')).toBeVisible();
const downloadPromise = page.waitForEvent('download');
- await page.getByTestId('export-png').click();
+ await page.getByTestId('export-action-png-download').click();
const download = await downloadPromise;
expect(download.suggestedFilename()).toMatch(/\.png$/);
diff --git a/index.html b/index.html
index 70b23d9..e4cb6be 100644
--- a/index.html
+++ b/index.html
@@ -4,6 +4,7 @@
+
OpenFlowKit — Free Open-Source Diagram Tool for Developers
@@ -11,6 +12,7 @@
content="free diagram tool, open source diagram maker, mermaid.js editor, flowchart tool, architecture diagrams, developer tools, react flow" />
+
@@ -28,14 +30,6 @@
content="Create beautiful diagrams for free. AI-powered, Mermaid.js support, Figma export, and auto-layout. No signup required." />
-
-
-
-
-
-
@@ -44,4 +38,4 @@