git0 0.2.13 → 0.2.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/dist/cli.js +27780 -0
  2. package/dist/cli.js.map +331 -0
  3. package/docs/404.html +2 -2
  4. package/docs/Footer/index.html +2 -2
  5. package/docs/assets/js/1df93b7f.1385eba0.js +2 -0
  6. package/docs/assets/js/22dd74f7.e13ac7a4.js +1 -0
  7. package/docs/assets/js/28ab763d.192aa3bb.js +1 -0
  8. package/docs/assets/js/299d276b.c9496717.js +1 -0
  9. package/docs/assets/js/{68cef36b.c312447e.js → 68cef36b.e5b1975b.js} +1 -1
  10. package/docs/assets/js/a9cef9d5.a7253e41.js +1 -0
  11. package/docs/assets/js/c3a618e1.1c56fb03.js +590 -0
  12. package/docs/assets/js/{main.cf858a7d.js → main.1f646b09.js} +2 -2
  13. package/docs/assets/js/runtime~main.f69f8f44.js +1 -0
  14. package/docs/functions/fm/index.html +26 -0
  15. package/docs/functions/git0/index.html +6 -6
  16. package/docs/functions/github-api/index.html +20 -20
  17. package/docs/functions/index.html +889 -71
  18. package/docs/functions/modules/index.html +4 -3
  19. package/docs/index.html +2 -2
  20. package/docs/lunr-index-1749760982052.json +1 -0
  21. package/docs/lunr-index.json +1 -1
  22. package/docs/search-doc-1749760982052.json +1 -0
  23. package/docs/search-doc.json +1 -1
  24. package/docs/sitemap.xml +1 -1
  25. package/docs-config/.docusaurus/client-manifest.json +36 -24
  26. package/docs-config/.docusaurus/docusaurus-plugin-content-docs/default/p/index-466.json +1 -1
  27. package/docs-config/.docusaurus/docusaurus-plugin-content-docs/default/site-src-functions-fm-md-a9c.json +19 -0
  28. package/docs-config/.docusaurus/docusaurus-plugin-content-docs/default/site-src-functions-git-0-md-299.json +4 -0
  29. package/docs-config/.docusaurus/docusaurus-plugin-content-docs/default/site-src-functions-index-md-c3a.json +1 -1
  30. package/docs-config/.docusaurus/globalData.json +10 -5
  31. package/docs-config/.docusaurus/registry.js +1 -0
  32. package/docs-config/.docusaurus/routes.js +9 -3
  33. package/docs-config/.docusaurus/routesChunkNames.json +7 -3
  34. package/docs-config/src/functions/fm.md +1 -0
  35. package/docs-config/src/functions/git0.md +2 -2
  36. package/docs-config/src/functions/github-api.md +34 -17
  37. package/docs-config/src/functions/index.md +19 -30
  38. package/docs-config/src/functions/modules.md +1 -0
  39. package/docs-config/src/functions/typedoc-sidebar.cjs +5 -0
  40. package/docs-config/src/pages/index.tsx +2 -3
  41. package/package.json +20 -10
  42. package/readme.md +19 -21
  43. package/src/cli.ts +150 -0
  44. package/src/download.ts +240 -0
  45. package/src/fm.js +0 -0
  46. package/src/github-api.ts +237 -0
  47. package/src/ide.ts +141 -0
  48. package/src/install.ts +147 -0
  49. package/src/package-menu.ts +183 -0
  50. package/src/platform.ts +53 -0
  51. package/src/releases.ts +159 -0
  52. package/src/setup.ts +9 -0
  53. package/src/types.ts +97 -0
  54. package/src/utils.ts +49 -0
  55. package/test/download.test.ts +48 -0
  56. package/test/github-api.test.ts +79 -0
  57. package/test/package-menu.test.ts +134 -0
  58. package/test/platform.test.ts +64 -0
  59. package/test/releases.test.ts +169 -0
  60. package/docs/assets/js/1df93b7f.d8c05d2c.js +0 -2
  61. package/docs/assets/js/22dd74f7.237398b4.js +0 -1
  62. package/docs/assets/js/28ab763d.5714aa16.js +0 -1
  63. package/docs/assets/js/299d276b.1a1baa1c.js +0 -1
  64. package/docs/assets/js/c3a618e1.965a31da.js +0 -1
  65. package/docs/assets/js/runtime~main.7520dc36.js +0 -1
  66. package/docs/lunr-index-1749613752315.json +0 -1
  67. package/docs/search-doc-1749613752315.json +0 -1
  68. package/src/git0.js +0 -379
  69. package/src/github-api.js +0 -472
  70. /package/docs/assets/js/{1df93b7f.d8c05d2c.js.LICENSE.txt → 1df93b7f.1385eba0.js.LICENSE.txt} +0 -0
  71. /package/docs/assets/js/{main.cf858a7d.js.LICENSE.txt → main.1f646b09.js.LICENSE.txt} +0 -0
