Skip to content
Compile-time Dependency Injection for Go
Go Shell
Branch: master
Clone or download

Wire: Automated Initialization in Go

Build Status godoc Coverage

Wire is a code generation tool that automates connecting components using dependency injection. Dependencies between components are represented in Wire as function parameters, encouraging explicit initialization instead of global variables. Because Wire operates without runtime state or reflection, code written to be used with Wire is useful even for hand-written initialization.

For an overview, see the introductory blog post.


Install Wire by running:

go get

and ensuring that $GOPATH/bin is added to your $PATH.


Project status

As of version v0.3.0, Wire is beta. Throughout the beta period, we encourage you to use Wire and provide feedback. We will focus on improving usability and fixing bugs before the 1.0 release. We do not intend to introduce any breaking changes unless there is a strong reason to do so.


You can contact us on the go-cloud mailing list.

This project is covered by the Go Code of Conduct.

You can’t perform that action at this time.