{"id":39074400,"url":"https://github.com/guark/guark","last_synced_at":"2026-01-17T18:25:04.330Z","repository":{"id":40683482,"uuid":"255692554","full_name":"guark/guark","owner":"guark","description":"Build awesome Golang desktop apps and beautiful interfaces with Vue.js, React.js, Framework 7, and more...","archived":false,"fork":false,"pushed_at":"2022-08-06T14:22:41.000Z","size":745,"stargazers_count":729,"open_issues_count":11,"forks_count":34,"subscribers_count":15,"default_branch":"master","last_synced_at":"2024-06-18T17:03:16.901Z","etag":null,"topics":["cross-platform-desktop","cross-platform-gui","desktop","desktop-app","desktop-application","desktop-gui","electron","electron-alternatives","framework7","go","golang","golang-desktop","guark","gui-application","hacktoberfest","hybrid-apps","javascript","reactjs","vue","web-desktop"],"latest_commit_sha":null,"homepage":"","language":"Go","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/guark.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":null,"support":null}},"created_at":"2020-04-14T18:29:54.000Z","updated_at":"2024-06-17T17:30:21.000Z","dependencies_parsed_at":"2022-08-10T00:40:44.610Z","dependency_job_id":null,"html_url":"https://github.com/guark/guark","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/guark/guark","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guark%2Fguark","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guark%2Fguark/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guark%2Fguark/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guark%2Fguark/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/guark","download_url":"https://codeload.github.com/guark/guark/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guark%2Fguark/sbom","scorecard":{"id":448035,"data":{"date":"2025-08-11","repo":{"name":"github.com/guark/guark","commit":"4cc56df0f83b37edeac57e2da8e824dd8fe64cc2"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.3,"checks":[{"name":"Code-Review","score":2,"reason":"Found 4/17 approved changesets -- score normalized to 2","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":"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":-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":"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":"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":"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:0","Info: FSF or OSI recognized license: MIT License: LICENSE: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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 21 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":0,"reason":"11 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GO-2022-0969 / GHSA-69cg-p879-7622","Warn: Project is vulnerable to: GO-2023-1495 / GHSA-fxg5-wq6x-vr4w","Warn: Project is vulnerable to: GO-2022-1144 / GHSA-xrjj-mj9h-534m","Warn: Project is vulnerable to: GO-2023-1571 / GHSA-vvpx-j8f3-3w6h","Warn: Project is vulnerable to: GO-2023-1988 / GHSA-2wrh-6pvc-2jm9","Warn: Project is vulnerable to: GO-2023-2102 / GHSA-4374-p667-p6c8","Warn: Project is vulnerable to: GHSA-qppj-fm5r-hxr3","Warn: Project is vulnerable to: GO-2024-2687 / GHSA-4v7x-pqxf-cx7m","Warn: Project is vulnerable to: GO-2024-3333","Warn: Project is vulnerable to: GO-2025-3503 / GHSA-qxp5-gwg8-xv66","Warn: Project is vulnerable to: GO-2025-3595 / GHSA-vvgc-356p-c3xw"],"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-19T07:24:38.448Z","repository_id":40683482,"created_at":"2025-08-19T07:24:38.448Z","updated_at":"2025-08-19T07:24:38.448Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28515442,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T17:57:59.192Z","status":"ssl_error","status_checked_at":"2026-01-17T17:57:52.527Z","response_time":85,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["cross-platform-desktop","cross-platform-gui","desktop","desktop-app","desktop-application","desktop-gui","electron","electron-alternatives","framework7","go","golang","golang-desktop","guark","gui-application","hacktoberfest","hybrid-apps","javascript","reactjs","vue","web-desktop"],"created_at":"2026-01-17T18:25:04.229Z","updated_at":"2026-01-17T18:25:04.311Z","avatar_url":"https://github.com/guark.png","language":"Go","readme":"\u003cdiv align=\"center\"\u003e\n    \u003ch1\u003eGuark\u003c/h1\u003e\n    \u003cp\u003eGuark allows you to build beautiful user interfaces using modern web technologies such as Vue.js, React.js..., while your app logic handled and powered by the amazing \u003cb\u003eGo\u003c/b\u003e.\u003c/p\u003e\n    \u003cp align=\"center\"\u003e\n        \u003ca href=\"#installation\"\u003eInstallation\u003c/a\u003e ❘\n        \u003ca href=\"#getting-started\"\u003eGetting Started\u003c/a\u003e ❘\n        \u003ca href=\"#contributing\"\u003eContributing\u003c/a\u003e ❘\n        \u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\n    \u003c/p\u003e\n\u003c/div\u003e\n\n![Guark Vue Template](https://i.imgur.com/RhU6bh7.png)\n\n\n\n## 🖳  About The Project\n\nGuark is an open-source framework to build cross platform desktop GUI applications.\n\n### 📢 What Guark stands for?\n\nGo + Quark = Guark\n\n### 🔮 Guark mission\n\nSimplify cross platform desktop apps development.\n\n### 🎸 How it works\n\nDemo Video: https://youtu.be/_k_tq9sj-do\n\nGuark backend and logic part handled by native Go code, while the user interfaces built with modern web technologies (Vue.js, React.js, etc...), and with Guark javascript API you can communicate between your Go and UI framework, and calling your exported Go functions and plugin(s) methods.\n\n## 💌  Main Features\n\n- Desktop applications with GO ♥\n- One codebase for Gnu/Linux, macOS, and Windows.\n- UI Hot Reload.\n- You can use any front end framework.\n- Supports Chrome, and native webview engine or both.\n- Windows MSI bundler builtin.\n\n\n## 📜  Installation\n\n#### 1. Install guark CLI tool:\n```bash\ngo install github.com/guark/guark/cmd/guark@latest\n```\n\n#### 2. Some Requirements:\n\n```bash\n// fedora\nsudo dnf install gtk3-devel webkit2gtk3-devel gcc-c++ pkgconf-pkg-config\n\n// Ubuntu\nsudo apt install libgtk-3-dev libwebkit2gtk-4.0-dev build-essential\n\n// Windows\n// https://jmeubank.github.io/tdm-gcc/download/\n```\nOpen a console and make sure the tdm-gcc tools chain are in the PATH:\n\n```\ngcc --version\ngcc (tdm64-1) 10.3.0\nCopyright (C) 2020 Free Software Foundation, Inc.\nThis is free software; see the source for copying conditions.  There is NO\nwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n```\n\n## Getting Started\n\nAfter installing guark CLI tool, the next step is to create a new guark project based on the template that you like:\n\n### Create a new project\n\n```bash\n# cd to empty directory and run:\nguark init --template vue --mod github.com/username/appname\n```\n\n### Start Dev Server\n\nAfter creating new project run:\n```bash\nguark run\n```\n\n### Export your first GO function to JS API\n\n##### 1. Create a new file in `lib/funcs` directory:\n```go\n// lib/funcs/foo_bar.go\n\nimport (\n    \"github.com/guark/guark/app\"\n)\n\nfunc FooBar(c app.Context) (interface{}, error) {\n\n   c.App.Log.Debug(\"Foo bar called\")\n\n   return \"This is a my return value to javasript\", nil\n}\n```\n\n##### 2. Then export it to Guark JS API in `lib/config.go` file:\n\n```go\n// Exposed functions to guark Javascript api.\nvar Funcs = app.Funcs{\n    \"foo\": funcs.FooBar,\n}\n\n```\n\n##### 3. Then you can call your function in javascript:\n\n```js\nimport g from \"guark\"\n\ng.call(\"foo\")\n    .then(res =\u003e console.log(res))\n    .catch(err =\u003e console.error(err))\n\n```\n\nSee Vue template as an example: https://github.com/guark/vue\n\n## Guark Engines:\n\nYou can change the engine in `guark.yaml` file.\n\n- `webview`: Uses native system webview.\n- `chrome`: Uses and requires google chrome.\n- `hybrid`: Uses chrome if exists in the system, if chrome not available guark will switch to native webview by default.\n\n\n## Build Your App\n\n### Configure the build\n\nguark-build.yaml contains all configuration and path required for the build, like the compilers or default platform.\n\nThe C/C++ compilers are not using the PATH environment and need an absolute path to them, on linux it will use the default paths for Linux builds.\n\nFor cross platform build, it will look like:\n\n```\nlinux:\n  ldflags: \"\"\n\ndarwin:\n  ldflags: \"\"\n\nwindows:\n  cc: /usr/bin/x86_64-w64-mingw32-gcc\n  cxx: /usr/bin/x86_64-w64-mingw32-g++\n  ldflags: \"-H windowsgui\"\n  windres: /usr/bin/x86_64-w64-mingw32-windres\n```\n\nUpdate these paths accordingly (check the GCC/distributions documentations for the right paths)\n\nOn Windows, make sure to have installed tdm-gcc, once done, update the guark-build.yaml:\n\n```\n# Guark build config file.\n\nsetup:\n  - cmd: yarn install\n    dir: ui\n  - cmd: go mod download\n  - cmd: go mod tidy\n  - cmd: go mod verify\n\nlinux:\n  ldflags: \"\"\n\ndarwin:\n  ldflags: \"\"\n\nwindows:\n  cc: C:\\apps\\tdm-gcc1030\\bin\\gcc\n  cxx: C:\\apps\\tdm-gcc1030\\bin\\g++\n  ldflags: \"-H windowsgui\"\n  windres: C:\\apps\\tdm-gcc1030\\bin\\windres.exe\n```\n\n### Build\n\nYou can build your app with\n```bash\nguark build\n```\n\n## Bundle Windows App\n\nAfter building your app you can bundle your windows app into msi using WIX.\n```bash\nguark bundle\n```\n\n#### Wix required!\nInstall it from: https://wixtoolset.org/\n\n## Cross Compiling To Windows From Gnu/Linux:\n\nYou can build windows app from your linux based system, using `mingw64`\n\n#### 1. Install mingw64:\n```bash\n// Fedora\nsudo dnf install mingw64-gcc\n\n// Ubuntu\nsudo apt install binutils-mingw-w64\n```\n\n#### 2. Configure `guark-build.yaml` File:\n\nDouble check the binary paths in `guark-build.yaml`.\n\n#### 3. Build The App:\n\n```bash\n# this command will build and compile linux, and windows app. you can find your compiled apps in `dist/` directory.\nguark build --target linux --target windows\n```\n\nYou can use any cross compiler for example: `guark build --target darwin`. just change the options in `guark-build.yaml` file.\n\n#### Note\nYou can also bundle windows app into MSI file from your linux based system via `guark bundle`, but you need to install wix tools:\n\n```bash\n# fedora\ndnf install msitools\n\n# Ubuntu\nsudo apt-get install wixl\n```\n\n## Contributing\n\nPRs, issues, and feedback from ninja gophers are very welcomed.\n\n## License\n\nGuark is provided under the [MIT License](https://github.com/guark/guark/blob/master/LICENSE).\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguark%2Fguark","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fguark%2Fguark","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguark%2Fguark/lists"}