{"id":15296130,"url":"https://github.com/skillrecordings/products","last_synced_at":"2025-05-15T11:06:52.222Z","repository":{"id":37263222,"uuid":"393493377","full_name":"skillrecordings/products","owner":"skillrecordings","description":"🎧  Skill Recordings products and core-libs","archived":false,"fork":false,"pushed_at":"2025-05-08T14:13:09.000Z","size":273107,"stargazers_count":375,"open_issues_count":1,"forks_count":31,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-05-08T15:26:00.700Z","etag":null,"topics":["library","monorepo","nextjs","react","typescript"],"latest_commit_sha":null,"homepage":"https://badass.dev","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/skillrecordings.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}},"created_at":"2021-08-06T20:19:43.000Z","updated_at":"2025-05-08T14:13:13.000Z","dependencies_parsed_at":"2025-05-08T15:33:27.240Z","dependency_job_id":null,"html_url":"https://github.com/skillrecordings/products","commit_stats":{"total_commits":2483,"total_committers":25,"mean_commits":99.32,"dds":0.558598469593234,"last_synced_commit":"cffed3d4d0e5244292cf530c2abd113cf8e0fda0"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skillrecordings%2Fproducts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skillrecordings%2Fproducts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skillrecordings%2Fproducts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skillrecordings%2Fproducts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/skillrecordings","download_url":"https://codeload.github.com/skillrecordings/products/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254328385,"owners_count":22052632,"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":["library","monorepo","nextjs","react","typescript"],"created_at":"2024-09-30T18:09:30.372Z","updated_at":"2025-05-15T11:06:47.214Z","avatar_url":"https://github.com/skillrecordings.png","language":"TypeScript","readme":"# Skill Recordings Projects\n\nThis is an exploratory project using Turborepo and pnpm to create a monorepo working environment for multiple applications and a shared common core library (or set of libraries.\n\n## Get Started\n\nYou'll need [PNPM](https://twitter.com/pnpmjs) installed.\n\npnpm is used here based on [significant performance gains](https://twitter.com/jaredpalmer/status/1422574985323950083?s=20) reported by Jared Palmer from a customer.\n\ninstall pnpm:\n\n```bash\nnpm i pnpm@latest -g\n```\n\nInstall all dependencies (all apps and packages) and build all apps and packages\n\n```bash\npnpm install\npnpm build\n```\n\nThis will build (and cache) the library packages and applications.\n\nYou can start an app or package for development:\n\n```bash\ncd apps/{{appname}} \u0026\u0026 pnpm dev\n```\n\n```bash\ncd packages/{{packagename}} \u0026\u0026 pnpm dev\n```\n\n## Adding a Project to Vercel\n\nThe build command needs to be scoped to the specific project so we aren't building all of the repos for every single run. The `-w` flag runs pnpm in the root of the project so all projects are built.\n\n`build`:\n\nThe entire repo, all apps and dependencies\n\n```bash\npnpm -w build\n```\n\nA single app/package can be filtered (from the root of the repo)\n\n```bash\npnpm -- turbo run build --filter=\"testingaccessibility\"\n```\n\nThe install command needs to also add `pnpm` and then run install.\n\n`install`:\n\n```bash\nnpm i pnpm -g \u0026\u0026 pnpm i\n```\n\n## Develop locally using vercel\n\nBecause of the way vercel handles monorepo projects, you can only have a single\nproject linked locally at a given time.\n\nIn the root of the project:\n\n```bash\nvercel link\nvercel dev\n```\n\nCalling `vercel link` asks if you want to link the project (yes), has you pick the account (`skillrecordings`), and\nfinally you enter the project name for the project you are working on.\n\nRepeat this process if you want to work on a different project.\n\n## Tools Used\n\n### Turborepo\n\n\u003e abstracting the complex configuration needed for most monorepos into a single cohesive build system\n\nTurbo is the core of the developer experience that this playground is exploring and provides cohesive logical building of a monorepo that contains many apps and library packages.\n\nIt's a closed source paid product that we are excited to use and support.\n\n### pnpm\n\n\u003e Fast, disk space efficient package manager\n\nperformant npm is just what it says it is and a modern evolution of npm/yarn etc that follows the same conventions and gives efficiency in a monorepo environment and can shave a lot of time off of builds.\n\n### cypress\n\nfor integration and e2e testing!\n\n## Resources\n\nHere's a general tour of Turborepo from Jared:\n\n[![Jared Palmer gives Joel a tour of Turborepo - Watch Video](https://cdn.loom.com/sessions/thumbnails/6be074dc590d44b192ab7e126f04c36b-with-play.gif)](https://www.loom.com/embed/6be074dc590d44b192ab7e126f04c36b)\n\nSome good examples and background in [Jared's TSDX monorepo platground](https://github.com/jaredpalmer/tsdx-monorepo).\n\n[![vercel logo](https://raw.githubusercontent.com/skillrecordings/turbo-playground/6d8af460a9630edea33cbbeef2a2309189f95a64/1618983297-powered-by-vercel.svg)](https://www.vercel.com/?utm_source=[skillrecordings]\u0026utm_campaign=oss)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskillrecordings%2Fproducts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fskillrecordings%2Fproducts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskillrecordings%2Fproducts/lists"}