3.8 KiB
3.8 KiB
Styles Guide
Use this guide when generating or modifying Excalidraw scenes.
Core intent
- Always use dark mode.
- Optimize for clarity, technical precision, and fast visual parsing.
- Tailor the diagram structure to the task itself. Do not default to generic flowcharts.
- Prefer diagrams that feel like working engineering notes, not slides or business documentation.
Theme
- Use a dark canvas and dark containers by default.
- Keep contrast high enough for comfortable reading.
- Use a restrained palette. Do not introduce many colors unless the task truly needs them.
Default palette
- Canvas / background:
#0b0f14 - Primary surface:
#111827 - Secondary surface:
#1f2937 - Primary text:
#e5e7eb - Secondary text:
#9ca3af - Primary accent:
#38bdf8 - Secondary accent:
#22c55e - Warning / risk:
#f59e0b - Error / destructive path:
#ef4444 - Border / connector default:
#475569
Layout
- Always keep the layout spacious.
- Use consistent alignment and clear grouping.
- Maintain obvious reading order: usually left-to-right or top-to-bottom.
- Separate major groups with generous whitespace.
- Avoid dense clusters, overlapping arrows, or labels squeezed into shapes.
Spacing defaults
- Between major groups:
120-180px - Between related nodes:
48-72px - Container padding:
24-32px - Keep connector crossings rare. Re-route instead of stacking lines through the middle of the diagram.
Structural guidance
Pick a structure that matches the content.
- For flows and request lifecycles: use a sequence or pipeline layout.
- For layered systems: use stacked layers with strict boundaries.
- For ownership and containment: use nested containers.
- For stateful behavior: use a state-machine style layout.
- For dependencies: use directional dependency graphs with grouping by subsystem.
- For comparisons or migrations: use side-by-side before/after layouts.
Do not force every task into boxes with arrows. If the task is better represented as layers, phases, states, interfaces, call paths, or boundaries, use that structure instead.
Logical coherence
- Every element should have a reason to exist.
- Group by actual system boundaries, not by visual symmetry alone.
- Make relationships explicit: data flow, control flow, ownership, lifecycle, or dependency.
- Minimize ambiguous arrows.
- If a connection has a specific meaning, label it briefly.
- Prefer fewer, clearer elements over exhaustive coverage.
Language
- Use terse, technical labels.
- Assume the reader is a senior engineer maintaining personal notes.
- Prefer precise nouns and verbs.
- Use concrete system terms: API, worker, queue, WAL, cache, AST, token, retry loop, reconciliation pass.
- Keep text brief. Most labels should be one line.
Avoid
- Business speak
- Marketing language
- Vague labels like
Platform,Service Layer,System,Magic - Filler phrases like
leverages,enables,streamlines,orchestrates
Visual style
- Use subtle emphasis, not decoration.
- Reserve accent colors for meaning, not aesthetics alone.
- Use container fills and border weight to show hierarchy.
- Keep shapes simple and consistent unless the task benefits from a different visual treatment.
- Prefer readable structure over visual novelty, but avoid generic boilerplate layouts.
Creativity rule
Be creative in structure, not flashy in styling.
- Adapt the composition to the problem.
- Use framing, grouping, and flow intentionally.
- Make the diagram feel specific to the task at hand.
- Avoid producing the same generic flowchart structure for unrelated problems.
Hard constraints
- Always dark mode.
- No bright or white backgrounds.
- No cluttered layouts.
- No overlapping labels.
- No decorative noise.
- No business or management tone.
- No generic one-size-fits-all flowchart if the task calls for a better structure.