Skip to main content

CLI tool for AI-powered project specification review

Project description

Bootkicker - Project Specification Review Tool

An AI-powered CLI tool that analyzes project specifications and provides intelligent improvement suggestions using multiple Large Language Models.

Features

  • 🤖 Multi-Model Analysis: Leverages multiple LLMs for comprehensive reviews
  • Parallel Processing: Calls multiple models simultaneously for faster results
  • 🔄 Robust Error Handling: Automatic retries and graceful failure handling
  • 📊 Progress Tracking: Real-time progress bars for long-running operations
  • 📝 Markdown Support: Processes and merges multiple markdown specification files
  • ⚙️ Configurable: YAML-based configuration for model selection and settings
  • 🔑 OpenRouter Integration: Uses OpenRouter API for access to various LLM providers

Installation

From PyPI (Recommended)

pip install bootkicker

From Source

git clone <repository-url>
cd bootkicker
pip install -e .

Quick Start

  1. Set up your API key:

    export OPENROUTER_API_KEY="your_api_key_here"
    
  2. Create a configuration file (.review.conf.yml) in your project directory:

    models:
      - "openai/gpt-4"
      - "anthropic/claude-3-sonnet"
      - "google/gemini-pro"
      - "meta-llama/llama-2-70b-chat"
    
    summarizer: "google/gemini-2.5-flash"
    
  3. Add your project specification as markdown files in the same directory

  4. Run the review:

    bootkicker /path/to/your/project/directory
    

Configuration

Configuration File Format

Create a .review.conf.yml file in your project directory:

# Required: List of models to use for review
models:
  - "openai/gpt-4"
  - "anthropic/claude-3-sonnet"
  - "google/gemini-pro"
  - "deepseek/deepseek-chat"

# Optional: Model for final summarization (default: google/gemini-2.5-flash)
summarizer: "google/gemini-2.5-flash"

Environment Variables

  • OPENROUTER_API_KEY: Your OpenRouter API key (required)

Supported File Types

  • All .md (Markdown) files in the specified directory
  • Files are processed in alphabetical order
  • Content is merged with proper headers and separators

Usage Examples

Basic Usage

bootkicker ./my-project

With Custom Directory

bootkicker /path/to/project/specs

Example Output

# Project Review Results

Based on analysis from 4 model(s):

## Review 1

[Detailed feedback from first model...]

---

## Review 2

[Detailed feedback from second model...]

---

[Final summarized recommendations...]

Error Handling

The tool provides comprehensive error handling:

  • Missing configuration: Clear error with file path
  • Invalid YAML: Detailed parsing error information
  • Missing API key: Environment variable guidance
  • API failures: Automatic retries with progress reporting
  • No markdown files: Helpful error message
  • Network issues: Graceful degradation and fallback

Development

Requirements

  • Python 3.12+
  • OpenRouter API key
  • Dependencies: openai, langchain, tqdm, pyyaml, aiohttp

Testing

Run with the provided test configuration:

export OPENROUTER_API_KEY="your_key"
bootkicker test

License

MIT License - see LICENSE file for details.

Contributing

Contributions are welcome! Please feel free to submit issues and enhancement requests.

Changelog

See CHANGELOG.md for version history and changes.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bootkicker-0.1.1.tar.gz (7.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bootkicker-0.1.1-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

Details for the file bootkicker-0.1.1.tar.gz.

File metadata

  • Download URL: bootkicker-0.1.1.tar.gz
  • Upload date:
  • Size: 7.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for bootkicker-0.1.1.tar.gz
Algorithm Hash digest
SHA256 ee65b1804826ac930e552c80393a32d8b0671a2625c3e682d1a2198318c8827b
MD5 0e7d7c28dac8b144719cf678ec328a20
BLAKE2b-256 54cb33108bd289437f95848c3ee9225f2f455f83c91b261d2ad4264f2bfe71c0

See more details on using hashes here.

File details

Details for the file bootkicker-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: bootkicker-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 8.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for bootkicker-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 473da96fca6b54493dfbbf8b763cfaaba25afbf3d4b66ffbc68fddbc302b7324
MD5 8135871a0389eb5ed548d8a2ffd675de
BLAKE2b-256 58083f1652e7dfa0cdff0784965ece62874c7b29df71b4ddc2a159ac916696b5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page