[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-9189":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":21,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":28,"readmeContent":29,"aiSummary":30,"trendingCount":16,"starSnapshotCount":16,"syncStatus":31,"lastSyncTime":32,"discoverSource":33},9189,"shorebird","shorebirdtech\u002Fshorebird","shorebirdtech","Code Push for Flutter and other tools for Flutter businesses.","https:\u002F\u002Fshorebird.dev",null,"Dart",2980,217,28,214,0,4,24,63.42,"Other",false,"main",true,[25,26,27,5],"codepush","deployment","flutter","2026-06-12 04:00:43","## Shorebird 🐦\n\n[![Discord](https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F1030243211995791380?style=for-the-badge&logo=discord&color=blue)](https:\u002F\u002Fdiscord.gg\u002Fshorebird)\n\u003Ca href=\"https:\u002F\u002Fwww.producthunt.com\u002Fposts\u002Fshorebird-code-push?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-shorebird&#0045;code&#0045;push\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fapi.producthunt.com\u002Fwidgets\u002Fembed-image\u002Fv1\u002Ffeatured.svg?post_id=449946&theme=neutral\" alt=\"Shorebird&#0032;Code&#0032;Push - Flutter&#0032;over&#0032;the&#0032;air&#0032;updates | Product Hunt\" style=\"width: 128px; height: 27px;\" width=\"128\" height=\"27\" \u002F>\u003C\u002Fa>\n\n[![shorebird ci](https:\u002F\u002Fapi.shorebird.dev\u002Fapi\u002Fv1\u002Fgithub\u002Fshorebirdtech\u002Fshorebird\u002Fbadge.svg)](https:\u002F\u002Fconsole.shorebird.dev\u002Fci)\n[![ci](https:\u002F\u002Fgithub.com\u002Fshorebirdtech\u002Fshorebird\u002Factions\u002Fworkflows\u002Fmain.yaml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fshorebirdtech\u002Fshorebird\u002Factions\u002Fworkflows\u002Fmain.yaml)\n[![e2e](https:\u002F\u002Fgithub.com\u002Fshorebirdtech\u002Fshorebird\u002Factions\u002Fworkflows\u002Fe2e.yaml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fshorebirdtech\u002Fshorebird\u002Factions\u002Fworkflows\u002Fe2e.yaml)\n[![codecov](https:\u002F\u002Fcodecov.io\u002Fgh\u002Fshorebirdtech\u002Fshorebird\u002Fbranch\u002Fmain\u002Fgraph\u002Fbadge.svg)](https:\u002F\u002Fcodecov.io\u002Fgh\u002Fshorebirdtech\u002Fshorebird)\n[![License: MIT](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-blue.svg)](.\u002FLICENSE-MIT)\n[![License: Apache](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-Apache-orange.svg)](.\u002FLICENSE-APACHE)\n\n## Getting Started\n\nVisit https:\u002F\u002Fdocs.shorebird.dev to get started.\n\n## Packages\n\nThis repository is a monorepo containing the following packages:\n\n| Package                                                                         | Description                                                                             |\n| ------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- |\n| [shorebird_cli](packages\u002Fshorebird_cli\u002FREADME.md)                               | Command-line which allows developers to interact with various Shorebird services        |\n| [shorebird_code_push_client](packages\u002Fshorebird_code_push_client\u002FREADME.md)     | Dart library which allows Dart applications to interact with the Shorebird CodePush API |\n| [shorebird_code_push_protocol](packages\u002Fshorebird_code_push_protocol\u002FREADME.md) | Dart library which contains common interfaces used by Shorebird CodePush                |\n| [artifact_proxy](packages\u002Fartifact_proxy\u002FREADME.md)                             | Dart server which supports intercepting and proxying Flutter artifact requests          |\n| [discord_gcp_alerts](packages\u002Fdiscord_gcp_alerts\u002FREADME.md)                     | Dart server which forwards GCP alerts to Discord                                        |\n| [flutter_version_resolver](packages\u002Fflutter_version_resolver\u002FREADME.md)         | Command-line utility that determines which Flutter version should be used for a project |\n| [jwt](packages\u002Fjwt\u002FREADME.md)                                                   | Dart library for verifying JSON Web Tokens                                              |\n| [redis_client](packages\u002Fredis_client\u002FREADME.md)                                 | Dart library for interacting with Redis                                                 |\n| [scoped_deps](packages\u002Fscoped_deps\u002FREADME.md)                                   | A simple dependency injection library built on Zones                                    |\n| [stripe_api](packages\u002Fstripe_api\u002FREADME.md)                                     | Dart library for interacting with Stripe                                                |\n\nFor more information, please refer to the documentation for each package.\n\n## Contributing\n\nIf you're interested in contributing, please join us on\n[Discord](https:\u002F\u002Fdiscord.gg\u002Fshorebird).\n\n### Environment setup\n\nWorking on Shorebird requires Dart.\n\n`.\u002Fscripts\u002Fbootstrap.sh` will run `pub get` all packages in the repository.\n\n### Running tests\n\nWe don't yet have a script to run tests locally. For now, we recommend using\n`very_good test -r` in the packages directory to run all shorebird tests.\n\n(If you run it in the root, it will find packages in bin\u002Fcache\u002Fflutter and try\nto run tests there, some of which will fail.)\n\nTo generate a coverage report install `lcov`:\n\n```\nbrew install lcov\n```\n\nThen run tests with the `--coverage` flag:\n\n```\nvery_good test -r --coverage\ngenhtml coverage\u002Flcov.info -o coverage\n```\n\nYou can view the generated coverage report via:\n\n```\nopen coverage\u002Findex.html\n```\n\n### Tracking coverage\n\nThe following command will generate a coverage report for the Dart packages:\n\n```bash\ndart test --coverage=coverage && dart pub global run coverage:format_coverage --lcov --in=coverage --out=coverage\u002Flcov.info --packages=.dart_tool\u002Fpackage_config.json --check-ignore\n```\n\nCoverage reports are uploaded to [Codecov](https:\u002F\u002Fapp.codecov.io\u002Fgh\u002Fshorebirdtech\u002Fshorebird).\n\n## License\n\nShorebird projects are licensed for use under either Apache License, Version 2.0\n(LICENSE-APACHE or http:\u002F\u002Fwww.apache.org\u002Flicenses\u002FLICENSE-2.0) MIT license\n(LICENSE-MIT or http:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT) at your option.\n\nSee our license philosophy for more information on why we license files this\nway:\nhttps:\u002F\u002Fhandbook.shorebird.dev\u002Fengineering\u002F#licensing-philosophy\n","Shorebird 是一个专为 Flutter 应用设计的代码推送工具及其他相关业务工具。其核心功能包括通过命令行与 Shorebird 服务进行交互、支持 Dart 应用与 Shorebird CodePush API 的集成，以及拦截和代理 Flutter 构件请求等。该项目使用 Dart 语言编写，具备良好的可扩展性和稳定性，同时提供了丰富的文档和支持资源。Shorebird 特别适用于需要频繁更新应用而不想每次都重新发布到应用商店的 Flutter 开发团队或企业环境中，能够显著提高开发效率和用户体验。",2,"2026-06-11 03:21:37","top_language"]