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...]

Algorithm Implementation

The tool implements a comprehensive review workflow:

✅ A1 - Configuration Reading

  • Reads .review.conf.yml from specified directory
  • Validates model list and configuration format
  • Supports optional summarizer model configuration

✅ A2 - Markdown File Processing

  • Discovers all .md files in alphabetical order
  • Validates file existence and readability
  • Fails gracefully if no markdown files found

✅ A3 - Content Merging

  • Merges multiple markdown files with proper headers
  • Preserves file structure and organization
  • Handles empty files gracefully

✅ A4 - Multi-Model Analysis

  • Uses OpenRouter API with environment-based authentication
  • Executes model calls in parallel for efficiency
  • Implements retry logic (2 retries per model)
  • Reports failures to stderr while continuing with successful models
  • Aggregates all successful responses into structured output

✅ A5 - Intelligent Summarization

  • Uses dedicated summarizer model for final synthesis
  • Organizes feedback by themes and priorities
  • Provides actionable recommendations
  • Falls back to aggregated review if summarization fails

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.0.tar.gz (7.9 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.0-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: bootkicker-0.1.0.tar.gz
  • Upload date:
  • Size: 7.9 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.0.tar.gz
Algorithm Hash digest
SHA256 50303a20640bd92f80844673a65e6d405f829efc6f09f11178f82de54392b883
MD5 dc2abf44c44da4a0a134e73ee7c139d7
BLAKE2b-256 c548d0310b610a87c3927cb3fc85adb2b6e99632e7c5c7e2e1a43256c5eb431d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bootkicker-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 8.6 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d3356e187bf40ef8b48bac035438672d142b833a2a71235a383ebb810e633151
MD5 07be3ee9a42e6694db5f8918c9339669
BLAKE2b-256 b0aa3ac6e850c741562cabbf59f18587d71c685e6da83f3748df5e97aed18407

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