--- 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. 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)