ruflet

ruflet is the command-line package for creating, running, diagnosing, and building Ruflet applications.

Install

gem install ruflet

Create a project and run it:

ruflet new my_app
cd my_app
bundle install
bundle exec ruflet run --web

Generated projects include ruflet_core and ruflet_server as application dependencies. Use bundle exec ruflet inside a project so commands run with the versions declared in its Gemfile.

Commands

ruflet new <appname>
ruflet run [scriptname|path] [--web|--desktop] [--port PORT]
ruflet debug [scriptname|path]
ruflet devices
ruflet emulators
ruflet doctor [--fix]
ruflet update [web|desktop|all] [--check] [--force]
ruflet build <apk|android|ios|aab|web|macos|windows|linux> [--self]
ruflet install [--device DEVICE_ID]

Commands that create, diagnose, or build a Flutter client compare the cached template revision with AdamMusa/ruflet-template on GitHub. When main changes, Ruflet downloads the new template and refreshes its managed build/client automatically. If GitHub is unavailable, Ruflet keeps using the last complete cached template. Use ruflet doctor --fix to force a clean template download.

Desktop and web runs use the completed prebuild-main client channel by default. Ruflet checks the channel at most once every six hours and downloads a new platform build only after every required prebuild job has finished. Use ruflet update --force for an immediate refresh. Set RUFLET_CLIENT_CHANNEL=stable to stay on versioned release assets, RUFLET_CLIENT_UPDATE_INTERVAL=0 to check on every run, or RUFLET_CLIENT_AUTO_UPDATE=0 to disable automatic client updates.

Run ruflet install without --device to choose from a numbered list of connected devices. Pass --device DEVICE_ID to skip the prompt.

Run ruflet help <command> for all options.