{"id":15012624,"url":"https://github.com/microsoft/pxt-maker","last_synced_at":"2025-10-04T05:52:42.709Z","repository":{"id":28454828,"uuid":"114918682","full_name":"microsoft/pxt-maker","owner":"microsoft","description":"MakeCode target for \"Maker\" boards (beta)","archived":false,"fork":false,"pushed_at":"2025-04-22T22:58:46.000Z","size":35470,"stargazers_count":124,"open_issues_count":47,"forks_count":84,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-10-02T00:39:05.447Z","etag":null,"topics":["makecode","maker","pxt"],"latest_commit_sha":null,"homepage":"https://maker.makecode.com/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/microsoft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-12-20T18:31:10.000Z","updated_at":"2025-07-10T23:32:26.000Z","dependencies_parsed_at":"2024-06-20T23:31:23.212Z","dependency_job_id":"8d0aa4d0-e901-410c-a20e-2f1ddc29dc98","html_url":"https://github.com/microsoft/pxt-maker","commit_stats":{"total_commits":1390,"total_committers":34,"mean_commits":40.88235294117647,"dds":0.3237410071942446,"last_synced_commit":"1439f19f93e7699d21b816a9b7ed60840b0d3924"},"previous_names":[],"tags_count":497,"template":false,"template_full_name":null,"purl":"pkg:github/microsoft/pxt-maker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fpxt-maker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fpxt-maker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fpxt-maker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fpxt-maker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/microsoft","download_url":"https://codeload.github.com/microsoft/pxt-maker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fpxt-maker/sbom","scorecard":{"id":93854,"data":{"date":"2022-08-15","repo":{"name":"github.com/microsoft/pxt-maker","commit":"1439f19f93e7699d21b816a9b7ed60840b0d3924"},"scorecard":{"version":"v4.5.0-26-g10b6052","commit":"10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93"},"score":5.1,"checks":[{"name":"Maintained","score":8,"reason":"10 commit(s) out of 30 and 0 issue activity out of 30 found in the last 90 days -- score normalized to 8","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93/docs/checks.md#maintained"}},{"name":"Code-Review","score":0,"reason":"GitHub code reviews found for 2 commits out of the last 30 -- score normalized to 0","details":["Warn: no reviews found for commit: 1439f19f93e7699d21b816a9b7ed60840b0d3924","Warn: no reviews found for commit: 7e09e2feb115c8fa8662ccb605a4c1d9955bb3a0","Warn: no reviews found for commit: df40e189ff4e4921436cf1e9b5a30352d2cad433","Warn: no reviews found for commit: f70ca92b8234e5184f1205b4a8b100aaefb9c176","Warn: no reviews found for commit: 66072c282035027ef01fa4e34c27d7c82203f4e8","Warn: no reviews found for commit: 0c5e05747df4fb93832899c49e3310fd430e01b0","Warn: no reviews found for commit: 6620fe19f4d39d04c718f1506eaebba9db450c7e","Warn: no reviews found for commit: 3687a29e68060bb645e6055f9106abc2b728256f","Warn: no reviews found for commit: 3329114c6ec7b74ba52ef3470ada9fa9c483ad43","Warn: no reviews found for commit: f512662cf0c554d3024149e5aed54c72471f8795","Warn: no reviews found for commit: a83e63084ddc173678d267803c0e4eee11aa39f2","Warn: no reviews found for commit: 20c70e406310fe67c1e43d0b40b7052da445c601","Warn: no reviews found for commit: 09b600641b00aeb2db79113633010f3b766df3dd","Warn: no reviews found for commit: ade73259a6551c5c1bf9ebafb064e1fcc05849fd","Warn: no reviews found for commit: af18eb35daf9a5f419b3043409c450904060aa14","Warn: no reviews found for commit: d7f15ded2564bfa35496a880769a40705c280ed9","Warn: no reviews found for commit: 255b38d15f9a7791855aef95abfbe2a71ed1921f","Warn: no reviews found for commit: b78a840c785f63a900911ba6e8031a70d2a82fa9","Warn: no reviews found for commit: a476d6d63d7abbbab6b1b3818a163e3eb0d25e7d","Warn: no reviews found for commit: e163046a0260f82f2e0ab6e099e2b25436196111","Warn: no reviews found for commit: 4c0859b4225a8c325a47725db6fbae4f94ff26cc","Warn: no reviews found for commit: 966a8240a043c8c6f4e98746a9391cc815c10e29","Warn: no reviews found for commit: 9814002b63e86601d186853c67f3d6debe8c2570","Warn: no reviews found for commit: 7fcee8a2224c8301beac3e0ee068ec2ccb1dacab","Warn: no reviews found for commit: 6e01dd95f96df909b797eeedddb3a16b9651f0d4","Warn: no reviews found for commit: 7f8d5859bff32ee050c341758021d070b0b60465","Warn: no reviews found for commit: e260057b6f5798fcbbcf451bb8e8c069a23354ad","Warn: no reviews found for commit: 4625187ab062a88a92ce007b73467e2a1c2448d7"],"documentation":{"short":"Determines if the project requires code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93/docs/checks.md#code-review"}},{"name":"CII-Best-Practices","score":0,"reason":"no badge detected","details":null,"documentation":{"short":"Determines if the project has a CII Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93/docs/checks.md#cii-best-practices"}},{"name":"Vulnerabilities","score":10,"reason":"no vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93/docs/checks.md#vulnerabilities"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":["Warn: no GitHub releases found"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93/docs/checks.md#branch-protection"}},{"name":"Packaging","score":-1,"reason":"no published package detected","details":["Warn: no GitHub publishing workflow detected"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93/docs/checks.md#packaging"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy detected in current repo: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: : LICENSE:1"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93/docs/checks.md#license"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":0,"reason":"non read-only tokens detected in GitHub workflows","details":["Warn: no topLevel permission defined: .github/workflows/compress-images-on-pull-request.yml:1: update your workflow using https://app.stepsecurity.io/secureworkflow/kalessine/sdmx-sax-parser/compress-images-on-pull-request.yml/master?enable=permissions","Warn: no topLevel permission defined: .github/workflows/pxt-buildpr.yml:1: update your workflow using https://app.stepsecurity.io/secureworkflow/kalessine/sdmx-sax-parser/pxt-buildpr.yml/master?enable=permissions","Warn: no topLevel permission defined: .github/workflows/pxt-buildtarget.yml:1: update your workflow using https://app.stepsecurity.io/secureworkflow/kalessine/sdmx-sax-parser/pxt-buildtarget.yml/master?enable=permissions"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/compress-images-on-pull-request.yml:12: update your workflow using https://app.stepsecurity.io/secureworkflow/kalessine/sdmx-sax-parser/compress-images-on-pull-request.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/compress-images-on-pull-request.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/kalessine/sdmx-sax-parser/compress-images-on-pull-request.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pxt-buildpr.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/kalessine/sdmx-sax-parser/pxt-buildpr.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pxt-buildpr.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/kalessine/sdmx-sax-parser/pxt-buildpr.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pxt-buildtarget.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/kalessine/sdmx-sax-parser/pxt-buildtarget.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pxt-buildtarget.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/kalessine/sdmx-sax-parser/pxt-buildtarget.yml/master?enable=pin","Warn: npmCommand not pinned by hash: link.sh:1","Warn: npmCommand not pinned by hash: .github/workflows/pxt-buildpr.yml:24","Warn: npmCommand not pinned by hash: .github/workflows/pxt-buildpr.yml:25","Warn: npmCommand not pinned by hash: .github/workflows/pxt-buildtarget.yml:27","Warn: npmCommand not pinned by hash: .github/workflows/pxt-buildtarget.yml:28","Info: Dockerfile dependencies are pinned","Info: no insecure (not pinned by hash) dependency downloads found in Dockerfiles","Info: no insecure (not pinned by hash) dependency downloads found in shell scripts"],"documentation":{"short":"Determines if the project has declared and pinned its dependencies.","url":"https://github.com/ossf/scorecard/blob/10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93/docs/checks.md#pinned-dependencies"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93/docs/checks.md#binary-artifacts"}},{"name":"Dependency-Update-Tool","score":0,"reason":"no update tool detected","details":["Warn: dependabot config file not detected in source location.\n\t\t\tWe recommend setting this configuration in code so it can be easily verified by others.","Warn: renovatebot config file not detected in source location.\n\t\t\tWe recommend setting this configuration in code so it can be easily verified by others."],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93/docs/checks.md#dependency-update-tool"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":null,"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93/docs/checks.md#fuzzing"}}]},"last_synced_at":"2025-08-15T08:27:48.316Z","repository_id":28454828,"created_at":"2025-08-15T08:27:48.316Z","updated_at":"2025-08-15T08:27:48.316Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":277947344,"owners_count":25903941,"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-10-02T02:00:08.890Z","response_time":67,"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":["makecode","maker","pxt"],"created_at":"2024-09-24T19:42:56.540Z","updated_at":"2025-10-04T05:52:42.692Z","avatar_url":"https://github.com/microsoft.png","language":"TypeScript","readme":"# MakeCode Maker [![Actions Status](https://github.com/microsoft/pxt-maker/workflows/pxt-buildtarget/badge.svg)](https://github.com/microsoft/pxt-maker/actions)\n\nThis is an experimental code editor for maker boards - try it at https://maker.makecode.com.\n\n* [Read the docs](https://maker.makecode.com/about)\n\n## Who is this for?\n\nThis editor is meant for micro-controllers that are friendly to breadboarding. The editor is based on [Microsoft MakeCode](https://makecode.com).\n\n## Local Dev Server\n\nThe local server lets you to run the editor and serve the documentation from your own computer.\n\n### Setup\n\n1. Install [Node.js](https://nodejs.org/) 8.9.4 or higher.\n2. Install [Docker](https://www.docker.com/) if you are going to edit any `.cpp` files.\n3. Clone the pxt repository.\n```\ngit clone https://github.com/microsoft/pxt\ncd pxt\n```\n4. Install the dependencies of ``Microsoft/pxt`` and build it\n```\nnpm install\nnpm run build\ncd ..\n```\n5. Clone the ``Microsoft/pxt-common-packages`` repository\n```\ngit clone https://github.com/microsoft/pxt-common-packages\ncd pxt-common-packages\nnpm install\ncd ..\n```\n6. Clone the ``Microsoft/pxt-maker`` repository\n```\ngit clone https://github.com/microsoft/pxt-maker\ncd pxt-maker\n```\n7. Install the PXT command line (add `sudo` for Mac/Linux shells).\n```\nnpm install -g pxt\n```\n8. Install the pxt-maker dependencies.\n```\nnpm install\n```\n8. Link pxt-maker back to base pxt repo (add `sudo` for Mac/Linux shells).\n```\nrm -Rf node_modules/pxt-core\nrm -Rf node_modules/pxt-common-packages\npxt link ../pxt\npxt link ../pxt-common-packages\n```\n\nIf you want to know if your folders are link, run ``ls -l``\nand it will indicate them.\n\n```\nls -l node_modules/\n```\n\nNote the above command assumes the folder structure of   \n```\n       maker.makecode.com\n          |\n  ----------------------------------\n  |       |                        |\n pxt      pxt-common-packages  pxt-maker\n ```\n\n### Refresh dal.d.ts files\n\nWhenever you make changes to the ``#defines`` in the .cpp files, you will have to refresh\nthe ``dal.d.ts`` files. For that, run\n\n```\npxt builddaldts\n```\n\n### CODAL changes\n\nIf you need to do changes to CODAL itself, follow these steps.\n\n* create a new project in the web editor, then close the web server. Select the hardware you want to work with.\n* using a command prompt, open the ``projects`` folder and find the subfolder with your new project\n* open the folder in Visual Studio Code\n```\ncode .\n```\n* open ``pxt.json`` and edit the dependencies to use \nthe ``file:...`` path instead of ``*``\n\n```\n   dependencies: {\n        \"adafruit-metro-m0-express\": \"file:../../libs/adafruit-metro-m0-express\"\n   }\n```\n* from the command line, set the ``PXT_NODOCKER`` environment variable to ``1``\n\n```\nexport PXT_NODOCKER=1\n```\n\n* run a local build that will create a CODAL checkout automatically. \nIf you are missing tools, you will be notified by the build script.\n\n```\npxt build --local --force\n```\n\n* go to the ``built/dockercodal`` folder and open all CODAL in a new Visual Studio Code instance\n\n```\ncd built/dockercodal\ncode libraries/*\n```\n\n* go to the Git tab in VS Code, and change the branch of the CODAL repository to work on to ``master``. You can create a new branch to start doing your work and pull requests.\n\n* to build CODAL directly, run ``built/codal``\n```\npython build.py\n```\n\n* to rebuild your project from pxt, run ``pxt build --local --force`` from the project folder\n\n### Running\n\nRun this command from inside pxt-maker to open a local web server\n```\npxt serve\n```\nIf the local server opens in the wrong browser, make sure to copy the URL containing the local token. \nOtherwise, the editor will not be able to load the projects.\n\nIf you need to modify the `.cpp` files (and have installed yotta), enable yotta compilation using the `--localbuild` flag:\n```\npxt serve --localbuild\n```\n\n### Updates\n\nMake sure to pull changes from all repos regularly. More instructions are at https://github.com/microsoft/pxt#running-a-target-from-localhost\n\n## Repos \n\nThe pxt-maker target depends on several other repos. The main ones are:\n- https://github.com/microsoft/pxt, the PXT framework\n- https://github.com/microsoft/pxt-commmon-packages, common APIs accross various MakeCode editors\n- https://github.com/lancaster-university/codal-core, CODAL core project\n- https://github.com/lancaster-university/codal-mbed, mbed layer\n- https://github.com/lancaster-university/codal-samd21, CODAL SAMD21 layer\n- https://github.com/lancaster-university/codal-circuit-playground, Adafruit CPX layer\n\n## Code of Conduct\n\nThis project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.\n\n# Contributing\n\nThis project welcomes contributions and suggestions.  Most contributions require you to agree to a\nContributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us\nthe rights to use your contribution. For details, visit https://cla.microsoft.com.\n\nWhen you submit a pull request, a CLA-bot will automatically determine whether you need to provide\na CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions\nprovided by the bot. You will only need to do this once across all repos using our CLA.\n\nThis project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).\nFor more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or\ncontact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Fpxt-maker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicrosoft%2Fpxt-maker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Fpxt-maker/lists"}