JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 8
  • Score
    100M100P100Q36264F
  • License MIT

CLI tool that enhances prompts using AI providers for better terminal agent interactions

Package Exports

  • promptboost
  • promptboost/dist/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (promptboost) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

PromptBoost CLI Demo

AI-Powered Prompt Enhancement Tool - Intelligent and Extensible

github release version npm version license PRs welcome code with hearth by galfrevn

PromptBoost CLI Demo

A powerful command-line tool that enhances prompts using AI providers to optimize interactions with terminal agents like Claude Code, Gemini CLI, OpenAI Code, and more.

πŸ“ Table of Contents

πŸš€ Providers

Supported AI Providers

Name Description Models
OpenAI GPT models including latest GPT-4 variants gpt-4o, gpt-4o-mini, gpt-4-turbo, o1, o3-mini
Anthropic Claude models with advanced reasoning claude-3.5-sonnet, claude-3-haiku, claude-4-opus
Google Gemini models with multimodal capabilities gemini-1.5-pro, gemini-1.5-flash, gemini-2.0-flash
xAI Grok Grok models with real-time information grok-3, grok-beta, grok-vision-beta

Provider Features

Feature OpenAI Anthropic Google xAI Grok
Streaming βœ… βœ… βœ… βœ…
Model Validation βœ… βœ… βœ… βœ…
Error Recovery βœ… βœ… βœ… βœ…
Token Counting βœ… βœ… βœ… βœ…

πŸ€– Why PromptBoost CLI?

PromptBoost CLI provides intelligent prompt enhancement across multiple AI providers. Whether you're coding, analyzing data, or writing documentation, PromptBoost transforms your simple prompts into comprehensive, context-rich instructions that get better results.

Intelligent Prompt Enhancement

prompt-enhancement

Smart Context Addition

PromptBoost doesn't just pass your prompts throughβ€”it enhances them with:

  • Context Awareness: Automatically adds relevant context based on your prompt type
  • Best Practices: Incorporates proven prompt engineering techniques
  • Template Integration: Uses specialized templates for coding, analysis, and general tasks
  • Format Optimization: Structures prompts for maximum AI comprehension

Multi-Provider Intelligence

  • Provider Switching: Seamlessly switch between OpenAI, Anthropic, Google, and xAI
  • Model Validation: Automatic validation of model names and capabilities
  • Streaming Support: Real-time response streaming with compatibility checking
  • Fallback System: Robust error handling with provider fallbacks

Developer-Friendly Features

developer-features

  • File Integration: Read prompts from files, save enhanced results
  • Template System: Built-in templates for common use cases
  • Configuration Management: Secure API key storage and provider management
  • Verbose Logging: Detailed logging for debugging and optimization

🎨 Features

  • Model Validation: Comprehensive validation of AI models with streaming compatibility checking
  • Smart Enhancement: Context-aware prompt improvement using proven techniques
  • Multi-Provider Support: Seamless integration with OpenAI, Anthropic, Google, and xAI
  • Streaming Responses: Real-time response streaming with progress indicators
  • Template System: Built-in templates for coding, analysis, and general use cases
  • File Operations: Read from files, save enhanced prompts, batch processing
  • Configuration Management: Secure API key storage with environment variable support
  • Error Recovery: Robust retry logic with exponential backoff
  • Beautiful CLI: Colorized output with progress indicators and clear formatting
  • Developer Tools: Verbose logging, testing utilities, and debugging features

developer-features

🐾 Examples

Basic Enhancement

# Simple prompt enhancement
promptboost "Create a React component"

# Use specific provider
promptboost "Fix my code" --provider anthropic

Advanced Usage

# Streaming with verbose output
promptboost "Explain quantum computing" --stream --verbose

# File operations
promptboost --file prompt.txt --output enhanced.txt

# Configuration and testing
promptboost config set --provider openai --key sk-your-key
promptboost test --provider anthropic

Model Validation

# Set valid model (auto-validated)
promptboost config set --provider openai --model gpt-4o-mini
βœ“ Configuration updated for provider: openai

# Try invalid model (caught by validation)
promptboost config set --provider openai --model invalid-model
βœ— Invalid model configuration:
  β€’ Model 'invalid-model' is not valid for provider 'openai'
  β€’ Valid models for openai: gpt-4o, gpt-4o-mini, gpt-4-turbo...

πŸ“¦ Installation

npm install -g promptboost

From Source

# Clone the repository
git clone https://github.com/galfrevn/promptboost.git
cd promptboost

# Install dependencies
bun install

# Build and link
bun run build
npm link

Prerequisites

  • Node.js 18+ or Bun
  • API keys for at least one supported provider

πŸš€ Quick Start

1. Install PromptBoost

npm install -g promptboost

2. Configure a Provider

# OpenAI (recommended for beginners)
promptboost config set --provider openai --key sk-your-openai-key

# Anthropic (great for coding)
promptboost config set --provider anthropic --key ant-your-anthropic-key

# Google (multimodal capabilities)
promptboost config set --provider google --key AIza-your-google-key

# xAI Grok (real-time information)
promptboost config set --provider grok --key xai-your-grok-key

3. Enhance Your First Prompt

promptboost "Create a simple web scraper in Python"

4. Explore Advanced Features

# Use streaming for real-time responses
promptboost "Explain machine learning" --stream

# Save results to file
promptboost "Write API documentation" --output docs.md

πŸ”‘ Configuration

