Skip to main content

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.

Graphite is a 100% community-built project — every feature, fix, and improvement is driven by graphics programmers and Rust developers who share a passion for open source creative tooling. If you have the skills and motivation, your contributions are the engine behind this project’s progress.

Required Experience

Developing Graphite is not for beginner programmers. It is a complex, cutting-edge software engineering endeavor that demands solid computer science foundations and independent problem-solving ability. You are well-prepared to contribute if you are at least a junior-level developer, or a self-motivated student who has built a number of non-trivial personal projects — especially those involving graphics or systems programming. If you are only a couple of years into your programming journey, you will likely find the codebase frustratingly advanced, and the team will be unable to provide adequate support for foundational concepts.
  • Rust experience is helpful but not strictly required — you can learn it as you go.
  • Strong CS foundations are required: data structures, algorithms, and software design patterns.
  • AI tools are not a substitute for your own understanding. If you use AI-assisted tooling in your workflow, read the AI contribution policy before submitting any code.
Graphite is not a learning platform or classroom for inexperienced developers, but for developers with the requisite skills it is an excellent way to build real-world engineering experience while contributing to something meaningful.

Getting Started Steps

1

Join the Discord server

Visit discord.graphite.art and assign yourself the ”🤖 Interested in contributing code” role from the #🙂welcome channel. Discord is the team’s primary communication channel and is semi-mandatory for regular contributors.
2

Set up the project

Follow the Project Setup guide to install dependencies, clone the repository, and run the dev server locally on your machine.
3

Browse good first issues

Visit the Graphite GitHub repository and filter by the good-first-issue label to find tasks well-suited for new contributors.
4

Ask questions before starting

Post in the #📄development channel on Discord before diving into a task. Clarifying the scope and approach upfront saves significant time and avoids misaligned work.

Communication

Discord is the primary channel for all team communication. GitHub is used for issue tracking and pull request review. Joining Discord is semi-mandatory for anyone intending to become a regular contributor — it is just as central to the process as GitHub itself.
  • Discord — day-to-day discussion, task coordination, quick questions, and team announcements
  • GitHub Issues — task definitions, bug reports, and feature tracking
  • GitHub Pull Requests — code review, feedback, and merging contributions
After your first PR is accepted and merged, post a request in #📄development on Discord to be assigned the “Code Contributor” role.

What You Can Work On

Graphite has a wide range of contribution opportunities across the stack:
  • New nodes — extend the node graph with new processing or generation capabilities
  • Editor tools — implement or improve tools for vector drawing, selection, and transformation
  • UI improvements — polish the interface, fix layout issues, and improve accessibility
  • Bug fixes — resolve reported issues and address regressions
  • Documentation — improve guides, API docs, and in-editor help text
  • Performance — profile and optimize rendering, node evaluation, or build times

Explore the Developer Docs

Project Setup

Install dependencies and run Graphite locally in your browser.

Submitting Contributions

Branch naming, PR conventions, and the code review process.

Code Quality

Style guidelines, naming rules, and the AI contribution policy.

Editor Architecture

Understand how the Graphite editor is structured under the hood.

Build docs developers (and LLMs) love