Graphite is built with Rust — compiled to WebAssembly — and web technologies including Svelte and TypeScript. The development workflow centers on a local dev server that watches for changes to both frontend and backend code, automatically recompiles, and hot-reloads the editor in your browser. This guide walks you through everything you need to get that environment running.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/GraphiteEditor/Graphite/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
Before cloning the repository, install the following tools:Full Setup Flow
Run the dev server
From the project root, start the development build:This command will:
- Check your system for all required dependency versions
- Help you install any that are missing
- Compile the project and spin up the dev server at http://localhost:8080
- Watch for file changes and hot-reload the editor in your browser automatically
Install VS Code extensions
If you use VS Code, open the project folder and accept the prompt to install the suggested extensions (configured in
.vscode/extensions.json). These provide Rust analysis, web tooling, formatting, and linting integrations out of the box.Additional Build Commands
To see all available build targets and options:VS Code Setup
VS Code is the recommended editor for Graphite development. The repository ships with a preconfigured.vscode/extensions.json that suggests extensions for:
- Rust Analyzer — language server for Rust with inline errors, completions, and type hints
- Svelte — language support for the frontend components
- ESLint / Prettier — web code linting and formatting
- Code Spell Checker — catches spelling errors in code and comments
Linting and Formatting
Rust
Run these commands from the project root directory at any time:Web (Frontend)
Run these commands from the/frontend directory:
Format on Save
VS Code’s format-on-save is pre-configured for the project. If you use a different editor, set up apre-commit hook to run formatting automatically before each commit — see githooks.com for setup instructions.