vibe-d/vibe.d
vibe-d/vibe.d has 1,225 GitHub stars and 282 forks. GitHot measured 0 in 7 days and +2 in 15 days. Last checked 2026-11-10 02:02 UTC. Last push 2026-10-24.
Official vibe.d development
Measured star growth
- in 24h
- Update delayed
- in 7 days
- 0
- in 15 days
- +2
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
Originalvibe.d is a high-performance asynchronous I/O, concurrency and web application toolkit written in D. It already contains many supplemental features such as database support to be able to offer a complete development environment. For more specialized needs, there are also many compatible DUB packages available.
Visit the website at https://vibed.org/ for more information and documentation.
Hello Vibe.d
#!/usr/bin/env dub
/+ dub.sdl:
name "hello_vibed"
dependency "vibe-d" version="~>0.9.0"
+/
import vibe.vibe;
void main()
{
listenHTTP("127.0.0.1:8080", (req, res) {
res.writeBody("Hello Vibe.d: " ~ req.path);
});
runApplication();
}
Download this file as hello.d and run it with DUB:
> dub hello.d
(or chmod +x and execute it: ./hello.d)
Alternatively, you can quickstart with examples directly on .
Project structure
The vibe.d project is structured into multiple repositories:
vibe-d(this repository): The high level web and REST framework, HTTP, STMP and Redis/MongoDB functionalityvibe-http: HTTP client/server implementation including WebSockets, proxy, sessions etc.vibe-stream: Advanced stream types and TLS stream supportvibe-inet: Internet standard functionality (URL, form encoding, HTML encoding, ...)vibe-core: Fiber based I/O and concurrency implementationvibe-serialization: Serialization and structured data format supportvibe-container: Container implementations used throughout the projectvibe-sdl: SDLang serialization support based onsdlitevibe-compat: Legacy functionalityobservable: Observable, signal/slot and reactive value implementationsdiet: pug.js inspired compile-time HTML template system withvibe.webintegrationeventcore: Low-level abstraction over the operating system's asynchronous I/O facilities
You can find an API overview of the whole project in the API documentation.
Support
Vibe.d supports the 10 latest minor releases of DMD. For example, if the current version is v2.090.1, then v2.089.x, v2.088.x, ... v2.080.x are supported. Note that support for patch release is desireable, but only support for the last patch in a minor is guaranteed.
Additionally, Vibe.d supports all LDC versions that implement the version of a supported frontend (e.g. by the previous rule LDC v1.20.0 implements v2.090.1 and would be supported).
Installation
Instead of explicitly installing vibe.d, it is recommended to use DUB for building vibe.d based applications. Once DUB is installed, you can create and run a new project using the following shell commands:
dub init <name> -t vibe.d
cd <name>
dub
Similarly, you can run an example by invoking dub from any of the
example project directories.
Note that on non-Windows operating systems, you also need to have OpenSSL installed - and of course a D compiler. See below for instructions.
Additional setup on Windows
- Just install DMD using the installer on https://dlang.org/download.html
- And get the latest DUB release
Additional setup on Mac using brew
If you don't have brew installed, install it according to their install instructions.
You can then also install DUB using brew:
brew install dub
(Note: Install brew only if you do not have macports, as they will conflict)
Install DMD using the installer on https://dlang.org/download.html.
Optionally, run ./setup-mac.sh to create a user/group pair for privilege lowering.
Additional setup on Linux (Debian/Ubuntu/Mint)
Install vibe.d's dependencies:
sudo apt-get install libssl-dev
On 32-bit linux: Install DMD-i386
sudo apt-get install g++ gcc-multilib xdg-utils
wget "http://downloads.dlang.org/releases/2.x/2.098.0/dmd_2.098.0-0_i386.deb"
sudo dpkg -i dmd_2.098.0-0_i386.deb
On 64-bit linux: Install DMD-amd64
sudo apt-get install g++ gcc-multilib xdg-utils
wget "http://downloads.dlang.org/releases/2.x/2.098.0/dmd_2.098.0-0_amd64.deb"
sudo dpkg -i dmd_2.098.0-0_amd64.deb
Optionally, run ./setup-linux.sh to create a user/group pair for privilege lowering.
Additional setup on Linux (generic)
You need to have the following dependencies installed:
Optionally, run ./setup-linux.sh to create a user/group pair for privilege lowering.
Additional setup on FreeBSD
Install the DMD compiler and vibe.d's dependencies using portupgrade or a similar mechanism:
sudo portupgrade -PN devel/pkgconf
Optionally, run ./setup-freebsd.sh to create a user/group pair for privilege lowering.
Switching between OpenSSL versions
See the documentation.
Explore related projects
freeCodeCamp/freeCodeCamp
freeCodeCamp.org's open-source codebase and curriculum. Learn math, programming, and computer science for free.
458,826 starsdonnemartin/system-design-primer
Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.
377,475 starsreact/react
The library for web and native user interfaces.
252,467 starsvuejs/vue
This is the repo for Vue 2. For Vue 3, go to https://github.com/vuejs/core
212,625 stars