Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 29 additions & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
- `melos exec -- flutter pub upgrade` - Upgrade all packages in the workspace
- `melos run update_nonstop_cli_version` - Update CLI version across packages
- `melos run update_nonstop_cli_bundles` - Update CLI bundles
- `melos sync:readme` - Sync standardized README sections across all packages

### Just Commands (Alternative)
- `just upgrade_pub_packages` - Upgrade Flutter and Dart packages across workspace
Expand All @@ -25,7 +26,7 @@ This is a Flutter/Dart monorepo managed by Melos with the following structure:
### Core Organization
- **packages/**: Dart packages (libraries, utilities, CLI tools)
- **plugins/**: Flutter plugins (platform-specific functionality)
- **tools/**: Maintenance scripts for CLI version and bundle updates
- **tools/**: Maintenance scripts for CLI version, bundle updates, and README standardization

### Key Packages
- **nonstop_cli**: CLI tool with Mason bricks for project generation
Expand Down Expand Up @@ -65,6 +66,33 @@ This is a Flutter/Dart monorepo managed by Melos with the following structure:
- Includes doctor command for environment validation
- Template bundles are auto-updated via tools scripts

## README Standardization (readme_sync)

The repository uses an automated tool to maintain consistency across package READMEs.

### How It Works
- Common sections (headers, contributing, social links, etc.) are defined in centralized templates
- READMEs use HTML comment markers to identify managed sections: `<!-- BEGIN:section-id -->` and `<!-- END:section-id -->`
- Only content between markers is synced; package-specific content is preserved
- Templates support variable substitution (package name, author, repo path, etc.)

### Usage
- **Sync all packages**: `melos sync:readme`
- **Sync specific package**: `dart run tools/readme_sync/readme_sync.dart --package package_name`
- **Preview changes**: `dart run tools/readme_sync/readme_sync.dart --dry-run`
- **Validate markers**: `dart run tools/readme_sync/readme_sync.dart --validate`

### Configuration Files
- **templates/sections.yaml**: Centralized section templates
- **config/packages.yaml**: Package-specific variables and section assignments
- See `tools/readme_sync/README.md` for detailed documentation
- See `tools/readme_sync/EXAMPLE_README.md` for marker placement examples

### When to Use
- After updating common content (contributing guidelines, social links, etc.)
- When adding a new package to ensure consistent README structure
- Before releases to ensure all READMEs are synchronized

## Important Notes

- This is a workspace managed by Melos - always run commands from the root
Expand Down
3 changes: 3 additions & 0 deletions melos.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -53,3 +53,6 @@ scripts:
run: dart run tools/update_nonstop_cli_version.dart
update_nonstop_cli_bundles:
run: dart run tools/update_nonstop_cli_bundles.dart
sync:readme:
description: "Sync README sections across all packages"
run: dart run tools/readme_sync/readme_sync.dart
58 changes: 44 additions & 14 deletions packages/connectivity_wrapper/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
<!-- BEGIN:nonstop-header -->
<p align="center">
<a href="https://nonstopio.com">
<img src="https://github.com/nonstopio.png" alt="Nonstop Logo" height="128" />
Expand All @@ -9,11 +10,14 @@
<a href="https://nonstopio.com">Website</a>
</p>
</p>
<!-- END:nonstop-header -->

# connectivity_wrapper

<!-- BEGIN:badges -->
[![Build Status](https://img.shields.io/pub/v/connectivity_wrapper.svg)](https://github.com/nonstopio/flutter_forge/tree/main/packages/connectivity_wrapper)
[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)
<!-- END:badges -->

This plugin allows Flutter apps provide feedback on your app when it's not connected to it, or when there's no connection.

Expand All @@ -28,13 +32,31 @@ This plugin allows Flutter apps provide feedback on your app when it's not conne
- Android Gradle Plugin >=8.3.0
- Gradle wrapper >=8.4

## Usage
<!-- BEGIN:getting-started -->
## Getting Started

1. Open your project's `pubspec.yaml` file.
2. Add the `connectivity_wrapper` package to your dependencies, replacing `[version]` with the latest version:
```yaml
dependencies:
flutter:
sdk: flutter
connectivity_wrapper: ^[version]
```
3. Run `flutter pub get` to fetch the package.
<!-- END:getting-started -->

<!-- BEGIN:import-package -->
## Import the Package

```dart
import 'package:connectivity_wrapper/connectivity_wrapper.dart';
```
<!-- END:import-package -->

## Usage

Check if device is connected to internet or not
Check if device is connected to internet or not

```dart
...
Expand Down Expand Up @@ -191,7 +213,7 @@ body: ConnectivityWidgetWrapper(
<img src="https://cdn-images-1.medium.com/max/600/1*OeVKSyfV2X9VhupXRdwb2g.png" alt="Image 3" style="width: 280px; object-fit: cover; aspect-ratio: 9/16;">

## Custom Alignment and Disable User Interaction


```dart
...
Expand Down Expand Up @@ -290,6 +312,9 @@ class NetworkAwareWidgetScreen extends StatelessWidget {
whether you can reliably make a network connection. Always guard your app code
against timeouts and errors that might come from the network layer.

---

<!-- BEGIN:contributing -->
## Contributing

We welcome contributions in various forms:
Expand All @@ -301,6 +326,7 @@ We welcome contributions in various forms:
- Sending Pull Requests is greatly appreciated!

A big thank you to all our contributors! 🙌
<!-- END:contributing -->

<br></br>
<div align="center">
Expand All @@ -311,34 +337,38 @@ A big thank you to all our contributors! 🙌

---

<!-- BEGIN:connect -->
## 🔗 Connect with NonStop

<div align="center">

**Stay connected and get the latest updates!**

[![LinkedIn](https://img.shields.io/badge/LinkedIn-0077B5?style=for-the-badge&logo=linkedin&logoColor=white)](https://www.linkedin.com/company/nonstop-io)
[![X.com](https://img.shields.io/badge/X-000000?style=for-the-badge&logo=x&logoColor=white)](https://x.com/NonStopio)
[![Instagram](https://img.shields.io/badge/Instagram-E4405F?style=for-the-badge&logo=instagram&logoColor=white)](https://www.instagram.com/nonstopio_technologies/)
[![YouTube](https://img.shields.io/badge/YouTube-FF0000?style=for-the-badge&logo=youtube&logoColor=white)](https://www.youtube.com/@NonStopioTechnology)
[![Email](https://img.shields.io/badge/Email-D14836?style=for-the-badge&logo=gmail&logoColor=white)](mailto:contact@nonstopio.com)

</div>
<p align="center">
<a href="https://www.linkedin.com/company/nonstopio"><img src="https://img.shields.io/badge/-LinkedIn-blue?style=flat-square&logo=Linkedin&logoColor=white" alt="LinkedIn"></a>
<a href="https://x.com/nonstopio"><img src="https://img.shields.io/badge/-X.com-000000?style=flat-square&logo=X&logoColor=white" alt="X.com"></a>
<a href="https://www.instagram.com/nonstopio/"><img src="https://img.shields.io/badge/-Instagram-E4405F?style=flat-square&logo=Instagram&logoColor=white" alt="Instagram"></a>
<a href="https://www.youtube.com/@nonstopio"><img src="https://img.shields.io/badge/-YouTube-FF0000?style=flat-square&logo=YouTube&logoColor=white" alt="YouTube"></a>
<a href="mailto:hello@nonstopio.com"><img src="https://img.shields.io/badge/-Email-D14836?style=flat-square&logo=Gmail&logoColor=white" alt="Email"></a>
</p>
<!-- END:connect -->

---

<!-- BEGIN:star-footer -->
<div align="center">

> ⭐ Star us on [GitHub](https://github.com/nonstopio/flutter_forge) if this helped you!

</div>
<!-- END:star-footer -->

<!-- BEGIN:license -->
## 📜 License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
<!-- END:license -->

<!-- BEGIN:founded-by -->
<div align="center">

> 🎉 [Founded by Ajay Kumar](https://github.com/ProjectAJ14) 🎉**

</div>
<!-- END:founded-by -->
65 changes: 51 additions & 14 deletions packages/dzod/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
<!-- BEGIN:nonstop-header -->
<p align="center">
<a href="https://nonstopio.com">
<img src="https://github.com/nonstopio.png" alt="Nonstop Logo" height="128" />
Expand All @@ -9,13 +10,15 @@
<a href="https://nonstopio.com">Website</a>
</p>
</p>
<!-- END:nonstop-header -->

<h1 align="center">🔐 Dzod</h1>

<p align="center">
<strong>⚡ Enterprise-grade Dart schema validation library</strong>
</p>

<!-- BEGIN:badges -->
<p align="center">
<a href="https://pub.dev/packages/dzod"><img src="https://img.shields.io/pub/v/dzod.svg?label=dzod&logo=dart&color=blue&style=for-the-badge" alt="pub package"></a>
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-purple.svg?style=for-the-badge" alt="License"></a>
Expand All @@ -26,6 +29,7 @@
<img src="https://img.shields.io/badge/Test_Coverage-99.3%25-darkgreen.svg?style=for-the-badge" alt="Test Coverage">
<img src="https://img.shields.io/badge/Tests-1588+-blue.svg?style=for-the-badge" alt="Tests">
</p>
<!-- END:badges -->

---

Expand All @@ -41,12 +45,29 @@ Dzod is an **enterprise-grade** Dart schema validation library heavily inspired

---

## 🚀 Quick Start
<!-- BEGIN:getting-started -->
## Getting Started

1. Open your project's `pubspec.yaml` file.
2. Add the `dzod` package to your dependencies, replacing `[version]` with the latest version:
```yaml
dependencies:
flutter:
sdk: flutter
dzod: ^[version]
```
3. Run `flutter pub get` to fetch the package.
<!-- END:getting-started -->

```bash
# Add to your pubspec.yaml
dart pub add dzod
<!-- BEGIN:import-package -->
## Import the Package

```dart
import 'package:dzod/dzod.dart';
```
<!-- END:import-package -->

## 🚀 Quick Start

### Example 1: Basic User Schema Validation

Expand Down Expand Up @@ -1048,34 +1069,50 @@ for (final entry in userSchema.shape.entries) {

---

## 🔗 Connect with NonStop
<!-- BEGIN:contributing -->
## Contributing

<div align="center">
We welcome contributions in various forms:

**Stay connected and get the latest updates!**
- Proposing new features or enhancements.
- Reporting and fixing bugs.
- Engaging in discussions to help make decisions.
- Improving documentation, as it is essential.
- Sending Pull Requests is greatly appreciated!

[![LinkedIn](https://img.shields.io/badge/LinkedIn-0077B5?style=for-the-badge&logo=linkedin&logoColor=white)](https://www.linkedin.com/company/nonstop-io)
[![X.com](https://img.shields.io/badge/X-000000?style=for-the-badge&logo=x&logoColor=white)](https://x.com/NonStopio)
[![Instagram](https://img.shields.io/badge/Instagram-E4405F?style=for-the-badge&logo=instagram&logoColor=white)](https://www.instagram.com/nonstopio_technologies/)
[![YouTube](https://img.shields.io/badge/YouTube-FF0000?style=for-the-badge&logo=youtube&logoColor=white)](https://www.youtube.com/@NonStopioTechnology)
[![Email](https://img.shields.io/badge/Email-D14836?style=for-the-badge&logo=gmail&logoColor=white)](mailto:contact@nonstopio.com)
A big thank you to all our contributors! 🙌
<!-- END:contributing -->

</div>
<!-- BEGIN:connect -->
## 🔗 Connect with NonStop

---
<p align="center">
<a href="https://www.linkedin.com/company/nonstopio"><img src="https://img.shields.io/badge/-LinkedIn-blue?style=flat-square&logo=Linkedin&logoColor=white" alt="LinkedIn"></a>
<a href="https://x.com/nonstopio"><img src="https://img.shields.io/badge/-X.com-000000?style=flat-square&logo=X&logoColor=white" alt="X.com"></a>
<a href="https://www.instagram.com/nonstopio/"><img src="https://img.shields.io/badge/-Instagram-E4405F?style=flat-square&logo=Instagram&logoColor=white" alt="Instagram"></a>
<a href="https://www.youtube.com/@nonstopio"><img src="https://img.shields.io/badge/-YouTube-FF0000?style=flat-square&logo=YouTube&logoColor=white" alt="YouTube"></a>
<a href="mailto:hello@nonstopio.com"><img src="https://img.shields.io/badge/-Email-D14836?style=flat-square&logo=Gmail&logoColor=white" alt="Email"></a>
</p>
<!-- END:connect -->

<!-- BEGIN:star-footer -->
<div align="center">

> ⭐ Star us on [GitHub](https://github.com/nonstopio/flutter_forge) if this helped you!

</div>
<!-- END:star-footer -->

<!-- BEGIN:license -->
## 📜 License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
<!-- END:license -->

<!-- BEGIN:founded-by -->
<div align="center">

> 🎉 [Founded by Ajay Kumar](https://github.com/ProjectAJ14) 🎉**

</div>
<!-- END:founded-by -->
Loading
Loading