{"id":20313773,"url":"https://github.com/posthog/squeak","last_synced_at":"2025-05-07T22:31:33.029Z","repository":{"id":37104059,"uuid":"466114303","full_name":"PostHog/squeak","owner":"PostHog","description":"A Q\u0026A widget for your docs","archived":true,"fork":false,"pushed_at":"2023-05-17T13:19:39.000Z","size":3704,"stargazers_count":178,"open_issues_count":77,"forks_count":15,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-05-04T05:27:35.019Z","etag":null,"topics":["javascript","react"],"latest_commit_sha":null,"homepage":"https://squeak.posthog.com/","language":"JavaScript","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/PostHog.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":"2022-03-04T12:27:28.000Z","updated_at":"2025-02-19T14:23:30.000Z","dependencies_parsed_at":"2023-02-16T16:16:09.278Z","dependency_job_id":null,"html_url":"https://github.com/PostHog/squeak","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PostHog%2Fsqueak","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PostHog%2Fsqueak/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PostHog%2Fsqueak/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PostHog%2Fsqueak/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PostHog","download_url":"https://codeload.github.com/PostHog/squeak/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252965607,"owners_count":21832918,"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":["javascript","react"],"created_at":"2024-11-14T18:12:39.008Z","updated_at":"2025-05-07T22:31:32.452Z","avatar_url":"https://github.com/PostHog.png","language":"JavaScript","readme":"![image](https://user-images.githubusercontent.com/154479/165955293-4e576fef-cd9a-4fc8-853f-22f195f8a7a2.png)\n\n# Build a community around your product with _Squeak!_ by PostHog.\n\n_Squeak!_ is a toolkit for fostering a community in-house. It helps make discussions, resources, and solutions more accessible to the right people.\n\nLearn more at [**squeak.posthog.com**](https://squeak.posthog.com) and star us to follow along.\n\nWant to try it without installing? There's a [**cloud version of Squeak!**](https://squeak.cloud/signup) too.\n\n## Toolkit\n\nSqueak! tools are built for React-based static sites, but many products work with existing docs, knowledge bases, or websites.\n\n\n| **Product**               | **Description**                                                                              | **Progress** |\n|---------------------------|----------------------------------------------------------------------------------------------|--------------|\n| Q\u0026A.js                    | Add threaded discussions to any page of your docs or website                                 | Beta         |\n| Discussion Warehouse      | A repository to manage shared knowledge threads from Slack, Q\u0026A.js, and other sources        | Beta         |\n| Import Slack Threads      | Liberate product-related discussions from Slack and make them discoverable by search engines | Alpha        |\n| Auth 2.0                  | OAuth, social logins                                                                         | Summer 2022  |\n| Dynamic Open Graph Images | A custom social media graphic for every webpage across your docs or website                  | Summer 2022  |\n| Community Profiles        | Bios, badges, activity feed, leaderboards, lists/directories                                 | Summer 2022  |\n| Knowledge Repository      | Lightweight, optimized content platform for docs, articles, guides, blogs                    | Summer 2022  |\n| Knowledge Search          | Searchable interface for Discussions, Knowledge                                              | Fall 2022    |\n| Page Builder              | MDX + Storybook mashup w/ collections, lists, menus                                          | Fall 2022    |\n| Dynamic Pages             | Personalized content for each visitor by IP, UTM codes, or CRM                               | Winter 2022  |\n| Marketplace               | Allow community to make money from services for the platform                                 | Spring 2023  |\n\n\n## Docs\n\nVisit the [wiki](https://github.com/PostHog/squeak/wiki) for guides on:\n\n1. [Embeddable widget (JavaScript, React)](https://github.com/PostHog/squeak/wiki/Embeddable-widget-(JS,-React))\n1. [Admin portal](https://github.com/PostHog/squeak/wiki/admin-portal)\n1. [Integrations](https://github.com/PostHog/squeak/wiki/integrations)\n1. [Self-hosting](https://github.com/PostHog/squeak/wiki/self-hosting)\n1. [API](https://github.com/PostHog/squeak/wiki/api)\n1. [Local development](https://github.com/PostHog/squeak/wiki/local-development)\n\n## Links\n\n- [Roadmap](https://github.com/orgs/PostHog/projects/40)\n- Feature request? [Create an issue!](https://github.com/PostHog/squeak/issues)\n\n## About\n\nSqueak! was created by [PostHog](https://posthog.com) out of a need to better support our own customers and move conversations out of our Slack community. Squeak! is open source under MIT.\n\n## Prisma\n\nWe use Prisma as our ORM. Prisma works by interpreting a schema file defined in `prisma/schema.prisma` and using a generated client. Prisma generates a strongly-typed client based on the schema file. The client is generated at runtime and not checked into version control. See the [prisma docs about this](https://www.prisma.io/docs/concepts/components/prisma-client/working-with-prismaclient/generating-prisma-client#keeping-the-query-engine-out-of-version-control-by-default). This means that the prisma client needs to be generated as part of any deployment process. As noted in the prisma docs, the `prisma generate` command is run as a postinstall hook when the prisma library is installed.\n\nOn deployment, the database needs to be migrated by running: `npx prisma migrate deploy`. See below for useful docs on production migrations:\n* https://www.prisma.io/docs/concepts/components/prisma-migrate#production-and-testing-environments\n* https://www.prisma.io/docs/guides/deployment/deploy-database-changes-with-prisma-migrate\n* https://www.prisma.io/docs/reference/api-reference/command-reference#migrate-deploy\n\n## Sentry\n\nWe use Sentry to capture errors, and we need to upload source maps to sentry and create a release in sentry. Currently this happens while building the docker image. Sentry automatically hooks into the `yarn build` process and uploads source maps and creates a release. This requires having a `SENTRY_AUTH_TOKEN` environment variable set to be picked up by the sentry-cli.\n\nWe handle this currently during docker builds via Github Actions. We pass in the `SENTRY_AUTH_TOKEN` as an build-arg to Docker from a github secret. See `.github/docker-release.yml` for that configuration.\n\n### Superjson\n\nThis project uses [superjson](https://github.com/blitz-js/superjson#using-with-nextjs) to automatically handle serialization issues, primarily with `BigInt`, which we use for certain IDs.","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fposthog%2Fsqueak","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fposthog%2Fsqueak","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fposthog%2Fsqueak/lists"}