Developer Tools

Production-hardened tools for VS Code, Dart, and Flutter — extracted from real-world apps and open for public audit.

Dart & Flutter Packages

Libraries extracted from production apps, hardened across thousands of hours of real use, and published on pub.dev for the community.

saropa_lints

2,134 custom rules + 250+ quick fixes. Catch memory leaks, security vulnerabilities mapped to OWASP Top 10, and runtime crashes that standard linters miss. Features a Health Score (0–100) with delta tracking, Package Vibrancy dependency grading (A–F), Code Health Dashboard with function hotspot analysis, and 5 adoption tiers from essential to pedantic.

pub.dev/packages/saropa_lints

saropa_dart_utils

400+ extension methods across 15+ categories — Strings (110+), DateTime (50+), Collections (38 modules including trie, bloom filter, ring buffer), Graph (BFS/DFS, Dijkstra, A*, topological sort), Async (circuit breaker, semaphore, rate limiting), and Validation (PII detection, path traversal protection). 5,900+ unit tests. Zero external dependencies, tree-shakeable.

pub.dev/packages/saropa_dart_utils

saropa_drift_advisor

Debug-only SQLite/Drift inspector with companion VS Code extension. HTTP debug server with full browser UI: database explorer with FK navigation, SQL Notebook, Visual Query Builder, natural-language-to-SQL, Query Replay DVR, ER diagrams, schema diff, migration codegen, and a live Heartbeat activity monitor. Zero runtime dependencies — tree-shaken out of release builds.

pub.dev/packages/saropa_drift_advisor

Why use custom lint rules for Flutter and Dart?

The default Dart analyzer ships with around 200 rules. saropa_lints adds 2,134 rules extracted from a production Flutter app with over 100,000 downloads. These rules catch real bugs that standard analysis misses: memory leaks from undisposed controllers, security vulnerabilities mapped to OWASP Top 10 (both Mobile and Web), unsafe DateTime constructors, uninstrumented MethodChannels, and Bluetooth operations missing timeout enforcement. Each rule includes a quick fix so your IDE can resolve the issue in one click.

Production-tested Dart extensions, not boilerplate

saropa_dart_utils is not a grab bag of untested helpers. Every one of its 400+ methods was extracted from a shipping app, edge-case-hardened, and backed by 5,900+ unit tests. The library covers string manipulation (fuzzy search, Levenshtein distance, Myers diff, HTML sanitization), date arithmetic (business days, fiscal years, injectable clock), advanced data structures (trie, bloom filter, reservoir sampling, disjoint set), graph algorithms (Dijkstra, A*, topological sort, DAG scheduler), async primitives (circuit breaker, semaphore, rate limiter), and security validation (PII detection, path traversal protection). Zero external dependencies and zero dart:io imports mean it works in pure-Dart, Flutter Web, and server-side projects without platform restrictions.

Debug your SQLite database without leaving the editor

saropa_drift_advisor runs an HTTP debug server inside your Flutter app that exposes your Drift or raw SQLite database through a browser UI and a VS Code sidebar. Browse tables with foreign-key navigation, edit cells, import and export data, run SQL in the built-in notebook, build queries visually with multi-table joins, or type a question in plain English and let the natural-language-to-SQL engine generate the query for you. The Query Replay DVR records every SQL statement during a debug session so you can step through a timeline of database activity. Schema diff compares your Drift code against the runtime database to catch migration mismatches. ER diagrams render your table relationships. All of this tree-shakes out of release builds — your production binary carries zero bytes from the package.

VS Code Extensions

Install individually or grab the full toolkit with Saropa Suite — one click, all extensions, with cross-extension integrations baked in.

Saropa Log Capture

The Debugger’s Safety Net. Automatically saves all Debug Console output to persistent, searchable log files. 100K+ line virtual scrolling viewer, error auto-classification (CRITICAL / TRANSIENT / BUG), SQL diagnostics with Drift ORM support, Flow Map session-journey reports, automatic Flutter debug screenshots, and signal analysis. Localized in 11 languages. Works with any debug adapter.

VS Code Marketplace

Saropa Drift Viewer

SQLite/Drift at a glance. VS Code sidebar and browser UI for the saropa_drift_advisor package. Inspect tables, run read-only SQL, export schema or data, compare snapshots, view ER diagrams, and use the Query Replay DVR, Visual Query Builder, and NL-to-SQL. Also on Open VSX.

VS Code Marketplace

Saropa Lints

Companion to the saropa_lints package. Ships the Findings Dashboard, Code Health Dashboard, File Risk ranking, Package Vibrancy scoring, OWASP compliance export, trend tracking, and Rule Packs management UI. Surfaces all 2,134 rules in the sidebar with Code Lens and inline Error Lens. Also on Open VSX.

VS Code Marketplace

Saropa Workspace

File and script shortcuts. Pin any file as a favorite — single-click opens, double-click runs. Recipe auto-detection from manifests, cron scheduling, notes pane, launcher board, and drag-and-drop organization. Project-scoped or global pins with per-pin command prefix, CLI args, and environment variables.

VS Code Marketplace

Never lose debug output again

