Faits :
A.
Le 26 novembre 2014, A._, ressortissant érythréen né en 1991, a été prévenu par le Ministère public genevois de tentative de meurtre, brigandage aggravé et instigation à entrave à l'action pénale. Il lui est reproché d'avoir pris part à l'agression de B._, le 28 juin 2014 vers 4 heures du matin, avec C._ qu'il aurait incité à agir. La victime avait reçu de nombreux coups, notamment à la tête alors qu'elle était inconsciente; elle avait souffert d'une hémorragie cérébrale et d'un arrêt cardio-respiratoire durant six minutes. Le prévenu aurait dérobé ses deux téléphones portables ainsi que sa montre. Il aurait par ailleurs incité ses co-prévenus à de fausses déclarations. Par ordonnance du 27 novembre 2014, le Tribunal des mesures de contrainte du canton de Genève (Tmc) l'a placé en détention provisoire pour trois mois; cette mesure a été reconduite le 23 février 2015 en raison des risques de fuite, de collusion et de réitération.
B.
Le 10 mars 2015, le prévenu a présenté une demande de mise en liberté. Il contestait les risques de fuite, de collusion et de réitération et demandait à tout le moins le prononcé de mesures de substitution (assignation à domicile avec un bracelet électronique et confiscation des papiers d'identité, interdiction d'entrer en contact avec les parties et des tiers, avec surveillance téléphonique). Cette demande a été écartée par le Ministère public et transmise au Tmc qui, par ordonnance du 17 mars 2015, l'a rejetée. Le risque de fuite ne pouvait être exclu, de même que le risque de réitération, compte tenu des trois condamnations pour vol prononcées en 2010 et d'une autre procédure pendante pour vol en bande. Le risque de collusion perdurait à l'égard de la victime et des co-prévenus. Les mesures de substitution proposées n'apparaissaient pas efficaces.
Une nouvelle demande de mise en liberté a été rejetée le 30 avril 2015 par le Tmc, en substance pour les mêmes motifs. Par arrêt du 15 mai 2015, la Chambre pénale de recours de la Cour de justice genevoise a rejeté le recours formé par le prévenu. Celui-ci tentait de minimiser les faits mais les charges étaient suffisantes et le risque de collusion confirmé. Le risque de réitération était très concret vu les antécédents de l'intéressé, le rapport de police du 30 avril 2013 faisant état d'une nouvelle agression commise le 31 octobre 2014. La question du risque de fuite n'a pas été examinée. Les mesures de substitution ont à nouveau été jugées insuffisantes.
C.
Par acte du 17 juin 2015, A._ forme un recours en matière pénale par lequel il demande l'annulation de l'arrêt cantonal et sa mise en liberté immédiate, éventuellement moyennant des mesures de substitution; plus subsidiairement, il conclut au renvoi de la cause aux autorités cantonales pour nouvelle décision dans les sens considérants. Il requiert en outre l'assistance judiciaire.
La cour cantonale se réfère aux considérants de son arrêt, sans observations. Le Ministère public conclut au rejet du recours en relevant que l'instruction touche à sa fin et qu'un avis de prochaine clôture a été envoyé aux parties. Le recourant a répliqué, persistant dans ses griefs et ses conclusions.

