# Taste CLI

Manage taste learning packages for CommandCode.

## Usage

No installation required! Use with npx:

```bash
npx taste pull [package-name]
npx taste push [package-name]
npx taste learn [source]
npx taste list
```

## Installation (Optional)

For frequent use, install globally:

```bash
npm i -g taste
```

Then use directly:

```bash
taste pull [package-name]
taste push [package-name]
taste learn [source]
```

## Commands

### Pull Taste Package

Pull taste packages from storage to your project:

```bash
npx taste pull [package-name]
npx taste pull --all                         # Pull all packages
npx taste pull -g [package-name]             # Pull from global storage
npx taste pull --remote username/package     # Pull from remote (with namespace)
npx taste pull --remote orgname/package      # Pull from organization
npx taste pull --overwrite                   # Overwrite instead of merge (default: merge)
```

**Remote Pull with Namespace:**
- Format: `username/packageName` or `orgname/packageName`
- You can only pull from your own account or organizations you're a member of
- The package is saved locally without the namespace (e.g., `user/cli` → `.commandcode/taste/cli/`)

### Push Taste Package

Push taste packages from your project to storage:

```bash
npx taste push [package-name]
npx taste push --all                  # Push all packages
npx taste push -g [package-name]      # Push to global storage
npx taste push --remote [package-name] # Push to remote
npx taste push --overwrite            # Overwrite instead of merge (default: merge)
```

### Learn Taste

Learn taste from a repository using the existing Command Code learning flow:

```bash
npx taste learn                                      # defaults to current directory
npx taste learn /path/to/repo
npx taste learn owner/repo
npx taste learn https://github.com/owner/repo
npx taste learn --max-commits 100 --branch develop
```

### List Packages

List available taste packages:

```bash
npx taste list
npx taste list -g        # List global packages
npx taste list --remote  # List remote packages
```

### Lint Package

Validate taste file format and structure:

```bash
npx taste lint [package-name]
npx taste lint --all              # Lint all packages
npx taste lint -g [package-name]  # Lint global packages
```

### Open Package

Open a taste package in your editor:

```bash
npx taste open <package-name>
npx taste open -g <package-name>  # Open from global storage
```

### Update CLI

Update taste CLI to the latest version:

```bash
npx taste update
```

### Other Commands

```bash
npx taste -v          # Show version
npx taste --version   # Show version
npx taste -h          # Show help
npx taste --help      # Show help
```

## Development

```bash
# Install dependencies
pnpm install

# Build
pnpm build

# Development mode with auto-reload
pnpm dev

# Test locally with npm link
npm link
taste -v
```

## About

For more information about Command Code, visit [commandcode.ai](https://commandcode.ai)

## License

[Apache-2.0](./LICENSE)

## Keywords

- cli
- taste
- commandcode
- command-code
- preferences
- ai
- coding-agent
- langbase
- developer-tools
