npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@boscdev/flutter-tsed-framework

v2.0.1

Published

Flutter × Ts.ED automation framework — TDD-first, AI-guided, single main.dart with dart-define-from-file environments.

Downloads

1,308

Readme

Flutter × Ts.ED Framework

Build production Flutter apps faster. TDD-first. AI-guided. Zero boilerplate.

One framework. Any Flutter app. Any backend. Any team size.


Install

npm install -g @boscdev/flutter-tsed-framework
flutter-tsed setup-claude    # for Claude Code
flutter-tsed setup-cursor    # for Cursor

That's it. Nothing is created in your project yet — no folders, no files.


Start your project

Run this one command inside your IDE and answer the questions:

/setup

The wizard asks about your project once, then generates everything: folder structure, dependencies, env files, git branches, IDE run configs.

After /setup completes, it tells you exactly what to do next.


Build your first feature

One command handles the full lifecycle — research → plan → tests → code → review → PR. It stops at every gate and waits for your approval before moving on.

/build "home screen"
/build "user profile"  --from-ticket APP-42
/build "checkout flow" --figma https://figma.com/file/xxx

Foundation steps (do once, in order)

/theme     colours + typography + dark/light mode
/splash    native splash screen + intro animation
/icon      launcher icons for every platform
/auth      authentication module (screens + tests)

Then build features with /build.


Ship

/gate --pre-release    all quality checks
/launch minor          version bump + CHANGELOG + CI trigger

Daily commands

| Command | Purpose | |---|---| | /build <feature> | Full TDD lifecycle (daily driver) | | /patch <description>| Fix a bug (failing test first) | | /gate | Run all quality checks | | /qa <feature> | 8-dimension code review | | /status | Project health dashboard | | /ops | Git branches + environment files |


All commands (29)

Setup

/setup /theme /splash /icon /auth

Features

/build /build-api /design /patch /add /port /scan

Quality

/gate /qa /bugs /a11y /perf /offline /store /sync

Operations

/ops (git + env) · /launch <patch|minor|major> · /ticket fetch|start|done

Utility

/ask /cleanup /catalogue /doc /status /plan

Run /setup first. Run any command with no arguments to see its help.


Environments

The framework supports up to three environments. /setup asks which you need:

  • A — production only (≤ 6 screens, prototype, simple app)
  • B — dev + production (default — most apps)
  • C — dev + staging + production (teams with QA / TestFlight)

Run / build

# Dev
flutter run --dart-define-from-file=env/dev.json --flavor dev

# Production build
flutter build appbundle --release \
  --obfuscate --split-debug-info=build/debug-info \
  --flavor prod \
  --dart-define-from-file=env/prod.json

Tier A (no flags needed)

flutter run
flutter build apk --release

/setup generates VS Code launch configs and Codemagic workflows automatically — you don't type these commands by hand.

Why dart-define-from-file (not dotenv)

flutter_dotenv ships your .env as a readable asset inside the APK. Anyone who unzips the APK can read every key. --dart-define-from-file injects values as compile-time constants instead, which are baked into the obfuscated binary and not extractable.


Git branching

main              production releases only. Tagged. Never push directly.
develop           integration. All features merge here first.
feat/<name>       new features, branch from develop
fix/<name>        bug fixes, branch from develop
hotfix/<name>     urgent prod fixes, branch from main
release/<ver>     stabilization, branch from develop

/ops git new feat my-feature and /ops git finish feat my-feature handle everything.


FAQ

Q: What backend does this support? A: Any. Ts.ED, Node/Express, Supabase, Firebase, hybrid, or an external API (give it a Swagger URL). /setup asks and configures everything accordingly.

Q: What platforms does this support? A: Android and iOS by default. /setup lets you add web, Windows, Linux, macOS, or watchOS. Each adds the right platform config and responsive layout helpers.

Q: I have a PRD — do I have to answer all the wizard questions? A: No. /setup accepts your PRD file or paste, parses the fields, and only asks about things it couldn't determine. A complete PRD means zero manual questions.

Q: What if I only have a frontend and my backend team manages the API? A: Choose external in /setup and paste the Swagger URL. The framework generates Dart models from the contract and auto-mocks API calls. When the real backend is ready, /sync makes it live.

Q: What architecture does it use? A: It asks you. /setup recommends MVC, MVVM, Clean, or Layered based on screen count and project summary. Simple apps (≤ 6 screens) default to MVC.

Q: Can I use this on an existing project? A: Yes. Run /setup --scan to detect your existing architecture, state management, and router. It writes the config and leaves your code untouched.

Q: I'm on v1 — how do I upgrade? A: Run flutter-tsed upgrade. It migrates your PROJECT_CONFIG.mdproject.config.yaml, converts .env.dev/.env.prodenv/dev.json/env/prod.json, and backs up everything first. See MIGRATION.md.

Q: What rules does the framework enforce?

  • Nothing is created until you run /setup
  • Resource verification before any service implementation (Firebase keys, Supabase URL, Figma)
  • Tests before implementation — RED before GREEN, always
  • Module gate — can't start the next feature while the previous has failing tests
  • Never push directly to main or develop
  • No secrets in committed files — ever

Troubleshooting

Setup command not available Run which npm and flutter-tsed --version to confirm install. Re-run flutter-tsed setup-claude (or setup-cursor).

Command fails with a configuration error The AI prints a ⚠️ CONFIGURATION REQUIRED block with exact steps. Fix the configuration first — never retry with code changes.

Integration test failures Confirm backend.access: true in project.config.yaml. Confirm the backend runs on backend.port. Run backend tests first: cd backend && npm test.

Accidentally committed a secret

git filter-repo --path frontend/env/dev.json --invert-paths
git push --force --tags origin main develop

Then rotate the compromised key immediately.


Links