Skip to content

Proposal: Official Venice CLI #135

@jonisjongithub

Description

@jonisjongithub

Summary

I've built a comprehensive, production-ready CLI for Venice AI and would like to propose it for official adoption.

Reference Implementation: https://github.com/jonisjongithub/venice-cli

Why an Official CLI?

  1. Developer Adoption — CLIs are the native interface for developers. Lowers barrier to integration
  2. Privacy Differentiator — "No browser, no tracking" reinforces Venice's privacy-first values
  3. Competitive Parity — OpenAI and Anthropic have robust CLIs; this is table stakes
  4. Workflow Integration — Enables piping, scripting, CI/CD integration

Features Implemented

Core Commands

  • venice chat — Chat with streaming, models, system prompts
  • venice search — Web search with AI synthesis
  • venice image — Generate images with save-to-file
  • venice upscale — Image upscaling
  • venice tts — Text-to-speech with multiple voices
  • venice transcribe — Speech-to-text
  • venice embeddings — Vector embeddings
  • venice models — List/filter models

Advanced Features

  • ✅ Config file support (~/.venice/config.json)
  • ✅ Streaming with spinners and TTY detection
  • ✅ Function calling with 6 built-in tools
  • ✅ Character personas (8 characters)
  • ✅ Conversation history with --continue
  • ✅ Output formats (pretty, json, markdown, raw)
  • ✅ Usage tracking with statistics
  • ✅ Shell completions (bash, zsh, fish)
  • ✅ Retry logic with offline detection

Technical Details

  • Language: TypeScript with strict mode
  • Runtime: Node.js 18+
  • Framework: Commander.js
  • Lines of Code: ~3,600 across 17 source files
  • License: MIT

Documentation Included

  • Comprehensive README.md
  • CONTRIBUTING.md with guidelines
  • PROPOSAL.md (detailed RFC)
  • Help text for all commands

Next Steps

Happy to:

  1. Transfer the repo to the veniceai org
  2. Submit as a PR to a new venice-cli repo
  3. Continue maintaining as a community project with official endorsement

Looking forward to your feedback!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions