Faits:
A. Le 18 avril 2006, A._, qui exploite une entreprise de chauffage et sanitaire, a ouvert action contre X._. Il concluait, d'une part, à la condamnation de la défenderesse à lui payer la somme de 12'000 fr., solde d'une facture pour divers travaux effectués sur une installation de chauffage, et, d'autre part, à l'inscription définitive d'une hypothèque légale d'artisan sur l'immeuble de X._.
La défenderesse a conclu au rejet de l'action. A titre reconventionnel, elle demandait que A._ soit condamné à lui verser une somme à dire de justice pour les frais de remise en état de l'installation de chauffage, qu'elle chiffrait à 30'879 fr., ainsi que des dommages-intérêts. Elle a requis l'assistance judiciaire gratuite.
Par décision du 11 juillet 2008, le Juge civil du Tribunal de première instance jurassien a rejeté la requête d'assistance judiciaire. Sans se prononcer sur l'indigence de X._, il a jugé que les chances de succès de ses conclusions ne pouvaient pas être considérées comme sérieuses, au motif que la défenderesse et demanderesse reconventionnelle n'aurait pas signalé à temps les défauts de l'ouvrage.
Par arrêt du 25 septembre 2008, la Cour civile du Tribunal cantonal jurassien a rejeté le recours déposé par X._. A l'instar du juge précédent, elle a considéré comme insuffisantes les chances de succès de la requérante, mais pour des motifs différents de ceux retenus dans la décision de première instance. L'autorité cantonale a laissé ouverte la question de la tardiveté de l'avis des défauts. En revanche, elle a retenu que X._ avait exercé le droit formateur conféré au maître par l'<ref-law> en cas de défaut en choisissant la réparation de l'ouvrage par l'entrepreneur, qu'elle avait par la suite, à une date qui n'était toutefois pas précisée, refusé qu'il procédât lui-même à la réparation et que l'entrepreneur avait alors offert de faire exécuter la réparation, à ses frais, par un autre installateur qui avait déjà travaillé pour X._. La cour cantonale en a déduit que la défenderesse et demanderesse reconventionnelle paraissait être en demeure. Elle a ajouté, sans plus de détails, que les conclusions prises dans le cadre de l'action reconventionnelle, pour une partie, étaient en contradiction avec les constatations de l'expert judiciaire et, pour l'autre, «concern[ai]ent des revendications à plus-value qui n'[avaient] pas à être supportées par l'entrepreneur».
B. X._ interjette un recours en matière civile. Elle conclut principalement à l'octroi de l'assistance judiciaire pour la procédure pendante devant le Tribunal de première instance; à titre subsidiaire, elle demande l'annulation de l'arrêt attaqué et le renvoi de la cause à la cour cantonale.
Par ailleurs, la recourante demande l'assistance judiciaire pour la procédure devant le Tribunal fédéral; sur requête, elle a exposé, pièces à l'appui, sa situation patrimoniale.
Invitée à se déterminer, la cour cantonale n'a pas pris position.

