-
Notifications
You must be signed in to change notification settings - Fork 3.8k
[Feature] Interactive CLI Wizard for Zero-Config Onboarding #350
Copy link
Copy link
Open
Labels
Description
🚀 The Problem
Currently, setting up picoclaw requires users to manually create or edit a configuration file (YAML/JSON) and set environment variables. For non-technical users or those deploying on a fresh embedded device (like a Raspberry Pi Zero), this friction is too high.
We want to achieve a "Zero-Config Start": if a user runs the picoclaw binary without any arguments or existing config, it should not crash or exit. Instead, it should enter an Interactive Wizard Mode.
✨ Proposed Solution
Implement a TUI (Terminal User Interface) wizard that guides the user through the essential setup steps when no configuration is detected.
The Wizard should:
- Auto-Detect Environment: Check for existing tools (e.g.,
ollama), network status, and available hardware (e.g., NPU presence). - Step-by-Step Configuration:
- Provider Setup: "Do you want to use a local model (Ollama) or a cloud API (OpenAI/Anthropic)?"
- Token Input: Securely prompt for API keys if needed.
- Channel Selection: "Where should this agent live? (CLI, Telegram, Discord...)"
- Generate Config: Save the inputs to a valid
config.yamland immediately start the agent.
🛠 Technical Implementation Details
1. Detection Logic
- On startup, check for
config.yamlin default paths (./,~/.picoclaw/,/etc/picoclaw/). - If missing -> Trigger
Wizard::run().
2. Wizard Flow (Draft)
Welcome to PicoClaw! 🦐
It looks like this is your first time running. Let's get you set up.
[?] Select your AI Provider:
> Local (Ollama)
Cloud (OpenAI)
Cloud (Anthropic)
[If Cloud]:
[?] Enter your API Key: ********************
[?] Select your primary Channel:
> Terminal (Chat right here)
Telegram Bot
Discord Bot
[?] Configuration saved to config.yaml. Starting Agent... 🚀
✅ Acceptance Criteria
- Running
./picoclawwithout a config file launches the interactive wizard. - Users can select at least one Provider and one Channel via arrow keys.
- API Keys are masked during input.
- A valid
config.yamlis generated upon completion. - The agent starts automatically after the wizard finishes.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
In Progress