{"id":19459605,"url":"https://github.com/revoltchat/frontend","last_synced_at":"2025-05-16T05:04:18.952Z","repository":{"id":62669589,"uuid":"538605114","full_name":"revoltchat/frontend","owner":"revoltchat","description":"Monorepo for Revolt's frontend.","archived":false,"fork":false,"pushed_at":"2025-05-12T17:06:01.000Z","size":36380,"stargazers_count":328,"open_issues_count":112,"forks_count":77,"subscribers_count":17,"default_branch":"main","last_synced_at":"2025-05-12T18:24:00.139Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://revolt.chat","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/revoltchat.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"ko_fi":"insertish","custom":"https://wiki.revolt.chat/notes/project/financial-support/"}},"created_at":"2022-09-19T16:55:07.000Z","updated_at":"2025-05-12T17:46:24.000Z","dependencies_parsed_at":"2024-05-08T14:31:35.703Z","dependency_job_id":"c9e35865-1f7b-418e-898b-073cce815ce2","html_url":"https://github.com/revoltchat/frontend","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/revoltchat%2Ffrontend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/revoltchat%2Ffrontend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/revoltchat%2Ffrontend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/revoltchat%2Ffrontend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/revoltchat","download_url":"https://codeload.github.com/revoltchat/frontend/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254471061,"owners_count":22076585,"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":[],"created_at":"2024-11-10T17:33:22.877Z","updated_at":"2025-05-16T05:04:18.934Z","avatar_url":"https://github.com/revoltchat.png","language":"TypeScript","funding_links":["https://ko-fi.com/insertish","https://wiki.revolt.chat/notes/project/financial-support/"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\u003ch1\u003e\n  Revolt Frontend\n  \n  [![Stars](https://img.shields.io/github/stars/revoltchat/frontend?style=flat-square\u0026logoColor=white)](https://github.com/revoltchat/frontend/stargazers)\n  [![Forks](https://img.shields.io/github/forks/revoltchat/frontend?style=flat-square\u0026logoColor=white)](https://github.com/revoltchat/frontend/network/members)\n  [![Pull Requests](https://img.shields.io/github/issues-pr/revoltchat/frontend?style=flat-square\u0026logoColor=white)](https://github.com/revoltchat/frontend/pulls)\n  [![Issues](https://img.shields.io/github/issues/revoltchat/frontend?style=flat-square\u0026logoColor=white)](https://github.com/revoltchat/frontend/issues)\n  [![Contributors](https://img.shields.io/github/contributors/revoltchat/frontend?style=flat-square\u0026logoColor=white)](https://github.com/revoltchat/frontend/graphs/contributors)\n  [![License](https://img.shields.io/github/license/revoltchat/frontend?style=flat-square\u0026logoColor=white)](https://github.com/revoltchat/frontend/blob/main/LICENSE)\n\u003c/h1\u003e\nThe official web client powering https://revolt.chat/app, built with \u003ca href=\"https://www.solidjs.com/\"\u003eSolid.js\u003c/a\u003e 💖.\n\u003c/div\u003e\n\u003cbr/\u003e\n\n## Development Guide\n\nBefore contributing, make yourself familiar with [our contribution guidelines](https://developers.revolt.chat/contrib.html), the [code style guidelines](./GUIDELINES.md), and the [technical documentation for this project](https://revoltchat.github.io/frontend/).\n\nBefore getting started, you'll want to install:\n\n- Git\n- Node.js\n- pnpm (run `corepack enable`)\n\nThen proceed to setup:\n\n```bash\n# clone the repository\ngit clone --recursive https://github.com/revoltchat/frontend client\ncd client\n\n# update submodules if you pull new changes\n# git submodule init \u0026\u0026 git submodule update\n\n# install all packages\npnpm i --frozen-lockfile \n\n# build deps:\npnpm build:deps\n\n# or build a specific dep (e.g. revolt.js updates):\n# pnpm --filter revolt.js run build\n\n# run dev server\npnpm dev:web\n```\n\nFinally, navigate to http://local.revolt.chat:5173.\n\n### Pulling in Revolt's assets\n\nIf you want to pull in Revolt brand assets after pulling, run the following:\n\n```bash\n# update the assets\ngit -c submodule.\"packages/client/assets\".update=checkout submodule update --init packages/client/assets\n```\n\nYou can switch back to the fallback assets by running deinit and continuing as normal:\n\n```bash\n# deinit submodule which clears directory\ngit submodule deinit packages/client/assets\n```\n\n### Faster iteration with Revolt.js\n\nTo make it easier to work with `revolt.js`, you may want to temporarily make this change:\n\n```diff\n# packages/revolt.js/package.json\n-  \"module\": \"lib/esm/index.js\",\n+  \"module\": \"src/index.ts\",\n```\n\nAny edits to the revolt.js codebase will immediately be reflected while developing.\n\n## Deployment Guide\n\n### Build the app\n\n```bash\n# install packages\npnpm i --frozen-lockfile \n\n# build dependencies\npnpm build:deps\n\n# build for web\npnpm build:web\n\n# ... when building for Revolt production, use this instead of :web\npnpm build:prod\n```\n\nYou can now deploy the directory `packages/client/dist`.\n\n### Routing Information\n\nThe app currently needs the following routes:\n\n- `/login`\n- `/pwa`\n- `/dev`\n- `/settings`\n- `/friends`\n- `/server`\n- `/channel`\n\nThis corresponds to [Content.tsx#L33](packages/client/src/index.tsx).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frevoltchat%2Ffrontend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frevoltchat%2Ffrontend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frevoltchat%2Ffrontend/lists"}