{"id":30279983,"url":"https://github.com/thebrenny/hero-heroku","last_synced_at":"2026-02-14T05:35:27.804Z","repository":{"id":57262899,"uuid":"319126010","full_name":"TheBrenny/hero-heroku","owner":"TheBrenny","description":"Similar to Microsoft's Azure Extension, but for Heroku!","archived":false,"fork":false,"pushed_at":"2023-01-30T13:06:49.000Z","size":6871,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-19T23:36:04.251Z","etag":null,"topics":["heroku-cli","vscode"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TheBrenny.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-12-06T20:34:37.000Z","updated_at":"2022-06-13T19:16:32.000Z","dependencies_parsed_at":"2023-02-16T07:45:56.082Z","dependency_job_id":null,"html_url":"https://github.com/TheBrenny/hero-heroku","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/TheBrenny/hero-heroku","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheBrenny%2Fhero-heroku","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheBrenny%2Fhero-heroku/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheBrenny%2Fhero-heroku/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheBrenny%2Fhero-heroku/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TheBrenny","download_url":"https://codeload.github.com/TheBrenny/hero-heroku/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheBrenny%2Fhero-heroku/sbom","scorecard":{"id":139873,"data":{"date":"2025-08-11","repo":{"name":"github.com/TheBrenny/hero-heroku","commit":"ebb12e4cf87fbd50aee930c06328cc48a596dca0"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.5,"checks":[{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/publish.yml:1","Info: no jobLevel write permissions found"],"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":"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":"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":"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":"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":"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":"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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/TheBrenny/hero-heroku/publish.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/TheBrenny/hero-heroku/publish.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/TheBrenny/hero-heroku/publish.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yml:37: update your workflow using https://app.stepsecurity.io/secureworkflow/TheBrenny/hero-heroku/publish.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yml:43: update your workflow using https://app.stepsecurity.io/secureworkflow/TheBrenny/hero-heroku/publish.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/TheBrenny/hero-heroku/publish.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yml:62: update your workflow using https://app.stepsecurity.io/secureworkflow/TheBrenny/hero-heroku/publish.yml/main?enable=pin","Warn: npmCommand not pinned by hash: .github/workflows/publish.yml:20","Warn: npmCommand not pinned by hash: .github/workflows/publish.yml:21","Warn: npmCommand not pinned by hash: .github/workflows/publish.yml:42","Warn: npmCommand not pinned by hash: .github/workflows/publish.yml:61","Info:   0 out of   7 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   4 npmCommand dependencies pinned"],"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Info: FSF or OSI recognized license: GNU General Public License v3.0: LICENSE.txt:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"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":"22 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-grv7-fg5c-xmjg","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: GHSA-4q6p-r6v2-jvc5","Warn: Project is vulnerable to: GHSA-ww39-953v-wcq6","Warn: Project is vulnerable to: GHSA-29mw-wpgm-hmr9","Warn: Project is vulnerable to: GHSA-35jh-r3h4-6jhm","Warn: Project is vulnerable to: GHSA-f8q6-p94x-37v3","Warn: Project is vulnerable to: GHSA-xvch-5gv4-984h","Warn: Project is vulnerable to: GHSA-qrpm-p2h7-hrv2","Warn: Project is vulnerable to: GHSA-mwcw-c2x4-8c55","Warn: Project is vulnerable to: GHSA-9wv6-86v2-598j","Warn: Project is vulnerable to: GHSA-g6ww-v8xp-vmwg","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw","Warn: Project is vulnerable to: GHSA-pq67-2wwv-3xjx","Warn: Project is vulnerable to: GHSA-8cj5-5rvv-wf4v","Warn: Project is vulnerable to: GHSA-52f5-9888-hmc6","Warn: Project is vulnerable to: GHSA-j8xg-fqg3-53r7","Warn: Project is vulnerable to: GHSA-6fc8-4gx4-v693","Warn: Project is vulnerable to: GHSA-3h5v-q93c-6h6q","Warn: Project is vulnerable to: GHSA-776f-qx25-q3cc"],"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-16T07:42:41.001Z","repository_id":57262899,"created_at":"2025-08-16T07:42:41.001Z","updated_at":"2025-08-16T07:42:41.001Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29438609,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T05:24:35.651Z","status":"ssl_error","status_checked_at":"2026-02-14T05:24:34.830Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["heroku-cli","vscode"],"created_at":"2025-08-16T14:36:00.459Z","updated_at":"2026-02-14T05:35:27.799Z","avatar_url":"https://github.com/TheBrenny.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ⚠️ OUTDATED ⚠️\n\n\u003e [Heroku is no longer free.](https://help.heroku.com/RSBRUH58/removal-of-heroku-free-product-plans-faq)\n\u003e \n\u003e This makes me sad. ☹️\n\u003e \n\u003e [A new challenger: Render](https://render.com/render-vs-heroku-comparison)\n\u003e \n\u003e I am changed anew.\n\nThis extension is no longer under active development. Since Heroku removed their free tier, and their overall trajectory business-wise, I don't feel confident with their services anymore. After looking around for an alternative IaaS provider that could come close, I stumbled upon Render which answered all my questions (and more!).\n\nWhile I keep tinkering with their systems, I'll start to gain an understanding of how they work and begin to build an extension to do the same things.\n\nI enjoyed making Hero Heroku, but unfortunately with no motivation to continue making it, I don't plan on continuing the development. If converting this extension from Heroku to Render allows for a level of abstraction, I may return to developing this, but no promises.\n\nFind my Render Extension here: (haha -- not yet...)\n\n---\n\n![Hero Banner](./res/hero-heroku-banner.png)\n\n# Hero Heroku\n\nHero Heroku is the (unofficial) Heroku counterpart to Microsoft's Azure Extension. The various Heroku extensions on the marketplace are just wrappers around the Heroku CLI/Wep Platform, which is where this extension shines! It attempts to be your Heroku Dashboard inside VSCode, by enabling you to manage your apps and their features without leaving the editor!\n\n![Hero Heroku gif](./res/hero-heroku.gif)\n\n## Features\n\n- Visual indicators of Dyno/App runtime status.\n- Start, stop, and create Dynos.\n- Scale your app horizontally.\n- Add, modify and delete addons for apps.\n- ~~Check the build logs~~, and open an app log stream.\n- Quickly open one-off dynos, like bashing into your app.\n\n## Requirements\n\nThe only requirement is to have the Heroku CLI installed, but it's only needed to create an Authentication Token. So techincally, it can be bypassed, by going to your Heroku account settings and generating a token on the web and copying it into VSCode. Everything else is conducted through the Web Platform API.\n\n## Extension Settings\n\nThere are two settings which are available:\n\n* `hero-heroku.apiKey`: your personal API key generated from the CLI or Account Settings page.\n* `hero-heroku.apiCalls`: determines how many extension refreshes occur every minute.\n\n## Known Issues\n\nFind them? Try fix them! 🥳\n\n## Roadmap\n\nSee [TODO.md](./TODO.md).\n\n## Release Notes\n\nSee [CHANGELOG.md](./CHANGELOG.md).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthebrenny%2Fhero-heroku","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthebrenny%2Fhero-heroku","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthebrenny%2Fhero-heroku/lists"}