--- title: Architectural Overview --- This topic describes the architecture of the *IntelliJ Platform* from a plugin developer's point of view. It is organized in a task-based manner to answer specific questions like "what can I do with this object?", "how do I get to this object?" and so on. Before proceeding please make sure you're familiar with the basic concepts of IntelliJ Platform plugin development. If not, consider starting with the live demo and tutorials at [www.jetbrains.com/idea/plugins/](http://www.jetbrains.com/idea/plugins/) and then returning to this document. The following subjects are covered: * [General threading rules](architectural_overview/general_threading_rules.md) * [Virtual files](architectural_overview/virtual_file.md) * [Documents](architectural_overview/documents.md) * [PSI files](architectural_overview/psi_files.md) * [File view providers](architectural_overview/file_view_providers.md) * [Psi elements](architectural_overview/psi_elements.md)