Builder
Develop software for GNOME
Helpful Links
- Read the documentation
- File a Bug in GitLab
- Download a Release Tarball
- Browse source code in Git version control
- Learn more about Builder
- Chat with the developers in #gnome-builder on irc.gnome.org or #gnome-builder:gnome.org on GNOME's Matrix.
The IRC and Matrix channels are bridged to each other, which means that messages sent on one also come through on the other. In other words, you will be part of the same conversation regardless of which you join.
Builder aims to be an IDE for writing GNOME-based software. We believe this focus will help us build something great for our community.
If you would like to help in this effort, join our IRC channel and we will help you find something to work on.
Builder is primarily written in C and Python. Some aspects of Builder may be written in another language when it makes sense.
Builder is developed in conjunction with GNOME releases. This means that we often contribute to, and rely on, features being developed in other GNOME modules such as Gtk.
Builder is built using meson:
meson --prefix=/usr build
ninja -C build
sudo ninja -C build install
For more information on building and installing Builder, read our installation guide to help you through the process.
Builder is licensed under the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Some files are individually licensed under alternative licenses such as LGPL-2.1+ and LGPL-3.0.
Supported Language Servers
Builder comes with support for a number of language servers builtin. It automatically locates the language server within your build environment and runs it there (possibly in a container). If it can find it elsewhere (such as on the host) that will be used as a fallback.
- bash-language-server (Bash)
- blueprint (Blueprint)
- clangd (C, C++, Objective-C, Objective-C++)
- glsl-language-server (GLSL)
- gopls (Go)
- intelephense (PHP)
- jdtls (Java)
- jedi-language-server (Python)
- lua-language-server (Lua)
- serve-d (D)
- python-lsp-server (Python)
- rust-analyzer (Rust)
- ts-language-server (Javascript, Typescript)
- vala-language-server (Vala)
- zls (Zig)
More are being added all the time and do not require writing code if you'd
like to add support. See src/plugins/
for examples of language server
integration.