# Building a Plugin This is the table of contents for a set of pages that describe how to implement a plugin. You should probably read the [Introduction][introduction] and [Getting Started][gettingStarted] pages first, but the remaining pages can be read as you attempt to implement the described functionality. ## Pages The following is a list of the pages available in this tutorial. [Introduction][introduction] - What is a plugin and what can it do? [Getting Started][gettingStarted] - How to write a minimal plugin. [Creating Edits][creatingEdits] - How to compose the edits used in assists, fixes, and refactorings. [Providing Quick Assists][assists] - How to provide quick assists. [Providing Quick Fixes][fixes] - How to provide quick fixes associated with errors. [Providing Code Completions][completion] - How to provide code completion suggestions. [assists]: assists.md [completion]: completion.md [creatingEdits]: creating_edits.md [fixes]: fixes.md [gettingStarted]: getting_started.md [introduction]: introduction.md