Now available in public beta
Your AI coding agent,
living in your browser.
Flycli understands your codebase and edits your local files directly from your browser. No more context switching.
localhost:3000
Hello World
Click the headline to edit
h3.font-boldsrc/app/page.tsx:42
Reading page.tsx...
Generating changes...
Updating file...
Prerequisites
Node.js
Version 18 or higher required for running the runtime environment.
Bun
Version 1.2.22+ required. Fast all-in-one JavaScript runtime.
AI Gateway
API Key required for enabling AI agent capabilities.
Local Setup
1
Clone the Repository
git clone https://github.com/shujanshaikh/flycli.git
cd flycli2
Install Dependencies
bun install3
Build the Project
# Build everything
bun run build
# Or build specific packages
turbo build --filter=cli
turbo build --filter=toolbarUsing flycli
1
Link flycli Locally
Link the package globally so it can be used in other projects.
cd apps/cli
bun link
# In your target project
bun link flycli2
Configure Environment
Add your AI Gateway API key to your project's .env.local file.
AI_GATEWAY_API_KEY=your_key_here3
Start Developing
Run your app and flycli in separate terminals.
Terminal 1
bun run devTerminal 2
bunx flycliVisit http://localhost:3100 to see the toolbar.
Project Structure
flycli/
├── apps/
│ ├── agent/ # AI agent package
│ ├── cli/ # CLI tool
│ ├── toolbar/ # React toolbar UI
│ └── web/ # Example Next.js app
├── packages/
│ ├── eslint-config/ # Shared ESLint config
│ ├── typescript-config/ # Shared TS config
└── package.json # Root package.jsonAvailable Scripts
bun run build- Build all packagesbun run dev- Start all apps in development modebun run lint- Lint all packagesbun run format- Format code with Prettierbun run check-types- Type check all packages
Building Specific Packages
# Build CLI
turbo build --filter=cli
# Build toolbar
turbo build --filter=toolbar
# Build agent
turbo build --filter=agentElement Selection
If you want to implement element selection functionality in your project, use React Grab by Aiden Bai. React Grab provides powerful element selection capabilities for React applications.
How It Works
- flycli starts a server on the specified port (default: 3100)
- It proxies requests to your Next.js app running on another port (default: 3000)
- The toolbar UI is served at the flycli port and overlays your app
- WebSocket connection enables real-time communication between the toolbar and the AI agent
- The AI agent can read files, edit code, search, and execute terminal commands in your workspace