Class: Everywhere::Commands::Install
- Inherits:
-
Dry::CLI::Command
- Object
- Dry::CLI::Command
- Everywhere::Commands::Install
- Defined in:
- lib/everywhere/commands/install.rb
Overview
Prepare an existing app for packaged desktop life. Idempotent: skips anything already in place.
Instance Method Summary collapse
Instance Method Details
#call(root: ".", local: false, agents: false) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/everywhere/commands/install.rb', line 20 def call(root: ".", local: false, agents: false, **) @mode = local ? "local" : "remote" @framework = Framework.detect(root) @root = @framework.root UI.step("#{UI.bold(@framework.name)} app at #{@root}") UI.warn("local mode: only SQLite databases are supported") if local # Common to every framework. add_gem write_config write_boot_stub # Framework-specific config surgery. send("install_#{@framework.name}") if agents write_agents_guide write_claude_pointer else UI.step(UI.dim("tip: `every install --agents` writes an AGENTS.md guide for AI coding agents")) end UI.success("installed — run `every dev` to open the app, `every build` to package it") end |