Sachverhalt:
A.
A.a. Die B._ GmbH (Klägerin, Beschwerdegegnerin) und die A._ GmbH (Beklagte, Beschwerdeführerin) schlossen am 27. Juli 2017 eine Zusammenarbeitsvereinbarung ab. Diese betraf das IT-Projekt "X._", welches die B._ GmbH von der Schweizerischen Eidgenossenschaft übernommen hatte.
A.b. Ziffer 9 Absatz 5 der Zusammenarbeitsvereinbarung lautet wie folgt:
"Der vorliegende Vertrag untersteht Schweizerischem Recht. Bei Meinungs verschiedenheiten ist vor Anrufung des Richters eine gütliche Einigung anzustreben. Sollte sich dennoch eine gerichtliche Beurteilung nicht vermeiden lassen, gilt als Gerichtsstand: das Handelsgericht Zürich[.] "
Gemäss Ziffer 2 der Zusammenarbeitsvereinbarung ergeben sich "Inhalt und Erfüllungsmodalitäten der Leistungserbringung [...] aus de[m] diesem Rahmenvertrag beiliegenden Spezifikationsblatt für Informatikdienstleistungen". Bei Widersprüchen - so wird präzisiert - "gehen die Bestimmungen des Spezifikationsblatts jenen [der Zusammenarbeitsvereinbarung] vor".
A.c. In diesem "Spezifikationsblatt" ist unter dem Titel "Allgemeine Geschäftsbedingungen/Anhänge" die Rubrik "Allgemeine Geschäftsbedingungen für Informatikdienstleistungen der B._" (nachfolgend: "AGB der Klägerin") angekreuzt; ausserdem wird darin ausgeführt, dass die "bezeichneten allgemeinen Geschäftsbedingungen der Bundesverwaltung" (nachfolgend: "AGB der Bundesverwaltung") von der A._ GmbH "zustimmend zur Kenntnis genommen" worden und "integrierender Bestandteil des vorliegenden Dienstleistungsvertrages" seien:
Auch in Ziffer 3.1 Absatz 3 der Zusammenarbeitsvereinbarung wird unter dem Subtitel "Zustandekommen" ergänzend auf die AGB der Bundesverwaltung verwiesen.
A.d. Ziffer 7 Absatz 6 der AGB der Klägerin enthält folgende Klausel:
" Gerichtsstand: das Handelsgericht Zürich "
In Ziffer 23.2 der AGB der Bundesverwaltung heisst es:
"Ausschliesslicher Gerichtsstand ist Bern. "
Sowohl die AGB der Klägerin als auch die AGB der Bundesverwaltung enthalten eine Klausel, wonach - bei Widersprüchen - besondere Vertragsurkunden den allgemeinen Geschäftsbedingungen vorgehen.
A.e. Am 23. Dezember 2019 reichte die B._ GmbH beim Handelsgericht des Kantons Bern ein gegen die A._ GmbH gerichtetes Gesuch um Erlass superprovisorischer Massnahmen ein. Mit Entscheid vom 21. Februar 2020 trat das Handelsgericht auf das Gesuch mangels örtlicher Zuständigkeit nicht ein.
B.
Am 8. April 2020 erhob die B._ GmbH beim Handelsgericht des Kantons Zürich Klage gegen die A._ GmbH, mit der sie gestützt auf die Zusammenarbeitsvereinbarung vom 27. Juli 2017 die Einhaltung eines vertraglichen Konkurrenzverbots sowie die Zahlung von Schadenersatz und einer Konventionalstrafe verlangte.
Am 5. Juni 2020 erhob die A._ GmbH die Unzuständigkeitseinrede. In der Folge wurde ihr die Frist zur Erstattung der Klageantwort abgenommen.
Mit Beschluss vom 24. August 2020 wies das Handelsgericht den Nichteintretensantrag der A._ GmbH ab und setzte ihr eine Frist zur Einreichung der Klageantwort.
C.
Die A._ GmbH verlangt mit Beschwerde in Zivilsachen, der Beschluss des Handelsgerichts vom 24. August 2020 sei aufzuheben und auf die Klage sei nicht einzutreten, eventualiter sei die Sache zur Neubeurteilung an das Handelsgericht (des Kantons Zürich) zurückzuweisen. Ausserdem sei der Beschwerde die aufschiebende Wirkung zu erteilen.
Mit Präsidialverfügung vom 27. Oktober 2020 wurde der Beschwerde die aufschiebende Wirkung erteilt. Das Handelsgericht (des Kantons Zürich) wurde angewiesen, das Verfahren bis zum Entscheid des Bundesgerichts einstweilen zu sistieren und der Beschwerdeführerin die Frist zur Erstattung der Klageantwort einstweilen abzunehmen.
In der Sache beantragt die Beschwerdegegnerin, die Beschwerde abzuweisen, soweit darauf einzutreten ist. Die Beschwerdeführerin replizierte, worauf die Beschwerdegegnerin eine Duplik eingereicht hat.
Erwägungen:
1.
Das Handelsgericht ist in diesem Fall einzige kantonale Instanz im Sinne von Art. 75 Abs. 2 lit. b BGG. Gegen seine Entscheide steht daher grundsätzlich die Beschwerde in Zivilsachen offen, gemäss Art. 74 Abs. 2 lit. b BGG unabhängig vom Streitwert (BGE 139 III 67 E. 1.2; 138 III 799 E. 1.1, 2 E. 1.2.2). Der angefochtene Beschluss - ein Zwischenentscheid im Sinne von Art. 237 ZPO - ist ein selbständig eröffneter Vor- und Zwischenentscheid über die Zuständigkeit, gegen den die Beschwerde nach Art. 92 Abs. 1 BGG zulässig ist.
Da auch die übrigen Sachurteilsvoraussetzungen erfüllt sind, ist auf die Beschwerde einzutreten.
2.
Soweit das Gesetz nichts anderes bestimmt, können die Parteien für einen bestehenden oder für einen künftigen Rechtsstreit über Ansprüche aus einem bestimmten Rechtsverhältnis einen Gerichtsstand vereinbaren (Art. 17 Abs. 1 Satz 1 ZPO).
Die Vereinbarung eines Gerichtsstands gründet auf der übereinstimmenden Willenserklärung der Parteien. Für Fragen des Konsenses und der Auslegung ist - wie bei anderen Verträgen - zunächst massgebend, was die Parteien tatsächlich übereinstimmend gewollt haben. Steht kein tatsächlich übereinstimmender Wille der Parteien fest, so sind ihre Erklärungen nach dem Vertrauensprinzip auszulegen (BGE 132 III 268 E. 2.3.2). Ob ein gültiger Verzicht auf den gesetzlichen Gerichtsstand vorliegt, hängt davon ab, ob der Vertragspartner des Verzichtenden in guten Treuen annehmen durfte, sein Kontrahent habe mit der Annahme des Vertrags auch der Gerichtsstandsvereinbarung zugestimmt (BGE 109 Ia 55 E. 3a; Urteil 4A_4/2015 vom 9. März 2015 E. 2; je mit weiteren Hinweisen). Für das Zustandekommen einer Prorogation ist erforderlich, dass die Parteien hinreichend klar bestimmen, welches Gericht sie als zuständig erklären, damit das angerufene Gericht zweifelsfrei seine Zuständigkeit feststellen kann (BGE 132 III 268 E. 2.3.3; Urteile 4A_568/2017 vom 27. April 2018 E. 3; 4A_4/2015 vom 9. März 2015 E. 2).
3.
3.1. Zur Begründung der örtlichen Zuständigkeit des Handelsgerichts des Kantons Zürich stützte sich die Beschwerdegegnerin auf Ziffer 9 Absatz 5 der Zusammenarbeitsvereinbarung. Daraus ergebe sich, dass das Handelsgericht des Kantons Zürich für die vorliegende (aus der Zusammenarbeitsvereinbarung resultierende) Streitigkeit örtlich zuständig sei.
3.2. Die Beschwerdeführerin vertritt dagegen den Standpunkt, dass in der Zusammenarbeitsvereinbarung, den AGB der Bundesverwaltung und den AGB der Klägerin unterschiedliche Gerichtsstandsklauseln enthalten seien. Diese widersprächen sich und könnten nicht eindeutig ausgelegt werden. Folglich gelange der gesetzliche Gerichtsstand für Klagen aus Vertrag zur Anwendung; zuständig seien daher gemäss Art. 31 ZPO die Gerichte an ihrem Sitz in U._ oder die Gerichte in V._, wo die charakteristische Leistung zu erbringen sei.
3.3. Das Handelsgericht erwog, die Gerichtsstandsklausel in Ziffer 9 Absatz 5 der Zusammenarbeitsvereinbarung ("Sollte sich [...] eine gerichtliche Beurteilung nicht vermeiden lassen, gilt als Gerichtsstand: das Handelsgericht Zürich") sei "für sich betrachtet klar und damit nicht auslegungsbedürftig". Sie gehe als besondere Individualabrede den zwei im Recht liegenden allgemeinen Geschäftsbedingungen vor, zumal sich diese selbst widersprächen.
Richtig sei zwar, dass Ziffer 2 der Zusammenarbeitsvereinbarung den Vorrang des Spezifikationsblatts (vor der Zusammenarbeitsvereinbarung) stipuliere und dass das Spezifikationsblatt seinerseits auf die beiden AGB (weiter-) verweise. Allerdings umfasse die Vorrangregel in der Zusammenarbeitsvereinbarung - ausdrücklich und einzig - das Spezifikationsblatt selber, nicht aber allfällige allgemeine Geschäftsbedingungen. Ausserdem hielten beide AGB selbst "explizit" fest, dass "bei Widersprüchen zwischen dem Vertrag und den Allgemeinen Geschäftsbedingungen ersterer vorgehe".
Schliesslich sei zu beachten, dass die Beschwerdegegnerin das im Streit stehende Konkurrenzverbot auf die Zusammenarbeitsvereinbarung stütze. Die Bundesverwaltung sei in dieser Auseinandersetzung "gar nicht direkt involviert". Es erscheine daher nicht sinnvoll, eine Gerichtsstandsklausel anzuwenden, die einzig in den AGB der Bundesverwaltung festgeschrieben sei und von den übrigen Vereinbarungen abweiche.
4.
Die Parteien haben die Zuständigkeit eines Handelsgerichts vereinbart. Die sachliche Zuständigkeit der Gerichte ist der Disposition der Parteien grundsätzlich entzogen (BGE 142 III 623 E. 2.4; 138 III 471 E. 3.1). Nachdem das Handelsgericht des Kantons Zürich für die vorliegende handelsrechtliche Streitigkeit aber unbestrittenermassen sachlich zuständig ist (vgl. Art. 6 ZPO), bereitet der vorinstanzliche Zuständigkeitsentscheid unter diesem Gesichtspunkt keine Probleme (vgl. Urteil 4A_131/2017 vom 21. September 2017 E. 4, nicht publ. in: BGE 143 III 558). Umstritten ist denn auch die örtliche Zuständigkeit.
5.
5.1. Vorinstanz, Beschwerdeführerin und Beschwerdegegnerin gehen davon aus, dass der tatsächliche Wille der Parteien in Bezug auf das Zustandekommen und die Tragweite der in Frage stehenden Gerichtsstandsklauseln nicht festgestellt werden kann. Im Streit steht somit die Auslegung der Erklärungen nach dem Vertrauensprinzip.
5.2. Die Aussage des Handelsgerichts, die Gerichtsstandsklausel in Ziffer 9 Absatz 5 der Zusammenarbeitsvereinbarung sei "klar und damit nicht auslegungsbedürftig", ist in dieser Allgemeinheit missverständlich. Nach zeitgemässem Methodenverständnis, das auch der bundesgerichtlichen Rechtsprechung zugrunde liegt, gibt es den "klaren" Vertragswortlaut, der von vornherein keiner Auslegung bedarf, nicht; auch der klare Wortsinn ist für die Vertragsauslegung nicht allein massgebend (BGE 127 III 444 E. 1b, seither wiederholt bestätigt, etwa in BGE 136 III 186 E. 3.2.1 S. 188; sodann grundlegend Urteil 4C.325/1994 vom 10. März 1995 E. 4a [zusammengefasst wiedergegeben bei PETER MÜNCH, Vertragsauslegung: Ablehnung der "Eindeutigkeitsregel", ZBJV 1995, S. 241]; vgl. immerhin Art. 17 Abs. 2 ZPO zur besonderen Bedeutung der Schriftform bei Gerichtsstandsvereinbarungen).
5.3. Dennoch ist das handelsgerichtliche Auslegungsergebnis nicht zu beanstanden. Denn auch die Beschwerdeführerin bestreitet an sich nicht, dass Ziffer 9 Absatz 5 der Zusammenarbeitsvereinbarung von den Parteien nach Treu und Glauben grundsätzlich so verstanden werden durfte und musste, dass das Handelsgericht des Kantons Zürich für Streitigkeiten aus dieser Vereinbarung zuständig ist. Sie macht einzig geltend, diese Abrede werde durch den indirekten Verweis auf die AGB der Bundesverwaltung derogiert. Zu Recht nahm die Vorinstanz in diesem Zusammenhang aber auf den Grundsatz des Vorrangs von Individualabreden vor vorformulierten Klauseln aus allgemeinen Geschäftsbedingungen Bezug. Demnach gilt: Geben die Parteien individuelle Willensäusserungen ab, kann dies nach dem Vertrauensprinzip vernünftigerweise nur so gedeutet werden, dass diese konkreten Erklärungen dem anderslautenden Inhalt der allgemeinen Geschäftsbedingungen vorgehen sollen (so die Rechtsprechung [BGE 135 III 225 E. 1.4; 125 III 263 E. 4b/bb S. 267; 123 III 35 E. 2c/bb S. 44; Urteil 4A_512/2015 vom 14. April 2016 E. 3.1] und das Schrifttum [etwa: GAUCH/SCHLUEP/SCHMID, Schweizerisches Obligationenrecht, Allgemeiner Teil, Bd I, 11. Aufl. 2020, S. 273 f. Rz. 1131 f.; ERNST A. KRAMER, Berner Kommentar, Obligationenrecht, 1986, N. 210-212 zu Art. 1 OR; A RIANE MORIN, in: Commentaire romand, Codes des obligations I, 2. Aufl. 2012, N. 174 zu Art. 1 OR]).
Diese Überlegungen vermag die Beschwerdeführerin mit ihren Ausführungen zur "Hierarchie der Vertragsdokumente und -anhänge" nicht umzustossen. Sie beharrt darauf, dass die Zusammenarbeitsvereinbarung und das Spezifikationsblatt (auch) auf die AGB der Bundesverwaltung verwiesen, die ihrerseits die Zuständigkeit der Bernischen Gerichte vorsähen. Damit geht die Beschwerdeführerin nicht nur an der vorinstanzlichen Argumentation zum Verhältnis von (speziellen) Individualabreden zu vorformulierten Vertragsbedingungen vorbei; sie übersieht auch, dass die betreffenden AGB der Bundesverwaltung selbst den Vorrang der besonderen "Vertragsurkunden" festschreiben, worauf das Handelsgericht zu Recht hingewiesen hat (siehe vorangehende Erwägung 3.3).
5.4. Entscheidend ist, ob die Parteien in guten Treuen davon ausgehen durften, dass sich die jeweilige Gegenseite mit der Zustimmung zur Zusammenarbeitsvereinbarung auch mit der Zuständigkeit des Handelsgerichts des Kantons Zürich für Streitigkeiten aus der Zusammenarbeitsvereinbarung einverstanden erklärte. Inwiefern dies nicht der Fall gewesen sein sollte, zeigt die Beschwerdeführerin nicht nachvollziehbar auf. Insbesondere ist nicht erkennbar, was sie aus dem Umstand ableiten will, dass die Beschwerdegegnerin ihr Gesuch um superprovisorische Massnahmen noch beim Handelsgericht des Kantons Bern eingereicht hatte. Dies sei - so meint die Beschwerdeführerin - "der beste Hinweis", dass die fragliche Gerichtsstandsklausel unklar sei. Die Beschwerdegegnerin habe als "Vertragsredaktorin [...] ihr Vertragskonstrukt selber am besten verstanden"; entsprechend müsse "bei der Auslegung nach Treu und Glauben" mitberücksichtigt werden, dass sie zunächst an ein Gericht des Kantons Bern gelangt sei. Dies spreche "zweifellos gegen die angebliche Klarheit der Gerichtsstandsvereinbarung in der Zusammenarbeitsvereinbarung". Abgesehen davon, dass nachträgliches Parteiverhalten bei der Auslegung nach dem Vertrauensprinzip im Grundsatz nicht von Bedeutung ist (BGE 133 III 61 E. 2.2.2.2 S. 69; 132 III 626 E. 3.1; je mit Hinweisen), ändert auch dieses Vorbringen nichts am vorinstanzlichen Schluss, wonach sich die angebliche Widersprüchlichkeit in der Vertragsgestaltung ohne Weiteres ausräumen lässt und die örtliche Zuständigkeit des Handelsgerichts des Kantons Zürich zweifelsfrei feststellbar ist. Im Übrigen ist keineswegs ausgeschlossen, dass für die Anordnung vorsorglicher Massnahmen ein anderes als das für die Hauptsache zuständige Gericht angerufen wird (siehe nur Art. 13 lit. b ZPO).
5.5. Das Handelsgericht wies ferner darauf hin, dass die Beschwerdeführerin im Verfahren vor dem Handelsgericht des Kantons Bern dessen örtliche Zuständigkeit ausdrücklich bestritten habe. Wenn sie sich nun zur Begründung der Unzuständigkeit der Zürcher Gerichte auf die Gerichtsstandsklausel in den AGB der Bundesverwaltung zugunsten von Bern stütze, erscheine dies vor dem Grundsatz von Treu und Glauben (Art. 52 ZPO) als "problematisch". Die Beschwerdeführerin bestreitet, treuwidrig gehandelt zu haben. Wie es sich damit verhält, braucht nicht weiter untersucht zu werden, da die vorinstanzliche Beurteilung - zumindest im Ergebnis - nach dem Gesagten ohnehin zu schützen ist.
5.6. Die Vorinstanz hat ihre Zuständigkeit gestützt auf die Gerichtsstandsklausel in Ziffer 9 Absatz 5 der Zusammenarbeitsvereinbarung zu Recht bejaht. Der Nichteintretensantrag der Beschwerdeführerin war damit abzuweisen.
6.
Die Beschwerde ist abzuweisen. Dem Ausgang des Verfahrens entsprechend wird die Beschwerdeführerin kosten- und entschädigungspflichtig (siehe Art. 66 Abs. 1 sowie Art. 68 Abs. 1 und 2 BGG).
Demnach erkennt das Bundesgericht:
1.
Die Beschwerde wird abgewiesen.
2.
Die Gerichtskosten von Fr. 6'500.-- werden der Beschwerdeführerin auferlegt.
3.
Die Beschwerdeführerin hat die Beschwerdegegnerin für das bundesgerichtliche Verfahren mit Fr. 7'500.-- zu entschädigen.
4.
Dieses Urteil wird den Parteien und dem Handelsgericht des Kantons Zürich schriftlich mitgeteilt.
Lausanne, 19. Januar 2021
Im Namen der I. zivilrechtlichen Abteilung
des Schweizerischen Bundesgerichts
Die Präsidentin: Hohl
Der Gerichtsschreiber: Stähle