---
title: golang-tools
---

## Mission statement

The golang-tools community is a group of people whose main focus and interest is the development of tools for the Go language. It is open to everyone. Tooling topics include (but are not limited to) code analysis, compilers, editor and IDE plugins, language servers, and standard libraries.

The golang-tools working group is useful for:

* getting feedback on ideas
* experimenting with a group of "trusted testers"
* external proof-reading of proposals, blog posts etc

A key goal of the golang-tools group is that all forums of communication, but especially the regular calls, are friendly and welcoming. We want to create an environment in which everyone feels both supported and able to share their opinions and experience, frankly, freely, and openly. The wider [Go Code of Conduct](https://go.dev/conduct), which we observe just like all other Go forums, summarises this well.

## Community spaces

Discussion within the community takes place in three main spaces. There are also dedicated golang-tools sessions held at GopherCon each year.

### Slack

Most day-to-day discussion take place in the `#tools` channel on the [Gophers Slack](https://gophers.slack.com/) ([sign-up here](https://invite.slack.golangbridge.org/)).

### Mailing list

The [golang-tools](https://groups.google.com/forum/#!forum/golang-tools) mailing list contains community updates as well as other forms of announcements.

### Calls

The community operates a monthly “catch-up” call covering updates about large-impact changes, new tool initiatives, ongoing community projects and much more. The agenda is community-driven and anyone can suggest items that they would like to cover.

Like the other discussion spaces these calls are open to anyone and people new to the community are encouraged to join in and share in the conversation. The details (date, link, phone number, …) for each call are shared via the mailing list as well as the Slack channel.

#### Shared Calendar

All calls/events are added to the [shared calendar](https://calendar.google.com/calendar/u/0?cid=Y19vNjYyZXR1YTZlNTdsNW9kdDI0M2w5ZmxiOEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t).

#### Upcoming calls

Note that calls always happen on the same [Google Meet link](https://meet.google.com/xuq-tcoc-dkp). Anyone can join the calls - no Google account is required.

* 2025-03-12 - [Agenda](https://docs.google.com/document/d/14_3SJh_esib8-bt3TwFivfPjcAGSc3Qtw0LPudzuIfg/edit)

#### Call archive

* 2025-01-15 - [Meeting notes](https://docs.google.com/document/d/1wDSFsC2scG5crUVzg1xm6XdCDVLXwoTUDG_ZNRRnfH4/edit) - [video](https://www.youtube.com/watch?v=YeZyV9CGFy0)
* 2024-11-04 - [Meeting notes](https://docs.google.com/document/d/1ms1ij5MI6vWqhGDeQC1PZESm2z9fqCk5DaK7Qk-pwGY/edit) - [video](https://www.youtube.com/watch?v=tJ-l0vyBvXk)
* 2024-09-04 - [Meeting notes](https://docs.google.com/document/d/1ymHys5uK8bzfz9vJOz1snjK1wODEf96zABHXuFNrc2k/edit) - [video](https://www.youtube.com/watch?v=ZeEMCXn4DYA)
* 2024-06-12 - [Meeting notes](https://docs.google.com/document/d/1w-FKU6K2vVmWh0xD7kwrk1mPmF4LeFAY_iPXnepSI_g/edit) - [video](https://www.youtube.com/watch?v=Fq2sms6CcY0)
* 2024-04-10 - [Meeting notes](https://docs.google.com/document/d/1kn_vSiu43IsGlUV7gGV8mqmH1ldXDt0yiA31XWtM-wY/edit) - [video](https://www.youtube.com/watch?v=ZEiMIT9qkp0)
* 2024-01-17 - [Meeting notes](https://docs.google.com/document/d/1LKY-JRrPKkxoonvq7c3rr_DExzl_8X2Iq1TR8V0C3lg/edit) - [video](https://www.youtube.com/watch?v=ArCZCQr_KhA)
* 2023-11-29 - [Meeting notes](https://docs.google.com/document/d/1lzGFo6QxZaDohSW9DOC2rILAuFCNX2vWs8oon6etmWY/edit) - [video](https://www.youtube.com/watch?v=6uzF0q49kCg)
* 2023-09-13 - [Meeting notes](https://docs.google.com/document/d/1CvFXUGjSnSPde5lKdERJZY4t4ifwLyhtaok6TZJ-RR0/edit) - [video](https://www.youtube.com/watch?v=JMiXnAkYZno)
* 2023-07-12 - [Meeting notes](https://docs.google.com/document/d/1NZ9BrdDm36_wsIyKinBnNEKYfldsfzLjEzjtGaqD284/edit) - [video](https://www.youtube.com/watch?v=QXdCfsPH504)
* 2023-04-19 - [Meeting notes](https://docs.google.com/document/d/1bUHgwr7TlNWr-_7Z8yWNHlmfchJn2O6xZy6xN-2vNKA/edit) - [video](https://www.youtube.com/watch?v=1DGnsXIo03Y)
* 2023-02-22 - [Meeting notes](https://docs.google.com/document/d/1Tly7F5k_Hr-_BMOgjWZYJu5oObc-CLblOyTSVtp85Y4/edit) - [video](https://www.youtube.com/watch?v=2wGFFyVLdy8)
* 2023-01-11 - [Meeting notes](https://docs.google.com/document/d/1AzX7Gj2p-VlesbCEF3PbQhAYV3jpM-QWqWQIWHBAJtw/edit) - [video](https://www.youtube.com/watch?v=lwh3_1_T_AU)
* 2022-11-16 - [Meeting notes](https://docs.google.com/document/d/1XQItB9RIPWLWOwXH1u7TsdXvkzKqOtANIBQwBz36MxQ/edit) - [video](https://www.youtube.com/watch?v=brIgemnAPJI)
* 2022-09-21 - [Meeting notes](https://docs.google.com/document/d/1VrbwBXd5lMny-bacytlFSMm2Uf6CWGonAXqmnS9Q9Vs/edit) - [video](https://www.youtube.com/watch?v=HE9LGb_1haQ)
* 2022-08-03 - [Meeting notes](https://docs.google.com/document/d/1AQtZQaGwxTpQdyEY4q2dyo1HyP8P3JQgpXZF0LcsiD0/edit) - [video](https://youtu.be/R6l21BlQoWM)
* 2022-06-22 - [Meeting notes](https://docs.google.com/document/d/17XSlU8kIIqbyjGbIqXx-G_ByhlrNjxIxVbu6kLK5QMY/edit) - [video](https://www.youtube.com/watch?v=nnjydSz1gM4)
* 2022-05-18 - [Meeting notes](https://docs.google.com/document/d/13pLMmPRcqyAsGgzCjbb145N9KF2AiBW7u6I5jornQaA/edit) - [video](https://youtu.be/PiUC0qN4n90)
* 2022-04-13 - [Meeting notes](https://docs.google.com/document/d/1HaBRsUK9z2UygQPsO7Q5gVV0vM7fL085ScpEHpSUrnc/edit) - [video](https://www.youtube.com/watch?v=5f5c7oOWxEQ)
* 2022-02-16 - [Meeting notes](https://docs.google.com/document/d/1XWEAauEY_TOe-gd04IHA2bRgLGd8SMsOfvW3ak8oDTY/edit) - [video](https://www.youtube.com/watch?v=7S_tGsE7pA4)
* 2022-01-12 - [Meeting notes](https://docs.google.com/document/d/1SNCAJesMR8KJjyM-AlVTZStrRfTNTUOiYX-FvyL-8nQ/edit) - [video](https://youtu.be/oXm-JFzbSYY)
* 2021-10-06 - [Meeting notes](https://docs.google.com/document/d/15CTfyASn5wBgpAAGhOpgaGg7LaUVd7WYVSZHuybTTVk/edit) - [video](https://youtu.be/VaKo_8oTRK4)
* 2021-09-15 special edition: supporting type parameters [Agenda](https://docs.google.com/document/d/1Wk2Jp9yV8h3ApKsepBrsE37s8f4sDb0eVjfGOaIPsHM)
* 2021-08-18 - [Meeting notes](https://docs.google.com/document/d/1fFwOXTOmPvR2E240z5WC1_VVs7h5vhcH4M81qT-2fW0/edit#) - [video](https://youtu.be/yd7eC7myvfA)
* 2021-06-16 - [Meeting notes](https://docs.google.com/document/d/1P6gv4lHoHz27-PzI2dpmYzdPej2yWHEN2J3L2Czvy2E/edit#) - [video](https://youtu.be/KqFpAS6yfVU)
* 2021-05-12 - [Meeting notes](https://docs.google.com/document/d/1GFbAAkRfGV_U9b2afFyLjdVgkIu0XrOjWeWig7rfUkk/edit#) - [video](https://youtu.be/rH62CnkYlEs)
* 2021-04-14 - [Meeting notes](https://docs.google.com/document/d/1w4E4a6QptBn2R3ispbYdhcNmir0JfD_z9r7W1q00Xxk/edit#) - [video](https://youtu.be/jyFz4jM25u8)
* 2021-03-10 - [Meeting notes](https://docs.google.com/document/d/1C-XxosukrdAr1KZH6YTJR_xvKcDS9bh-AyxTxnWq0lk/edit#) - [video](https://youtu.be/IphhYpCJJXw)
* 2021-02-10 - [Meeting notes](https://docs.google.com/document/d/1tMg4QUtK-bB9j0mlP_bV94yLttmdyCawsDzSSp0M4A0/edit#) - [video](https://youtu.be/E078rWljk7g)
* 2021-01-13 - [Meeting notes](https://docs.google.com/document/d/1PF07-EfaYi86Fl9pzpEVfuC9G6M52y5fxmttxjExFNk/edit#) - [video](https://youtu.be/qz8hBQhYtQs)
* 2020-11-18 - [Meeting notes](https://docs.google.com/document/d/1iH4fPsQv36J1XBNVZ6oU1OuVI1R9CMKCLpKqk14jpp0/edit#) - [video](https://youtu.be/Nh05OITe2dY)
* 2020-10-21 - [Meeting notes](https://docs.google.com/document/d/1P4X9OKlHq0UlcAEyGCkVYyCML4grObpiD2zDEK5f5nQ/edit#) - [video](https://youtu.be/fFl5Ddt3fxc)
* 2020-09-16 - [Meeting notes](https://docs.google.com/document/d/1GJ5K2fYVXPG6pOzUh6xMFv1Nq5VTaBylDP1Z0y-SHHw/edit#) - [video](https://youtu.be/MlVbgQnq9vE)
* 2020-08-19 - [Meeting notes](https://docs.google.com/document/d/17dQqU9V-86j-8H-063ehVt5nsRnQjfXfvDMG_FzkOY0/edit#) - [video](https://youtu.be/dKLunKg-rvw)
* 2020-07-22 - [Meeting notes](https://docs.google.com/document/d/13hupZM403jvJ9zeld2UU0n05NNdxFCuaLkysYNDj7vg/edit#) - [video](https://youtu.be/m3b2zl1WJ-s)
* 2020-06-24 - [Meeting notes](https://docs.google.com/document/d/1Seg5Rda1wekSM5CIiNjX9m0I3FSjlEd98RH0xAqCyEs/edit#) - [video](https://youtu.be/i6yIBHbGbtg)
* 2020-05-13 - [Meeting notes](https://docs.google.com/document/d/11NVS-dsJ-IvIM4hAzxlGvyh_8DxdntnQpYugda1zv1I/edit#) - [video](https://youtu.be/PkZenOPIRfw)
* 2020-04-08 - [Meeting notes](https://docs.google.com/document/d/1DkRPo0tCG3iIy0Y1_vfbwEou3drXDYcH_HpxlAqRrOc/edit#) - [video](https://youtu.be/av1wUxqtifU)
* 2020-03-11 - [Meeting notes](https://docs.google.com/document/d/1gURv4JVuhSi_Rl68Wn7F4J9ZfHyjtt2YM1QVkotDB68/edit#) - [video](https://youtu.be/Q-nv_eU14cE)
* 2020-01-28 - [Meeting notes](https://docs.google.com/document/d/1Fj8TQSmEC6iWNrF_31-qEueWFY1KKs2AuQRc_4rWM4A/edit#) - [video](https://www.youtube.com/watch?v=rvuM4lfHcfA)
* 2019-12-03 - [Meeting notes](https://docs.google.com/document/d/1ABilBtF7F1tFaGxX3fKZH2zrqADhpoMMcGHFoqJyEtE/edit#) - [video](https://www.youtube.com/watch?v=DeHYSvSKenA&feature=youtu.be)
* 2019-10-29 - [Meeting notes](https://docs.google.com/document/d/1F3T58Nj_Ft3bu15Wd4hAZAW6kLl_M1EH5XP43l_3CpY/edit#) - [video](https://www.youtube.com/watch?v=hFJMi9KS0dY&feature=youtu.be)
* 2019-09-24 - [Meeting notes](https://docs.google.com/document/d/1FpM5xjNdLnVMYxdPxLRHt6-yYBJ7zURWNbUB8QtFSlw/edit#) - [video](https://www.youtube.com/watch?v=E5w02B62oqc&feature=youtu.be)
* 2019-08-27 - [Meeting notes](https://docs.google.com/document/d/1NiIbz1h4-UaavdL-SC2hTp54Y87p-1joaLa-r5HgKaE/edit#) - [video](https://www.youtube.com/watch?v=OTKPu0kZ6sQ&feature=youtu.be)
* 2019-07-26 - [Meeting notes - second session at GopherCon San Diego](https://docs.google.com/document/d/1ZI_WqpLCB8DO6teJ3aBuXTeYD2iZZZlkDptmcY6Ja60/edit#)
* 2019-07-25 - [Meeting notes - first session at GopherCon San Diego](https://docs.google.com/document/d/1-RVyttQ0ncjCpR_sRwizf-Ubedkr0Emwmk2LhnsUOmE/edit)
* 2019-05-28 - [Meeting notes](https://docs.google.com/document/d/15gibnpGJyY-cJeRFIDf_mHzlbSnbZWGHvr5PJqQKUUY/edit?usp=sharing) - [video](https://www.youtube.com/watch?v=qmDsGU0-s7Y&feature=youtu.be)
* 2019-04-30 - [Meeting notes](https://docs.google.com/document/d/179fHEOR2gfJJnu3EouZ11wu01UDun7E0NNfuJywCVFQ/edit?usp=sharing) - [video](https://www.youtube.com/watch?v=xG-dNIK82rc)
* 2019-03-26 - [Meeting notes](https://docs.google.com/document/d/1FWuluOoaQO4kSzPqLuwJC-P3edPme2nEbeo1eNAw-XY/edit?usp=sharing) - [video](https://www.youtube.com/watch?v=fJsi85TunPs)
* 2019-02-26 - [Meeting notes](https://docs.google.com/document/d/1e5JvIKrBS8WKGbMSjDK7H9pMfWQAZ7V-QvQodRhqBl0/edit?usp=sharing) - [video](https://www.youtube.com/watch?v=eRB24Xe64D8&feature=youtu.be)
* 2019-01-29 - [Meeting notes](https://docs.google.com/document/d/1pBKM4GqeBRfas7-RCHPuP-eVz4AfjKInAkKnPS-UkTA/edit?usp=sharing) - [video](https://www.youtube.com/watch?v=mKAj_6ZbvfM)
* 2018-12-11 - [Meeting notes](https://docs.google.com/document/d/1HbjhgorPAUHb6035Uk3vA-EUOyn4TYMND_HT-zc7ecw/edit) - [video](https://www.youtube.com/watch?v=5isg5Xv3Yr0&feature=youtu.be)
* 2018-11-27 - [Meeting notes](https://docs.google.com/document/d/1zP2nKVHolqBoTVOsyKWo5b0o7vimJvhqQ9Ucp8rnrKA/edit) - [video](https://www.youtube.com/watch?v=7Rir0AgfiWg&feature=youtu.be)
* 2018-11-06 - [Meeting Notes](https://docs.google.com/document/d/1rXFrs046jTkVs0fTnQ-ItakV2zKCSxqwV4bfJ6DJWB4/edit)
* 2018-10-23 - [Meeting Notes](https://docs.google.com/document/d/1-bsbA0pDwbnEgPSjQsOo3gnvhToHB38jmgMHqiaO2vA/edit) - [video](https://www.youtube.com/watch?v=sqvMq8e0yco&feature=youtu.be)
* 2018-10-09 - [Meeting notes](https://docs.google.com/document/d/1oEknhf60Cdg9p_i17ESIm3zjTuVK7Adr-lTw78D0Qrc/edit#heading=h.gb40p8nfpls3) - [video](https://www.youtube.com/watch?v=MGwexofwe_U&feature=youtu.be)
* 2018-09-18 - [Meeting notes](https://docs.google.com/document/d/1G7bEKWeFRjd9rPCkBJooC76CCb0Jiem5F_Q48C1zecQ/edit) - [video](https://www.youtube.com/watch?v=xrEtakZ7oWc&feature=youtu.be)
* 2018-08-28 - [Notes from GopherCon "kick off" session](https://docs.google.com/document/d/1lB49VLzDrRd3wbXP1uLf-bHQyJRmH_Dc36JeEBlK-1Q/edit)

#### Organizing a call

We try to share the load of organizing and running the calls between Gophers inside and outside of Google (generally alternating between Googlers and non-Googlers). Here are the steps required as organizer:

1. Using a non-google.com account, ask Daniel Martí for editing access to the [shared drive](https://drive.google.com/corp/drive/folders/1V8Eh2cyaSgVMbtD2Cwzdl0du_lU7_eXn), and put a copy of the previous call's agenda in it. The copy will only be visible by anyone with the link, so change that to allow edits (this last step is not possible with docs owned by @google.com accounts).
2. Rename and clear out the agenda for the next call.
3. Update this wiki, archiving the previous call and linking the new upcoming call.
4. Update the [shared calendar](https://calendar.google.com/calendar/u/0?cid=Y19vNjYyZXR1YTZlNTdsNW9kdDI0M2w5ZmxiOEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t) with the new event. By convention calls run from 16:00-17:00 London.
5. Send reminders 1-2 weeks before the call date to the [mailing list](https://groups.google.com/forum/#!forum/golang-tools) and #tools slack channel.
6. On the day of the call, remember to ask a Googler to start recording, and then run through the agenda.
7. Ask the same Googler to move the recording to [the recordings folder](https://drive.google.com/drive/folders/1KmkaVhrKbWhvcvRQoDLFPNDdDNNXBUNA) and upload it to YouTube, updating the wiki content above.