# Configure providers with automatic validation
promptboost config set --provider openai --key sk-your-openai-key
promptboost config set --provider anthropic --key ant-your-anthropic-key
promptboost config set --provider google --key AIza-your-google-key
promptboost config set --provider grok --key xai-your-grok-key

# Set specific models (with validation)
promptboost config set --provider openai --model gpt-4o-mini
promptboost config set --provider anthropic --model claude-3-5-sonnet-20241022

# Set default provider
promptboost config set --default openai

# View configuration
promptboost config show

Method 2: Environment Variables

export PROMPTBOOST_OPENAI_KEY="sk-your-openai-key"
export PROMPTBOOST_ANTHROPIC_KEY="ant-your-anthropic-key"
export PROMPTBOOST_GOOGLE_KEY="AIza-your-google-key"
export PROMPTBOOST_GROK_KEY="xai-your-grok-key"
export PROMPTBOOST_DEFAULT_PROVIDER="openai"

Method 3: Configuration File

Configuration is stored in ~/.promptboost/config.json:

{
  "version": "1.0.0",
  "defaultProvider": "openai",
  "providers": {
    "openai": {
      "name": "openai",
      "apiKey": "sk-your-key-here",
      "model": "gpt-4o-mini",
      "baseUrl": "https://api.openai.com/v1",
      "enabled": true
    },
    "anthropic": {
      "name": "anthropic",
      "apiKey": "ant-your-key-here",
      "model": "claude-3-5-sonnet-20241022",
      "baseUrl": "https://api.anthropic.com",
      "enabled": true
    }
  }
}

Model Validation

PromptBoost automatically validates model names and streaming compatibility:

# βœ… Valid model names are accepted
promptboost config set --provider openai --model gpt-4o-mini
βœ“ Configuration updated for provider: openai

# ❌ Invalid models are rejected with helpful suggestions
promptboost config set --provider openai --model gpt-5
βœ— Invalid model configuration:
  β€’ Model 'gpt-5' is not valid for provider 'openai'
  β€’ Valid models for openai: gpt-4o, gpt-4o-mini, gpt-4-turbo...

# ⚠️ Special models show warnings
promptboost config set --provider openai --model o1-mini
⚠️ Note: o1-mini is a reasoning model with longer response times.
βœ“ Configuration updated for provider: openai

πŸ”§ Development

Project Structure

promptboost/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ commands/              # CLI command implementations
β”‚   β”‚   β”œβ”€β”€ enhance.ts         # Main enhancement command
β”‚   β”‚   β”œβ”€β”€ config.ts          # Configuration management
β”‚   β”‚   └── test.ts            # Provider testing
β”‚   β”œβ”€β”€ providers/             # AI provider implementations
β”‚   β”‚   β”œβ”€β”€ base.ts            # Abstract base provider
β”‚   β”‚   β”œβ”€β”€ openai.ts          # OpenAI integration
β”‚   β”‚   β”œβ”€β”€ anthropic.ts       # Anthropic Claude integration
β”‚   β”‚   β”œβ”€β”€ grok.ts            # xAI Grok integration
β”‚   β”‚   └── google.ts          # Google Gemini integration
β”‚   β”œβ”€β”€ utils/                 # Utility modules
β”‚   β”‚   β”œβ”€β”€ config.ts          # Configuration management
β”‚   β”‚   β”œβ”€β”€ logger.ts          # Logging utility
β”‚   β”‚   β”œβ”€β”€ validation.ts      # Input validation
β”‚   β”‚   └── model-validation.ts # AI model validation
β”‚   β”œβ”€β”€ types/                 # TypeScript type definitions
β”‚   β”‚   └── index.ts           # All interface definitions
β”‚   └── index.ts               # Main CLI entry point
β”œβ”€β”€ examples/                  # Usage examples
└── tests/                     # Test files

Setup

Fork main branch into your personal repository. Clone it to local computer. Install node modules. Before starting development, you should check if there are any errors.

$ git clone https://github.com/{your-personal-repo}/promptboost.git
$ cd promptboost
$ bun install
$ bun run build
$ bun run test

Development Commands

# Start development mode
bun run dev

# Type checking
bun run typecheck

# Linting and formatting
bun run lint

# Build for production
bun run build

# Run tests
bun run test

Code Style

This project uses Biome for linting and formatting:

  • Indentation: 2 spaces
  • Quotes: Single quotes for JavaScript, double for JSON
  • Semicolons: Always required
  • Line width: 100 characters

Adding New Providers

To add a new AI provider:

  1. Create Provider Class:

    // src/providers/newprovider.ts
    export class NewProvider extends BaseProvider {
      async enhance(request: EnhanceRequest): Promise<EnhanceResponse> {
        // Implementation
      }
    }
  2. Update Provider Factory:

    // src/providers/index.ts
    case 'newprovider':
      return new NewProvider(provider);
  3. Add Model Validation:

    // src/utils/model-validation.ts
    newprovider: {
      'model-name': { streaming: true },
      // ... other models
    }

Testing

# Test all providers
bun run test

# Test specific functionality
promptboost test --provider openai --verbose

# Manual testing workflow
promptboost config set --provider openai --key test-key
promptboost "test prompt" --verbose

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes
  4. Run tests: bun run test
  5. Run linting: bun run lint
  6. Commit changes: git commit -m 'Add amazing feature'
  7. Push to branch: git push origin feature/amazing-feature
  8. Open a Pull Request

πŸ“„ License

MIT License - see LICENSE file for details.

πŸ™ Acknowledgments


Built with ❀️ using TypeScript and Bun