From dcd18bdab6553456f1d76a62d88a886e549c1aa8 Mon Sep 17 00:00:00 2001 From: Tom Arra Date: Thu, 2 Jul 2026 11:51:02 -0500 Subject: [PATCH 1/2] docs: remove exclamation points Per the marketing content guidelines, exclamation points should not be used in documentation. Rewrites 15 instances across 9 files, mostly by changing "!" to "." at sentence boundaries. Left one occurrence untouched: the "[!]" in how-to-install-flutter.mdx documents a literal symbol from `flutter doctor` output, not punctuation, so removing it would change its meaning. --- src/content/docs/ci/index.mdx | 2 +- src/content/docs/code-push/ci/generic.mdx | 2 +- src/content/docs/code-push/faq.mdx | 6 +++--- src/content/docs/code-push/index.mdx | 2 +- src/content/docs/code-push/patch.mdx | 2 +- src/content/docs/code-push/performance.mdx | 2 +- src/content/docs/code-push/preview.mdx | 2 +- src/content/docs/code-push/troubleshooting.mdx | 2 +- .../docs/flutter-concepts/architecture-trees.mdx | 10 +++++----- 9 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/content/docs/ci/index.mdx b/src/content/docs/ci/index.mdx index 9b06f223..9f51749e 100644 --- a/src/content/docs/ci/index.mdx +++ b/src/content/docs/ci/index.mdx @@ -21,7 +21,7 @@ Zero-config, production-grade continuous integration for Flutter & Dart. Shorebird CI automatically runs best practice Flutter & Dart checks on every pull request. We built it for ourselves and use it in all our repos, and now you -can too! +can too. - ✨ Set up takes less than a minute - 🚀 Fast Checks diff --git a/src/content/docs/code-push/ci/generic.mdx b/src/content/docs/code-push/ci/generic.mdx index 08b00553..6bc04f7f 100644 --- a/src/content/docs/code-push/ci/generic.mdx +++ b/src/content/docs/code-push/ci/generic.mdx @@ -184,5 +184,5 @@ the `SHOREBIRD_TOKEN` environment variable is set. If you need to explicitly bypass interactive prompts in other environments, you can pass the `--no-confirm` flag to `shorebird patch` or `shorebird release`. -Thank you for reading this guide! If you have any questions or suggestions, feel +Thank you for reading this guide. If you have any questions or suggestions, feel free to reach out to us at our [Discord](https://discord.gg/shorebird). diff --git a/src/content/docs/code-push/faq.mdx b/src/content/docs/code-push/faq.mdx index 13e865cc..bd68d59e 100644 --- a/src/content/docs/code-push/faq.mdx +++ b/src/content/docs/code-push/faq.mdx @@ -397,7 +397,7 @@ Code push isn't needed for Flutter web. When a user opens a web app it downloads the latest version from the server if needed. If you have a use case for code push with Fluter web, we'd -[love to know](mailto:contact@shorebird.dev)! +[love to know](mailto:contact@shorebird.dev). ## Technical Details @@ -539,7 +539,7 @@ patches. ### Can I use Shorebird with my team? -Yes! The Shorebird free "Hobby" tier only supports a single developer, but all +Yes. The Shorebird free "Hobby" tier only supports a single developer, but all other plans support unlimited developers. See [Organizations](/account/orgs) for more information. @@ -682,6 +682,6 @@ your billing period. ### Can I pay for a year in advance? -Yes! We launched support for self-service yearly plans in April 2025. You can +Yes. We launched support for self-service yearly plans in April 2025. You can read more about this in our [announcement blog post](https://shorebird.dev/blog/yearly-plans/). diff --git a/src/content/docs/code-push/index.mdx b/src/content/docs/code-push/index.mdx index fe106e3c..bca0eaf1 100644 --- a/src/content/docs/code-push/index.mdx +++ b/src/content/docs/code-push/index.mdx @@ -55,7 +55,7 @@ A typical Code Push workflow looks like this: updated Dart dependencies as well. 1. Use the Shorebird CLI to create a new **patch** to the release you created in the first step. -1. That's it! Your users will see the update the next time they restart your +1. That's it. Your users will see the update the next time they restart your app. For a quick overview, check out the demo below. diff --git a/src/content/docs/code-push/patch.mdx b/src/content/docs/code-push/patch.mdx index c9082b91..f7be3d96 100644 --- a/src/content/docs/code-push/patch.mdx +++ b/src/content/docs/code-push/patch.mdx @@ -176,7 +176,7 @@ iOS and macOS patching works, see [System Architecture](/code-push/system-architecture). If you ever see unexpected performance changes when patching, please -[contact us](mailto:contact@shorebird.dev), and we would love to help! +[contact us](mailto:contact@shorebird.dev), and we would love to help. --- diff --git a/src/content/docs/code-push/performance.mdx b/src/content/docs/code-push/performance.mdx index 4c93e418..32bac9af 100644 --- a/src/content/docs/code-push/performance.mdx +++ b/src/content/docs/code-push/performance.mdx @@ -12,7 +12,7 @@ Our fork works exactly as Google's does, including passing all the same functionality and performance tests. Using Shorebird's fork should not result in any change in your app. If you ever -see any change, please let us know so we can work with you to diagnose! +see any change, please let us know so we can work with you to diagnose. ### Patching diff --git a/src/content/docs/code-push/preview.mdx b/src/content/docs/code-push/preview.mdx index 7a4814c5..e5868921 100644 --- a/src/content/docs/code-push/preview.mdx +++ b/src/content/docs/code-push/preview.mdx @@ -103,7 +103,7 @@ To test a patch locally: them. - Close the app completely (kill the process). - Relaunch the app. The downloaded patch will now be active, and you should - see your changes! + see your changes. :::tip For programmatic checks or showing custom update prompts, see the [Update Strategies](/code-push/update-strategies) guide. ::: diff --git a/src/content/docs/code-push/troubleshooting.mdx b/src/content/docs/code-push/troubleshooting.mdx index 2b03f531..b185eb4f 100644 --- a/src/content/docs/code-push/troubleshooting.mdx +++ b/src/content/docs/code-push/troubleshooting.mdx @@ -182,7 +182,7 @@ solutions violate this assumption and can cause these native changes to appear. Shorebird may be incompatible with those plugins. You can test for this by doing a `shorebird release` and then `shorebird patch` with no changes and seeing if you still get a native changes warning. If you believe this is the case, please -reach out to us; we'd be happy to help! +reach out to us; we'd be happy to help. ::: diff --git a/src/content/docs/flutter-concepts/architecture-trees.mdx b/src/content/docs/flutter-concepts/architecture-trees.mdx index 8815e8eb..f79063ed 100644 --- a/src/content/docs/flutter-concepts/architecture-trees.mdx +++ b/src/content/docs/flutter-concepts/architecture-trees.mdx @@ -56,7 +56,7 @@ If widgets are just temporary blueprints, how does Flutter remember anything? How does it keep track of an animation playing, or what you typed into a text field? -Enter the **Element Tree** (where your `State` lives!). +Enter the **Element Tree** (where your `State` lives). For every Widget you put in your app, Flutter creates a corresponding **Element**. You can think of the Element Tree as the brain or the skeleton of @@ -73,7 +73,7 @@ Elements: - If the widget type completely changed, the old Element is tossed out, and a brand new one takes its place. -This is the secret to Flutter's speed! The Element Tree manages the lifecycle +This is the secret to Flutter's speed. The Element Tree manages the lifecycle and acts as the smart middleman that decides when actual heavy lifting needs to be done. @@ -123,11 +123,11 @@ Widget build(BuildContext context) { You might have wondered, _"What exactly is that `context` thing?"_ -Here is the biggest "Aha!" moment for most Flutter beginners: **`BuildContext` -is actually just the Element!** +Here is the biggest "Aha" moment for most Flutter beginners: **`BuildContext` +is actually just the Element.** When Flutter asks your widget to build itself, it hands you the `BuildContext`. -It's just the Element saying, "Here I am in the tree! If you need to find an +It's just the Element saying, "Here I am in the tree. If you need to find an ancestor widget (like a `Theme` or a `Navigator`), you can use me to look up the tree." From 16bf9c2a33c32d03199041889330448456e554ff Mon Sep 17 00:00:00 2001 From: Tom Arra Date: Thu, 2 Jul 2026 12:40:51 -0500 Subject: [PATCH 2/2] formatting --- src/content/docs/flutter-concepts/architecture-trees.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/docs/flutter-concepts/architecture-trees.mdx b/src/content/docs/flutter-concepts/architecture-trees.mdx index f79063ed..45d11c91 100644 --- a/src/content/docs/flutter-concepts/architecture-trees.mdx +++ b/src/content/docs/flutter-concepts/architecture-trees.mdx @@ -123,8 +123,8 @@ Widget build(BuildContext context) { You might have wondered, _"What exactly is that `context` thing?"_ -Here is the biggest "Aha" moment for most Flutter beginners: **`BuildContext` -is actually just the Element.** +Here is the biggest "Aha" moment for most Flutter beginners: **`BuildContext` is +actually just the Element.** When Flutter asks your widget to build itself, it hands you the `BuildContext`. It's just the Element saying, "Here I am in the tree. If you need to find an