-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Product Requirements Document: asis-coder CLI
The Definitive Hybrid CLI for HiveFlow.ai
asis-coder will be the official CLI for HiveFlow.ai with a unique capability: hybrid terminal + embedded UI mode. It combines the power of command-line operations with access to the full HiveFlow UI when needed, and a robust offline mode when there's no connectivity.
The product leverages the existing desktop app infrastructure (hiveflow-mac-os, hiveflow-windows, hiveflow-linux v1.0.0) to deliver an experience where developers never have to choose between terminal and visual UI: they get both, integrated and synchronized.
Vision and Strategic Objectives
Product Mission
Transform asis-coder into the "intelligent bridge between terminal and UI": a conversational CLI that can scale from simple command-line operations to launching a full embedded HiveFlow UI, with fallback to offline mode when there's no internet.
Differentiated Value Proposition
Terminal-first, UI-when-needed: Unlike other CLIs that are purely text-based, asis-coder can invoke an embedded HiveFlow.ai window for operations that benefit from visualization (workflow design, visual debugging, real-time monitoring).
Offline-capable: When there's no internet, the CLI maintains core functionality with a basic local UI that allows viewing cached workflows, executing local flows, and preparing changes to sync when connectivity returns.
Cross-platform unified: A single consistent experience across macOS, Windows, and Linux, leveraging the native binaries already developed.
Hybrid System Architecture
Existing Components
Desktop apps are available for all three major platforms:
Recommendation: Since you already have working releases, continue with your current stack. If you decide to migrate to Tauri in the future, the CLI requires no changes since communication is via HTTP/WebSocket.
Updated Roadmap
Phase 1: CLI Foundation (Weeks 1-6)
- Auth flow (OAuth + offline cache)
- Basic flows CRUD
- Integration with HiveFlow MCP server
- JSON output for scripting
Phase 2: Hybrid Mode (Weeks 7-12)
- IPC Protocol CLI ↔ Desktop App
- Desktop app detection and launching
--uicommands to open embedded UI- Bidirectional state synchronization
- Auto-download of binaries
Phase 3: Offline Mode (Weeks 13-18)
- SQLite cache for flows
- Sync queue
- Basic offline UI (can be enriched TUI or mini webview)
- Connectivity detection
- Conflict resolution
Phase 4: Conversational + Computer-use (Weeks 19-24)
- Complete conversational interface
- Computer-use with sandboxing
- Slash commands
- Tool cards for visualization
Phase 5: Polish & Launch (Weeks 25-28)
- Documentation
- Onboarding wizard
- Doctor command
- Public beta
- v1.0.0 release
Integrated User Experience
Scenario 1: Developer on a Plane (Offline)
# Before the flight
$ asis-coder sync --deep # Sync everything for offline use
[Sync] Caching 47 flows, 1,234 execution logs, 12 MCP configs...
[Sync] Ready for offline use (340MB cached)
# On the plane (no internet)
$ asis-coder
[Offline mode - 47 flows available]
> edit data-pipeline --ui
Opening basic offline UI...
# User makes changes locally
> save
Flow saved locally. Will sync when online.
# Upon landing
[Internet detected - syncing...]
[Sync] Uploading 3 modified flows...
✓ All changes synced successfullyScenario 2: Visual Debug from Terminal
$ asis-coder
> my flow "email-sender" is failing at the third step
Let me analyze the flow...
Found issue: Node "format-email" is receiving null from "fetch-template".
The template ID "tpl-123" doesn't exist in your workspace.
Would you like me to:
[1] Show the error path in UI (visual)
[2] List available templates
[3] Create the missing template
> 1
Opening UI with error highlighted...
[Desktop App opens, navigates to email-sender flow,
highlights the connection between fetch-template and format-email,
shows error annotation]Scenario 3: Build in Public from Terminal
$ asis-coder
> create a demo flow that shows IoT data from my Arduino
going through HiveFlow to post on Twitter
Creating flow "arduino-to-twitter"...
I'll need a few details:
- What data does your Arduino send? (temperature, humidity, etc.)
- Do you have a webhook URL configured on the Arduino?
> it sends temperature and humidity every 5 minutes via HTTP POST
Perfect. Here's the proposed flow:
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Webhook │────►│ Format │────►│ Post to │
│ Receiver │ │ Message │ │ Twitter │
└─────────────┘ └─────────────┘ └─────────────┘
Ready to create. Want to see it in the visual editor first?
> yes --ui
[Opens HiveFlow Desktop with the new flow loaded]Conclusion
The hybrid mode transforms asis-coder from a simple CLI into a complete interaction system with HiveFlow that adapts to the user's context:
- In pure terminal: Maximum productivity for power users
- With embedded UI: Best of both worlds when you need visual
- Without internet: Keep working and sync later
The investment in the three desktop apps (macOS/Windows/Linux) multiplies by converting them into visual extensions of the CLI, creating a unique ecosystem in the AI orchestration tools market.