google/wire

Compile-time Dependency Injection for Go

Go

14,387

196 commits

updated Aug 22, 2025

See the code

README

Wire: Automated Initialization in Go

Build Status godoc

[!WARNING] This project is no longer maintained.

If you wish to update or extend wire, please do so in a fork.

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.

Installing

Install Wire by running:

go install github.com/google/wire/cmd/wire@latest

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

Documentation

Project status

As of version v0.3.0, Wire is beta and is considered feature complete. It works well for the tasks it was designed to perform, and we prefer to keep it as simple as possible.

We'll not be accepting new features at this time, but will gladly accept bug reports and fixes.

Community

For questions, please use GitHub Discussions.

This project is covered by the Go Code of Conduct.

codegen
dependency-injection
go
golang
initialization

google/wire

Compile-time Dependency Injection for Go

Go

14,387

196 commits

updated Aug 22, 2025

See the code

README

Wire: Automated Initialization in Go

Build Status godoc

[!WARNING] This project is no longer maintained.

If you wish to update or extend wire, please do so in a fork.

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.

Installing

Install Wire by running:

go install github.com/google/wire/cmd/wire@latest

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

Documentation

Project status

As of version v0.3.0, Wire is beta and is considered feature complete. It works well for the tasks it was designed to perform, and we prefer to keep it as simple as possible.

We'll not be accepting new features at this time, but will gladly accept bug reports and fixes.

Community

For questions, please use GitHub Discussions.

This project is covered by the Go Code of Conduct.

codegen
dependency-injection
go
golang
initialization

Project health

Overall

4.5/10

Maintained

0/10

Code review

6/10
OpenSSF Scorecard

Latest release

v0.7.0 · Aug 22, 2025

Releases this year

0

Significant stargazers

(top 24 of 127)

Stephen Augustus

561 followers · starred Jan 2023

itchyny

1,260 followers · starred Feb 2019

Mikhail Mazurskiy

253 followers · starred Oct 2019

Madhav Jivrajani

284 followers · starred Feb 2021