Saropa Log Capture solves a problem every developer has hit: you see an error flash by in the Debug Console, but by the time you scroll back it has been pushed off-screen or the session has ended. Log Capture writes every line to a persistent file the moment it appears. The built-in log viewer handles 100,000+ lines with virtual scrolling, auto-classifies errors into CRITICAL, TRANSIENT, and BUG categories, detects SQL patterns for Drift ORM diagnostics, and generates Flow Map session-journey reports. It works with any VS Code debug adapter — Flutter, Node.js, Python, Go, C++, or anything else that writes to the Debug Console. Localized in 11 languages.

Code quality dashboards inside VS Code

The Saropa Lints VS Code extension surfaces the full power of the saropa_lints package in your editor sidebar. The Findings Dashboard groups violations by severity, impact, rule, or OWASP category with multi-select JSON export for CI pipelines. The Code Health Dashboard tracks function-level hotspots: unused, uncovered, stub-tested, suspicious coverage, and test drift. File Risk ranks files by weighted violation density with a flame icon on critical hotspots. Package Vibrancy grades each dependency A through F based on pub.dev activity, GitHub commit frequency, and version gaps — flagging dormant packages before they become a liability. Rule Packs let you toggle stack-specific bundles (Riverpod, Drift, Bloc) from a management UI. Also available on Open VSX for Cursor and VSCodium users.

Pin files, run scripts, schedule tasks

Saropa Workspace replaces the repetitive cycle of File → Open Recent → scroll → click. Pin any file as a favorite: single-click opens it, double-click runs it. Each pin carries a command prefix, CLI arguments, working directory, and environment variables. Recipe auto-detection scans your package.json, pubspec.yaml, Makefile, and other manifests to suggest pins automatically. The cron scheduler runs pinned scripts on a repeating interval. A built-in notes pane and launcher board round out the workspace so your frequently used files and scripts stay one click away.

Saropa Suite

One-click install for the full Saropa developer toolkit: Log Capture + Drift Viewer + Lints + Workspace.

  • Cross-extension integrations: bug reports embed lint findings, OWASP executive summaries, and project health scores.
  • Debug context: sessions carry query performance and schema context from Drift Viewer.
  • Log → Drift: right-click any SQL line in your logs to “Open in Drift Advisor.”
  • Install Saropa Suite on VS Code Marketplace →

Open source & community

Saropa’s build toolchain is open source and available for public audit. Issues, discussions, and contributions welcome.

  • github.com/saropa — source code, issue tracking, and technical discussions.
  • Medium — articles on architecture, tooling, and resilient tech.
  • Bluesky — updates and community news.

Frequently asked questions

What platforms do Saropa developer tools support?

The Dart packages (saropa_lints, saropa_dart_utils, saropa_drift_advisor) work on any platform that runs Dart or Flutter — iOS, Android, Web, Windows, macOS, and Linux. The VS Code extensions (Log Capture, Drift Viewer, Lints, Workspace, Suite) run on Windows, macOS, and Linux. The Lints and Drift Viewer extensions are also available on Open VSX for Cursor and VSCodium.

Are Saropa developer tools free to use?

All Saropa developer tools are free and open source under the MIT license. There are no paid tiers, usage limits, or telemetry. The source code is available on GitHub for public audit.

How many lint rules does saropa_lints include?

saropa_lints includes 2,134 custom lint rules and 250+ quick fixes. Rules cover memory leaks, security vulnerabilities mapped to OWASP Top 10 (both Mobile and Web), runtime crashes, and domain-specific patterns for Riverpod, Drift, Bluetooth, and MethodChannel. The rules are organized into 5 adoption tiers: essential, recommended, professional, comprehensive, and pedantic.

Does saropa_drift_advisor add weight to release builds?

No. saropa_drift_advisor is a dev_dependency that gets tree-shaken out of release builds automatically. The HTTP debug server and browser UI only run in debug mode. Your production APK, IPA, or web bundle carries zero bytes from the package.

What is Saropa Suite and why should I install it?

Saropa Suite is a VS Code extension pack that installs Log Capture, Drift Viewer, Lints, and Workspace in one click. Beyond bundling, it enables cross-extension integrations: bug reports embed lint findings with OWASP summaries, debug sessions carry query performance context from Drift Viewer, and you can right-click any SQL line in your logs to open it directly in Drift Advisor.

Can I use saropa_dart_utils in a web project without dart:io?

Yes. saropa_dart_utils has zero external dependencies and no dart:io imports, making it safe for pure-Dart, Flutter Web, and server-side projects. The full library is tree-shakeable — a single barrel import adds no unused code to your binary.

How does the natural-language-to-SQL feature work?

In the Drift Viewer extension or the saropa_drift_advisor browser UI, type a question in plain English (for example, “show me all users created this month”) and the NL-to-SQL engine generates the corresponding SQL query based on your actual database schema. The generated query lands in the SQL Notebook, Visual Query Builder, dashboard, or saved snippets — you choose the destination. You can review and edit the SQL before running it.

What debug adapters does Saropa Log Capture support?

Saropa Log Capture works with any VS Code debug adapter that writes to the Debug Console — Flutter, Dart, Node.js, Python, Go, C++, Java, Rust, and more. No configuration is needed: install the extension, press F5, and your logs are automatically saved to persistent files.

How does Package Vibrancy dependency scoring work?

Package Vibrancy grades each dependency in your pubspec.yaml from A (Vibrant) to F (End of Life) using data from pub.dev and the GitHub API. It checks publish frequency, commit activity, open issue response times, and version gaps. Packages inactive for 90 days are flagged as stale; 180 days as dormant. The scoring helps you identify maintenance risks before a dependency becomes a liability in your project.