An open API service indexing awesome lists of open source software.

https://github.com/clix-so/clix-cli

Interactive AI-powered CLI assistant for Clix SDK integration.
https://github.com/clix-so/clix-cli

bun cli fcm firebase mobile notifications push-notification sdk typescript

Last synced: 5 months ago
JSON representation

Interactive AI-powered CLI assistant for Clix SDK integration.

Awesome Lists containing this project

README

          

# Clix CLI

An interactive AI-powered assistant for Clix SDK development. Built with React and Ink, Clix CLI provides a chat interface with AI agents to help you integrate, debug, and manage the Clix Mobile SDK in your projects.

## Features

- **Interactive Chat Interface**: Natural conversation with AI agents using streaming responses
- **Multiple AI Agents**: Support for Claude Code and Codex
- **13 Slash Commands**: Quick actions for common tasks and workflows
- **Skills System**: Pre-built workflows for SDK integration, event tracking, user management, and personalization
- **Debug Assistant**: Interactive problem diagnosis and root cause analysis
- **Session Transfer**: Save and continue conversations in native agent CLIs
- **Agent Switching**: Switch between Claude and Codex mid-conversation with full history preservation
- **Context Management**: Real-time tracking with automatic history compaction at 90% threshold
- **MCP Server Integration**: Built-in installer for Clix MCP Server

## Installation

### Install via npm (Recommended)

```bash
npm install -g @clix-so/clix-cli
```

### Install via Bun

```bash
bun add -g @clix-so/clix-cli
```

### Install via Script

```bash
curl -fsSL https://cli.clix.so/install.sh | bash
```

### Install via Homebrew (macOS)

```bash
brew tap clix-so/clix-cli
brew install clix
```

### Uninstallation

See [UNINSTALL.md](UNINSTALL.md) for instructions on how to remove Clix CLI.

## Prerequisites

