{"id":28403762,"url":"https://github.com/atproto-os/atproto-os","last_synced_at":"2026-05-04T13:36:00.633Z","repository":{"id":293149941,"uuid":"982567304","full_name":"atproto-os/atproto-os","owner":"atproto-os","description":"Web Desktops on the AT Protocol","archived":false,"fork":false,"pushed_at":"2025-05-16T09:25:52.000Z","size":179,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-19T13:47:07.337Z","etag":null,"topics":["atproto","atprotocol","javascript","nuxtjs","vuejs","webdesktop","webos"],"latest_commit_sha":null,"homepage":"https://atproto-os.pages.dev","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/atproto-os.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","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,"zenodo":null},"funding":{"github":"owdproject"}},"created_at":"2025-05-13T04:54:32.000Z","updated_at":"2025-07-12T08:57:53.000Z","dependencies_parsed_at":"2025-05-14T00:21:51.046Z","dependency_job_id":"fde60c3d-590b-431f-80ed-9dd3c90bde8b","html_url":"https://github.com/atproto-os/atproto-os","commit_stats":null,"previous_names":["atproto-os/client"],"tags_count":1,"template":true,"template_full_name":null,"purl":"pkg:github/atproto-os/atproto-os","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atproto-os%2Fatproto-os","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atproto-os%2Fatproto-os/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atproto-os%2Fatproto-os/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atproto-os%2Fatproto-os/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/atproto-os","download_url":"https://codeload.github.com/atproto-os/atproto-os/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atproto-os%2Fatproto-os/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32610024,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-04T10:08:07.713Z","status":"ssl_error","status_checked_at":"2026-05-04T10:08:02.005Z","response_time":58,"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":["atproto","atprotocol","javascript","nuxtjs","vuejs","webdesktop","webos"],"created_at":"2025-06-01T19:08:49.501Z","updated_at":"2026-05-04T13:36:00.616Z","avatar_url":"https://github.com/atproto-os.png","language":"TypeScript","funding_links":["https://github.com/sponsors/owdproject"],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg width=\"160\" height=\"160\" src=\"https://avatars.githubusercontent.com/u/201536780?s=160\u0026v=4\" /\u003e\n\u003c/p\u003e\n\u003ch1 align=\"center\"\u003eatproto OS\u003c/h1\u003e\n\u003ch3 align=\"center\"\u003e\n    Open Web Desktop + AT Protocol\n\u003c/h3\u003e\n\n## Overview\nOpen Web Desktop (OWD) is a framework designed to provide a simple environment for building web-based desktop experiences. It's built with Vue.js \u0026 TypeScript, and it leverages the extensible Nuxt.js architecture.\n\n[atproto OS](https://github.com/atproto-os) is providing a set of modules to kickstart your Open Web Desktop on the AT Protocol.\n\n## Features\n- Open-source web desktop bundled with AT Protocol modules\n- Seamlessly login via Bluesky and keep your app states synced\n- Fully extendable through themes, applications, and modules\n- Store data of any application simply by extending its Pinia store\n- Style your apps with PrimeVue and Tailwind for a consistent UI\n- Showcase your AT Protocol project in a web-based desktop\n\n## Starter Template\n\nThis starter template is decked with some basic applications and dedicated AT Protocol modules.\n\n#### Generic Applications\n- [@owdproject/app-about](https://github.com/owdproject/app-about)\n- [@owdproject/app-debug](https://github.com/owdproject/app-debug)\n- [@owdproject/app-terminal](https://github.com/owdproject/app-terminal)\n- [@owdproject/app-todo](https://github.com/owdproject/app-todo)\n- [@owdproject/app-wasmboy](https://github.com/owdproject/app-wasmboy)\n\n#### AT Protocol Modules\n- [@owdproject/app-atproto](https://github.com/atproto-os/app-atproto)\n- [@owdproject/module-atproto](https://github.com/atproto-os/module-atproto)\n- [@owdproject/module-pinia-atproto](https://github.com/atproto-os/module-pinia-atproto)\n\n## Getting started\n\nFork the project and clone it with something like:\n```bash\ngit clone https://github.com/\u003cusername\u003e/atproto-os.git\n```\n\nOnce ready, you can start the development server:\n```bash\n# Run the dev server + hot-reload with npm\nnpm install\nnpm run dev\n\n# Or use pnpm for a faster experience\npnpm install\npnpm run dev\n```\n\n### Configuring atprotoOS\natprotoOS works out-of-the-box, but if you are going to deploy it somewhere, you will need to accordingly update your `atproto` configuration in `nuxt.config.ts` for the AT Protocol auth to work correctly.\n\n```js\natproto: {\n    serviceEndpoint: {\n        private: 'https://bsky.social',\n        public: 'https://public.api.bsky.app'\n    },\n    oauth: {\n        clientMetadata: {\n            // url of your remote client_metadata.json, leave the field empty\n            // to let `nuxt-atproto` generate a local /public/client_metadata.json\n            remote: '',\n            // configuration for the local client_metadata.json\n            local: {\n                client_id: \"http://127.0.0.1/client-metadata.json\",\n                client_name: \"nuxt-atproto\",\n                client_uri: \"http://127.0.0.1\",\n                logo_uri: \"http://127.0.0.1/logo.png\",\n                tos_uri: \"http://127.0.0.1\",\n                policy_uri: \"http://127.0.0.1\",\n                redirect_uris: [\"http://127.0.0.1\"],\n                scope: \"atproto\", // use \"atproto transition:generic\" in production\n                grant_types: [\"authorization_code\", \"refresh_token\"],\n                response_types: [\"code\"],\n                token_endpoint_auth_method: \"none\",\n                application_type: \"web\",\n                dpop_bound_access_tokens: true\n            }\n        },\n        signInOptions: {\n            state: \"\",\n            prompt: \"login\",\n            scope: \"atproto\", // use \"atproto transition:generic\" in production\n            ui_locales: \"en\",\n        },\n    },\n    debug: true,\n}\n```\n\n## Extend your desktop\n\nThanks to Tailwind and PrimeVue, you can create custom themes from scratch and ensure a consistent look across all apps. Each theme defines its own style, making your desktop both cohesive and uniquely yours.\n\n[Applications](https://github.com/topics/owd-apps) · [Modules](https://github.com/topics/owd-modules) · [Themes](https://github.com/topics/owd-themes)\n\n### 🧩 Install an application\n\nYou can discover new apps by searching for the [owd-apps](https://github.com/topics/owd-apps) tag on GitHub.\n\nFor example, to install the To-do app:\n\n```bash\nnx run desktop:install-app --name=@owdproject/app-todo\n```\n\nThis will install the package and automatically register it in your desktop configuration.\n\n### 🧩 Install a module\n\nYou can discover new modules by searching for the [owd-modules](https://github.com/topics/owd-modules) tag on GitHub.\n\nFor example, to install the session persistence module:\n\n```bash\nnx run desktop:install-module --name=@owdproject/module-pinia-localforage\n```\n\n### 🖥️ Themes\n\nThemes are full desktop environments that style all UI components independently using [PrimeVue](https://primevue.org/).  \nEach theme provides a unique look and feel while maintaining consistent functionality across all applications.\n\nYou can discover new themes by searching for the [owd-themes](https://github.com/topics/owd-themes) tag on GitHub.\n\n```bash\nnx run desktop:install-theme --name=@owdproject/theme-gnome\n```\n\n## Supporting\nOpen Web Desktop may become a vast project, the code has been entirely rewritten and is now actively being developed. Your support is crucial to keep it moving forward. If you like to see more, please consider donating.\n\n[Become a sponsor](https://github.com/sponsors/owdproject)\n\n## License\natprotoOS is released under the [GNU General Public License v3](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatproto-os%2Fatproto-os","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fatproto-os%2Fatproto-os","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatproto-os%2Fatproto-os/lists"}