vibe.d beta banner
get vibe.d

Asynchronous I/O that doesn’t get in your way, written in D

Get involved

Reporting bugs and feature requests

You can help with vibe.d's development by reporting bugs or feature requests on the bug tracker. Apart from obvious bugs or missing functionality, if you encounter difficulties during your first experiences with the library, for example due to missing documentation, bug reports can help us a lot to improve important parts that we usually don't notice anymore.

If you think that a question or request isn't appropriate for the bug tracker, you can also use the forums instead.

Hacking on vibe.d

To start working on the vibe.d code base itself, fork the repository using the "Fork" button on the github repository:

Then you can clone the repository to your local computer using

$ git clone<your username>/vibe.d.git

Your commits can then be packed into a pull request to the main vibe.d repository. See "Fork a repository" and "Send pull requests" on github for more details.

When making contributions, please follow the style guide and try to keep your change sets small. This will greatly reduce the time that it takes to merge a pull request and also the time that each of the developers has to spend on the review process.

The development of vibe.d currently happens purely on an unpaid volunteer basis. Donations will be used to pay the server costs and help us to be able to devote more time to the project. Whenever the donations would exceed the basic server costs significantly, we would initiate distributing the donations among the main contributors.

Currently the only way to donate is to my private PayPal account. Note that donations may not be related to a particular return value, such as a certain feature request, as these are purely personal. If you want to donate or sponsor the work, but cannot under these circumstances, please get in touch.

Writing extension libraries

Certain features that are useful for certain tasks may be out of the scope of the vibe.d project itself. If you want to contribute such code to the community anyway, you should consider making it available as an extension library.

Vibe.d and it's sister projects are all distributed in the form of DUB packages. DUB is the standard package and build manager for D projects. The DUB registry provides a central place for publishing D applications and libraries. All packages registered there can be used by simply adding a corresponding dependency specification into their package recipe file.

There is also a package category for vibe.d compatible libraries that can be used to conveniently find packages that are based on or compatible with vibe.d's I/O model. So when you submit your own package, be sure to add this category to make your library more visible.