# Go Issue Tracker Labels

The meanings of our the our [labels in the issue tracker](https://github.com/golang/go/labels).

* **Builders** - something involving the Go continuous build/test system.
* **DevExp** - issues involving Developer Experience Working Group's participation.
* **Documentation** - issues involving documentation text only (no code).
* **early-in-cycle** - Should be fixed early in the release cycle.
* **Go2** - can't be done until a hypothetical Go 2
* **GoCommand** - impacts the `cmd/go` tool
* **HelpWanted** - we would like help on this issue. This label is used haphazardly. In general we want help on all issues.
* **IDE** - This label is used to mark issues that affect code editors for Go.
* **NeedsFix** - See https://github.com/golang/go/wiki/HandlingIssues
* **NeedsDecision** - See https://github.com/golang/go/wiki/HandlingIssues
* **NeedsInvestigation** - See https://github.com/golang/go/wiki/HandlingIssues
* **Performance** - involving performance optimization (no functionality changes).
* **Proposal-** - see https://github.com/golang/proposal
* **ReleaseBlocker** - Has a release milestone, and must be fixed for that release.
* **WaitingForInfo** - issue is not actionable because of missing required information, which needs to be provided.

TODO: finish the rest