{"id":13392928,"url":"https://github.com/neutralinojs/neutralinojs","last_synced_at":"2026-06-13T03:09:50.020Z","repository":{"id":37271495,"uuid":"138368259","full_name":"neutralinojs/neutralinojs","owner":"neutralinojs","description":"Portable and lightweight cross-platform desktop application development framework","archived":false,"fork":false,"pushed_at":"2026-06-02T13:06:18.000Z","size":109348,"stargazers_count":8531,"open_issues_count":159,"forks_count":521,"subscribers_count":77,"default_branch":"main","last_synced_at":"2026-06-02T13:12:59.560Z","etag":null,"topics":["c-plus-plus","cross-platform","css","framework","hacktoberfest","html","http-server","javascript","json","native-development","neutralinojs"],"latest_commit_sha":null,"homepage":"https://neutralino.js.org","language":"C++","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/neutralinojs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"shalithasuranga","patreon":"shalithasuranga","open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2018-06-23T03:30:41.000Z","updated_at":"2026-06-02T13:06:33.000Z","dependencies_parsed_at":"2026-02-08T03:02:22.866Z","dependency_job_id":null,"html_url":"https://github.com/neutralinojs/neutralinojs","commit_stats":{"total_commits":1527,"total_committers":78,"mean_commits":"19.576923076923077","dds":"0.15062213490504262","last_synced_commit":"537ba17ab3d08f74f5c5ef37391eff605bd593ce"},"previous_names":[],"tags_count":65,"template":false,"template_full_name":null,"purl":"pkg:github/neutralinojs/neutralinojs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neutralinojs%2Fneutralinojs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neutralinojs%2Fneutralinojs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neutralinojs%2Fneutralinojs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neutralinojs%2Fneutralinojs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/neutralinojs","download_url":"https://codeload.github.com/neutralinojs/neutralinojs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neutralinojs%2Fneutralinojs/sbom","scorecard":{"id":122320,"data":{"date":"2025-08-04","repo":{"name":"github.com/neutralinojs/neutralinojs","commit":"9e29eef23ac3fecbeec303b5592558e4dde4061f"},"scorecard":{"version":"v5.2.1-28-gc1d103a9","commit":"c1d103a9bb9f635ec7260bf9aa0699466fa4be0e"},"score":4.9,"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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#packaging"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 17 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#maintained"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#security-policy"}},{"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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#cii-best-practices"}},{"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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":0,"reason":"Found 2/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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql_analysis.yml:14","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql_analysis.yml:15","Warn: no topLevel permission defined: .github/workflows/codeql_analysis.yml:1","Warn: no topLevel permission defined: .github/workflows/create_release.yml:1","Warn: no topLevel permission defined: .github/workflows/nightly_release.yml:1","Warn: no topLevel permission defined: .github/workflows/test_suite.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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#token-permissions"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#license"}},{"name":"Binary-Artifacts","score":9,"reason":"binaries present in source code","details":["Warn: binary detected: lib/webview/windows/WebView2LoaderStatic.lib:1"],"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#binary-artifacts"}},{"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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v6.2.0 not signed: https://api.github.com/repos/neutralinojs/neutralinojs/releases/233461414","Warn: release artifact nightly not signed: https://api.github.com/repos/neutralinojs/neutralinojs/releases/238730128","Warn: release artifact v6.1.0 not signed: https://api.github.com/repos/neutralinojs/neutralinojs/releases/221006601","Warn: release artifact v6.0.0 not signed: https://api.github.com/repos/neutralinojs/neutralinojs/releases/208659680","Warn: release artifact v5.6.0 not signed: https://api.github.com/repos/neutralinojs/neutralinojs/releases/197770758","Warn: release artifact v6.2.0 does not have provenance: https://api.github.com/repos/neutralinojs/neutralinojs/releases/233461414","Warn: release artifact nightly does not have provenance: https://api.github.com/repos/neutralinojs/neutralinojs/releases/238730128","Warn: release artifact v6.1.0 does not have provenance: https://api.github.com/repos/neutralinojs/neutralinojs/releases/221006601","Warn: release artifact v6.0.0 does not have provenance: https://api.github.com/repos/neutralinojs/neutralinojs/releases/208659680","Warn: release artifact v5.6.0 does not have provenance: https://api.github.com/repos/neutralinojs/neutralinojs/releases/197770758"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#signed-releases"}},{"name":"Pinned-Dependencies","score":2,"reason":"dependency not pinned by hash detected -- score normalized to 2","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql_analysis.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/codeql_analysis.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql_analysis.yml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/codeql_analysis.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql_analysis.yml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/codeql_analysis.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql_analysis.yml:46: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/codeql_analysis.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/create_release.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/create_release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/create_release.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/create_release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/create_release.yml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/create_release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/create_release.yml:57: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/create_release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/create_release.yml:81: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/create_release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/create_release.yml:90: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/create_release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/create_release.yml:95: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/create_release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/create_release.yml:104: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/create_release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/create_release.yml:111: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/create_release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/create_release.yml:124: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/create_release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/create_release.yml:127: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/create_release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/create_release.yml:133: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/create_release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/create_release.yml:139: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/create_release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/create_release.yml:145: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/create_release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/create_release.yml:151: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/create_release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/create_release.yml:157: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/create_release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/create_release.yml:168: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/create_release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/create_release.yml:176: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/create_release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/create_release.yml:183: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/create_release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/create_release.yml:197: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/create_release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/nightly_release.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/nightly_release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/nightly_release.yml:37: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/nightly_release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/nightly_release.yml:51: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/nightly_release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/nightly_release.yml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/nightly_release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/nightly_release.yml:78: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/nightly_release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/nightly_release.yml:87: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/nightly_release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/nightly_release.yml:92: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/nightly_release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/nightly_release.yml:101: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/nightly_release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/nightly_release.yml:108: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/nightly_release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/nightly_release.yml:121: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/nightly_release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/nightly_release.yml:124: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/nightly_release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/nightly_release.yml:131: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/nightly_release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/nightly_release.yml:137: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/nightly_release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/nightly_release.yml:143: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/nightly_release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/nightly_release.yml:149: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/nightly_release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/nightly_release.yml:155: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/nightly_release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/nightly_release.yml:161: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/nightly_release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/nightly_release.yml:172: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/nightly_release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test_suite.yml:90: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/test_suite.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test_suite.yml:117: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/test_suite.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test_suite.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/test_suite.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test_suite.yml:45: update your workflow using https://app.stepsecurity.io/secureworkflow/neutralinojs/neutralinojs/test_suite.yml/main?enable=pin","Info:   0 out of  35 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of  11 third-party GitHubAction dependencies pinned","Info:   4 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/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#pinned-dependencies"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'","Warn: branch protection not enabled for branch 'v4.0.0'","Warn: branch protection not enabled for branch 'v2.8.0'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#branch-protection"}},{"name":"SAST","score":7,"reason":"SAST tool detected but not run on all commits","details":["Info: SAST configuration detected: CodeQL","Warn: 0 commits out of 2 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":9,"reason":"1 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-16T02:44:16.129Z","repository_id":37271495,"created_at":"2025-08-16T02:44:16.129Z","updated_at":"2025-08-16T02:44:16.129Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34270462,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-13T02:00:06.617Z","response_time":62,"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":["c-plus-plus","cross-platform","css","framework","hacktoberfest","html","http-server","javascript","json","native-development","neutralinojs"],"created_at":"2024-07-30T17:00:39.537Z","updated_at":"2026-06-13T03:09:50.014Z","avatar_url":"https://github.com/neutralinojs.png","language":"C++","funding_links":["https://github.com/sponsors/shalithasuranga","https://patreon.com/shalithasuranga","https://www.patreon.com/shalithasuranga"],"categories":["C++","Programming","Uncategorized","Framework","c-plus-plus","Recently Updated","json","Angular","GUI Frameworks"],"sub_categories":["JavaScript","Uncategorized","[Mar 21, 2025](/content/2025/03/21/README.md)","Desktop Applications","Web"],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cpicture\u003e\n    \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"media/nllogo-light-theme.png\" width=\"300\"/\u003e\n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"media/nllogo-dark-theme.png\" width=\"300\"/\u003e\n    \u003cimg alt=\"Neutralinojs logo\" src=\"media/nllogo-light-theme.png\" width=\"300\"/\u003e\n  \u003c/picture\u003e\n \u003c/div\u003e\n\n[![GitHub release (latest by date)](https://img.shields.io/github/v/release/neutralinojs/neutralinojs)](https://github.com/neutralinojs/neutralinojs/releases)\n[![GitHub last commit](https://img.shields.io/github/last-commit/neutralinojs/neutralinojs.svg)](https://github.com/neutralinojs/neutralinojs/commits/main)\n![Build status](https://github.com/neutralinojs/neutralinojs/actions/workflows/test_suite.yml/badge.svg)\n[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fneutralinojs%2Fneutralinojs.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fneutralinojs%2Fneutralinojs?ref=badge_shield)\n\nNeutralinojs is a lightweight and portable desktop application development framework. It lets you develop lightweight cross-platform desktop applications using JavaScript, HTML and CSS. Apps built with Neutralinojs can run on Linux, macOS, Windows, Web, and Chrome. Also, you can extend Neutralinojs with any programming language (via extensions IPC) and use Neutralinojs as a part of any source file (via child processes IPC).\n\n- [Neutralinojs vs. Electron, NW.JS, Tauri, NodeGui, Flutter, .Net MAUI, Wails](https://github.com/Elanis/web-to-desktop-framework-comparison)\n- [Roadmap 2025](https://github.com/neutralinojs/roadmap)\n- [Release notes](https://neutralino.js.org/docs/release-notes/framework)\n\nGet started with the neu CLI:\n\n```bash\n# Creating a new app\nnpm i -g @neutralinojs/neu\nneu create hello-world\ncd hello-world\nneu run\n\n# Building your app (No compilation - takes less than a second)\nneu build\n```\n\nYou can use your favorite frontend frameworks:\n\n```bash\n# Creating a new React-based app\nneu create hello-react -t codezri/neutralinojs-react\n```\n\nStart building apps: [neutralino.js.org/docs](https://neutralino.js.org/docs)\n\n## Why Neutralinojs?\n\nIn Electron and NWjs, you have to install NodeJs and hundreds of dependency libraries. Embedded Chromium and Node make simple apps bloaty. Neutralinojs offers a lightweight and portable SDK which is an alternative for Electron and NW.js. Neutralinojs doesn't bundle Chromium and uses the existing web browser library in the operating system (Eg: gtk-webkit2 on Linux). Neutralinojs implements a WebSocket connection for native operations and embeds a static web server to serve the web content. Also, it offers a built-in [JavaScript client library](https://github.com/neutralinojs/neutralino.js) for developers.\n\nAsk questions on StackOverflow using the tag [neutralinojs](https://stackoverflow.com/questions/tagged/neutralinojs)\n\n## Contributing\n\nPlease check the [contribution guide](https://neutralino.js.org/docs/contributing/framework-developer-guide). We use GitHub Discussions and Discord for quick discussions.\n  * [Join on Discord](https://discord.gg/cybpp4guTJ)\n  * [Start a thread on Discussions](https://github.com/neutralinojs/neutralinojs/discussions)\n\nNeutralinojs contributors:\n\n\u003ca href=\"https://github.com/neutralinojs/neutralinojs/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contributors-img.firebaseapp.com/image?repo=neutralinojs/neutralinojs\" /\u003e\n\u003c/a\u003e\n\nImage created with [contributors-img](https://contributors-img.firebaseapp.com).\n\n## Subprojects\n\n- Releases are powered by [ReleaseZri](https://codezri.org/docs/releasezri/intro)\n- Previous binary builds were powered by [BuildZri](https://codezri.org/docs/buildzri/intro) (now the project uses CMake + Ninja)\n\n## Sponsors and Donators\n\nOrganizations and individuals support Neutralinojs development. See: https://codezri.org/sponsors\n\nIf you like to support our work, you can donate to Neutralinojs via [Patreon](https://www.patreon.com/shalithasuranga) or [GitHub Sponsors](https://github.com/sponsors/shalithasuranga).\n\n[![Become a Patreon](https://c5.patreon.com/external/logo/become_a_patron_button.png)](https://www.patreon.com/shalithasuranga)\n\n## Licenses and Copyrights\n\n- Neutralinojs core: MIT. Copyright (c) 2025 Neutralinojs and contributors.\n- C++ websocket client/server library: BSD-3-Clause from [zaphoyd/websocketpp](https://github.com/zaphoyd/websocketpp). Copyright (c) 2014, Peter Thorson. All rights reserved.\n- JSON parser library: MIT from [nlohmann/json](https://github.com/nlohmann/json). Copyright (c) 2013-2022 Niels Lohmann.\n- Cross-platform webview library: MIT from [webview/webview](https://github.com/webview/webview). Copyright (c) 2017 Serge Zaitsev.\n- Cross-platform tray library: MIT from [zserge/tray](https://github.com/zserge/tray). Copyright (c) 2017 Serge Zaitsev.\n- Cross-platform GUI dialogs library: WTFPL from [samhocevar/portable-file-dialogs](https://github.com/samhocevar/portable-file-dialogs). Copyright (c) 2018—2022 Sam Hocevar\n- Base64 encoder/decoder library: MIT from [tobiaslocker/base64](https://github.com/tobiaslocker/base64). Copyright (c) 2019 Tobias Locker.\n- Cross-platform known platform directories API: MIT from [sago007/PlatformFolders](https://github.com/sago007/PlatformFolders). Copyright (c) 2015 Poul Sander.\n- C++ logging library: MIT from [amrayn/easyloggingpp](https://github.com/amrayn/easyloggingpp). Copyright (c) 2012-2018 Amrayn Web Services. Copyright (c) 2012-2018 @abumusamq\n- Cross-platform process library: MIT from [eidheim/tiny-process-library](https://gitlab.com/eidheim/tiny-process-library). Copyright (c) 2015-2020 Ole Christian Eidheim.\n- Asio standalone C++ library: [Boost License v1.0](https://www.boost.org/LICENSE_1_0.txt) from [chriskohlhoff/asio](https://github.com/chriskohlhoff/asio). Copyright (c) 2003-2021 Christopher M. Kohlhoff\n- Cross-platform C++ clipboard library: MIT from [dacap/clip](https://github.com/dacap/clip). Copyright (c) 2015-2021 David Capello\n- Cross-platform C++ system information library: CC0 1.0 Universal from [ThePhD/infoware](https://github.com/ThePhD/infoware). Written in 2016-2020 by nabijaczleweli and ThePhD\n- Cross-platform C++ filesystem watcher library: MIT from [SpartanJ/efsw](https://github.com/SpartanJ/efsw). Copyright (c) 2020 Martín Lucas Golini\n- Resource injection/reading library for C++/Node.js: MIT from [nodejs/postject](https://github.com/nodejs/postject). Copyright (c) 2022 Postman, Inc\n- Cross-platform C++ file and directory soft-deleting library: MIT from [robertguetzkow/libtrashcan](https://github.com/robertguetzkow/libtrashcan). Copyright (c) 2019 Robert Gützkow\n- Logo design credits: [IconsPng](https://www.iconspng.com/image/2688/atom-orange). Copyright free as mentioned on their website.\n\n[See the complete license file](LICENSE)\n\n[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fneutralinojs%2Fneutralinojs.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Fneutralinojs%2Fneutralinojs?ref=badge_large)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneutralinojs%2Fneutralinojs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fneutralinojs%2Fneutralinojs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneutralinojs%2Fneutralinojs/lists"}