{"id":13632151,"url":"https://github.com/pkgxdev/ossapp","last_synced_at":"2025-09-30T04:30:29.284Z","repository":{"id":160770842,"uuid":"468025657","full_name":"pkgxdev/ossapp","owner":"pkgxdev","description":"The App Store for Open Source","archived":false,"fork":false,"pushed_at":"2024-07-15T11:45:05.000Z","size":11738,"stargazers_count":187,"open_issues_count":66,"forks_count":99,"subscribers_count":11,"default_branch":"main","last_synced_at":"2025-01-12T17:04:53.733Z","etag":null,"topics":["app-store","gui","package-manager"],"latest_commit_sha":null,"homepage":"https://pkgx.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pkgxdev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-03-09T17:22:20.000Z","updated_at":"2025-01-09T19:00:21.000Z","dependencies_parsed_at":"2023-10-03T12:07:38.624Z","dependency_job_id":"23765e56-8a47-4afb-af84-dd4d7084dbcf","html_url":"https://github.com/pkgxdev/ossapp","commit_stats":null,"previous_names":["pkgxdev/ossapp","teaxyz/gui"],"tags_count":63,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pkgxdev%2Fossapp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pkgxdev%2Fossapp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pkgxdev%2Fossapp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pkgxdev%2Fossapp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pkgxdev","download_url":"https://codeload.github.com/pkgxdev/ossapp/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234699959,"owners_count":18873468,"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","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":["app-store","gui","package-manager"],"created_at":"2024-08-01T22:02:53.661Z","updated_at":"2025-09-30T04:30:23.828Z","avatar_url":"https://github.com/pkgxdev.png","language":"TypeScript","funding_links":[],"categories":["TypeScript","package-manager"],"sub_categories":[],"readme":"![pkgx.dev](https://pkgx.dev/banner.png)\n\n`ossapp` is the graphical app complement to [`pkgx`].\n\nUnder the hood `ossapp` installs and manages your packages with [`pkgx`]\nwhile exposing additional functionality, features and informational touches\nthat complement and expand upon the nature of package management.\n\nTo install `ossapp`, visit: \u003chttps://pkgx.app\u003e and download the latest\nversion. `ossapp` auto-updates itself.\n\n\u0026nbsp;\n\n# Contributing\n\nIf you have suggestions or ideas, start a [discussion]. If we agree, we’ll\nmove it to an issue. Bug fixes straight to pull request or issue please!\n\n## Anatomy\n\n`ossapp` is a Svelte Electron app. The electron “backend” can be found in\n`electron/`, the Svelte “frontend” is in `svelte/`.\n\nThe following technologies are used:\n\n- [svelte](https://svelte.dev/)\n- [tailwind](https://tailwindcss.com/)\n- [fontastic](https://fontastic.me)\n- [electron](http://electronjs.org)\n\n# Hacking on `ossapp`\n\n```sh\nxc setup  # only required once\nxc build  # only required if you modify the backend\nxc dev    # opens the app in dev mode\n```\n\n\u003e Make sure to run `xc prettier` before submitting pull-requests.\n\n\u0026nbsp;\n\n# i18n (Translating `ossapp`)\n\nWe’d love your help in translating the gui into different languages.\nThe translation related source code are all in `./svelte/src/libs/translations/*`.\n\nTo add a new language:\n\n1. Create a json file in `./svelte/src/libs/translations/languages/[lang].json`.\n   Copy the contents of `en.json` then translate.\n2. Import the new language in `./svelte/src/libs/translations/index.ts`.\n   More instructions are in that file.\n\n\u0026nbsp;\n\n# Tasks\n\nThe following can be run with [`xc`], eg. `xc build`.\n\n## Setup\n\nSetup ensures that required configuration placeholder files are present and\ninstalls dependencies.\n\n```sh\nif [ ! -e electron/config.json ]; then\n  echo '{}' \u003e electron/config.json\nfi\n\nif [ ! -e modules/desktop/.env ]; then\n  cp .env.example .env\nfi\n\nnpm install\nnpx electron-rebuild\nnpm run prepare\n```\n\n## Build\n\n```sh\nnpm install\nnpm run package\n```\n\n## Build:lite\n\nBuilds only a `.app` that is not codesigned or notarized. Ideal for local testing.\n\n```sh\nexport CSC_IDENTITY_AUTO_DISCOVER=false\nexport MAC_BUILD_TARGET=dir\nexport NOTARIZE=false\nnpm install\nnpm run package\n```\n\n## Dev\n\n```sh\nnpm run dev\n```\n\n## Prettier\n\n```sh\nnpm run format\n```\n\n## Dist\n\n```sh\nnpm install\nnpm run predist\nnpm run dist\n```\n\n## Check\n\nRuns the typescript compiler and linter.\n\n```sh\nnpm run check\nnpm run lint\n```\n\n## e2e\n\nRuns the webdriver.io end to end tests. Assumes that `xc build` has already been\nexecuted.\n\n```sh\nnpm run e2e\n```\n\n## Bump\n\nInputs: PRIORITY\n\n```sh\nif ! git diff-index --quiet HEAD --; then\n  echo \"error: dirty working tree\" \u003e\u00262\n  exit 1\nfi\n\nif [ \"$(git rev-parse --abbrev-ref HEAD)\" != \"main\" ]; then\n  echo \"error: requires main branch\" \u003e\u00262\n  exit 1\nfi\n\nV=$(node -p \"require('./package.json').version\")\nV=$(pkgx semverator bump $V $PRIORITY)\n\nif ! grep -F \"\\\"version\\\": \\\"$V\\\",$\" package.json; then\n  sed -i.bak -e \"s/\\\"version\\\": .*,$/\\\"version\\\": \\\"$V\\\",/\" package.json\n  rm package.json.bak\n  git add package.json\n  git commit -m \"bump $V\" --gpg-sign\nfi\n\ngit push origin main\n```\n\n## Release\n\n```sh\nV=\"$(node -p \"require('./package.json').version\")\"\npkgx gh release create \"v$V\"\n```\n\n[`pkgx`]: https://github.com/pkgxdev/pkgx\n[`xc`]: https://xcfile.dev\n[discussion]: https://github.com/orgs/pkgxdev/discussions\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpkgxdev%2Fossapp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpkgxdev%2Fossapp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpkgxdev%2Fossapp/lists"}