Thanks for the interest. This is the short version of how the monorepo is laid out and what each PR needs.
- Flutter SDK (3.32.6+).
- Dart SDK (stable).
packages/
ispectify/ # Core logging engine (pure Dart).
ispectify_dio/ # Dio HTTP interceptor.
ispectify_http/ # http package interceptor.
ispectify_ws/ # WebSocket traffic capture.
ispectify_db/ # Database operation tracing (pure Dart).
ispectify_bloc/ # BLoC event and state observer.
ispect/ # Flutter UI: inspector panel, log viewer, widgets.
Dependency chain: ispectify → ispectify_* → ispect.
git clone https://github.com/yelmuratoff/ispect.git
cd ispect
# Install the pre-commit hook.
cp bash/pre-commit.sh .git/hooks/pre-commit && chmod +x .git/hooks/pre-commit
# Validate version and dependency consistency.
./bash/check_version_sync.sh && ./bash/check_dependencies.sh# Pure Dart packages.
cd packages/ispectify && dart test && dart analyze --fatal-infos
# Flutter packages.
cd packages/ispect && flutter test && flutter analyze --fatal-infosversion.config is the single source of truth. Never edit package pubspec.yaml versions by hand.
# Bump version.
./bash/update_versions.sh --bump patch|minor|major
# Validate sync.
./bash/check_version_sync.shSee docs/VERSION_MANAGEMENT.md for the full reference.
Build and release scripts live in bash/. See bash/README.md for the catalog.
- Tests pass:
dart testorflutter testfor affected packages. - Analyzer clean:
dart analyze --fatal-infosorflutter analyze --fatal-infoswith zero issues. - Versions in sync. Do not edit
pubspec.yamlversions by hand. - Changelog entry in the root
CHANGELOG.mdfor user-facing changes. dependency_overridesin pubspec files are intentional for monorepo development. Leave them in.
- Strict analyzer mode (
strict-casts,strict-inference,strict-raw-types). - Follow Effective Dart naming and structure.
- No
printordebugPrint. UseISpect.loggerfor package logging.