Considérant en droit:
1. Le Tribunal fédéral examine d'office et librement la recevabilité des recours qui lui sont soumis (<ref-ruling> consid. 1 p. 117, 235 consid. 1 p. 236, 379 consid. 1 p. 381).
Le refus de l'assistance judiciaire est une décision incidente (Message du 28 février 2001 concernant la révision totale de l'organisation judiciaire fédérale, FF 2001 4131) susceptible de causer un préjudice irréparable (<ref-ruling> consid. 1.1 p. 131, 281 consid. 1.1 p. 283/284) et, partant, sujette à recours (<ref-law>).
La voie de recours contre une telle décision est déterminée par le litige principal. En l'espèce, la décision attaquée a été rendue en matière civile (<ref-law>). La valeur litigieuse ouvrant la voie du recours en matière civile est déterminée par les conclusions encore contestées devant la dernière instance cantonale (<ref-law>). Le montant d'une demande reconventionnelle et celui de la demande principale ne sont pas additionnés (<ref-law>); les deux demandes sont considérées comme indépendantes. Si leurs conclusions s'excluent, il suffit que la valeur litigieuse requise soit donnée pour l'une; elle est alors réputée être donnée pour l'autre, le recours étant recevable sur les deux demandes (<ref-law>). En l'espèce, la valeur litigieuse de la demande reconventionnelle est supérieure à 30'000 fr. et la décision attaquée a été rendue par une autorité cantonale de dernière instance (<ref-law>). Le recours en matière civile est ouvert (<ref-law>).
2. Le droit à l'assistance judiciaire est déterminé en premier lieu par le droit cantonal de procédure, dont le Tribunal fédéral ne peut contrôler le respect que sous l'angle restreint de l'arbitraire. Ce droit découle également de l'art. 29 al. 3 Cst., qui offre des garanties minimales dont le Tribunal fédéral peut examiner librement le respect; il ne peut toutefois revoir que sous l'angle de l'arbitraire les constatations de fait sur lesquelles repose la décision attaquée (<ref-ruling> consid. 3a p. 204 ss).
La recourante invoque à la fois l'art. 29 al. 3 Cst. et des dispositions du droit cantonal de procédure, spécialement l'<ref-law>/JU. Cependant, elle ne motive pas spécifiquement le grief relatif au droit cantonal, ni ne soutient que celui-ci lui conférerait des droits plus étendus que le droit constitutionnel fédéral. Par conséquent, seul le moyen tiré de la violation de l'art. 29 al. 3 Cst. sera examiné.
Aux termes de cette disposition, toute personne qui ne dispose pas de ressources suffisantes a droit, à moins que sa cause paraisse dépourvue de toute chance de succès, à l'assistance judiciaire gratuite. En outre, elle a droit à l'assistance gratuite d'un défenseur, dans la mesure où la sauvegarde de ses droits le requiert. D'après la jurisprudence, un procès est dépourvu de chances de succès lorsque les perspectives de le gagner sont notablement plus faibles que les risques de le perdre, et qu'elles ne peuvent donc être considérées comme sérieuses, de sorte qu'une personne raisonnable et de condition aisée renoncerait à s'y engager en raison des frais qu'elle s'exposerait à devoir supporter; il ne l'est pas, en revanche, lorsque les chances de succès et les risques d'échec s'équilibrent à peu près, ou que les premières ne sont que légèrement inférieures aux secondes (<ref-ruling> consid. 5 p. 616 et l'arrêt cité). Ce qui est déterminant est de savoir si une partie disposant des ressources financières nécessaires se lancerait ou non dans le procès après une analyse raisonnable. Une partie ne doit pas pouvoir mener un procès qu'elle ne conduirait pas à ses frais, uniquement parce qu'il ne lui coûte rien (<ref-ruling> consid. 2.3.1 p. 136). La situation doit être appréciée à la date du dépôt de la requête et sur la base d'un examen sommaire (<ref-ruling> consid. 5 p. 616 et les arrêts cités).
L'absence de chances de succès peut résulter des faits ou du droit. L'assistance judiciaire sera refusée s'il apparaît d'emblée que les faits pertinents allégués sont invraisemblables ou ne pourront pas être prouvés; cette hypothèse est réalisée lorsque la thèse du requérant ne tient pas debout. L'assistance peut également être refusée s'il apparaît d'emblée que la démarche est irrecevable ou que la position du requérant est juridiquement mal fondée; sur le fond, on peut imaginer que les faits allégués ne correspondent pas aux conditions de l'action. L'autorité chargée de statuer sur l'assistance judiciaire ne doit évidemment pas se substituer au juge du fond; elle doit seulement examiner s'il lui apparaît qu'il y a des chances que le juge adopte la position soutenue par le requérant, chances qui doivent être plus ou moins équivalentes aux risques qu'il parvienne à la conclusion contraire. Dire quels sont les éléments d'appréciation pertinents et s'il existe des chances de succès est une question de droit que le Tribunal fédéral examine librement; en revanche, savoir si les faits sont établis ou prouvables est une question qui relève de l'appréciation des preuves et ne peut être revue que sous l'angle de l'arbitraire (Bernard Corboz, Le droit constitutionnel à l'assistance juridique, SJ 2003 II p. 82 s.).
3. La cour cantonale a retenu que la recourante avait mis l'entrepreneur - demandeur et défendeur reconventionnel - en demeure de réparer les défauts jusqu'au 24 décembre 2005 et qu'elle était liée par ce choix. La recourante conteste avoir opté pour la réparation. Elle relève qu'au demeurant, l'entrepreneur n'y a pas procédé dans le délai fixé.
3.1. Lorsque l'ouvrage fait sur le fonds du maître est si défectueux ou si peu conforme à la convention que le maître ne puisse en faire usage ou être équitablement contraint de l'accepter et si son enlèvement ne présente pas des inconvénients excessifs, le maître a le droit de le refuser; le refus entraîne la résolution du contrat d'entreprise. Si les défauts sont moindres ou s'il renonce à refuser l'ouvrage, le maître peut réduire le prix en proportion de la moins-value ou obliger l'entrepreneur à réparer l'ouvrage à ses frais si la réfection est possible sans dépenses excessives (<ref-law>). Le maître est en principe libre d'exiger la réfection de l'ouvrage, l'annulation du contrat ou la réduction du prix. Mais il est lié par son choix, qui procède de l'exercice d'un droit formateur; s'il demande la réfection, il ne peut plus exercer l'action rédhibitoire ou minutoire. Cependant, si l'entrepreneur ne procède pas à la réparation dans le délai fixé, les règles sur la demeure s'appliquent (<ref-law>). A l'échéance du délai fixé ou, éventuellement, à l'échéance d'un délai convenable supplémentaire (art. 107 et 108 CO), les différentes options offertes au maître par l'<ref-law> renaissent; il n'est alors plus lié par son choix antérieur de demander la réparation des défauts (<ref-ruling> consid. 6a p. 42; Peter Gauch, Der Werkvertrag, 4e éd. 1996, nos 1789 ss, p. 481 ss; François Chaix, in Commentaire romand, 2003, nos 4 et 51 ad <ref-law>).
Les parties peuvent déroger au système légal. En l'espèce, il ne ressort toutefois pas de l'arrêt attaqué qu'elles auraient fait usage de cette faculté. Au contraire, tant la décision entreprise que le recours renvoient à l'<ref-law>.
3.2. Selon l'arrêt attaqué, la recourante a choisi de demander la réparation de l'ouvrage. La cour cantonale se fonde manifestement sur la lettre du 5 décembre 2005 que le mandataire de la recourante a envoyée à l'entrepreneur. Cette lettre se termine comme suit: «Pour toutes ces raisons, je vous informe que ma cliente refuse ces travaux tels qu'ils ont été réalisés. Elle vous demande de supprimer l'intégralité des défauts, d'ici au 24 décembre prochain. Il s'agit là d'une mise en demeure. A défaut, elle se réserve de faire valoir ses droits inhérents à la garantie dans le contrat d'entreprise.»
Prise au mot, la déclaration est ambiguë: la recourante déclare tant refuser l'ouvrage qu'exiger sa réparation, deux choses qui s'excluent. Néanmoins, même en admettant que l'entrepreneur devait objectivement comprendre que la recourante demandait la réparation de l'ouvrage, force est de constater qu'il n'a pas donné suite à cette injonction dans le délai fixé au 24 décembre 2005; au surplus, il n'a pas été établi que la recourante l'en aurait empêché. Quant aux faits survenus ultérieurement auxquels la cour cantonale fait allusion en partie, ils n'ont pas été constatés précisément dans l'arrêt attaqué. On ne saurait donc en l'état, c'est-à-dire sur la base des faits constatés, retenir que la recourante semble être en demeure pour avoir refusé la réparation dans le délai fixé à cet effet, qu'une action minutoire est exclue et que ses conclusions en rejet de l'action de l'entrepreneur en paiement du solde du prix de l'ouvrage sont, pour le motif retenu par la cour cantonale, dénuées de chances de succès.
4. Le recours doit être admis. Les faits constatés dans la décision cantonale ne permettent pas d'examiner les chances de succès de la recourante dans l'action que l'entrepreneur a ouverte contre elle, ni dans celle qu'elle lui intente par voie reconventionnelle. La cause sera dès lors renvoyée à la cour cantonale pour nouvelle décision.
5. La recourante, qui obtient gain de cause, est indigente. L'assistance judiciaire lui est dès lors accordée pour la procédure de recours devant le Tribunal fédéral (<ref-law>). Me Hubert Theurillat est désigné comme avocat d'office de la recourante; la caisse du Tribunal fédéral lui versera une indemnité (<ref-law>).
Il n'est pas perçu de frais judiciaires (<ref-law>).

Par ces motifs, le Tribunal fédéral prononce:
1. Le recours est admis. L'arrêt attaqué est annulé et la cause est renvoyée à la cour cantonale pour nouvelle décision.
2. Il n'est pas perçu de frais judiciaires.
3. La demande d'assistance judiciaire pour la procédure devant le Tribunal fédéral est admise et Me Hubert Theurillat est désigné comme avocat d'office de la recourante.
4. La caisse du Tribunal fédéral versera à Me Hubert Theurillat une indemnité de 2'500 fr. à titre d'honoraires d'avocat d'office.
5. Le présent arrêt est communiqué au mandataire de la recourante et à la Cour civile du Tribunal cantonal du canton du Jura.
Lausanne, le 29 janvier 2009
Au nom de la Ire Cour de droit civil
du Tribunal fédéral suisse
La Présidente: La Greffière:
Klett Godat Zimmermann