SerenityOS supports a wide range of development environments, from full-featured IDEs to terminal-based editors. Choose the setup that best fits your workflow.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/serenityOS/serenity/llms.txt
Use this file to discover all available pages before exploring further.
Supported IDEs and Editors
SerenityOS has detailed configuration guides for the following development environments:VS Code
Popular cross-platform editor with excellent clangd support
CLion
JetBrains IDE with native CMake integration
Vim/Neovim
Terminal-based editors with powerful plugins
Emacs
Extensible editor with lsp-mode support
Common Requirements
Regardless of your editor choice, you’ll need:- clangd: For code comprehension and navigation. See ClangdConfiguration for setup details.
- clang-format: For automatic code formatting according to SerenityOS style guidelines.
- Build directory: Run
./Meta/serenity.sh buildat least once to generate necessary build artifacts. - Toolchain: Build the toolchain with
./Toolchain/BuildGNU.shbefore configuring your IDE.
Code Comprehension
All recommended setups use clangd for code comprehension, which provides:- Fast, accurate autocomplete
- Jump-to-definition and find-references
- Inline diagnostics and error checking
- Cross-compilation support for SerenityOS targets
Formatting
SerenityOS uses clang-format to maintain consistent code style. The repository includes a.clang-format configuration file that all editors should respect.
Next Steps
Choose your preferred development environment:- VS Code Configuration - Recommended for most users
- CLion Configuration - Best CMake integration
- Vim/Emacs Configuration - Terminal-based workflows
