# MufFulEtta

A command-line tool for LanceDB Multimodal Feature Engineering (Geneva). Also a sandwich.

## Installation

```bash
uv pip install -e .
```

## Configuration
1. Ensure a valid kubeconfig is present (i.e. `kubectl` works)
1. Configure your Geneva connection:

```bash
# Interactive configuration
mf configure

# Or set options directly
mf configure --db-uri s3://my-bucket/geneva --namespace geneva

# or use enterprise URI
mf configure --db-uri db://ryan-data --namespace geneva

# Show current configuration
mf configure --show
```

Configuration is stored in `~/.geneva/config.json`.

## Usage

```bash
# List clusters
mf clusters list

# List jobs (with filters)
mf jobs list --status running --since -3h

# Get details of a manifest
mf manifests get my-manifest --output json

# List Kuberay rayclusters
mf rayclusters list

# Stream logs
mf logs <worker-pod-id>
```

## Output Formats

- `--output table` (default): Rich formatted table
- `--output json`: JSON output
- `--output text`: Plain text output

## Debugging

Pass `--debug` for debug mode

## Claude Code Skill

A Claude Code skills file is included in .claude/skills/mf. 
You can ask Claude questions like "list all failed jobs in the last hour" and 
"which version of pyarrow is included in manifest xyz"?, etc.