Faits : A. A.a. B._ (ci-après: l'épouse), informaticienne, et C._ (ci-après: le mari), économiste, se sont mariés en 1979. Ils ont eu trois enfants, dont un fils dénommé D._, né en 1983 (ci-après: le fils). La société anonyme _ AG a été fondée le 29 décembre 1994 avec un capital-actions de 100'000 fr. et inscrite le jour suivant au registre du commerce. Son siège était à Zoug et son but était notamment d'élaborer des systèmes d'information. Lors de la fondation, le mari a souscrit 98% du capital-actions. Deux autres personnes ont souscrit chacune 1% du capital-actions, qu'elles ont cédé au mari le jour suivant. Celui-ci est ainsi devenu actionnaire unique. Les actions au porteur ne sont pas incorporées dans des titres physiques. Le 23 décembre 2004, le capital-actions a été augmenté d'un montant de 400'000 fr. pour être porté à 500'000 fr. (500 actions au porteur de 1'000 fr. chacune); le mari a acquis 360 nouvelles actions, le fils les 40 restantes. L'augmentation du capital a permis d'acheter deux parcelles à... VD dans le cadre d'un projet immobilier qui était censé constituer une prévoyance professionnelle pour le couple. Au début de l'année 2007, la société a changé son nom en A._ SA. Elle a transféré son siège à... VD. A.b. Le 30 septembre 2007 s'est tenue une assemblée générale de A._ SA. Le procès-verbal a été conjointement signé par le mari qui assumait la présidence et par l'épouse qui tenait le protocole. Il est notamment constaté que l'épouse est nommée administrateur délégué et qu'elle détient 20% des actions de A._ SA, les autres actionnaires étant le fils avec 10% et le mari avec 70%. Le procès-verbal a été transmis au registre du commerce et l'épouse inscrite en qualité d'administratrice déléguée avec signature individuelle. Une nouvelle assemblée générale a eu lieu le 5 avril 2008. Le procès-verbal, signé par le mari, président, et par l'épouse, déléguée, relève qu'ils détiennent chacun 250 actions. Le 19 juin 2009, une assemblée générale de A._ SA s'est tenue par-devant un notaire qui a tenu un procès-verbal authentique. Le mari et l'épouse l'ont signé. Il y est constaté que ces deux personnes représentent l'ensemble du capital-actions, que le premier reprend la fonction de délégué avec signature individuelle et la seconde la fonction de présidente avec signature individuelle. A.c. Par acte authentique du 17 mars 2009, l'épouse a vendu à des tiers un immeuble dont elle était propriétaire pour un montant de 1'450'000 francs. Selon le mari, l'épouse avait demandé la propriété de la moitié du capital-actions; lui-même avait exigé en retour que le profit de la vente des immeubles soit investi dans la société. A sa demande, l'argent a été versé sur le compte de la société; il estime que c'était une erreur, qu'il aurait dû demander que l'argent lui soit versé personnellement afin qu'il puisse l'injecter dans la société. Il ressort de la comptabilité de A._ SA, qui était tenue par le mari, que les apports financiers de l'épouse ont été enregistrés comme des prêts d'actionnaires. L'épouse estime avoir une créance contre A._ SA; une procédure civile est ouverte à ce sujet. A.d. Le 11 janvier 2012, l'épouse a requis des mesures protectrices de l'union conjugale. A.e. Le 15 février 2012, une assemblée générale universelle de A._ SA a eu lieu sur convocation du mari. Le procès-verbal, signé par le mari en qualité de "président du jour" et par le fils en qualité de secrétaire, précise que la totalité du capital-actions de 500'000 fr. était représentée, que le fils a été unanimement élu comme nouveau membre du conseil d'administration, que le mari a été unanimement réélu comme membre du conseil d'administration, que l'épouse n'a pas été réélue après la durée statutaire de son [mandat, réd.], enfin que le président a constaté que tous les actionnaires étaient présents durant toute la durée de l'assemblée générale. L'épouse n'était pas présente; elle n'avait pas été convoquée à cette assemblée, ni même informée de sa tenue. Sur la base du procès-verbal, l'épouse a été radiée du registre du commerce où elle figurait en tant qu'administratrice. A.f. Par courriers des 21 février et 3 juillet 2012, l'épouse a déposé plainte pénale contre le mari pour gestion déloyale, escroquerie, faux dans les titres et obtention frauduleuse d'une constatation fausse. A.g. Le 16 mars 2012, la présidente du Tribunal civil de l'arrondissement de l'Est vaudois a ratifié une convention valant ordonnance de mesures protectrices de l'union conjugale. Les époux ont notamment convenu de vivre séparés pour une durée indéterminée. A.h. Le 22 mars 2012, l'épouse a requis l'office du registre du commerce de constater la nullité de sa radiation. Ledit office l'a renvoyée à agir devant le juge civil. B. B.a. L'épouse a déposé une requête en conciliation devant la Chambre patrimoniale cantonale du canton de Vaud. La conciliation n'a pas abouti et une autorisation de procéder a été délivrée. Par ordonnance de mesures provisionnelles du 11 juillet 2012, la juge déléguée de la Chambre patrimoniale cantonale a admis une requête déposée par A._ SA et a en substance ordonné à l'épouse de cesser de gérer les affaires de ladite société et de ne plus agir au nom de celle-ci. Le 25 septembre 2012, l'épouse a déposé par-devant la Chambre patrimoniale cantonale une "demande en constatation de nullité (706b CO) " dirigée contre A._ SA et contenant les conclusions principales suivantes: "1. [L'épouse] est actionnaire de A._ SA à raison de 50% du capital-actions depuis le 5 avril 2008. 2. La nullité des décisions prises lors de l'assemblée générale de la société A._ SA en date du 15 février 2012 est constatée. 3. L'office cantonal du registre du commerce est invité à radier les inscriptions opérées sur la base de l'assemblée générale de A._ SA du 15 février 2012." Par réponse du 8 février 2013, A._ SA a conclu au rejet de l'action. Statuant par jugement du 23 avril 2014, la Chambre patrimoniale a entièrement admis la demande de l'épouse. B.b. A._ SA a interjeté appel, concluant au rejet de la demande. La Cour d'appel civile du Tribunal cantonal vaudois n'a pas requis de réponse de la part de l'épouse. Par arrêt du 8 janvier 2015 (envoyé aux parties le 20 mars 2015), elle a rejeté l'appel jugé manifestement infondé et confirmé la décision de première instance. C. Le 7 mai 2015, A._ SA (ci-après: la recourante) a saisi le Tribunal fédéral d'un recours en matière civile rédigé en langue allemande. Elle conclut à l'irrecevabilité, subsidiairement au rejet de la conclusion n° 1, ainsi qu'au rejet des conclusions n os 2 et 3 de l'épouse (ci-après: l'intimée). L'intimée a requis l'assistance judiciaire, que la présidente de la cour de céans lui a accordée par ordonnance du 9 juin 2015. Le 24 août 2015, l'avocat commis d'office a déposé une réponse en langue française par laquelle l'intimée conclut au rejet du recours. La recourante a déposé des observations sur la réponse. L'intimée a renoncé à se déterminer.