{"id":16666348,"url":"https://github.com/thomas-crane/nrelay-cli","last_synced_at":"2026-01-22T05:02:11.872Z","repository":{"id":48020066,"uuid":"178786140","full_name":"thomas-crane/nrelay-cli","owner":"thomas-crane","description":"A command line interface for generating and running nrelay projects.","archived":false,"fork":false,"pushed_at":"2021-08-10T22:59:36.000Z","size":81,"stargazers_count":2,"open_issues_count":3,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-10-11T12:39:31.381Z","etag":null,"topics":["cli","nrelay","rotmg","typescript"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thomas-crane.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"license.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-04-01T04:35:33.000Z","updated_at":"2019-06-08T07:29:32.000Z","dependencies_parsed_at":"2022-08-12T16:50:37.476Z","dependency_job_id":null,"html_url":"https://github.com/thomas-crane/nrelay-cli","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/thomas-crane/nrelay-cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomas-crane%2Fnrelay-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomas-crane%2Fnrelay-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomas-crane%2Fnrelay-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomas-crane%2Fnrelay-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thomas-crane","download_url":"https://codeload.github.com/thomas-crane/nrelay-cli/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomas-crane%2Fnrelay-cli/sbom","scorecard":{"id":882152,"data":{"date":"2025-08-11","repo":{"name":"github.com/thomas-crane/nrelay-cli","commit":"642ec357100d740486f004b6825096bc8344793f"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":1.7,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab 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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: license.md:0","Info: FSF or OSI recognized license: MIT License: license.md:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":0,"reason":"12 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-93q8-gq69-wqmw","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: GHSA-78xj-cgh5-2h22","Warn: Project is vulnerable to: GHSA-2p57-rm9w-gvfp","Warn: Project is vulnerable to: GHSA-f8q6-p94x-37v3","Warn: Project is vulnerable to: GHSA-vh95-rmgr-6w4m","Warn: Project is vulnerable to: GHSA-xvch-5gv4-984h","Warn: Project is vulnerable to: GHSA-hj48-42vr-x3v9","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw","Warn: Project is vulnerable to: GHSA-c4w7-xm78-47vh","Warn: Project is vulnerable to: GHSA-p9pc-299p-vxgp"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-24T08:36:50.579Z","repository_id":48020066,"created_at":"2025-08-24T08:36:50.579Z","updated_at":"2025-08-24T08:36:50.579Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28655025,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-22T01:17:37.254Z","status":"online","status_checked_at":"2026-01-22T02:00:07.137Z","response_time":144,"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":["cli","nrelay","rotmg","typescript"],"created_at":"2024-10-12T11:10:41.138Z","updated_at":"2026-01-22T05:02:11.843Z","avatar_url":"https://github.com/thomas-crane.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# nrelay-cli\n\nA command line interface for generating and running nrelay projects.\n\n## Contents\n\n+ [Install](#install)\n+ [Commands](#commands)\n  + [new](#new)\n  + [run](#run)\n  + [build](#build)\n  + [eject](#eject)\n  + [fix](#fix)\n  + [update](#update)\n\n## Install\n\n```no-lang\nnpm install -g nrelay-cli\n```\n\n## Commands\n\nRunning nrelay with no commands will print the help information.\n\n### new\n\nThe new command can be used to generate a new nrelay project. It requires a single argument which is the name of the project that will be generated. The new project will be created in a folder in the current working directory of the console.\n\n```no-lang\nnrelay new my-new-project\n```\n\nCreates a new folder in the current working directory of the console called `my-new-project`.\n\n### run\n\nThe run command is used to actually run an nrelay project. Any arguments which are provided will be passed on to the nrelay runtime which is created.\n\n```no-lang\nnrelay run\n```\n\nRuns the project with no arguments.\n\n```no-lang\nnrelay run --no-update\n```\n\nRuns the project and doesn't check for any updates when starting up.\n\n### build\n\nThe build command is simply used to build the current nrelay project. This is just an alias for `npm run compile`.\n\n```no-lang\nnrelay build\n```\n\nBuilds the project.\n\n### eject\n\nThe eject command can be used to modify an existing nrelay project such that it can be run independently of the CLI. This command is extremely useful when you intend to host an nrelay project, since it removes the dependency on the CLI.\n\n```no-lang\nnrelay eject\n```\n\nEjects the nrelay project. An ejected project can be run by using\n\n```no-lang\nnode index\n```\n\nInstead of the usual run command (the run command will still work, though).\n\n### fix\n\nThe fix command can be used to add any files which are usually present in an nrelay project, but are missing. For example, if the `.nrelay` file was deleted accidentally, this will cause the CLI to think that the folder is not actually an nrelay project. Running `nrelay fix` will replace the `.nrelay` file so that the project can be run again.\n\n```no-lang\nnrelay fix\n```\n\nAdds any missing files which are required by the CLI.\n\n### update\n\nThe update command updates a project's nrelay dependency to the latest version. This is an alias for `npm install --save nrelay@next`.\n\n```no-lang\nnrelay update\n```\n\nUpdates the nrelay dependency of the project.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthomas-crane%2Fnrelay-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthomas-crane%2Fnrelay-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthomas-crane%2Fnrelay-cli/lists"}