VVK Documentation

vvk

A command-line interface tool that converts natural language instructions into shell commands using OpenAI's GPT-4.

Prerequisites

Before using this tool, you need to configure your API key and preferences. Get an OpenAI API key at https://platform.openai.com/api-keys. Alternatively, sign up for VVK Cloud.

Installation

Prerequisites
Node.js 18+

Verify with:

node --version
Install as a Global CLI Tool
# Using npm
npm install -g vvk

# Using pnpm
pnpm add -g vvk

# Using yarn
yarn global add vvk
Verify Installation
vvk --version
Update
npm update -g vvk
# or
pnpm update -g vvk
Uninstall
npm uninstall -g vvk
# or
pnpm remove -g vvk
Troubleshooting

Permission Errors: Use sudo (not recommended) or fix npm permissions:

# Reset npm permissions
npm config set prefix ~/.npm-global
echo 'export PATH="$PATH:$HOME/.npm-global/bin"' >> ~/.bashrc
source ~/.bashrc

Setup Configuration

Use the vvk config set command to configure your settings:

# If using your own Openai API key, set it in the config
vvk config set openaiApiKey your_api_key_here

# Enable or disable command confirmation (default: true)
vvk config set confirmCommand true

# Set default confirmation behavior (y/n)
vvk config set defaultConfirmation y

You can check your current settings with:

vvk config list

Use vvk config remove to remove/reset a configuration option:

vvk config remove <key>

Login

If using VVK Cloud, use the vvk login command to log in through the browser. If you have an OpenAI API key set, vvk will default to that. Use vvk config remove openaiApiKey to remove it.

# Sets the key and userId values
vvk login

You can log out with:

vvk logout

Usage

Run commands using natural language:

vvk <your natural language command>

Examples

# List all files in the current directory
vvk show me all files in this folder

# Find large files
vvk find files larger than 100MB

# Search for text in files
vvk search for "hello world" in all javascript files

The tool will:

  1. Process your natural language input
  2. Generate an appropriate shell command
  3. Show you the command for confirmation (if enabled)
  4. Execute the command upon your approval

Development

To set up the development environment:

# Clone the repository
git clone https://github.com/matyik/vvk.git

# Install dependencies
pnpm install

# Build the project
pnpm build

# Create a global link
pnpm link --global

# Now you can use the development version globally
vvk 

License

MIT License - see LICENSE file for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Using with Ollama

VVK can use Ollama as an alternative to OpenAI's API for generating commands.

Setup Ollama

  1. Install Ollama from ollama.ai
  2. Start the Ollama service
  3. Pull your preferred model:
    ollama pull llama3

Configure VVK to use Ollama

# Enable Ollama
vvk config set useOllama true

# Set Ollama host (default is http://localhost:11434)
vvk config set ollamaHost http://localhost:11434

# Set Ollama model (default is llama3)
vvk config set ollamaModel llama3

When Ollama is enabled, VVK will use it instead of OpenAI or VVK Cloud for generating commands.