- **Node.js 20+** (Bun v1.0+ is optional for faster development)
- **One of the following AI agents**:
- [Claude Code](https://code.claude.com/docs) - Anthropic's Claude-powered coding assistant
- [Codex](https://developers.openai.com/codex/cli) - OpenAI's Codex-powered coding assistant

## Quick Start

1. **Start interactive chat**:

```bash
clix
```

2. **Select your AI agent** (if multiple are available):

```bash
clix agent claude
```

3. **Use natural language or slash commands**:

```
> How do I integrate Clix SDK into my iOS project?
> /debug
> /integration
```

## Commands

### `clix` (default)

Start an interactive chat session with your configured AI agent.

```bash
clix
```

**Features:**

- Natural language conversation
- Real-time streaming responses
- 13 slash commands for quick actions
- Context tracking with usage indicators
- History navigation (↑/↓ arrows)
- Press Escape to cancel streaming

**Shortcuts:**

- `/help` - Show all available commands
- `/debug` - Interactive debugging assistant
- `/install` - Autonomous SDK installation
- `/diagnose` - SDK diagnosis
- `/integration` - Interactive SDK integration guide
- `/agent` - Switch AI agents
- `/transfer` - Transfer session to native CLI
- `/exit` - Exit chat

### `clix agent [name]`

List available AI agents or switch to a specific agent.

```bash
# List available agents
clix agent

# Switch to Claude
clix agent claude

# Switch to Codex
clix agent codex
```

Detects available agents (Claude Code, Codex) on your system. Your selection is saved to `~/.clix/config.json`.

### `clix install`

Autonomous SDK installation with automatic file modifications. The AI agent will detect your platform, install dependencies, create initialization files, and integrate the SDK without manual intervention.

```bash
clix install

# Specify target platform
clix install --platform react-native
clix install --platform ios
```

**Options:**

- `--platform ` - Target platform (ios, android, react-native, flutter)

### `clix diagnose`

Analyze SDK integration status in your project.

```bash
clix diagnose
```

### Interactive Skills (Chat Mode Only)

The following skills require step-by-step guidance and are only available in chat mode. Run `clix` to start interactive chat, then use `/` commands.

#### `integration`

SDK integration guide with step-by-step instructions. Unlike `clix install`, this provides interactive guidance for manual integration.

```
> clix
> /integration
```

#### `event-tracking`

Event tracking setup with `Clix.trackEvent()`.

```
> clix
> /event-tracking
```

#### `user-management`

User management and identification setup.

```
> clix
> /user-management
```

#### `personalization`

Personalization templates setup.

```
> clix
> /personalization
```

#### `api-triggered-campaigns`

API-triggered campaign setup.

```
> clix
> /api-triggered-campaigns
```

### `clix debug `

Interactive debugging assistant for troubleshooting issues.

```bash
clix debug "Push notifications not working on iOS"
```

### `clix install-mcp [agent]`

Install Clix MCP Server for enhanced AI assistance.

```bash
# Auto-detect agent
clix install-mcp

# Install for specific agent
clix install-mcp claude
clix install-mcp codex
```

## Slash Commands

Use these commands within the interactive chat (`clix`):

### Autonomous Skills

- `/install` - Autonomous SDK installation (automatic file modifications)
- `/diagnose` - Diagnose SDK integration status

### Interactive Skills

- `/integration` - SDK integration guide (step-by-step instructions)
- `/event-tracking` - Event tracking setup
- `/user-management` - User management setup
- `/personalization` - Personalization templates
- `/api-triggered-campaigns` - API-triggered campaign setup

### System Commands

- `/debug` - Interactive debugging assistant
- `/install-mcp` - Install Clix MCP Server
- `/agent` - List or switch agents
- `/transfer` - Transfer session to agent CLI
- `/help` - Show available commands
- `/clear` - Clear chat history
- `/compact` - Compress conversation history
- `/exit` - Exit the chat

## Interactive Features

### Debug Assistant

The `/debug` command provides interactive problem diagnosis:

1. Type `/debug` in chat
2. Describe your problem (e.g., "Push notifications not working on iOS")
3. AI investigates your project structure and code
4. Receive root cause analysis and recommended fixes

```
> /debug
Describe the problem: Events not appearing in Clix dashboard
[AI explores project, identifies issue, provides fixes]
```

### Session Transfer

Transfer your conversation to continue in the native agent CLI:

```
> /transfer claude
✅ Session saved to ~/.clix/session-1234567890.md

To continue in Claude Code:
claude "$(cat ~/.clix/session-1234567890.md)"
```

This preserves your entire conversation history and allows you to continue seamlessly in the agent's native interface.

### Agent Switching

Switch between Claude and Codex without losing your conversation:

```
> /agent codex
Switching to Codex...
[Conversation history preserved]
```

### Skills

Pre-built workflows help with common SDK tasks:

#### Autonomous Skills (Command-Line Mode)

These skills can be executed directly from the command-line for autonomous operation:

- `install` - SDK Installation (autonomous file modifications)
- `diagnose` - SDK Diagnosis (diagnostic report generation)

Usage: `clix install`, `clix diagnose`

#### Interactive Skills (Chat Mode Only)

These skills require step-by-step guidance and user approval:

- `integration` - SDK Integration Guide
- `event-tracking` - Event Tracking Setup
- `user-management` - User Management Setup
- `personalization` - Personalization Setup
- `api-triggered-campaigns` - API-Triggered Campaigns Setup

Usage: Run `clix` to start chat mode, then use `/` commands (e.g., `/integration`)

**Features:**

- **Platform Detection**: Automatically detects iOS, Android, React Native, or Flutter
- **Step-by-Step Guidance**: AI guides you through each step (interactive skills)
- **Best Practices**: Follows Clix SDK best practices and conventions

## Project Structure

```
src/
├── cli.tsx # Main CLI entry point
├── commands/ # Command implementations
│ ├── agent.tsx # Agent management
│ ├── chat.tsx # Interactive chat
│ ├── debug.tsx # Debug assistant
│ ├── install.tsx # SDK installation
│ ├── install-mcp.tsx # MCP server installation
│ └── skill/ # Skills command
├── lib/ # Core functionality
│ ├── agents.ts # Agent detection
│ ├── config.ts # Configuration management
│ ├── executor.ts # Agent executor interface
│ ├── executors/ # Agent implementations
│ │ ├── claude-executor.ts
│ │ └── codex-executor.ts
│ ├── services/ # Service modules
│ │ ├── debug-service.ts
│ │ ├── history-compaction.ts
│ │ ├── mcp-install-service.ts
│ │ └── transfer-service.ts
│ └── skills.ts # Skills system
└── ui/ # User interface
├── chat/ # Chat interface
│ ├── ChatApp.tsx
│ ├── components/ # Chat components
│ ├── context/ # React context
│ └── hooks/ # Chat hooks
└── components/ # Reusable UI components
```

## Development

See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed development guide.

### Quick Start

```bash
# Clone the repository
git clone https://github.com/clix-so/clix-cli.git
cd clix-cli

# Install dependencies
bun install

# Run in development mode
bun run dev

# Build
bun run build

# Compile binaries
bun run build:binary

# Run tests
bun test
```

## Contributing

Pull requests and issues are welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for:

- Development setup and workflow
- Code contribution process
- Testing guidelines
- Release process

## License

MIT

## Links

- [GitHub Repository](https://github.com/clix-so/clix-cli)
- [Issue Tracker](https://github.com/clix-so/clix-cli/issues)
- [Homebrew Tap](https://github.com/clix-so/homebrew-clix-cli)
- [Clix SDK Documentation](https://clix.so)
- [LLMs.txt](llms.txt) - Detailed documentation for AI assistants

---

Made with love by the Clix team