@@ -1 +0,0 @@
1
- {"version":"2.3.9","fields":["title","content","keywords"],"fieldVectors":[["title/0",[0,569.939]],["content/0",[]],["keywords/0",[]],["title/1",[0,569.939]],["content/1",[1,9.474,2,5.268]],["keywords/1",[]],["title/2",[3,310.765]],["content/2",[]],["keywords/2",[]],["title/3",[4,690.448]],["content/3",[5,5.706,6,6.912,7,3.111,8,5.706,9,3.449,10,6.912,11,3.844,12,3.449,13,4.049,14,2.553,15,2.815,16,5.706,17,4.318,18,5.706,19,5.706,20,5.706,21,5.706,22,5.706]],["keywords/3",[]],["title/4",[23,310.765]],["content/4",[7,3.771,13,3.771,14,3.094,23,3.771,24,5.233,25,5.953,26,5.233,27,4.181]],["keywords/4",[]],["title/5",[28,383.934]],["content/5",[8,7.995]],["keywords/5",[]],["title/6",[29,490.562]],["content/6",[]],["keywords/6",[]],["title/7",[30,690.448]],["content/7",[]],["keywords/7",[]],["title/8",[31,690.448]],["content/8",[5,5.798,7,3.161,9,3.505,27,3.505,32,7.024,33,5.798,34,7.024,35,5.678,36,7.024,37,7.024,38,7.024,39,7.024,40,5.798,41,5.798,42,5.798,43,5.798,44,7.024]],["keywords/8",[]],["title/9",[23,310.765]],["content/9",[7,3.771,14,3.094,23,3.771,24,5.233,25,5.953,26,5.233,27,4.181,35,5.233]],["keywords/9",[]],["title/10",[28,383.934]],["content/10",[33,7.995]],["keywords/10",[]],["title/11",[29,490.562]],["content/11",[]],["keywords/11",[]],["title/12",[3,123.566,45,111.826,46,195.057,47,195.057,48,274.536,49,274.536]],["content/12",[]],["keywords/12",[]],["title/13",[15,215.84,50,177.582]],["content/13",[3,4.569,15,4.135,51,6.916,52,10.152,53,6.916]],["keywords/13",[]],["title/14",[50,177.582,54,529.894]],["content/14",[11,3.758,12,2.286,13,3.042,15,2.753,16,3.781,17,2.861,27,2.286,35,2.861,45,1.866,46,3.255,55,2.547,56,2.496,57,3.372,58,4.221,59,4.581,60,4.581,61,4.581,62,2.861,63,3.255,64,4.581,65,4.581,66,4.581,67,4.581,68,4.581,69,4.581,70,4.801,71,4.581,72,4.581,73,3.781,74,4.581,75,4.581,76,4.581,77,3.255,78,4.581,79,3.781,80,4.581,81,3.781,82,3.781,83,4.581,84,4.581,85,4.581,86,4.581,87,4.581,88,4.581]],["keywords/14",[]],["title/15",[50,177.582,89,529.894]],["content/15",[3,4.159,15,2.038,40,4.129,45,2.935,50,3.419,55,2.782,56,1.848,57,2.496,58,3.125,62,3.125,63,3.554,82,4.129,90,8.446,91,5.948,92,7.206,93,5.002,94,5.002,95,5.002,96,5.948,97,4.129,98,4.129,99,5.002,100,5.002,101,5.002,102,5.002,103,5.002,104,5.002,105,5.002,106,5.002]],["keywords/15",[]],["title/16",[13,193.504,14,158.78,17,268.542]],["content/16",[3,2.201,11,2.719,12,3.537,13,3.19,14,2.618,15,3.396,19,7.548,20,4.036,21,4.036,22,5.851,41,4.036,50,1.639,51,4.036,53,4.036,107,3.474,108,7.088,109,4.89,110,4.89,111,4.89,112,4.89,113,4.89,114,4.89,115,4.89,116,7.088,117,4.89,118,4.89,119,4.89,120,4.036,121,4.89,122,4.89,123,4.89,124,4.89,125,4.89,126,4.89]],["keywords/16",[]],["title/17",[17,330.987,77,376.488]],["content/17",[3,3.267,11,4.036,12,3.622,13,3.267,35,4.534,77,5.157,79,5.992,127,7.259,128,7.259,129,7.259,130,9.284,131,7.259,132,5.992,133,7.259,134,7.259]],["keywords/17",[]],["title/18",[50,177.582,135,437.408]],["content/18",[]],["keywords/18",[]],["title/19",[45,215.84,136,529.894]],["content/19",[3,2.612,11,4.45,12,2.896,13,3.602,14,2.144,15,2.364,18,4.791,27,2.896,43,4.791,45,2.364,57,2.896,58,3.626,91,6.605,132,4.791,137,4.791,138,5.804,139,5.804,140,4.791,141,5.804,142,5.804,143,5.804,144,5.804,145,5.804,146,5.804,147,5.804,148,4.124,149,5.804,150,5.804]],["keywords/19",[]],["title/20",[56,158.78,151,268.542,152,268.542]],["content/20",[2,3.669,29,4.687,56,2.437,98,5.446,107,4.687,151,6.106,153,6.597,154,6.597,155,8.725,156,6.597,157,6.597,158,6.597,159,8.725,160,6.199,161,8.725,162,6.597]],["keywords/20",[]],["title/21",[2,294.655,56,195.702]],["content/21",[]],["keywords/21",[]],["title/22",[163,490.562]],["content/22",[2,4.325,9,3.881,45,3.168,55,4.325,56,2.873,57,3.881,70,5.526,164,4.858,165,7.778,166,6.421,167,7.778,168,5.526]],["keywords/22",[]],["title/23",[169,490.562]],["content/23",[45,3.113,47,5.429,50,3.214,56,2.822,168,5.429,170,6.815,171,6.308,172,7.917,173,6.308,174,6.308]],["keywords/23",[]],["title/24",[175,569.939]],["content/24",[2,1.935,7,3.46,9,1.737,14,1.285,23,2.466,24,2.174,28,1.935,50,3.32,56,2.839,62,2.174,96,4.523,107,2.473,120,2.873,135,2.873,140,2.873,151,5.223,152,3.423,163,5.462,164,2.174,168,4.815,169,2.473,170,3.893,171,6.346,175,2.873,176,3.48,177,2.473,178,3.48,179,3.48,180,3.48,181,2.873,182,6.346,183,4.523,184,3.48,185,3.48,186,5.479,187,3.48,188,3.48,189,3.48,190,3.48,191,3.48,192,3.48,193,3.48,194,2.873,195,3.48,196,3.48,197,3.48]],["keywords/24",[]],["title/25",[198,690.448]],["content/25",[7,3.778,9,4.502,14,1.516,23,2.802,26,3.888,28,3.462,50,2.52,55,2.282,57,2.048,148,4.423,151,3.888,152,3.888,160,2.916,164,5.635,166,5.139,177,2.916,181,5.139,182,5.139,183,3.388,199,4.105,200,6.208,201,6.225,202,6.225,203,6.225,204,4.105,205,4.105,206,4.105,207,5.139,208,4.105,209,4.105,210,4.105,211,4.105,212,3.388,213,3.388]],["keywords/25",[]],["title/26",[214,690.448]],["content/26",[7,3.803,9,2.427,12,0.513,14,1.628,15,0.419,23,2.956,24,2.753,25,1.352,26,1.189,27,2.199,28,2.705,42,0.848,45,2.299,46,0.73,47,4.011,50,2.99,55,2.166,56,1.438,57,3.524,58,3.038,62,2.753,63,0.73,70,4.666,73,0.848,81,2.738,97,1.571,137,2.195,148,1.889,152,2.072,160,0.73,163,1.889,164,3.038,169,3.456,170,4.467,172,4.015,173,0.848,174,0.848,177,2.356,194,1.571,200,0.848,207,0.848,212,1.571,213,0.848,215,1.028,216,1.028,217,2.659,218,3.317,219,1.028,220,3.317,221,1.028,222,1.028,223,1.028,224,2.659,225,2.659,226,1.028,227,1.028,228,1.028,229,1.028,230,1.028,231,1.028,232,1.028,233,1.028,234,1.028,235,1.028,236,1.903,237,1.028,238,1.028,239,1.028,240,1.028,241,1.903,242,1.028,243,1.028,244,1.903,245,1.028,246,1.028,247,1.028,248,1.028,249,1.028,250,4.407,251,1.028,252,1.903,253,3.317,254,3.317,255,2.659,256,1.028,257,1.903,258,1.028,259,1.903,260,1.028,261,1.028,262,1.028,263,2.659,264,1.028,265,1.028,266,1.028,267,1.028,268,1.028,269,1.028,270,1.028,271,1.903,272,1.028,273,1.028,274,1.028,275,1.028,276,1.028,277,1.028,278,4.864,279,1.028,280,2.659,281,1.028,282,1.028,283,1.028,284,1.028,285,1.028,286,1.028,287,1.028,288,1.028,289,1.028,290,1.028,291,1.028,292,1.028,293,2.659,294,1.903,295,3.317,296,1.028,297,1.028,298,1.903,299,1.028,300,1.028,301,1.028,302,1.028,303,1.028,304,1.903,305,1.028,306,1.028,307,1.028,308,1.028,309,1.028]],["keywords/26",[]]],"invertedIndex":[["",{"_index":50,"title":{"13":{"position":[[0,2]]},"14":{"position":[[0,1]]},"15":{"position":[[0,2]]},"18":{"position":[[0,2]]}},"content":{"15":{"position":[[1,1],[52,1],[86,2],[148,1],[205,2],[256,1]]},"16":{"position":[[293,1]]},"23":{"position":[[14,1],[45,1]]},"24":{"position":[[174,1],[227,1],[455,2],[502,2],[535,1],[579,3],[583,2],[617,1],[647,3]]},"25":{"position":[[245,1],[247,1],[490,1]]},"26":{"position":[[467,1],[567,1],[1144,2],[1203,1],[1264,2],[1313,1],[1751,1],[2081,1],[2532,1],[2924,2],[2955,1],[3006,2],[3038,1],[3082,1],[3145,1],[3468,1],[3519,1],[3864,1],[3934,1],[3982,1],[3999,1],[4019,3],[4023,2],[4060,1],[4103,1],[4148,3]]}},"keywords":{}}],["10",{"_index":209,"title":{},"content":{"25":{"position":[[492,3]]}},"keywords":{}}],["2",{"_index":150,"title":{},"content":{"19":{"position":[[322,2]]}},"keywords":{}}],["3",{"_index":43,"title":{},"content":{"8":{"position":[[187,1]]},"19":{"position":[[331,3]]}},"keywords":{}}],["5",{"_index":309,"title":{},"content":{"26":{"position":[[4114,2]]}},"keywords":{}}],["5,000",{"_index":162,"title":{},"content":{"20":{"position":[[177,5]]}},"keywords":{}}],["60",{"_index":158,"title":{},"content":{"20":{"position":[[133,2]]}},"keywords":{}}],["access",{"_index":190,"title":{},"content":{"24":{"position":[[377,6]]}},"keywords":{}}],["api",{"_index":2,"title":{"21":{"position":[[7,3]]}},"content":{"1":{"position":[[12,3]]},"20":{"position":[[12,3]]},"22":{"position":[[42,3]]},"24":{"position":[[282,3]]}},"keywords":{}}],["api.js:130",{"_index":291,"title":{},"content":{"26":{"position":[[3272,10]]}},"keywords":{}}],["api.js:17",{"_index":165,"title":{},"content":{"22":{"position":[[24,9]]}},"keywords":{}}],["api.js:188",{"_index":219,"title":{},"content":{"26":{"position":[[125,10]]}},"keywords":{}}],["api.js:19",{"_index":210,"title":{},"content":{"25":{"position":[[521,9]]}},"keywords":{}}],["api.js:241",{"_index":277,"title":{},"content":{"26":{"position":[[2703,10]]}},"keywords":{}}],["api.js:262",{"_index":260,"title":{},"content":{"26":{"position":[[1945,10]]}},"keywords":{}}],["api.js:296",{"_index":270,"title":{},"content":{"26":{"position":[[2278,10]]}},"keywords":{}}],["api.js:310",{"_index":251,"title":{},"content":{"26":{"position":[[1499,10]]}},"keywords":{}}],["api.js:36",{"_index":178,"title":{},"content":{"24":{"position":[[80,9]]}},"keywords":{}}],["api.js:37",{"_index":206,"title":{},"content":{"25":{"position":[[412,9]]}},"keywords":{}}],["api.js:38",{"_index":205,"title":{},"content":{"25":{"position":[[353,9]]}},"keywords":{}}],["api.js:39",{"_index":199,"title":{},"content":{"25":{"position":[[53,9]]}},"keywords":{}}],["api.js:41",{"_index":204,"title":{},"content":{"25":{"position":[[188,9]]}},"keywords":{}}],["api.js:69",{"_index":234,"title":{},"content":{"26":{"position":[[742,9]]}},"keywords":{}}],["append",{"_index":147,"title":{},"content":{"19":{"position":[[292,7]]}},"keywords":{}}],["architectur",{"_index":262,"title":{},"content":{"26":{"position":[[1998,12]]}},"keywords":{}}],["array",{"_index":255,"title":{},"content":{"26":{"position":[[1694,5],[2476,5],[3760,5]]}},"keywords":{}}],["asc",{"_index":297,"title":{},"content":{"26":{"position":[[3569,5]]}},"keywords":{}}],["asset",{"_index":220,"title":{},"content":{"26":{"position":[[157,5],[291,5],[343,5],[461,5]]}},"keywords":{}}],["async",{"_index":30,"title":{"7":{"position":[[0,6]]}},"content":{},"keywords":{}}],["attempt",{"_index":39,"title":{},"content":{"8":{"position":[[134,8]]}},"keywords":{}}],["automat",{"_index":11,"title":{},"content":{"3":{"position":[[102,13]]},"14":{"position":[[347,13],[516,13]]},"16":{"position":[[6,13]]},"17":{"position":[[6,13]]},"19":{"position":[[153,13],[278,13]]}},"keywords":{}}],["automaticallydepend",{"_index":139,"title":{},"content":{"19":{"position":[[76,25]]}},"keywords":{}}],["avail",{"_index":37,"title":{},"content":{"8":{"position":[[108,9]]}},"keywords":{}}],["available)develop",{"_index":143,"title":{},"content":{"19":{"position":[[171,21]]}},"keywords":{}}],["await",{"_index":172,"title":{},"content":{"23":{"position":[[47,5],[90,5]]},"26":{"position":[[569,5],[1205,5],[1315,5],[1753,5],[2534,5],[3866,5],[4062,5]]}},"keywords":{}}],["base",{"_index":140,"title":{},"content":{"19":{"position":[[116,5]]},"24":{"position":[[286,4]]}},"keywords":{}}],["baseurl",{"_index":181,"title":{},"content":{"24":{"position":[[176,9]]},"25":{"position":[[1,8],[11,8]]}},"keywords":{}}],["boolean",{"_index":183,"title":{},"content":{"24":{"position":[[202,8],[310,7]]},"25":{"position":[[319,8]]}},"keywords":{}}],["both",{"_index":94,"title":{},"content":{"15":{"position":[[101,4]]}},"keywords":{}}],["build",{"_index":116,"title":{},"content":{"16":{"position":[[233,5],[329,5]]}},"keywords":{}}],["bun",{"_index":53,"title":{},"content":{"13":{"position":[[23,3]]},"16":{"position":[[126,3]]}},"keywords":{}}],["cargo",{"_index":123,"title":{},"content":{"16":{"position":[[323,5]]}},"keywords":{}}],["cargo.toml",{"_index":122,"title":{},"content":{"16":{"position":[[312,10]]}},"keywords":{}}],["categor",{"_index":271,"title":{},"content":{"26":{"position":[[2329,14],[2485,11]]}},"keywords":{}}],["cd",{"_index":68,"title":{},"content":{"14":{"position":[[155,3]]}},"keywords":{}}],["client",{"_index":166,"title":{},"content":{"22":{"position":[[46,6]]},"25":{"position":[[64,9],[75,7]]}},"keywords":{}}],["clone",{"_index":67,"title":{},"content":{"14":{"position":[[148,6]]}},"keywords":{}}],["code",{"_index":130,"title":{},"content":{"17":{"position":[[108,4],[131,5]]}},"keywords":{}}],["code)cod",{"_index":131,"title":{},"content":{"17":{"position":[[113,10]]}},"keywords":{}}],["compat",{"_index":253,"title":{},"content":{"26":{"position":[[1525,10],[1703,10],[1740,10],[1845,10]]}},"keywords":{}}],["compatible.length",{"_index":258,"title":{},"content":{"26":{"position":[[1824,20]]}},"keywords":{}}],["compos",{"_index":114,"title":{},"content":{"16":{"position":[[209,7]]}},"keywords":{}}],["compose.yml",{"_index":113,"title":{},"content":{"16":{"position":[[190,11]]}},"keywords":{}}],["configur",{"_index":135,"title":{"18":{"position":[[3,14]]}},"content":{"24":{"position":[[229,13]]}},"keywords":{}}],["conflict",{"_index":88,"title":{},"content":{"14":{"position":[[506,9]]}},"keywords":{}}],["console.log(`${repo.nam",{"_index":306,"title":{},"content":{"26":{"position":[[3936,26]]}},"keywords":{}}],["console.log(`found",{"_index":257,"title":{},"content":{"26":{"position":[[1805,18],[2583,18]]}},"keywords":{}}],["console.log(`own",{"_index":286,"title":{},"content":{"26":{"position":[[3084,19]]}},"keywords":{}}],["console.log(`run",{"_index":265,"title":{},"content":{"26":{"position":[[2112,20]]}},"keywords":{}}],["const",{"_index":170,"title":{},"content":{"23":{"position":[[1,5],[33,5]]},"24":{"position":[[522,5],[604,5]]},"26":{"position":[[455,5],[548,5],[1188,5],[1298,5],[1734,5],[2066,5],[2517,5],[2942,5],[3025,5],[3852,5],[4048,5]]}},"keywords":{}}],["constant",{"_index":211,"title":{},"content":{"25":{"position":[[532,9]]}},"keywords":{}}],["constructor",{"_index":175,"title":{"24":{"position":[[0,13]]}},"content":{"24":{"position":[[1,12]]}},"keywords":{}}],["copi",{"_index":101,"title":{},"content":{"15":{"position":[[258,5]]}},"keywords":{}}],["creat",{"_index":179,"title":{},"content":{"24":{"position":[[91,7]]}},"keywords":{}}],["current",{"_index":137,"title":{},"content":{"19":{"position":[[34,7]]},"26":{"position":[[1170,7],[1545,7],[1969,7]]}},"keywords":{}}],["cursor",{"_index":127,"title":{},"content":{"17":{"position":[[71,6]]}},"keywords":{}}],["cursor)windsurf",{"_index":128,"title":{},"content":{"17":{"position":[[78,16]]}},"keywords":{}}],["custom",{"_index":194,"title":{},"content":{"24":{"position":[[509,6]]},"26":{"position":[[1358,6],[4026,6]]}},"keywords":{}}],["d",{"_index":115,"title":{},"content":{"16":{"position":[[221,1]]}},"keywords":{}}],["danceget",{"_index":69,"title":{},"content":{"14":{"position":[[167,8]]}},"keywords":{}}],["debug",{"_index":182,"title":{},"content":{"24":{"position":[[194,7],[325,5],[593,5],[635,6]]},"25":{"position":[[304,6],[312,6]]}},"keywords":{}}],["default",{"_index":163,"title":{"22":{"position":[[0,8]]}},"content":{"24":{"position":[[46,8],[390,9],[436,7],[462,7]]},"26":{"position":[[862,7],[991,9],[3632,9]]}},"keywords":{}}],["default(opt",{"_index":176,"title":{},"content":{"24":{"position":[[19,17]]}},"keywords":{}}],["default_results_per_pag",{"_index":207,"title":{},"content":{"25":{"position":[[423,25],[457,25]]},"26":{"position":[[3645,25]]}},"keywords":{}}],["defin",{"_index":9,"title":{},"content":{"3":{"position":[[73,7]]},"8":{"position":[[48,7]]},"22":{"position":[[1,7]]},"24":{"position":[[57,7]]},"25":{"position":[[30,7],[165,7],[330,7],[389,7],[498,7]]},"26":{"position":[[102,7],[719,7],[1476,7],[1922,7],[2255,7],[2680,7],[3249,7]]}},"keywords":{}}],["depend",{"_index":16,"title":{},"content":{"3":{"position":[[150,12]]},"14":{"position":[[259,10]]}},"keywords":{}}],["desc",{"_index":298,"title":{},"content":{"26":{"position":[[3575,5],[4141,6]]}},"keywords":{}}],["descript",{"_index":24,"title":{},"content":{"4":{"position":[[16,11]]},"9":{"position":[[16,11]]},"24":{"position":[[153,11]]},"26":{"position":[[243,11],[876,11],[1591,11],[2373,11],[2798,11],[3400,11]]}},"keywords":{}}],["detect",{"_index":12,"title":{},"content":{"3":{"position":[[116,7]]},"14":{"position":[[270,9]]},"16":{"position":[[20,7],[83,9]]},"17":{"position":[[20,7]]},"19":{"position":[[67,8]]},"26":{"position":[[1957,7]]}},"keywords":{}}],["dir",{"_index":247,"title":{},"content":{"26":{"position":[[1365,6]]}},"keywords":{}}],["direct",{"_index":93,"title":{},"content":{"15":{"position":[[54,6]]}},"keywords":{}}],["directli",{"_index":61,"title":{},"content":{"14":{"position":[[77,8]]}},"keywords":{}}],["directori",{"_index":27,"title":{},"content":{"4":{"position":[[65,9]]},"8":{"position":[[85,9]]},"9":{"position":[[57,9]]},"14":{"position":[[489,9]]},"19":{"position":[[236,9]]},"26":{"position":[[317,9],[823,9],[976,9],[1082,9],[1178,9],[1288,9]]}},"keywords":{}}],["directoryproject",{"_index":138,"title":{},"content":{"19":{"position":[[42,16]]}},"keywords":{}}],["docker",{"_index":19,"title":{},"content":{"3":{"position":[[181,7]]},"16":{"position":[[164,6],[183,6],[202,6],[226,6]]}},"keywords":{}}],["dockerfil",{"_index":112,"title":{},"content":{"16":{"position":[[171,11]]}},"keywords":{}}],["download",{"_index":45,"title":{"12":{"position":[[6,8]]},"19":{"position":[[19,9]]}},"content":{"14":{"position":[[195,8]]},"15":{"position":[[61,8],[150,8]]},"19":{"position":[[15,10]]},"22":{"position":[[57,11]]},"23":{"position":[[135,12]]},"26":{"position":[[137,9],[270,8],[330,8],[398,10],[429,8],[753,9],[1118,8],[1147,8],[1267,8]]}},"keywords":{}}],["downloadpackag",{"_index":215,"title":{},"content":{"26":{"position":[[1,18]]}},"keywords":{}}],["downloadpackage(packageurl",{"_index":216,"title":{},"content":{"26":{"position":[[21,27]]}},"keywords":{}}],["downloadpath",{"_index":217,"title":{},"content":{"26":{"position":[[54,13],[297,12],[554,12]]}},"keywords":{}}],["downloadrepo",{"_index":232,"title":{},"content":{"26":{"position":[[629,15]]}},"keywords":{}}],["downloadrepo(repo",{"_index":233,"title":{},"content":{"26":{"position":[[646,18]]}},"keywords":{}}],["downloads/myapp",{"_index":231,"title":{},"content":{"26":{"position":[[605,21]]}},"keywords":{}}],["e.g",{"_index":149,"title":{},"content":{"19":{"position":[[309,6]]}},"keywords":{}}],["editorcross",{"_index":80,"title":{},"content":{"14":{"position":[[394,11]]}},"keywords":{}}],["enabl",{"_index":186,"title":{},"content":{"24":{"position":[[318,6],[586,6]]}},"keywords":{}}],["enrich",{"_index":292,"title":{},"content":{"26":{"position":[[3329,8]]}},"keywords":{}}],["env",{"_index":192,"title":{},"content":{"24":{"position":[[416,3]]}},"keywords":{}}],["environ",{"_index":120,"title":{},"content":{"16":{"position":[[281,11]]},"24":{"position":[[484,11]]}},"keywords":{}}],["exampl",{"_index":169,"title":{"23":{"position":[[0,8]]}},"content":{"24":{"position":[[445,8]]},"26":{"position":[[445,8],[1134,8],[1724,8],[2056,8],[2507,8],[2914,8],[3842,8]]}},"keywords":{}}],["exist",{"_index":146,"title":{},"content":{"19":{"position":[[265,7]]}},"keywords":{}}],["export",{"_index":29,"title":{"6":{"position":[[0,7]]},"11":{"position":[[0,7]]}},"content":{"20":{"position":[[53,6]]}},"keywords":{}}],["extract",{"_index":236,"title":{},"content":{"26":{"position":[[800,8],[1061,9]]}},"keywords":{}}],["facebook/react",{"_index":106,"title":{},"content":{"15":{"position":[[317,14]]}},"keywords":{}}],["fail",{"_index":225,"title":{},"content":{"26":{"position":[[438,5],[1127,5],[3835,5]]}},"keywords":{}}],["fallback",{"_index":111,"title":{},"content":{"16":{"position":[[138,9]]}},"keywords":{}}],["fals",{"_index":281,"title":{},"content":{"26":{"position":[[2896,5]]}},"keywords":{}}],["featur",{"_index":54,"title":{"14":{"position":[[2,9]]}},"content":{},"keywords":{}}],["field",{"_index":301,"title":{},"content":{"26":{"position":[[3697,5]]}},"keywords":{}}],["file",{"_index":42,"title":{},"content":{"8":{"position":[[176,4]]},"26":{"position":[[409,4]]}},"keywords":{}}],["first",{"_index":36,"title":{},"content":{"8":{"position":[[102,5]]}},"keywords":{}}],["follow",{"_index":109,"title":{},"content":{"16":{"position":[[44,9]]}},"keywords":{}}],["fork",{"_index":303,"title":{},"content":{"26":{"position":[[3711,6]]}},"keywords":{}}],["format",{"_index":241,"title":{},"content":{"26":{"position":[[939,6],[2848,6]]}},"keywords":{}}],["full",{"_index":283,"title":{},"content":{"26":{"position":[[2933,4]]}},"keywords":{}}],["function",{"_index":5,"title":{},"content":{"3":{"position":[[1,8]]},"8":{"position":[[1,8]]}},"keywords":{}}],["fuzzi",{"_index":59,"title":{},"content":{"14":{"position":[[41,5]]}},"keywords":{}}],["g",{"_index":52,"title":{},"content":{"13":{"position":[[14,1],[36,1]]}},"keywords":{}}],["get",{"_index":252,"title":{},"content":{"26":{"position":[[1511,4],[2290,4]]}},"keywords":{}}],["getcompatiblereleas",{"_index":248,"title":{},"content":{"26":{"position":[[1374,24]]}},"keywords":{}}],["getcompatiblereleases(own",{"_index":249,"title":{},"content":{"26":{"position":[[1400,28]]}},"keywords":{}}],["getcurrentplatform",{"_index":259,"title":{},"content":{"26":{"position":[[1870,21],[1893,21]]}},"keywords":{}}],["getreleas",{"_index":268,"title":{},"content":{"26":{"position":[[2173,14]]}},"keywords":{}}],["getreleases(own",{"_index":269,"title":{},"content":{"26":{"position":[[2189,18]]}},"keywords":{}}],["gg",{"_index":90,"title":{},"content":{"15":{"position":[[35,2],[89,2],[111,2]]}},"keywords":{}}],["ghp_xxxxxxxxxxxx",{"_index":195,"title":{},"content":{"24":{"position":[[560,18]]}},"keywords":{}}],["git",{"_index":46,"title":{"12":{"position":[[15,3]]}},"content":{"14":{"position":[[144,3]]},"26":{"position":[[2878,3]]}},"keywords":{}}],["git0",{"_index":3,"title":{"2":{"position":[[0,4]]},"12":{"position":[[0,5]]}},"content":{"13":{"position":[[16,4],[38,4]]},"15":{"position":[[96,4],[186,4],[212,4],[312,4]]},"16":{"position":[[1,4]]},"17":{"position":[[1,4]]},"19":{"position":[[273,4]]}},"keywords":{}}],["git0github",{"_index":1,"title":{},"content":{"1":{"position":[[1,10]]}},"keywords":{}}],["github",{"_index":56,"title":{"20":{"position":[[0,6]]},"21":{"position":[[0,6]]}},"content":{"14":{"position":[[8,6],[91,6]]},"15":{"position":[[75,6]]},"20":{"position":[[38,6]]},"22":{"position":[[35,6]]},"23":{"position":[[7,6]]},"24":{"position":[[275,6],[361,6],[528,6],[610,6]]},"26":{"position":[[168,6],[765,6],[2724,6],[2823,6],[3297,6]]}},"keywords":{}}],["github.downloadpackage(asset",{"_index":230,"title":{},"content":{"26":{"position":[[575,29]]}},"keywords":{}}],["github.downloadrepo('https://github.com/user/repo",{"_index":245,"title":{},"content":{"26":{"position":[[1211,52]]}},"keywords":{}}],["github.downloadrepo('user/repo",{"_index":174,"title":{},"content":{"23":{"position":[[96,32]]},"26":{"position":[[1321,32]]}},"keywords":{}}],["github.getcompatiblereleases('us",{"_index":256,"title":{},"content":{"26":{"position":[[1759,36]]}},"keywords":{}}],["github.getcurrentplatform",{"_index":264,"title":{},"content":{"26":{"position":[[2083,28]]}},"keywords":{}}],["github.getreleases('microsoft",{"_index":272,"title":{},"content":{"26":{"position":[[2540,31]]}},"keywords":{}}],["github.parseurl('https://github.com/user/repo",{"_index":284,"title":{},"content":{"26":{"position":[[2957,48]]}},"keywords":{}}],["github.parseurl('user/repo",{"_index":285,"title":{},"content":{"26":{"position":[[3040,29]]}},"keywords":{}}],["github.searchrepositories('nodej",{"_index":173,"title":{},"content":{"23":{"position":[[53,36]]},"26":{"position":[[3872,36]]}},"keywords":{}}],["github.searchrepositories('react",{"_index":308,"title":{},"content":{"26":{"position":[[4068,34]]}},"keywords":{}}],["github_token",{"_index":191,"title":{},"content":{"24":{"position":[[403,12]]}},"keywords":{}}],["github_token=your_github_token_her",{"_index":156,"title":{},"content":{"20":{"position":[[60,35]]}},"keywords":{}}],["githubapi",{"_index":168,"title":{},"content":{"22":{"position":[[116,9]]},"23":{"position":[[20,12]]},"24":{"position":[[105,9],[541,11],[623,11]]}},"keywords":{}}],["go",{"_index":22,"title":{},"content":{"3":{"position":[[207,2]]},"16":{"position":[[335,2],[345,2]]}},"keywords":{}}],["go.mod",{"_index":124,"title":{},"content":{"16":{"position":[[338,6]]}},"keywords":{}}],["gt",{"_index":200,"title":{},"content":{"25":{"position":[[113,5],[156,6],[297,5]]},"26":{"position":[[3928,5]]}},"keywords":{}}],["handl",{"_index":87,"title":{},"content":{"14":{"position":[[481,7]]}},"keywords":{}}],["happen",{"_index":136,"title":{"19":{"position":[[5,7]]}},"content":{},"keywords":{}}],["higher",{"_index":153,"title":{},"content":{"20":{"position":[[5,6]]}},"keywords":{}}],["hour",{"_index":161,"title":{},"content":{"20":{"position":[[149,5],[196,5]]}},"keywords":{}}],["https://github.com/facebook/react",{"_index":95,"title":{},"content":{"15":{"position":[[114,33]]}},"keywords":{}}],["https://github.com/user/repo/releases/download/v1.0.0/myapp",{"_index":226,"title":{},"content":{"26":{"position":[[469,60]]}},"keywords":{}}],["id",{"_index":77,"title":{"17":{"position":[[10,5]]}},"content":{"14":{"position":[[329,3]]},"17":{"position":[[65,4]]}},"keywords":{}}],["ide/editor",{"_index":38,"title":{},"content":{"8":{"position":[[118,10]]}},"keywords":{}}],["inform",{"_index":263,"title":{},"content":{"26":{"position":[[2036,11],[3359,11],[3801,11]]}},"keywords":{}}],["instal",{"_index":15,"title":{"13":{"position":[[3,13]]}},"content":{"3":{"position":[[141,8]]},"13":{"position":[[5,7],[27,7]]},"14":{"position":[[159,7],[284,12]]},"15":{"position":[[225,11]]},"16":{"position":[[130,7],[155,8],[299,7]]},"19":{"position":[[106,9]]},"26":{"position":[[188,12]]}},"keywords":{}}],["installationnode.j",{"_index":110,"title":{},"content":{"16":{"position":[[93,19]]}},"keywords":{}}],["installdepend",{"_index":4,"title":{"3":{"position":[[0,22]]}},"content":{},"keywords":{}}],["installdependencies(targetdir",{"_index":6,"title":{},"content":{"3":{"position":[[10,30]]}},"keywords":{}}],["instanc",{"_index":180,"title":{},"content":{"24":{"position":[[115,8]]}},"keywords":{}}],["instantli",{"_index":71,"title":{},"content":{"14":{"position":[[185,9]]}},"keywords":{}}],["instruct",{"_index":222,"title":{},"content":{"26":{"position":[[201,12]]}},"keywords":{}}],["integr",{"_index":78,"title":{},"content":{"14":{"position":[[333,11]]}},"keywords":{}}],["invalid",{"_index":282,"title":{},"content":{"26":{"position":[[2905,7]]}},"keywords":{}}],["key",{"_index":202,"title":{},"content":{"25":{"position":[[132,5],[273,5]]}},"keywords":{}}],["latest",{"_index":72,"title":{},"content":{"14":{"position":[[204,6]]}},"keywords":{}}],["launch",{"_index":142,"title":{},"content":{"19":{"position":[[144,8]]}},"keywords":{}}],["limit",{"_index":155,"title":{},"content":{"20":{"position":[[21,7],[122,7]]}},"keywords":{}}],["linux",{"_index":228,"title":{},"content":{"26":{"position":[[537,5]]}},"keywords":{}}],["linuxconflict",{"_index":85,"title":{},"content":{"14":{"position":[[454,13]]}},"keywords":{}}],["local",{"_index":237,"title":{},"content":{"26":{"position":[[817,5]]}},"keywords":{}}],["log",{"_index":187,"title":{},"content":{"24":{"position":[[331,7]]}},"keywords":{}}],["maco",{"_index":84,"title":{},"content":{"14":{"position":[[443,6]]}},"keywords":{}}],["manag",{"_index":167,"title":{},"content":{"22":{"position":[[98,8]]}},"keywords":{}}],["manual",{"_index":66,"title":{},"content":{"14":{"position":[[137,6]]}},"keywords":{}}],["matchingdownload",{"_index":60,"title":{},"content":{"14":{"position":[[47,16]]}},"keywords":{}}],["method",{"_index":214,"title":{"26":{"position":[[0,8]]}},"content":{},"keywords":{}}],["mod",{"_index":125,"title":{},"content":{"16":{"position":[[348,3]]}},"keywords":{}}],["mode",{"_index":196,"title":{},"content":{"24":{"position":[[599,4]]}},"keywords":{}}],["modul",{"_index":0,"title":{"0":{"position":[[0,7]]},"1":{"position":[[0,8]]}},"content":{},"keywords":{}}],["multipl",{"_index":75,"title":{},"content":{"14":{"position":[[301,8]]}},"keywords":{}}],["name",{"_index":58,"title":{},"content":{"14":{"position":[[31,4],[499,6]]},"15":{"position":[[30,4]]},"19":{"position":[[260,4]]},"26":{"position":[[986,4],[1009,5],[1656,4],[2438,4],[3121,5],[3320,4],[3453,5]]}},"keywords":{}}],["need",{"_index":100,"title":{},"content":{"15":{"position":[[248,7]]}},"keywords":{}}],["new",{"_index":171,"title":{},"content":{"23":{"position":[[16,3]]},"24":{"position":[[15,3],[101,3],[537,3],[619,3]]}},"keywords":{}}],["node",{"_index":99,"title":{},"content":{"15":{"position":[[243,4]]}},"keywords":{}}],["node.j",{"_index":18,"title":{},"content":{"3":{"position":[[172,8]]},"19":{"position":[[212,7]]}},"keywords":{}}],["npm",{"_index":51,"title":{},"content":{"13":{"position":[[1,3]]},"16":{"position":[[151,3]]}},"keywords":{}}],["npx",{"_index":105,"title":{},"content":{"15":{"position":[[308,3]]}},"keywords":{}}],["null",{"_index":242,"title":{},"content":{"26":{"position":[[964,4]]}},"keywords":{}}],["number",{"_index":148,"title":{},"content":{"19":{"position":[[302,6]]},"25":{"position":[[483,6],[543,6]]},"26":{"position":[[3496,7],[3598,6],[3605,6]]}},"keywords":{}}],["nvim",{"_index":134,"title":{},"content":{"17":{"position":[[151,6]]}},"keywords":{}}],["object",{"_index":177,"title":{},"content":{"24":{"position":[[37,8]]},"25":{"position":[[105,7]]},"26":{"position":[[2048,6],[2886,6],[3216,8],[3780,7]]}},"keywords":{}}],["open",{"_index":35,"title":{},"content":{"8":{"position":[[77,5],[146,4]]},"9":{"position":[[70,4]]},"14":{"position":[[361,5]]},"17":{"position":[[32,5]]}},"keywords":{}}],["openinid",{"_index":31,"title":{"8":{"position":[[0,12]]}},"content":{},"keywords":{}}],["openinide(targetdir",{"_index":32,"title":{},"content":{"8":{"position":[[10,20]]}},"keywords":{}}],["oper",{"_index":261,"title":{},"content":{"26":{"position":[[1977,9]]}},"keywords":{}}],["option",{"_index":152,"title":{"20":{"position":[[13,11]]}},"content":{"24":{"position":[[165,8],[243,7]]},"25":{"position":[[95,9],[236,8]]},"26":{"position":[[3206,9],[3459,8],[3528,7],[4040,7]]}},"keywords":{}}],["options.baseurl",{"_index":184,"title":{},"content":{"24":{"position":[[251,16]]}},"keywords":{}}],["options.debug",{"_index":185,"title":{},"content":{"24":{"position":[[295,14]]}},"keywords":{}}],["options.ord",{"_index":296,"title":{},"content":{"26":{"position":[[3536,14]]}},"keywords":{}}],["options.perpag",{"_index":299,"title":{},"content":{"26":{"position":[[3581,16]]}},"keywords":{}}],["options.sort",{"_index":300,"title":{},"content":{"26":{"position":[[3671,13]]}},"keywords":{}}],["options.token",{"_index":188,"title":{},"content":{"24":{"position":[[339,14]]}},"keywords":{}}],["order",{"_index":293,"title":{},"content":{"26":{"position":[[3470,7],[3563,5],[4134,6]]}},"keywords":{}}],["owner",{"_index":254,"title":{},"content":{"26":{"position":[[1603,5],[1627,5],[2385,5],[2409,5]]}},"keywords":{}}],["owner/nam",{"_index":240,"title":{},"content":{"26":{"position":[[928,10]]}},"keywords":{}}],["owner/repo",{"_index":63,"title":{},"content":{"14":{"position":[[106,10]]},"15":{"position":[[165,10]]},"26":{"position":[[2837,10]]}},"keywords":{}}],["package.json",{"_index":41,"title":{},"content":{"8":{"position":[[163,12]]},"16":{"position":[[113,12]]}},"keywords":{}}],["packageurl",{"_index":223,"title":{},"content":{"26":{"position":[[255,10]]}},"keywords":{}}],["page",{"_index":213,"title":{},"content":{"25":{"position":[[575,4]]},"26":{"position":[[3627,4]]}},"keywords":{}}],["paramet",{"_index":23,"title":{"4":{"position":[[0,11]]},"9":{"position":[[0,11]]}},"content":{"4":{"position":[[1,9]]},"9":{"position":[[1,9]]},"24":{"position":[[125,11],[138,9]]},"25":{"position":[[199,11],[212,9]]},"26":{"position":[[215,11],[228,9],[834,11],[847,9],[1563,11],[1576,9],[2345,11],[2358,9],[2770,11],[2783,9],[3372,11],[3385,9]]}},"keywords":{}}],["pars",{"_index":278,"title":{},"content":{"26":{"position":[[2715,6],[2871,6],[2927,5],[2948,6],[3009,5],[3031,6],[3073,8]]}},"keywords":{}}],["parsed.nam",{"_index":288,"title":{},"content":{"26":{"position":[[3127,17]]}},"keywords":{}}],["parsed.own",{"_index":287,"title":{},"content":{"26":{"position":[[3104,16]]}},"keywords":{}}],["parseurl",{"_index":275,"title":{},"content":{"26":{"position":[[2635,11]]}},"keywords":{}}],["parseurl(queri",{"_index":276,"title":{},"content":{"26":{"position":[[2648,15]]}},"keywords":{}}],["path",{"_index":26,"title":{},"content":{"4":{"position":[[45,4]]},"9":{"position":[[45,4]]},"25":{"position":[[83,6],[227,4]]},"26":{"position":[[386,4],[1049,4]]}},"keywords":{}}],["per",{"_index":160,"title":{},"content":{"20":{"position":[[145,3],[192,3]]},"25":{"position":[[571,3]]},"26":{"position":[[3623,3]]}},"keywords":{}}],["perpag",{"_index":294,"title":{},"content":{"26":{"position":[[3486,9],[4105,8]]}},"keywords":{}}],["person",{"_index":189,"title":{},"content":{"24":{"position":[[368,8]]}},"keywords":{}}],["pip",{"_index":121,"title":{},"content":{"16":{"position":[[295,3]]}},"keywords":{}}],["platform",{"_index":81,"title":{},"content":{"14":{"position":[[406,8]]},"26":{"position":[[1553,8],[2027,8],[2072,8],[2320,8]]}},"keywords":{}}],["platform.arch",{"_index":267,"title":{},"content":{"26":{"position":[[2151,19]]}},"keywords":{}}],["platform.o",{"_index":266,"title":{},"content":{"26":{"position":[[2136,14]]}},"keywords":{}}],["prefer",{"_index":79,"title":{},"content":{"14":{"position":[[384,9]]},"17":{"position":[[55,9]]}},"keywords":{}}],["project",{"_index":13,"title":{"16":{"position":[[10,7]]}},"content":{"3":{"position":[[124,7],[210,8]]},"4":{"position":[[57,7]]},"14":{"position":[[310,7],[367,8]]},"16":{"position":[[54,7],[70,7]]},"17":{"position":[[38,8]]},"19":{"position":[[125,7],[220,9]]}},"keywords":{}}],["project'",{"_index":102,"title":{},"content":{"15":{"position":[[274,9]]}},"keywords":{}}],["promise&lt",{"_index":201,"title":{},"content":{"25":{"position":[[119,12],[260,12]]}},"keywords":{}}],["promise<any[]&gt",{"_index":250,"title":{},"content":{"26":{"position":[[1452,21],[1672,20],[2231,21],[2454,20],[3225,21],[3738,20]]}},"keywords":{}}],["promise<string&gt",{"_index":218,"title":{},"content":{"26":{"position":[[77,22],[363,21],[694,22],[1026,21]]}},"keywords":{}}],["promise<void&gt",{"_index":8,"title":{},"content":{"3":{"position":[[50,20]]},"5":{"position":[[1,19]]}},"keywords":{}}],["properti",{"_index":198,"title":{"25":{"position":[[0,11]]}},"content":{},"keywords":{}}],["provid",{"_index":221,"title":{},"content":{"26":{"position":[[179,8]]}},"keywords":{}}],["python",{"_index":20,"title":{},"content":{"3":{"position":[[189,7]]},"16":{"position":[[239,6]]}},"keywords":{}}],["queri",{"_index":280,"title":{},"content":{"26":{"position":[[2810,5],[3412,5],[3432,5]]}},"keywords":{}}],["quick",{"_index":103,"title":{},"content":{"15":{"position":[[295,5]]}},"keywords":{}}],["rate",{"_index":154,"title":{},"content":{"20":{"position":[[16,4]]}},"keywords":{}}],["react",{"_index":91,"title":{},"content":{"15":{"position":[[38,5],[191,5]]},"19":{"position":[[316,5],[325,5]]}},"keywords":{}}],["readm",{"_index":40,"title":{},"content":{"8":{"position":[[153,6]]},"15":{"position":[[284,6]]}},"keywords":{}}],["refer",{"_index":279,"title":{},"content":{"26":{"position":[[2759,9]]}},"keywords":{}}],["releas",{"_index":70,"title":{},"content":{"14":{"position":[[176,8],[211,7]]},"22":{"position":[[107,8]]},"26":{"position":[[149,7],[1516,8],[1714,8],[1856,11],[2306,8],[2497,8],[2523,8],[2621,11],[3351,7],[3793,7],[3989,9],[4005,13]]}},"keywords":{}}],["releases.length",{"_index":274,"title":{},"content":{"26":{"position":[[2602,18]]}},"keywords":{}}],["repo",{"_index":47,"title":{"12":{"position":[[19,4]]}},"content":{"23":{"position":[[39,5]]},"26":{"position":[[888,4],[1004,4],[1437,5],[1633,4],[1796,8],[2216,5],[2415,4],[3858,5],[4054,5]]}},"keywords":{}}],["repo.hasreleas",{"_index":307,"title":{},"content":{"26":{"position":[[3963,18]]}},"keywords":{}}],["repopath",{"_index":244,"title":{},"content":{"26":{"position":[[1194,8],[1304,8]]}},"keywords":{}}],["repos.foreach(repo",{"_index":305,"title":{},"content":{"26":{"position":[[3909,18]]}},"keywords":{}}],["repositori",{"_index":57,"title":{},"content":{"14":{"position":[[15,12],[64,12]]},"15":{"position":[[14,12]]},"19":{"position":[[1,10]]},"22":{"position":[[69,13]]},"25":{"position":[[584,10]]},"26":{"position":[[772,10],[910,10],[1071,10],[1107,10],[1156,10],[1616,10],[1645,10],[2295,10],[2398,10],[2427,10],[2748,10],[3304,12],[3442,10],[3769,10]]}},"keywords":{}}],["request",{"_index":159,"title":{},"content":{"20":{"position":[[136,8],[183,8]]}},"keywords":{}}],["requirements.txt",{"_index":117,"title":{},"content":{"16":{"position":[[246,17]]}},"keywords":{}}],["resolut",{"_index":86,"title":{},"content":{"14":{"position":[[468,10]]}},"keywords":{}}],["result",{"_index":212,"title":{},"content":{"25":{"position":[[553,7]]},"26":{"position":[[3338,7],[3615,7]]}},"keywords":{}}],["return",{"_index":28,"title":{"5":{"position":[[0,8]]},"10":{"position":[[0,8]]}},"content":{"24":{"position":[[426,8]]},"25":{"position":[[250,8],[564,6]]},"26":{"position":[[353,8],[1016,8],[1662,8],[2012,8],[2444,8],[2856,8],[3728,8]]}},"keywords":{}}],["rust",{"_index":21,"title":{},"content":{"3":{"position":[[197,5]]},"16":{"position":[[307,4]]}},"keywords":{}}],["same",{"_index":145,"title":{},"content":{"19":{"position":[[255,4]]}},"keywords":{}}],["search",{"_index":55,"title":{},"content":{"14":{"position":[[1,6]]},"15":{"position":[[3,6]]},"22":{"position":[[83,10]]},"25":{"position":[[595,8]]},"26":{"position":[[3284,8],[3425,6],[3521,6],[3828,6],[4033,6]]}},"keywords":{}}],["searchrepositori",{"_index":289,"title":{},"content":{"26":{"position":[[3149,21]]}},"keywords":{}}],["searchrepositories(queri",{"_index":290,"title":{},"content":{"26":{"position":[[3172,25]]}},"keywords":{}}],["second",{"_index":44,"title":{},"content":{"8":{"position":[[189,7]]}},"keywords":{}}],["server",{"_index":132,"title":{},"content":{"17":{"position":[[124,6]]},"19":{"position":[[193,6]]}},"keywords":{}}],["server)neovim",{"_index":133,"title":{},"content":{"17":{"position":[[137,13]]}},"keywords":{}}],["set",{"_index":107,"title":{},"content":{"16":{"position":[[32,4]]},"20":{"position":[[29,3]]},"24":{"position":[[470,8]]}},"keywords":{}}],["setup",{"_index":104,"title":{},"content":{"15":{"position":[[301,6]]}},"keywords":{}}],["setup.pi",{"_index":118,"title":{},"content":{"16":{"position":[[264,8]]}},"keywords":{}}],["shortcut",{"_index":64,"title":{},"content":{"14":{"position":[[117,10]]}},"keywords":{}}],["shorthand",{"_index":97,"title":{},"content":{"15":{"position":[[176,9]]},"26":{"position":[[2738,9],[3015,9]]}},"keywords":{}}],["skip",{"_index":65,"title":{},"content":{"14":{"position":[[128,4]]}},"keywords":{}}],["sort",{"_index":295,"title":{},"content":{"26":{"position":[[3504,6],[3558,4],[3692,4],[4117,5]]}},"keywords":{}}],["specif",{"_index":246,"title":{},"content":{"26":{"position":[[1279,8]]}},"keywords":{}}],["src/git0.js:158",{"_index":34,"title":{},"content":{"8":{"position":[[60,15]]}},"keywords":{}}],["src/git0.js:208",{"_index":10,"title":{},"content":{"3":{"position":[[85,15]]}},"keywords":{}}],["src/github",{"_index":164,"title":{},"content":{"22":{"position":[[13,10]]},"24":{"position":[[69,10]]},"25":{"position":[[42,10],[177,10],[342,10],[401,10],[510,10]]},"26":{"position":[[114,10],[731,10],[1488,10],[1934,10],[2267,10],[2692,10],[3261,10]]}},"keywords":{}}],["star",{"_index":302,"title":{},"content":{"26":{"position":[[3703,7]]}},"keywords":{}}],["start",{"_index":144,"title":{},"content":{"19":{"position":[[200,6]]}},"keywords":{}}],["starter",{"_index":92,"title":{},"content":{"15":{"position":[[44,7],[197,7]]}},"keywords":{}}],["static",{"_index":208,"title":{},"content":{"25":{"position":[[450,6]]}},"keywords":{}}],["step",{"_index":48,"title":{"12":{"position":[[27,4]]}},"content":{},"keywords":{}}],["string",{"_index":7,"title":{},"content":{"3":{"position":[[41,8]]},"4":{"position":[[38,6]]},"8":{"position":[[31,8]]},"9":{"position":[[38,6]]},"24":{"position":[[186,7],[219,7],[268,6],[354,6]]},"25":{"position":[[20,7],[138,8],[279,8],[379,7]]},"26":{"position":[[68,8],[310,6],[665,7],[685,8],[893,6],[957,6],[1429,7],[1443,8],[1609,6],[1638,6],[2208,7],[2222,8],[2391,6],[2420,6],[2664,8],[2816,6],[3198,7],[3418,6],[3478,7],[3511,7],[3551,6],[3685,6]]}},"keywords":{}}],["support",{"_index":17,"title":{"16":{"position":[[0,9]]},"17":{"position":[[0,9]]}},"content":{"3":{"position":[[163,8]]},"14":{"position":[[415,7]]}},"keywords":{}}],["system",{"_index":73,"title":{},"content":{"14":{"position":[[228,6]]},"26":{"position":[[1987,6]]}},"keywords":{}}],["systemsautomat",{"_index":74,"title":{},"content":{"14":{"position":[[242,16]]}},"keywords":{}}],["tarbal",{"_index":235,"title":{},"content":{"26":{"position":[[788,7]]}},"keywords":{}}],["target",{"_index":243,"title":{},"content":{"26":{"position":[[969,6]]}},"keywords":{}}],["targetdir",{"_index":25,"title":{},"content":{"4":{"position":[[28,9]]},"9":{"position":[[28,9]]},"26":{"position":[[673,11],[946,10]]}},"keywords":{}}],["throw",{"_index":224,"title":{},"content":{"26":{"position":[[415,7],[1093,7],[3814,7]]}},"keywords":{}}],["tidi",{"_index":126,"title":{},"content":{"16":{"position":[[352,4]]}},"keywords":{}}],["token",{"_index":151,"title":{"20":{"position":[[7,5]]}},"content":{"20":{"position":[[45,6],[108,6],[162,6]]},"24":{"position":[[211,7],[384,5],[496,5],[516,5],[553,6]]},"25":{"position":[[364,6],[372,6]]}},"keywords":{}}],["true",{"_index":197,"title":{},"content":{"24":{"position":[[642,4]]}},"keywords":{}}],["type",{"_index":14,"title":{"16":{"position":[[18,6]]}},"content":{"3":{"position":[[132,4]]},"4":{"position":[[11,4]]},"9":{"position":[[11,4]]},"16":{"position":[[62,6],[78,4]]},"19":{"position":[[59,4]]},"24":{"position":[[148,4]]},"25":{"position":[[222,4]]},"26":{"position":[[238,4],[857,4],[1586,4],[2368,4],[2793,4],[3395,4]]}},"keywords":{}}],["typeid",{"_index":141,"title":{},"content":{"19":{"position":[[133,7]]}},"keywords":{}}],["typessmart",{"_index":76,"title":{},"content":{"14":{"position":[[318,10]]}},"keywords":{}}],["undefin",{"_index":239,"title":{},"content":{"26":{"position":[[900,9]]}},"keywords":{}}],["unknown",{"_index":203,"title":{},"content":{"25":{"position":[[147,8],[288,8]]}},"keywords":{}}],["up",{"_index":108,"title":{},"content":{"16":{"position":[[37,2],[217,2]]}},"keywords":{}}],["updat",{"_index":304,"title":{},"content":{"26":{"position":[[3718,8],[4123,10]]}},"keywords":{}}],["url",{"_index":62,"title":{},"content":{"14":{"position":[[98,4]]},"15":{"position":[[82,3]]},"24":{"position":[[291,3]]},"26":{"position":[[279,3],[921,3],[2731,3],[2830,3],[2882,3],[2938,3]]}},"keywords":{}}],["us",{"_index":96,"title":{},"content":{"15":{"position":[[159,5],[208,3]]},"24":{"position":[[458,3],[505,3]]}},"keywords":{}}],["usag",{"_index":89,"title":{"15":{"position":[[3,6]]}},"content":{},"keywords":{}}],["v1.0.0",{"_index":227,"title":{},"content":{"26":{"position":[[530,6]]}},"keywords":{}}],["valu",{"_index":238,"title":{},"content":{"26":{"position":[[870,5]]}},"keywords":{}}],["var",{"_index":193,"title":{},"content":{"24":{"position":[[420,4]]}},"keywords":{}}],["virtual",{"_index":119,"title":{},"content":{"16":{"position":[[273,7]]}},"keywords":{}}],["void",{"_index":33,"title":{},"content":{"8":{"position":[[40,5]]},"10":{"position":[[1,4]]}},"keywords":{}}],["vscode",{"_index":273,"title":{},"content":{"26":{"position":[[2572,10]]}},"keywords":{}}],["window",{"_index":83,"title":{},"content":{"14":{"position":[[434,8]]}},"keywords":{}}],["windsurf)v",{"_index":129,"title":{},"content":{"17":{"position":[[95,12]]}},"keywords":{}}],["without",{"_index":98,"title":{},"content":{"15":{"position":[[217,7]]},"20":{"position":[[98,7]]}},"keywords":{}}],["work",{"_index":82,"title":{},"content":{"14":{"position":[[425,5]]},"15":{"position":[[106,4]]}},"keywords":{}}],["x64",{"_index":229,"title":{},"content":{"26":{"position":[[543,4]]}},"keywords":{}}],["you'r",{"_index":157,"title":{},"content":{"20":{"position":[[115,6]]}},"keywords":{}}],["zero",{"_index":49,"title":{"12":{"position":[[32,4]]}},"content":{},"keywords":{}}]],"pipeline":["stemmer"]}
@@ -1 +0,0 @@
1
- {"searchDocs":[{"title":"modules","type":0,"sectionRef":"#","url":"/functions/modules","content":"","keywords":"","version":"Next"},{"title":"Modules​","type":1,"pageTitle":"modules","url":"/functions/modules#modules","content":" git0github-api ","version":"Next","tagName":"h2"},{"title":"git0","type":0,"sectionRef":"#","url":"/functions/git0","content":"","keywords":"","version":"Next"},{"title":"installDependencies()​","type":1,"pageTitle":"git0","url":"/functions/git0#installdependencies","content":" function installDependencies(targetDir: string): Promise<void>; Defined in: src/git0.js:208 Automatically detects project type and installs dependencies Supports Node.js, Docker, Python, Rust, and Go projects ","version":"Next","tagName":"h2"},{"title":"Parameters​","type":1,"pageTitle":"git0","url":"/functions/git0#parameters","content":" Parameter\tType\tDescription targetDir string Path to the project directory ","version":"Next","tagName":"h3"},{"title":"Returns​","type":1,"pageTitle":"git0","url":"/functions/git0#returns","content":" Promise<void> ","version":"Next","tagName":"h3"},{"title":"Export​","type":1,"pageTitle":"git0","url":"/functions/git0#export","content":" ","version":"Next","tagName":"h3"},{"title":"Async​","type":1,"pageTitle":"git0","url":"/functions/git0#async","content":" ","version":"Next","tagName":"h3"},{"title":"openInIDE()​","type":1,"pageTitle":"git0","url":"/functions/git0#openinide","content":" function openInIDE(targetDir: string): void; Defined in: src/git0.js:158 Opens a directory in the first available IDE/editor Also attempts to open a README or package.json file after 3 seconds ","version":"Next","tagName":"h2"},{"title":"Parameters​","type":1,"pageTitle":"git0","url":"/functions/git0#parameters-1","content":" Parameter\tType\tDescription targetDir string Path to the directory to open ","version":"Next","tagName":"h3"},{"title":"Returns​","type":1,"pageTitle":"git0","url":"/functions/git0#returns-1","content":" void ","version":"Next","tagName":"h3"},{"title":"Export​","type":1,"pageTitle":"git0","url":"/functions/git0#export-1","content":"","version":"Next","tagName":"h3"},{"title":"Git0: Download Git Repo on Step Zero","type":0,"sectionRef":"#","url":"/functions/","content":"","keywords":"","version":"Next"},{"title":"🚀 Installation​","type":1,"pageTitle":"Git0: Download Git Repo on Step Zero","url":"/functions/#-installation","content":" npm install -g git0 bun install -g git0 ","version":"Next","tagName":"h2"},{"title":"✨ Features​","type":1,"pageTitle":"Git0: Download Git Repo on Step Zero","url":"/functions/#-features","content":" Search GitHub repositories by name with fuzzy matchingDownload repositories directly from GitHub URLs or owner/repo shortcuts. Skip the manual git clone, cd, install danceGet Releases instantly download latest release for your system or all systemsAutomatic dependency detection and installation for multiple project typesSmart IDE integration - automatically opens projects in your preferred editorCross-platform support - works on Windows, macOS, and LinuxConflict resolution - handles directory naming conflicts automatically ","version":"Next","tagName":"h2"},{"title":"🎯 Usage​","type":1,"pageTitle":"Git0: Download Git Repo on Step Zero","url":"/functions/#-usage","content":" # Search for repositories by name gg react starter # Direct download from GitHub URL ## gg and git0 both work gg https://github.com/facebook/react # Download using owner/repo shorthand git0 react starter ## Use git0 without installing, (only node needed) # (copy into your project's readme for quick setup) npx git0 facebook/react ","version":"Next","tagName":"h2"},{"title":"Supported Project Types​","type":1,"pageTitle":"Git0: Download Git Repo on Step Zero","url":"/functions/#supported-project-types","content":" git0 automatically detects and sets up the following project types: Project Type\tDetection\tInstallationNode.js\tpackage.json\tbun install (fallback to npm install) Docker\tDockerfile, docker-compose.yml\tdocker-compose up -d or docker build Python\trequirements.txt, setup.py\tVirtual environment + pip install Rust\tCargo.toml\tcargo build Go\tgo.mod\tgo mod tidy ","version":"Next","tagName":"h3"},{"title":"Supported IDEs​","type":1,"pageTitle":"Git0: Download Git Repo on Step Zero","url":"/functions/#supported-ides","content":" git0 automatically detects and opens projects in your preferred IDE: Cursor (cursor)Windsurf (windsurf)VS Code (code)Code Server (code-server)Neovim (nvim) ","version":"Next","tagName":"h3"},{"title":"🔧 Configuration​","type":1,"pageTitle":"Git0: Download Git Repo on Step Zero","url":"/functions/#-configuration","content":" ","version":"Next","tagName":"h2"},{"title":"What Happens After Download​","type":1,"pageTitle":"Git0: Download Git Repo on Step Zero","url":"/functions/#what-happens-after-download","content":" Repository is downloaded to your current directoryProject type is detected automaticallyDependencies are installed based on project typeIDE is launched automatically (if available)Development server starts (for Node.js projects) If a directory with the same name exists, git0 automatically appends a number (e.g., react-2, react-3). ","version":"Next","tagName":"h3"},{"title":"GitHub Token (Optional)​","type":1,"pageTitle":"Git0: Download Git Repo on Step Zero","url":"/functions/#github-token-optional","content":" For higher API rate limits, set your GitHub token: export GITHUB_TOKEN=your_github_token_here Without a token, you're limited to 60 requests per hour. With a token, you get 5,000 requests per hour. ","version":"Next","tagName":"h3"},{"title":"github-api","type":0,"sectionRef":"#","url":"/functions/github-api","content":"","keywords":"","version":"Next"},{"title":"default​","type":1,"pageTitle":"github-api","url":"/functions/github-api#default","content":" Defined in: src/github-api.js:17 GitHub API client for downloading repositories, searching, and managing releases GithubAPI ","version":"Next","tagName":"h2"},{"title":"Example​","type":1,"pageTitle":"github-api","url":"/functions/github-api#example","content":" const github = new GithubAPI(); const repos = await github.searchRepositories('nodejs'); await github.downloadRepo('user/repo', './my-downloads'); ","version":"Next","tagName":"h3"},{"title":"Constructors​","type":1,"pageTitle":"github-api","url":"/functions/github-api#constructors","content":" Constructor​ new default(options?: object): default; Defined in: src/github-api.js:36 Creates a new GithubAPI instance Parameters​ Parameter\tType\tDescription options? { baseURL?: string; debug?: boolean; token?: string; } Configuration options options.baseURL? string GitHub API base URL options.debug? boolean Enable debug logging options.token? string GitHub personal access token (defaults to GITHUB_TOKEN env var) Returns​ default Example​ // Use default settings with environment token // Use custom token const github = new GithubAPI({ token: 'ghp_xxxxxxxxxxxx' }); // Enable debug mode const github = new GithubAPI({ debug: true }); ","version":"Next","tagName":"h3"},{"title":"Properties​","type":1,"pageTitle":"github-api","url":"/functions/github-api#properties","content":" baseURL​ baseURL: string; Defined in: src/github-api.js:39 client()​ client: (path: any, options?: object) => Promise<{ [key: string]: unknown; }>; Defined in: src/github-api.js:41 Parameters​ Parameter\tType path any options? { } Returns​ Promise<{ [key: string]: unknown; }> debug​ debug: boolean; Defined in: src/github-api.js:38 token​ token: string; Defined in: src/github-api.js:37 DEFAULT_RESULTS_PER_PAGE​ static DEFAULT_RESULTS_PER_PAGE: number = 10; Defined in: src/github-api.js:19 Constant​ Number of results to return per page for repository searches ","version":"Next","tagName":"h3"},{"title":"Methods​","type":1,"pageTitle":"github-api","url":"/functions/github-api#methods","content":" downloadPackage()​ downloadPackage(packageURL: any, downloadPath: string): Promise<string>; Defined in: src/github-api.js:188 Downloads a release asset from GitHub and provides installation instructions Parameters​ Parameter\tType\tDescription packageURL any Download URL for the asset downloadPath string Directory to download the asset to Returns​ Promise<string> Path to the downloaded file Throws​ When download fails Example​ const asset = 'https://github.com/user/repo/releases/download/v1.0.0/myapp-v1.0.0-linux-x64' const downloadPath = await github.downloadPackage(asset, './downloads/myapp'); downloadRepo()​ downloadRepo(repo: string, targetDir?: string): Promise<string>; Defined in: src/github-api.js:69 Downloads a GitHub repository as a tarball and extracts it to a local directory Parameters​ Parameter\tType\tDefault value\tDescription repo string undefined Repository URL or owner/name format targetDir? string null Target directory name (defaults to repo name) Returns​ Promise<string> Path to the extracted repository directory Throws​ When repository download fails Example​ // Download repository to current directory const repoPath = await github.downloadRepo('https://github.com/user/repo'); // Download to specific directory const repoPath = await github.downloadRepo('user/repo', 'my-custom-dir'); getCompatibleReleases()​ getCompatibleReleases(owner: string, repo: string): Promise<any[]>; Defined in: src/github-api.js:310 Gets releases compatible with the current platform Parameters​ Parameter\tType\tDescription owner string Repository owner repo string Repository name Returns​ Promise<any[]> Array of compatible releases Example​ const compatible = await github.getCompatibleReleases('user', 'repo'); console.log(`Found ${compatible.length} compatible releases`); getCurrentPlatform()​ getCurrentPlatform(): any; Defined in: src/github-api.js:262 Detects the current operating system and architecture Returns​ any Platform information object Example​ const platform = github.getCurrentPlatform(); console.log(`Running on ${platform.os} ${platform.arch}`); getReleases()​ getReleases(owner: string, repo: string): Promise<any[]>; Defined in: src/github-api.js:296 Gets repository releases with platform categorization Parameters​ Parameter\tType\tDescription owner string Repository owner repo string Repository name Returns​ Promise<any[]> Array of categorized releases Example​ const releases = await github.getReleases('microsoft', 'vscode'); console.log(`Found ${releases.length} releases`); parseURL()​ parseURL(query: string): any; Defined in: src/github-api.js:241 Parses a GitHub URL or shorthand repository reference Parameters​ Parameter\tType\tDescription query string GitHub URL or owner/repo format Returns​ any Parsed git URL object or false if invalid Example​ // Parse full URL const parsed = github.parseURL('https://github.com/user/repo'); // Parse shorthand const parsed = github.parseURL('user/repo'); if (parsed) { console.log(`Owner: ${parsed.owner}, Name: ${parsed.name}`); } searchRepositories()​ searchRepositories(query: string, options?: object): Promise<any[]>; Defined in: src/github-api.js:130 Searches for GitHub repositories by name and enriches results with release information Parameters​ Parameter\tType\tDescription query string Search query for repository names options? { order?: string; perPage?: number; sort?: string; } Search options options.order? string Sort order (asc, desc) options.perPage? number Number of results per page (defaults to DEFAULT_RESULTS_PER_PAGE) options.sort? string Sort field (stars, forks, updated) Returns​ Promise<any[]> Array of repository objects with release information Throws​ When search fails Example​ const repos = await github.searchRepositories('nodejs'); repos.forEach(repo => { console.log(`${repo.name}: ${repo.hasReleases ? 'Has releases' : 'No releases'}`); }); // Custom search options const repos = await github.searchRepositories('react', { perPage: 5, sort: 'updated', order: 'desc' }); ","version":"Next","tagName":"h3"}],"options":{"id":"default"}}
package/src/git0.js DELETED
@@ -1,379 +0,0 @@
1
- #!/usr/bin/env node
2
- import inquirer from 'inquirer';
3
- import chalk from 'chalk';
4
- import { execSync, spawn } from 'child_process';
5
- import fs from 'fs';
6
- import path from 'path';
7
- import GithubAPI from './github-api.js'
8
-
9
- const Github = new GithubAPI({ debug: false })
10
-
11
- /**
12
- * Prints the git0 ASCII logo to the console
13
- */
14
- function printLogo() {
15
- console.log(chalk.cyan(` ___
16
- __ _(_)‾|_ / _ \\
17
- / _ | | __| | | |
18
- | (_| | | |_| |_| |
19
- \\__, |_|\\__|\\___/
20
- |___/`))
21
- }
22
-
23
- /**
24
- * Shows an interactive menu for selecting packages from GitHub releases
25
- * Organizes packages by platform and highlights the user's current platform
26
- * @param {Object} selectedRepo - The selected repository object containing release information
27
- * @param {Array} selectedRepo.allReleases - Array of release objects
28
- * @param {string} selectedRepo.allReleases[].tag_name - Release tag name
29
- * @param {Object} selectedRepo.allReleases[].platformAssets - Assets organized by platform
30
- * @returns {Promise<void>}
31
- */
32
- async function showPackageMenu(selectedRepo) {
33
- const currentPlatform = Github.getCurrentPlatform();
34
- const releaseChoices = [];
35
- const limitReleases = 2;
36
-
37
- // Add section headers and organize by platform
38
- selectedRepo.allReleases.slice(0, limitReleases).forEach(release => {
39
- const platforms = ['windows', 'macos', 'linux', 'universal'];
40
-
41
- platforms.forEach(platform => {
42
- const assets = release.platformAssets[platform];
43
- if (assets?.length > 0) {
44
- // Add platform header
45
- const platformEmoji = {
46
- windows: '🪟',
47
- macos: '🍎',
48
- linux: '🐧',
49
- universal: '🌐'
50
- };
51
-
52
- const platformName = {
53
- windows: 'Windows',
54
- macos: 'macOS',
55
- linux: 'Linux',
56
- universal: 'Universal'
57
- };
58
-
59
- const isCurrentPlatform = platform === currentPlatform.os || platform === 'universal';
60
- const platformHeader = isCurrentPlatform
61
- ? chalk.green(`${platformEmoji[platform]} ${platformName[platform]} (Your Platform)`)
62
- : chalk.gray(`${platformEmoji[platform]} ${platformName[platform]}`);
63
-
64
- // Add separator if not first platform in this release
65
- const needsSeparator = releaseChoices?.length > 0 &&
66
- !releaseChoices[releaseChoices.length - 1].name.includes('────');
67
-
68
- if (needsSeparator) {
69
- releaseChoices.push({
70
- name: chalk.gray('────────────────────────────────'),
71
- disabled: true
72
- });
73
- }
74
-
75
- releaseChoices.push({
76
- name: `${chalk.bold(release.tag_name)} - ${platformHeader}`,
77
- disabled: true
78
- });
79
-
80
- // Add assets for this platform
81
- assets.forEach(asset => {
82
- const sizeStr = (asset.size / 1024 / 1024).toFixed(2);
83
- const archInfo = asset.detectedArch !== 'unknown' && asset.detectedArch !== 'universal'
84
- ? chalk.cyan(`[${asset.detectedArch}]`)
85
- : '';
86
-
87
- const highlight = isCurrentPlatform ? chalk.white : chalk.gray;
88
-
89
- releaseChoices.push({
90
- name: ` ${highlight(`${asset.name} ${archInfo} (${sizeStr} MB)`)}`,
91
- value: { release, asset }
92
- });
93
- });
94
- }
95
- });
96
- });
97
-
98
- if (releaseChoices.filter(choice => !choice.disabled)?.length === 0) {
99
- log(chalk.yellow('No packages found for download.'));
100
- return;
101
- }
102
-
103
- const { selectedPackage } = await inquirer.prompt({
104
- type: 'list',
105
- name: 'selectedPackage',
106
- message: 'Select a package to download:',
107
- choices: releaseChoices,
108
- pageSize: 15
109
- });
110
-
111
- const downloadDir = path.resolve(process.cwd());
112
- fs.mkdirSync(downloadDir, { recursive: true });
113
-
114
- const downloadPath = path.join(downloadDir, selectedPackage.asset.name);
115
- await Github.downloadPackage(selectedPackage.asset.browser_download_url, downloadPath);
116
- }
117
-
118
- /**
119
- * Detects available IDE/editor commands on the system
120
- * Checks for popular code editors in priority order
121
- * @returns {Object|null} IDE object with name and command, or null if none found
122
- * @returns {string} returns.name - Human-readable name of the IDE
123
- * @returns {string} returns.cmd - Command to execute the IDE
124
- */
125
- function getIdeCommand() {
126
- const ides = [
127
- { name: 'Cursor', cmd: 'cursor' },
128
- { name: 'Windsurf', cmd: 'windsurf' },
129
- { name: 'VSCode', cmd: 'code' },
130
- { name: 'Code Server', cmd: 'code-server' },
131
- { name: 'Neovim', cmd: 'nvim' },
132
- { name: 'Webstorm', cmd: 'webstorm' }
133
- ];
134
-
135
- for (const ide of ides) {
136
- try {
137
- execSync(
138
- process.platform === 'win32'
139
- ? `where ${ide.cmd}`
140
- : `command -v ${ide.cmd}`,
141
- { stdio: 'ignore' }
142
- );
143
- return ide;
144
- } catch (error) {
145
- continue;
146
- }
147
- }
148
- return null;
149
- }
150
-
151
- /**
152
- * Opens a directory in the first available IDE/editor
153
- * Also attempts to open a README or package.json file after 3 seconds
154
- * @export
155
- * @param {string} targetDir - Path to the directory to open
156
- */
157
- export function openInIDE(targetDir) {
158
- const ide = getIdeCommand();
159
- if (!ide) {
160
- log(chalk.yellow('⚠️ No supported IDE found'));
161
- return;
162
- }
163
-
164
- try {
165
- const args = ide.cmd === 'code-server'
166
- ? [targetDir, '--open']
167
- : [targetDir];
168
-
169
- spawn(ide.cmd, args, {
170
- detached: true,
171
- stdio: 'ignore',
172
- shell: process.platform === 'win32'
173
- }).unref();
174
-
175
- // open readme after 3 seconds
176
- setTimeout(() => {
177
-
178
- const readme = fs.existsSync('./readme.md') ? './readme.md' :
179
- fs.existsSync('./Readme.md') ? './Readme.md' :
180
- fs.existsSync('./README.md') ? './README.md' :
181
- fs.existsSync('./package.json') ? './package.json' :
182
- null;
183
-
184
- if (readme)
185
- spawn(ide.cmd, ide.cmd === 'code-server'
186
- ? [readme, '--open']
187
- : [readme], {
188
- detached: true,
189
- stdio: 'ignore',
190
- shell: process.platform === 'win32'
191
- }).unref();
192
- }, 3000);
193
-
194
- log(chalk.green(`🚀 Opening ${path.basename(targetDir)} in ${ide.name}`));
195
- } catch (error) {
196
- // console.error(chalk.red(`❌ Failed to open ${ide.name}:`), error.message);
197
- }
198
- }
199
-
200
- /**
201
- * Automatically detects project type and installs dependencies
202
- * Supports Node.js, Docker, Python, Rust, and Go projects
203
- * @export
204
- * @async
205
- * @param {string} targetDir - Path to the project directory
206
- */
207
- export async function installDependencies(targetDir) {
208
- process.chdir(targetDir);
209
-
210
- // Project type detection
211
- const detectors = {
212
- nodejs: () => fs.existsSync('package.json'),
213
- docker: () => fs.existsSync('Dockerfile'),
214
- python: () => fs.existsSync('requirements.txt') || fs.existsSync('setup.py'),
215
- rust: () => fs.existsSync('Cargo.toml'),
216
- go: () => fs.existsSync('go.mod')
217
- };
218
-
219
- // Install commands for each project type
220
- const installers = {
221
- nodejs: () => {
222
- try {
223
- execSync(
224
- process.platform === 'win32'
225
- ? `where bun`
226
- : `command -v bun`,
227
- { stdio: 'ignore' }
228
- );
229
- exec('bun install');
230
- exec('bun run dev; bun run start');
231
- } catch (error) {
232
- exec('npm install');
233
- exec('npm run dev; npm run start');
234
- }
235
- },
236
- docker: () => {
237
- if (fs.existsSync('docker-compose.yml')) {
238
- exec('sudo docker-compose up -d');
239
- } else if (fs.existsSync('Dockerfile')) {
240
- exec('sudo docker build -t project .');
241
- }
242
- },
243
- python: () => {
244
- exec('python -m venv .venv');
245
- exec('source .venv/bin/activate');
246
-
247
- if (fs.existsSync('requirements.txt')) {
248
- exec('pip install -r requirements.txt');
249
- }
250
- if (fs.existsSync('setup.py')) {
251
- exec('pip install -e .');
252
- }
253
- },
254
- rust: () => exec('cargo build'),
255
- go: () => exec('go mod tidy')
256
- };
257
-
258
- // Run detections and installations
259
- Object.entries(detectors).forEach(([name, check]) => {
260
- if (check()) {
261
- // log(chalk.yellow(`⚙️ Detected ${name} project`));
262
- installers[name]?.();
263
- }
264
- });
265
- }
266
-
267
- /**
268
- * Executes a shell command with error handling
269
- * @param {string} cmd - Command to execute
270
- * @param {boolean} [showError=false] - Whether to display error messages
271
- */
272
- function exec(cmd, showError = false) {
273
- try {
274
- execSync(cmd, { stdio: 'inherit' });
275
- } catch (error) {
276
- if (showError)
277
- console.error(chalk.red(`❌ Failed: ${cmd}`));
278
- }
279
- }
280
-
281
- /**
282
- * Downloads a GitHub repository and sets it up for development
283
- * Opens the project in an IDE and installs dependencies automatically
284
- * @async
285
- * @param {string} repo - Repository URL or identifier
286
- * @param {string|null} [folderPath=null] - Optional custom folder path for extraction
287
- */
288
- async function downloadRepoAndSetup(repo, folderPath = null) {
289
-
290
- printLogo()
291
-
292
- var extractPath = await Github.downloadRepo(repo, folderPath)
293
-
294
- setTimeout(() => {
295
- openInIDE(extractPath);
296
- }, 500);
297
- installDependencies(extractPath);
298
- }
299
-
300
- /**
301
- * Main CLI function that handles argument parsing and repository selection
302
- * Supports both download of direct GitHub URLs and search queries
303
- * @async
304
- * @throws {Error} When no search query is provided or no repositories are found
305
- */
306
- async function main() {
307
-
308
- printLogo()
309
- const args = process.argv.slice(2);
310
- if (!args.length) {
311
- log(chalk.yellow('Usage: git0 <search-query>'));
312
- process.exit(1);
313
- }
314
-
315
- const query = args.join(' ');
316
- // Try parsing as a GitHub URL or shorthand
317
- let parsed = Github.parseURL(query)
318
- if (parsed && parsed.owner && parsed.name) {
319
- if (typeof args[1] !== 'undefined')
320
- await downloadRepoAndSetup(parsed.href, args[1]);
321
- else
322
- await downloadRepoAndSetup(parsed.href);
323
-
324
- return;
325
- }
326
-
327
- const results = await Github.searchRepositories(query);
328
-
329
- if (!results || !results.length) {
330
- log(chalk.yellow('No repositories found'));
331
- process.exit(1);
332
- }
333
-
334
- const { selectedRepo } = await inquirer.prompt({
335
- type: 'list',
336
- name: 'selectedRepo',
337
- message: 'Select a repository to download:',
338
- choices: results.map(repo => {
339
- const packageInfo = repo.hasCompatibleReleases
340
- ? chalk.green(' 📦 Packages available')
341
- : repo.hasReleases
342
- ? chalk.yellow(' 📦 Packages (other platforms)')
343
- : '';
344
-
345
- return {
346
- name: `${chalk.bold(repo.full_name)} - ${chalk.gray(repo.description || 'No description')}
347
- ${chalk.yellow(`★ ${repo.stargazers_count}`)} | ${chalk.blue(repo.language || 'Unknown')}${packageInfo}`,
348
- value: repo
349
- };
350
- })
351
- });
352
-
353
- // If the selected repo has any releases, show download options
354
- if (selectedRepo.hasReleases || selectedRepo.hasCompatibleReleases) {
355
- const { downloadChoice } = await inquirer.prompt({
356
- type: 'list',
357
- name: 'downloadChoice',
358
- message: 'This repository has downloadable packages. What would you like to do?',
359
- choices: [
360
- { name: '📦 Download package/binary', value: 'package' },
361
- { name: '📂 Download source code', value: 'source' },
362
- { name: '📦📂 Download both package and source', value: 'both' }
363
- ]
364
- });
365
-
366
- if (downloadChoice === 'package' || downloadChoice === 'both') {
367
- await showPackageMenu(selectedRepo);
368
- }
369
-
370
- if (downloadChoice === 'source' || downloadChoice === 'both') {
371
- await downloadRepoAndSetup(selectedRepo.url);
372
- }
373
- } else {
374
- // No packages, just download source
375
- await downloadRepoAndSetup(selectedRepo.url);
376
- }
377
- }
378
-
379
- main();