Skip to content
shpitdevPublic

About

Excalidraw AI + 'Rough' Icon theming + OpenCode Plugin/Tools: supports creating 4 types of digrams (more soon), modifying existing diagrams, png extract, visual grading

Topics

Resources

Stars

13 stars

Watchers

0 watching

Forks

Latest commit

 

History

953 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sketchi

Sketchi

Excalidraw diagrams from a description.
Describe a system or a process in a sentence. Sketchi draws it with each product's logo, and every part stays editable.

Website npm version Nx Cloudflare Workers TypeScript Excalidraw MIT license


The Sketchi wordmark beside a hand-drawn architecture diagram Sketchi made: a Next.js app on Vercel and a GitHub webhook call an API on Cloudflare Workers, which reads Postgres and caches in Redis.

Sketchi works from a sentence, or from a typed spec that an agent or the CLI writes. A model's answer is never the drawing: it is parsed into a typed diagram, validated, laid out by code, converted to real Excalidraw elements, and stored with a PNG. It draws flowcharts (with groups, swimlanes and architecture zones), mindmaps, sequence diagrams, timelines, bar, line and pie charts, state machines, Gantt charts, ER diagrams, UML class diagrams, org charts, Venn diagrams, user journey maps, Sankey diagrams, UI wireframes and quadrant charts.

Use it

CLI. Install the sketchi command and turn a description into a PNG you can revise later. Generation needs no account or API key; authoring, editing and export work offline.

curl -fsSL https://sketchi.app/install.sh | sh   # or: npm install -g sketchi
sketchi generate --prompt "Deploy with GitHub Actions, Docker and Cloudflare Workers"

The CLI guide covers every command, and the changelog what changed.

Agents. Codex, Claude Code, Antigravity and OpenCode draw through the public MCP server at https://playground.sketchi.app/mcp, with no login or local browser. The agent quickstart installs the plugin or skill for each, and the Code Mode API page describes the server.

Browser. playground.sketchi.app drafts and edits diagrams in chat, and icons.sketchi.app is the icon library diagrams draw their logos from.

How it works

prompt ─▶ model candidate ─▶ typed diagram ─▶ deterministic layout ─▶ Excalidraw scene ─▶ stored artifact + PNG
                                  ▲
                       spec from the CLI or MCP
Package Owns
packages/diagram/core diagram contracts (Effect Schema), semantic validation, shared rules
packages/diagram/generation model prompts, gateway calls, candidate parsing and repair
packages/diagram/agent the Code Mode build: normalize, validate, render, export, store
packages/diagram/renderer deterministic layout and routing for every family
packages/diagram/excalidraw Excalidraw conversion and real-scene validation
packages/diagram/scenarios maintained scenarios and the scenario CLI
packages/diagram/ui shared React canvas and preview components, and the diagram Storybook
packages/icons/* the icon catalog and search, community icons, and hand-drawn logos
packages/svg-excalidraw SVG to native Excalidraw elements and libraries
packages/studio/projects Studio project and diagram persistence
packages/observability span telemetry for every Worker request
packages/ui shadcn primitives and tokens for the Tailwind apps
App Serves
cli the sketchi command
playground playground.sketchi.app: Studio, the HTTP API and the MCP server
web sketchi.app: home, docs and agent setup
icons icons.sketchi.app
excalidraw an internal Excalidraw workspace for checking real scenes

Every app except the CLI is a Cloudflare Worker. See the architecture guide and, for each family, adding a diagram family.

Development

mise pins Node and pnpm:

mise trust && mise install
pnpm install
pnpm dev                    # every app, through Portless
pnpm nx dev playground      # one app

pnpm ci:local is the gate: lint and format, typecheck (TypeScript 6 and the native TypeScript 7 compiler), build and test for every project the change affects, plus the tooling, deploy and Storybook checks. Remote CI on a pull request is one Nx-affected typecheck. AGENTS.md lists the fuzz suites and other checks to run locally when their inputs change.

A CLI change that should ship gets a changeset (pnpm changeset); merging the Version Packages pull request publishes it.

Graded evals run outside this repository against the scenarios in packages/diagram/scenarios. pnpm sanity runs three end-to-end checks against production or a preview.

Deployment

Merging to main deploys the Worker apps a change affects. A pull request gets preview Workers when it carries the preview label; see preview deployments and the production domain runbook.

License

MIT. See LICENSE.

About

Excalidraw AI + 'Rough' Icon theming + OpenCode Plugin/Tools: supports creating 4 types of digrams (more soon), modifying existing diagrams, png extract, visual grading

Topics

Resources

Stars

13 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages