flux_wireframe_theme_cli 0.1.0
flux_wireframe_theme_cli: ^0.1.0 copied to clipboard
A CLI tool for scaffolding Flutter apps with wireframe theme and interactive project tour.
FLUX Wireframe CLI #
Flutter UI Experience - Wireframe
A powerful CLI tool for scaffolding Flutter applications with a beautiful wireframe aesthetic. Get a production-ready app with dark mode, custom layouts, and professional theming in seconds.
โจ Features #
- ๐ฏ Interactive Menu - Easy-to-use guided interface for all commands
- ๐จ 4 Professional Layouts - Sidebar, Bottom Navigation, Grid, and Split View
- ๐ Dark Mode - Built-in theme switching with persistent state
- ๐ค IBM Plex Mono - Professional monospace typography via Google Fonts
- ๐จ Icon Sets - Choose between Material Icons or Remix Icons
- ๐ฑ Responsive Design - Adaptive layouts with smart breakpoints
- ๐ Safe - Automatic backups of existing files
- โก Fast - Complete project setup in ~30 seconds
- ๐ฅ Health Check - Built-in doctor and status commands
- ๐งน Clean Reset - One command to reset to clean Flutter project
๐ Quick Start #
Installation #
dart pub global activate flux_wireframe_theme_cli
Usage #
# Interactive menu (recommended)
flux_wireframe
Menu options:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
FLUX Wireframe CLI
Flutter UI Experience - Wireframe
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Available commands:
1) tour - Interactive project setup wizard
2) status - Show project status
3) doctor - Check environment health
4) clear - Reset to clean Flutter project
0) exit - Exit FLUX CLI
Select option (0-4):
Quick Commands #
# Run commands directly
flux_wireframe tour # Interactive setup wizard
flux_wireframe status # Project status
flux_wireframe doctor # Environment health check
flux_wireframe clear # Reset project
Individual Commands #
flux_wireframe_tour # Interactive setup wizard
flux_wireframe_status # Project status
flux_wireframe_doctor # Environment check
flux_wireframe_clear # Reset project
๐ Available Commands #
๐ฏ Tour - Interactive Setup Wizard #
The main scaffolding wizard that guides you through project setup:
flux_wireframe tour
Interactive prompts:
Choose layout:
a) Sidebar
b) Bottom navbar
c) Grid
d) Split view
Select (a/b/c/d):
Icon set:
m) Material (default)
r) Remix
Select (m/r):
App title (shown in AppBar) [FLUX_WIREFRAME]:
Theme storageKey (SharedPreferences) [myapp_isDarkMode]:
What it does:
- โ
Creates
lib/main.dartwith theme setup - โ
Generates
lib/screens/with chosen layout - โ
Creates
lib/icons/app_icons.dartabstraction - โ
Adds required dependencies to
pubspec.yaml - โ
Backs up existing files as
.bak - โ Enables Material Design icons
๐ Status - Project Overview #
Shows comprehensive project status:
flux_wireframe status
Example output:
๐ฆ Project: my_awesome_app
๐ Version: 1.0.0+1
Dependencies:
โ wireframe_theme
โ provider
โ shared_preferences
โ remixicon (optional)
โ cupertino_icons (optional)
Generated files:
โ lib/main.dart
โ lib/screens/
โโ 1 screen(s)
โข home_screen.dart
โ lib/icons/
โโ 1 icon file(s)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
FLUX Wireframe project - fully scaffolded
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ฅ Doctor - Environment Health Check #
Diagnoses your development environment:
flux_wireframe doctor
Checks:
- โ Flutter installation and version
- โ Dart SDK availability
- โ Valid Flutter project
- โ Required dependencies
- โ FLUX generated files
- โ Material Design icons setup
Example output:
Checking Flutter... โ
Flutter 3.16.0 โข channel stable
Checking Dart... โ
Dart 3.2.0 (stable)
Checking Flutter project... โ
Project: my_app
Checking wireframe_theme... โ installed
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
Everything looks good!
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐งน Clear - Reset Project #
Resets project to clean Flutter state:
flux_wireframe clear
What it does:
- โ ๏ธ Deletes
lib/main.dart - โ ๏ธ Removes
lib/screens/directory - โ ๏ธ Removes
lib/icons/directory - โ ๏ธ Deletes all
.bakbackup files - โ
Runs
flutter create . --overwriteautomatically - โ Creates fresh Flutter counter app
โ ๏ธ Warning: This action cannot be undone! Commit to git first.
๐ Layouts #
Sidebar Navigation #
Desktop-first layout with NavigationRail.
Best for: Admin dashboards, content management systems, desktop apps
Features:
- Persistent sidebar navigation
- Multiple content pages
- Material NavigationRail component
Bottom Navigation Bar #
Mobile-friendly layout with BottomNavigationBar.
Best for: Mobile apps, social media apps, e-commerce
Features:
- 3-tab navigation
- IndexedStack for state preservation
- Mobile-optimized touch targets
Grid Layout #
Responsive grid with automatic column adjustment.
Best for: Portfolios, product catalogs, image galleries
Breakpoints:
โฅ1100pxโ 4 columnsโฅ800pxโ 3 columnsโฅ520pxโ 2 columns<520pxโ 1 column
Split View (Master-Detail) #
Adaptive layout with master-detail pattern.
Best for: Email clients, file browsers, settings panels
Features:
- Side-by-side view on wide screens (โฅ840px)
- Stack navigation on narrow screens
- 25 sample items included
๐จ Theming #
Wireframe Theme Package #
Uses wireframe_theme which provides:
- โจ Monochromatic color scheme (black/white)
- ๐ค IBM Plex Mono typography
- ๐ 2px borders on all components
- ๐ซ Zero elevation/shadows
- โฌ Sharp corners (no border radius)
- ๐ฏ Clean, minimal aesthetic
Dark Mode Support #
Built-in theme switching with persistent storage:
// Toggle dark mode
context.read().toggle();
// Check current mode
final isDark = context.watch().isDarkMode;
// Access colors
final foreground = WireframeTheme.getForeground(isDark);
final background = WireframeTheme.getBackground(isDark);
Persistence: Theme preference is saved using SharedPreferences and persists across app restarts.
๐ฆ Generated Project Structure #
lib/
โโโ main.dart # App entry point
โ โโโ ThemeController setup
โ โโโ Provider configuration
โ โโโ MaterialApp with themes
โ
โโโ icons/
โ โโโ app_icons.dart # Icon abstraction layer
โ โโโ Material OR Remix icons
โ โโโ Consistent API
โ
โโโ screens/
โโโ home_screen.dart # Main screen (layout-specific)
โโโ detail_screen.dart # Detail screen (split view only)
Backup System #
Before overwriting, automatic backups are created:
lib/main.dart โ lib/main.dart.bak
lib/screens/foo.dart โ lib/screens/foo.dart.bak
Restore: mv lib/main.dart.bak lib/main.dart
๐ง Dependencies #
Automatically Added to pubspec.yaml #
dependencies:
flutter:
sdk: flutter
# Wireframe theme from pub.dev
wireframe_theme: ^1.0.4
# State management
provider: ^6.0.0
# Persistent storage
shared_preferences: ^2.0.0
# iOS icons
cupertino_icons: ^1.0.8
# Remix icons (if selected)
remixicon: ^1.0.0
flutter:
uses-material-design: true
๐ฏ Icon Sets #
Material Icons (Default) #
import 'package:flutter/material.dart';
class AppIcons {
static const IconData dashboard = Icons.dashboard_outlined;
static const IconData inbox = Icons.inbox_outlined;
static const IconData settings = Icons.settings_outlined;
static const IconData home = Icons.home_outlined;
static const IconData search = Icons.search_outlined;
static const IconData profile = Icons.person_outline;
static const IconData chevronRight = Icons.chevron_right;
static const IconData darkMode = Icons.dark_mode;
static const IconData lightMode = Icons.light_mode;
}
Remix Icons (Optional) #
import 'package:flutter/widgets.dart';
import 'package:remixicon/remixicon.dart';
class AppIcons {
static const IconData dashboard = Remix.dashboard_line;
static const IconData inbox = Remix.inbox_line;
static const IconData settings = Remix.settings_3_line;
static const IconData home = Remix.home_2_line;
static const IconData search = Remix.search_2_line;
static const IconData profile = Remix.user_3_line;
static const IconData chevronRight = Remix.arrow_right_s_line;
static const IconData darkMode = Remix.moon_line;
static const IconData lightMode = Remix.sun_line;
}
๐๏ธ Generated Code Structure #
main.dart #
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:wireframe_theme/wireframe_theme.dart';
import 'screens/home_screen.dart';
Future main() async {
WidgetsFlutterBinding.ensureInitialized();
final theme = ThemeController(storageKey: 'myapp_isDarkMode');
await theme.init();
runApp(
ChangeNotifierProvider.value(
value: theme,
child: const App(),
),
);
}
class App extends StatelessWidget {
const App({super.key});
@override
Widget build(BuildContext context) {
final theme = context.watch();
return MaterialApp(
title: 'MyApp',
debugShowCheckedModeBanner: false,
theme: WireframeTheme.getTheme(false),
darkTheme: WireframeTheme.getTheme(true),
themeMode: theme.isDarkMode ? ThemeMode.dark : ThemeMode.light,
home: const HomeScreen(),
);
}
}
State Management with Provider #
// Access theme state
final theme = context.watch();
// Toggle dark mode
context.read().toggle();
// Set mode explicitly
context.read().setDarkMode(true);
๐ฑ Responsive Breakpoints #
| Layout | Breakpoint | Behavior |
|---|---|---|
| Sidebar | N/A | Always shows sidebar |
| Bottom Nav | N/A | Always shows bottom bar |
| Grid | 1100px / 800px / 520px | 4 โ 3 โ 2 โ 1 columns |
| Split View | 840px | Side-by-side โ Stack navigation |
๐ Recommended Workflow #
# 1. Create Flutter project
flutter create my_awesome_app
cd my_awesome_app
# 2. Install FLUX Wireframe CLI
dart pub global activate flux_wireframe_theme_cli
# 3. Check environment (optional)
flux_wireframe doctor
# 4. Run interactive setup
flux_wireframe tour
# OR use the menu
flux_wireframe
# 5. Install dependencies
flutter pub get
# 6. Run your app
flutter run
# 7. Check status anytime
flux_wireframe status
๐ Troubleshooting #
Icons showing as squares #
Solution:
flutter pub get
Verify pubspec.yaml has:
flutter:
uses-material-design: true
"Package not found" #
Solution: The CLI automatically adds dependencies. If issues persist:
flutter clean
flutter pub get
Environment issues #
Solution:
flux_wireframe doctor
This will diagnose:
- โ Flutter installation
- โ Dart SDK
- โ Project validity
- โ Dependencies
Backup files cluttering project #
Solution:
Delete .bak files manually:
# Unix/Mac
find lib -name "*.bak" -delete
# Windows
del /s lib\*.bak
๐ก Pro Tips #
- ๐ Start Fresh - Run on a new
flutter createproject for best results - ๐ Git First - Commit before running to easily revert changes
- ๐ฅ Use Doctor - Run
flux_wireframe doctorto check environment - ๐ Check Status - Use
flux_wireframe statusfor project overview - ๐จ Experiment - Try different layouts - backups protect you
- ๐ฑ Mobile First - Bottom nav is most mobile-friendly
- ๐ฏ Menu Mode - Use
flux_wireframe(no args) for guided experience
๐ Links #
- ๐ฆ wireframe_theme package - The theme package
- ๐ ๏ธ GitHub Repository - Source code
- ๐ Issue Tracker - Report bugs
- ๐ Flutter Docs - Flutter framework
- ๐จ Material Design - Design system
- ๐ฏ Remix Icon - Icon library
๐ License #
MIT License - see LICENSE file for details.
๐ค Contributing #
Contributions are welcome! Areas for improvement:
- โ More layout options (drawer, tabs, etc.)
- โ Additional theme variants
- โ Color scheme customization
- โ Animation presets
- โ Custom component library
- โ Testing suite
- โ Video tutorials
How to contribute:
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
๐ Support #
Need help?
- ๐ Report a bug
- ๐ฌ Start a discussion
- ๐ฆ View on pub.dev
- โญ Star on GitHub
๐ฏ Philosophy #
FLUX Wireframe CLI embraces:
- โจ Minimalism - Clean, focused interfaces
- ๐ฏ Consistency - Predictable patterns across layouts
- ๐ Readability - Monospace typography for clarity
- ๐ง Flexibility - Easy to customize and extend
- โก Speed - Get productive in seconds, not hours
Built with โค๏ธ for the Flutter community
Scaffold smarter, build faster. ๐
FLUX - Flutter UI Experience CLI