Considérant en droit :
1.
Le recours en matière pénale (<ref-law>) est ouvert contre les décisions relatives à la détention provisoire ou pour des motifs de sûreté au sens des <ref-law>.
Le recours a été formé dans le délai fixé à l'<ref-law> contre une décision prise en dernière instance cantonale (233 CPP et <ref-law>). Le recourant, dont la demande de libération a été écartée, a qualité pour agir (art. 81 al. 1 let. a et b ch. 1 LTF) et les conclusions présentées sont recevables au regard de l'<ref-law>.
2.
Le recourant s'en rapporte à justice quant à l'existence de forts soupçons retenus par les instances précédentes. Il estime qu'une infraction de brigandage simple entrerait d'avantage en considération qu'un brigandage aggravé. Il conteste ensuite les risques de fuite (non retenu par l'instance précédente), de collusion et de réitération.
2.1. Une mesure de détention préventive n'est compatible avec la liberté personnelle garantie aux art. 10 al. 2 Cst. et 5 CEDH que si elle repose sur une base légale (art. 31 al. 1 et art. 36 al. 1 Cst.), soit en l'espèce l'<ref-law>. Elle doit en outre correspondre à un intérêt public et respecter le principe de la proportionnalité (art. 36 al. 2 et 3 Cst.). Pour que tel soit le cas, la privation de liberté doit être justifiée par les besoins de l'instruction, par un risque de fuite ou par un danger de collusion ou de réitération (art. 221 al. 1 let. a, b et c CPP). Préalablement à ces conditions, il doit exister des charges suffisantes, soit de sérieux soupçons de culpabilité, à l'égard de l'intéressé (<ref-law>; art. 5 par. 1 let. c CEDH), c'est-à-dire des raisons plausibles de le soupçonner d'avoir commis une infraction. Il n'appartient cependant pas au juge de la détention de procéder à une pesée complète des éléments à charge et à décharge et d'apprécier la crédibilité des personnes qui mettent en cause le prévenu. Il doit uniquement examiner s'il existe des indices sérieux de culpabilité justifiant une telle mesure. L'intensité des charges propres à motiver un maintien en détention préventive n'est pas la même aux divers stades de l'instruction pénale; si des soupçons, même encore peu précis, peuvent être suffisants dans les premiers temps de l'enquête, la perspective d'une condamnation doit apparaître vraisemblable après l'accomplissement des actes d'instruction envisageables (<ref-ruling> consid. 3.2 p. 126 s.).
2.2. Même s'il déclare s'en rapporter à justice à propos des charges retenues contre lui, le recourant tente d'en minimiser l'importance. Il se trouve toutefois clairement mis en cause pour s'être trouvé à l'origine de l'agression, y avoir pris part et avoir détroussé la victime. Compte tenu de la violence de l'agression, qui à dire d'experts, a mis la victime en danger de mort, une qualification de brigandage aggravé entre sérieusement en considération.
2.3. Le maintien du prévenu en détention peut être justifié par l'intérêt public lié aux besoins de l'instruction en cours, par exemple lorsqu'il est à craindre que l'intéressé mette sa liberté à profit pour compromettre la recherche de la vérité en exerçant une influence sur des personnes ou en altérant des moyens de preuves (<ref-law>). L'autorité doit démontrer que les circonstances particulières de l'espèce font apparaître un danger concret et sérieux de telles manoeuvres, propres à entraver la manifestation de la vérité, en indiquant, au moins dans les grandes lignes et sous réserve des opérations à conserver secrètes, quels actes d'instruction elle doit encore effectuer et en quoi la libération du prévenu en compromettrait l'accomplissement. Dans cet examen, entrent en ligne de compte les caractéristiques personnelles du détenu, son rôle dans l'infraction ainsi que ses liens avec les autres prévenus (<ref-ruling> consid. 4.2 p. 127 s.; <ref-ruling> consid. 3.2 p. 23 et les références citées).
En l'occurrence, le recourant est également poursuivi pour entrave à l'action de la justice pour avoir tenté d'obtenir, de la part de quatre co-prévenus, des déclarations qui lui soient favorables quant à sa participation à l'agression. Ces agissements, relatés par les intéressés et eux-mêmes constitutifs d'une infraction, vont bien au-delà du simple exercice du droit de ne pas s'incriminer. Par ailleurs, les déclarations de C._ constituent un élément à charge très important s'agissant de la manière dont le recourant l'aurait convaincu de s'en prendre à la victime et de son attitude pendant et après l'agression, dès lors que la victime elle-même n'a aucun souvenir du déroulement des faits. Enfin, contrairement à ce qu'il prétend, le recourant n'a guère collaboré à l'instruction; il a tenté initialement d'orienter l'enquête dans une fausse direction, puis a constamment minimisé son rôle. Le risque de collusion apparaît ainsi évident, quand bien même l'instruction toucherait aujourd'hui à sa fin.
2.4. Aux termes de l'art. 221 al. 1 let. c CPP, la détention provisoire ou pour des motifs de sûreté peut être ordonnée lorsqu'il y a lieu de craindre que le prévenu compromette sérieusement la sécurité d'autrui par des crimes ou des délits graves après avoir déjà commis des infractions du même genre. Selon la jurisprudence, il convient de faire preuve de retenue dans l'appréciation du risque de récidive: le maintien en détention ne peut se justifier pour ce motif que si le pronostic est très défavorable et si les délits dont l'autorité redoute la réitération sont graves. Bien qu'une application littérale de l'art. 221 al. 1 let. c CPP suppose l'existence d'antécédents, le risque de réitération peut être également admis dans des cas particuliers alors qu'il n'existe qu'un antécédent, voire aucun dans les cas les plus graves. La prévention du risque de récidive doit en effet permettre de faire prévaloir l'intérêt à la sécurité publique sur la liberté personnelle du prévenu (<ref-ruling> consid. 3-4 p. 18 ss). Le risque de récidive peut également se fonder sur les infractions faisant l'objet de la procédure pénale en cours, si le prévenu est fortement soupçonné - avec une probabilité confinant à la certitude - de les avoir commises (<ref-ruling> consid. 3.2 p. 86 et les références citées).
Pour contester le risque de récidive, le recourant se contente de relever qu'il entend réintégrer le domicile de sa mère où il pourrait bénéficier d'un soutien familial auquel il aurait jusque-là renoncé. Il n'en demeure pas moins qu'il est mis en cause pour sa participation à une violente agression et qu'une procédure est parallèlement en cours pour vol. Le dossier fait encore référence à une autre agression commise le 31 octobre 2014, et le recourant a été condamné pour vols d'usage et vol à trois reprises en 2010. Rien ne permet de penser qu'un simple changement dans son encadrement suffirait à réduire la propension du recourant à s'en prendre à l'intégrité et au patrimoine d'autrui.
La confirmation des risques de collusion et de réitération permet de se dispenser - comme l'a fait l'instance précédente - d'examiner un éventuel risque de fuite.
3.
Invoquant l'<ref-law>, le recourant soutient qu'une assignation à domicile assortie de la pose d'un bracelet électronique permettrait de réduire les risques de collusion et de réitération.
3.1. Conformément au principe de la proportionnalité (art. 36 al. 3 Cst.), il convient d'examiner les possibilités de mettre en oeuvre d'autres solutions moins dommageables que la détention (règle de la nécessité). Cette exigence est concrétisée par l'<ref-law>, qui prévoit que le tribunal compétent ordonne une ou plusieurs mesures moins sévères en lieu et place de la détention provisoire ou de la détention pour des motifs de sûreté si ces mesures permettent d'atteindre le même but que la détention. Selon l'<ref-law>, font notamment partie des mesures de substitution l'assignation à résidence (let. c) et l'interdiction d'entretenir des relations avec certaines personnes (let. g), l'exécution de ces mesures pouvant être surveillée par l'utilisation d'appareils techniques tels que le bracelet électronique (art. 237 al. 3).
3.2. Les mesures préconisées par le recourant ne sont manifestement pas propres à réduire le risque de collusion. En effet, rien ne l'empêcherait de tenter d'entrer en contact directement ou non avec ses co-prévenus afin de les influencer, ainsi qu'il l'a d'ailleurs déjà fait. L'argumentaire du recourant se limite également, sur ce point, à des déclarations d'intention qui ne sauraient convaincre. Le maintien en détention provisoire - qui ne devrait d'ailleurs pas se prolonger puisque l'instruction est désormais achevée - apparaît ainsi conforme au principe de la proportionnalité.
4.
Il résulte de ce qui précède que le recours doit être rejeté. Les conditions posées à l'<ref-law> étant réunies, il convient de mettre le recourant au bénéfice de l'assistance judiciaire, de lui désigner Me Philippe Currat comme avocat d'office et d'allouer à celui-ci une indemnité à titre d'honoraires, qui sera supportée par la caisse du tribunal (<ref-law>). Il n'est pas perçu de frais judiciaires.

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté.
2.
La demande d'assistance judiciaire est admise; Me Philippe Currat est désigné comme avocat d'office du recourant et une indemnité de 1'500 fr. lui est allouée à titre d'honoraires, à payer par la caisse du Tribunal fédéral. Il n'est pas perçu de frais judiciaires.
3.
Le présent arrêt est communiqué au mandataire du recourant, au Ministère public et à la Cour de justice de la République et canton de Genève, Chambre pénale de recours.
Lausanne, le 6 juillet 2015
Au nom de la Ire Cour de droit public
du Tribunal fédéral suisse
Le Juge présidant : Merkli
Le Greffier : Kurz