{"id":20611092,"url":"https://github.com/acutmore/typescriptvm","last_synced_at":"2025-07-24T21:19:37.829Z","repository":{"id":70227964,"uuid":"210439488","full_name":"acutmore/TypeScriptVM","owner":"acutmore","description":"Compile-time emulation of a 4-bit Virtual Machine using TypeScript's Type System","archived":false,"fork":false,"pushed_at":"2019-11-05T21:31:05.000Z","size":40,"stargazers_count":18,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-15T04:39:13.869Z","etag":null,"topics":["compile-time","fizzbuzz","typescript","virtual-machine"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/acutmore.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-09-23T19:49:29.000Z","updated_at":"2023-09-27T08:44:02.000Z","dependencies_parsed_at":"2023-05-07T07:21:56.049Z","dependency_job_id":null,"html_url":"https://github.com/acutmore/TypeScriptVM","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/acutmore/TypeScriptVM","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acutmore%2FTypeScriptVM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acutmore%2FTypeScriptVM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acutmore%2FTypeScriptVM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acutmore%2FTypeScriptVM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/acutmore","download_url":"https://codeload.github.com/acutmore/TypeScriptVM/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acutmore%2FTypeScriptVM/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266904598,"owners_count":24004131,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-24T02:00:09.469Z","response_time":99,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["compile-time","fizzbuzz","typescript","virtual-machine"],"created_at":"2024-11-16T10:19:01.827Z","updated_at":"2025-07-24T21:19:37.731Z","avatar_url":"https://github.com/acutmore.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"Original gist: https://gist.github.com/acutmore/9d2ce837f019608f26ff54e0b1c23d6e\n\nA 4-Bit Virtual Machine implemented in TypeScript's type system. Capable of running a sample 'FizzBuzz' program.\n\nSyntax emits zero JavaScript.\n\n```ts\ntype RESULT = VM\u003c\n  [\n    [\"push\", N_1],         // 1\n    [\"push\", False],       // 2\n    [\"peek\", _],           // 3\n    [\"mod\", N_3],          // 4\n    [\"ifNZero\", Line\u003c8\u003e],  // 5\n    [\"replace\", True],     // 6\n    [\"print\", \"fizz\"],     // 7\n    [\"peek\", _],           // 8\n    [\"mod\", N_5],          // 9\n    [\"ifNZero\", Line\u003c13\u003e], // 10\n    [\"replace\", True],     // 11\n    [\"print\", \"buzz\"],     // 12\n    [\"ifNZero\", Line\u003c15\u003e], // 13\n    [\"printHead\", _],      // 14\n    [\"eq\", N_15],          // 15\n    [\"ifNZero\", Line\u003c19\u003e], // 16\n    [\"inc\", _],            // 17\n    [\"jump\", Line\u003c2\u003e],     // 18\n    [\"pop\", _],            // 19\n    [\"stop\", _]            // 20\n  ]\n\u003e;\n// RESULT['stdOut'] ==\n// [1, 2, \"fizz\", 4, \"buzz\", \"fizz\", 7, 8, \"fizz\", \"buzz\", 11, \"fizz\", 13, 14, \"fizz\", \"buzz\"];\n```\n\n[Demo](http://www.typescriptlang.org/play/?alwaysStrict=false#code/C4TwDgpgBAcg9gfQIICcDmUC8UCGA7EAbgChRIoBJPAZ2BQFcBjYASzj2QBNOUJrqsuAgG0AuoSgB6SVHrU+uFChwhhAcgA2EPGmAALNaKjA4UFnk4QAHmbwmoABRRw0ygLZqB52g2ZsapODQAEKCAIxQAD5QAAwkZCEUACoAyggALILCwQA0ULn5ecHigeQw9G6Cwclp6SSl0AiCamr10gDEvGj+UADCcPR2EChS0mPjE5NT0zOzk8QNfQNDI9gAagCyADzCxFD7UOpgcgZ5MAhhonkHN6NQYXsHRyjmwAASEDicankIV7d3ABMj326ggAEcfrALgBWf4Ag7SKAAZhBhzULAAZjAAFrDOBQgAy5ggWwA7AA+eFI9Jo9TmRhQv7XBGImQwulqABWFTARJJW0BVJZ+yRADZObQ4HzfkZWWyoGTHqIKfVXsNMThGNAknxgP1BsBhlAAN5o6yQZgQTgALlNaJutE4AHl6MA7cIAERhT15T2A31QT3IwOe9KhmGhsWhsmhgAcoYAnKGwjEUz6-WEA5mQ5nw5nI6I0QBfNFa4D0HAaO262gGlZgqyWo3fIul9UoTXaqC1-XLI0jM03cuV6tLQ3DYil4gdbQ8CDddjjlajOZr9cb+YzySdBc9ABiLAAXkfgvQT6vN1frzMFgkoIeT2eL+ttrsbkcTlDzpcRbckQ8H5qMc1CnA+VbyPC-4yMCQGQBAADWTJQaySKokBbhwN8ZwIMiKEAjSnJYri+L8ngpJxsKorspyvBgBoWoQFCSQMBA+HipyYAvHYUJqJix5HoYf5IkqcEQIhyF-gRMhxpymHYdCcJSTcSKJkR2J4s4ZGkmEyJUQBMS0RA9GMcxrHsTIYSAU8wHccAvEAEbnoJFn3LBNnEZpBJ5MS5FbGEML6ZZ6E2VxrwfF8knSfctJARC36wvh0H3ByQGeaRPkCmEiZBfcEppXgjKyspyVhKJNk8m4MpQL5pJCq5YSyXB0pRfK1H3GpQFStVfxte1gKGfsKpqisXY6nqj6ns59o3BaEBWraM0Ik6rruuiYS8YCvH8SevHpI5znbQJvFkrxcZHbteRqE5l1QGoVkXYJV26bxYT7VdO1PXdN0uSWZbMKONYTQJz5Ho2zbWoYU7EB2Y09sDT7TUOBwjlWdqTaD0Pbu0c5dAeIPTTeRPE3eQSUDQdBMKw7ACJgjzRF6IF6IG5RuHKfUIkiwh6HkAB0-PAOz+wALQUqCODoHkPNQPzvOC-ThyemA0os4gqBoELHPtdzfMC5rougrL8v7AznqcPQYCq8g6Ca1rXPS0b+ti4c0sO3rCuM+JCFW+rtt9fbUtu3LRgGy7ruB7rwce56dEMdqLMVH7bUBzLeu3KHwgS2gkfG1EisMj7Nta8lOup8H6fO8IADUVdB7npvyQnbPF5zMil47FegnoUAAKSKNnZf14rEJN0nxcpx3NwZ93mDYFnUs50WJuK5Vlt5FQPhU-4XDzvwQtIqvUBcS47jGKY3iU34S44MA-fR+lziBhvl-UxwSDcLwe93MrYBQHonycDyFiKAABCbAMQoCH2Pq4HAlR7AX18K-XAt8s7RzCnYCKnBC4aw5kiRg0oQB-wAXkfBAA3YYt97A+HMBgfQ2hcDcDPlAJ0AxgBoLsoGahOgx6twYZwfuTCWFumjt1bB4gW53D0FWYAICoC8ArCgGgUB8FDDsAIOAmJmHAE4KwhYkgABU+i9j6J7HoFgXgBB0KgG4HA5goDaDoIQ5WrwmEMDwMYf+UA1gsBQBWKsUANhajMeRYxUAAACYAJawMcM4GBlRhamOgBLZQhCNG2E3lfJR9hrDzTdBAUJYT5H0EUQIE0WiXRujtFwtAYgoCligPoyQixNhbEeE4E+0TrBGgsAIZ+iD-DUDEDkR4BioCkIliwHADktDUDtI0x4AAlPg9ANC3y6XOAQ+BCHYCoORFALT2lxIpMQMW2BkZIgAKryFwMYdwysNAkiYesiwPYggpEYC8MA9kBBJDJs-fArAb49EsF87uDy3AsFvmkmEg17h2gObE9w688B7IRR0tweQhlQCWdQFZwAKSqkeDEO0OK8VeloDfCAnoSjFmEKS1ZXpgA4DQNS+xVhumcAEJ6Byyx45QAAPz3CgHaGIJRFi7OGC0tpiLOnso2eTDJr9BlXEeMEXlChnmcqEKoIw2AhmLOWastlHLNkEEEEkFgjAEJbEOe4Y5pylqXOucAAA7qYOgsD7kkksaYTExS6EjAZLwHA1zwWQtlo8MIdoJX7O2La2BeQnDGTnFsLZRR1XUApMMhEFqrVbHpcAclTKjTUuEKKvIBai2UtLb+bFhrC2egpSW0QwhAT-ErY24tVKW14WObcQl+xiV1txaskgtKO1MpZUYTVXKeWDHjo8QVAAKNV86+DqC0DofQhhjXytSgcQVsL9h2jCAASkeCKsVSIACiVhclGg8dAci7L0kv38IsXN1rpXot3T0hVb6ab6v2A4Xov6tVbNqXq-4SJoHuGFvgicIwEmbt0N3NJySVC2EsHerwdhTB9K3jTR4KQmVWrAwIVmkHDgqv2CRipay5V-uqVRsQJzBDnJkAAEQgPxciuANAaEfV4jYr7+lEf2MBL8NZLXWvjRimJyaLCpoIIm3oWaFOQCU3J4QIGvQof0NSlttaSNagQupujq0B13R-moaTea5OJroimtNjg1N5CSLYjQWwTNWvM9oyzJAJPmz5HZ2TMr5NJs05wZTIBVPqciymzB3nSNmbyD51LUALNuis8BL2tmewyZteFxzinosuZA-FpzSmkseZYF59LBK0spb8-RnLsdTKhaK+ikrUWYtxZ6ym7TunPT6eZqIIz-xav1eay1gLjwMSFXy5+rrcSBtKfK25jTKakCcc4xkLYSWGs4TCOpqbyXTONcy-57LgW7rySW4VhzW31sqdc5V0rWwNjOj2+kA7ADzu+cc+inTvQ9PaFQ4Z4QlxTueYB2Z2bN35vxU609hLL3YtvbW9F69ABFfbh3mtA7iSDsHW6xsTb8xdprrXbtIm5LyNQzDxJuE2QINAcAsI3LwDfYp-jWBuGgPYOdhVoBLisR6qqcAHkhIk6vfLZTJ12m5eqz0Egm0QA9Kj8LJORvg4M+NqH-x0vU9WkYYst2MQaVInaAnF3yPQiPQKgr9nivPbK69ir7nYdHau61tEKPXdDdB7rsnkPa1nZ91l-FFv0HvAAQ9l33W3d9cx1d0zWOtjnCSHAEj3E0B-a+HDy7UeCUx7sgnsLSe0fu4x57tPVqM9B9JxDg3xnrv4py91eXxhmVK8-ni1XWjKV2jKStSpdbyEoHkMl1rdS6m05kEkf+7jzDYdsPYKx+ClDzVvggwj7iHIhutFAMXnjGDFN4HYI+4X4P9mNEukD57aVN5Dy3ltoqr0yHSMLYIkKoCoEhT0AF1YEYBqhcEtSgAuTwD-yXSQEJAuXPSRASSkQsC0CgDwAqAcmGAEAgXsACm3CgASQgEnxAH0BoWURphfmP0xGcEqDCGFgcj-w0HANALQEpWoFJjKAQAgT1RiDyD4NiH4JKHvB-CyDCH4IkNiGELJnOEBCyAEPEMEKkPiBkNwjELyEUIENFRUK4MyF4MkM0OkK4JhHUKUMMJ0OgHODFHkI0NsOUMWHODJFMMUPMIcIQDjBsKUIUKMMsIQETFMK0I0J8OhFTE8M0KCIsJCIiD1RcIMOCJ-DkP0LMIiLcN0gCLsMuEiJ-D0MOAUIyPiNhGcPyMiP3AgmgGwHODiA-VYkEB-HqHvC+x+1aX2AwIF2UBMBGBnVgAqGzSgE4BYFIXMTgE6MYy1VZmGQdSQGoGqFSH204woDWH21aOGBvmGLyH6MGOoGGIpHUF4BsVX2GEMEJUWE4wGJYEsBQGaLkQgH2IsGNC6JmNqF6I2KGJGJNXyBqAyF6IQyvweM+NpAdV6GdA2AcH2z2NsTuJQHWLOK2JQB2N134FZS6OskFWEB+OADyHBIOJQCXmFUOB2yaJ-BIX7HMwuWCDBJuIhIuOhM2O2LFXvCmMeP2xgAdRgHtyZMyEFTZLtHIkn3qLJnmMWN+0eGWPaOGPZP+OeJhPFL+NmPSF6NGXGReCmRmTmSaX2HRIlLlNqO4N6KxMhK1NqEEFFNWJQDY2wCXUeFOMGIuK2H1OpL6OlKhIoMNDFi6OEHMExGNF6CATwC9JGAWVxMFWtPOOGC2EZP+PzXUxeNhLyAjLlK2DUzdNGIEA9L9O9N9P9OxSDKgBDNtPjNqCjJpNeLjOmMjKTPtzTKzJ9NsCzMDMXVzLOPzLLITIWWjKdNLI5MTIJUrM9IzNrONHrP2GDKbLDILP2zbOLNjP-xbMLIrPdL7JGBrMXOzIbLzLHNnInPbNpOdPHN+3nJTMOBXOXPTIDJzPXMuL3KLMdJ3M7PLJ7IXNPL6EzMHPPNHMvM3N+0nJvJLJnK7IPPeKrP7JXKHKdwvPDM-OvJjLWL-PvOTMAuPJfLPLXPfIgq7O-Ogt3MgoAvlSAqXKQtXOHMbJtI3PQu3N-KvJwr-TwufIHOQqIvAqvIwo7NgoTKoq1RopPLrLfJIo-LIqnJgsoofMPM4oItApHN4rQsjOYtvNYrnOEoQqfK4tfJQskqYvIunKEvgtwsQrosIrAtQvUoEqwv-IUp0qUrEpzLKXRLtF6AkHtOGBJTqQvXQOIONB5LcpGA8snzxN5Pctcp8u8v8r8q8oCsnGPTCtCpCt8s8pisCsiriuCtiqCrNNPX5PIA2AuUJH20eC6CQENK+NyoXFCFlKeJGRMSVMmWmT4DVMeFxTcAgVKoyCqGSAAHUKAUhr1kAYBOMdg8qy1-h+ry1ri0AkABrMSFwxqP8Jq0Bggs06qKgIgmqciCScqPwBCkAeq7TJrDcZrggBr1NNrer+ra0uh9roc4ytqTrBrirW0VQaMDh6rYV5r9h6q5DlrBBVrhT1rJCjrtrRq7q9qDrLrjqdq20gbocHrXrFrHgXrmEKhkQCqVrdt9sy1JCNqrqdq8IgbRUqI3r7VBB6rkR0roAUgyS1qRr8rlq9TiqkaFSKqJkVSaqGl1SbkuiybggkgFkkBegkgEAFlr0ybCQkhBB9wsrsqOauaeakhnQFktgBChqbrZrgbHgHJ7dJbubeb+bBasqRbsAxbCQJaySpbebZbU0vQeUlA4AXVqUZqxrTrbqLrHhQD2bjbNa+aBaha9aHxxaEANbpazaHILbhjnAbalaxrwaRr9q204b+FXbOb3btavbRbfb-bTa5bGBg6raw67bhBsao686VRzS5LUacAvR+jMRMRbaoAg6zYsQq7-hM667K7q7OBy767DNjiGSUbvrKa6airZr+7RQGblTqrZkWbHgcB7cCTr0Fkk7daU7DbkBdtZ75bc7hqzqVb9g1auiZ657PaF79bfa97zbPRGBkkQBq7rqIaVRvjp6V796dbhbF7sqT7a7z6lBL7w7AaC6Y7nj77ONZ757n6j6l6T6m6P6UAv7c787N7e1i6rzM5yUKhq7a76rq6m70H-g27G0UHxsu6yYDajaE6A65bVaQ7rb2Teip6Hjeid7DzchyqxlGax7aroaHIPVmBhilrDy06Pan7va3g4D9w-a3bSHU08gHI4bcUOHlAuGUB3reGxGtaD6QGoAhHCQRG+Gza0QZHOGOiwh26W6oaa6KGXVYbi7kYK7MQql6BZHyxhjAQjGG7btLbQ67Qza9G5GDGs7Q7q6vGHGFHfHrbqVCVzdODoAiHl7AGyGNSL6qHJ6Ent6kmpAR6qrVSJ79gvgLieH3i97gHBHhHonV6cBJG4bsnhhFG8mH6CnBANGRHwGL68gKmUBDHcG3BQnLGFq3A7QWmnH2nqVbtIGQAPG5a+mvRhnq6Wm2nJnhopwSbMtlH+Hk6zlHTK67RggJA3HraNn59Fh8nVHvbR8KgNmJBhndnwnFh6nRGSH07U0qGa72SHUrH667QAANM20pmuqzbZl1O0P6mAZ0JIVNdTKRsdBZ65k+mhhhyRp59jbp95z5spoZi+-5rar5sF+ZiJj4pIdqzq7q3q6F94jk2F5ah1d8f-dF8amureylwl3amlp2-YP6suyOoOv+x4FlwuyRwu45eksmIEkEimol+VEl1Woe1J5h0ejJ+ZDUxqw8wV0Ew5wQRV824aoO3G743J+VRV2p7AVVsu2tIOpl5RKpnV4EpVgRlVi182tlu6uGxgRGro3V5V-Vm1su-OoO+B55x4GZce2WimjU5EL0VwYAW2tEP6x1r0EeRu-p0N0J3o5lnq-bRQqNz0GNkhfpjN5RNp+N2+iN5N37NN7NxgLN8EDBtpktmIEN3xTp-YKzCENFpoxgat9N8txuyt9tzN6Nrt5RYNtt0J27UN0ZwNvtsHREkxyN-tkt-pv1hNgtpo1N6d3t0tntit8d6gedm4I6-bYtldst9dgdxu1tudou+t8F7Fl1q11Zv105+xcEO94d-IPZxYVVxJ2h8Vj94eqV9JhQWV3AQkPgagJffAEqhhz6rawF4FqR5p8pgAcWDQHBA7wDA+JYg96ocjOCBZBbhohFHHZNqM+cA-4GQ4KBwAQ8+CQ5QLmssagFvYA6A9I4kEbfvdHAkCffI8Q+GFI5ffvFx2FYlfoeJclKYcqqZoEH-YhHlbQ4qI+bGepY1fzf2AhG1b-VCFk8+YZeNaU-vbNbU9qLk9tf+HZZ04hCdfA40-k89d5YmKyB3d+yk7yBU6c-BEBBc70nRqEIWZgEM5FbU9JYYZ9f2CjSWmC5PVu0HRFVu3Cci9C7hViAi9iBPUeFLFpRwBbQcn5fIF84eaE9FaC-i+RjC4S7RCHTCGi9uyHSK-i-K9K5FRS6nEzgy6y+gHs-udoceY65dphb6LhewD+s5fRbKd6MjfWPtQWZZdy766WhC+q5C9q5uCHSqP2Bi6S7i5C+W4OCW4a7S+a+88+am4eIK9m7RA28S6W4q6JRH1O6i7q-uGi8a-S+EEy4WYDd+z861QKDy-8+UQebjsC8EB0f2CRe+d6LNsYDG5OVe7GcO4B7OUjWu5uHm-O-C5S8q8R4OGR7u829S6a+e5a9gGw4+4EDmvheK827K8e8-0oEsCrA0EITp5PwDSgDYKNAEDdRWX4SwJrvoDq1vgckIXwUl2oHIJgCOuoGGSRD0GttirIIEA+Uo4UCnt+UgHeU+VvmAjgH4BYGqtrPMEhWgGYJansStrNJEMm46++8++O4x-J5R-u7R6u-W9R8W5d72d2-x7aEMSWEn1vm-0YNvlaKwJGHsCnuqSgExHFNj3IPmREIQGz1zxoS2HcS6NZj7WNPt0qKd09DTBcpT8PNEMFW9E9Dz8z4QDkKL4DFL9T7UKL5DGr4L+aqL-DAb-ePOBMKL8jFb-lSsOz+jG77-UcOz9jAH7GPcOz4TFH4oz8Oz+TCn5CIgSL9TBL4ivz7b4uAiCX59Hn4SOz6zBX98rL7SKX-r9X6P85KDDegP55KP478v674is9G5zwFVz0W97g4GPoSnulyfUwONCKUURCB-0YmN+B-CA77BY+ZMWqFsB-724g+wwX4AgGyafwBAXRAjJkh3goCsgKoMnmt2gE-8M8LmBAEgLAH8BS8CPHsLDmIHICgOYTYQNQNIGDJX8+ue3LAMFQRBL09QAglxFKxQAAAZEQi+D8Ce8dWYQbwEnzOocACEehDQTgBuACCegYAMADACzJpA3QfQHY15hC9JAYAHxCwCsDCw0AegSQALn6IVBJA0yOAA5BMEhoBwkgBINQHgwX4QAwsdwJwBwCSBqAKARgJIAOJWA5YHBRYNXi2BrB7cLmVAG8XlQQYcBFpS0vsFITwpeissHAP8yUDEBT0WAMWFsgyFdEl0yQu0CuXVjUAMhmALIQQAbJFCXKYgCFv9hFpdFohDqOoSJRczJCRA42J3EkAGqJUUACzM7E0PeINDBAS6PIQLBrAlCyhIAHIYeWGGPAEAvTFTI8CNieYChT5JIEkHSGZDtU56IimsKqEE8lkEg0kI8H6FRC2hvRBZGELaHYDeiFAS4TqmwFdNYuBw7AqSCSAZ5OhFAZvPrnbTvZesLmCgOQOK4LIx0wgT4cwLGz25Oh4I1lOwLxLaFiAQAA)\n\n\nInspired by\n- [TypeScripts Type System is Turing Complete](https://github.com/Microsoft/TypeScript/issues/14833)\n- [How to master advanced TypeScript patterns](https://github.com/pirix-gh/medium/blob/master/types-curry-ramda/src/index.ts)\n\nNotes:\n- requires Typescript \u003e= v3.3.3\n- requires `\"strict\": true` in _tsconfig.json_\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Facutmore%2Ftypescriptvm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Facutmore%2Ftypescriptvm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Facutmore%2Ftypescriptvm/lists"}