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
-
Set up your API key:
export OPENROUTER_API_KEY="your_api_key_here"
-
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"
-
Add your project specification as markdown files in the same directory
-
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.
Metadata
Release files for bootkicker 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| bootkicker-0.1.1.tar.gz | 7.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| bootkicker-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 15.8 kB
Release files / bootkicker-0.1.1.tar.gz
| Download URL | bootkicker-0.1.1.tar.gz |
|---|---|
| Size | 7.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ee65b1804826ac930e552c80393a32d8b0671a2625c3e682d1a2198318c8827b
|
|
BLAKE2b-256 checksum How to use checksums |
54cb33108bd289437f95848c3ee9225f2f455f83c91b261d2ad4264f2bfe71c0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.11
|
Release files / bootkicker-0.1.1-py3-none-any.whl
| Download URL | bootkicker-0.1.1-py3-none-any.whl |
|---|---|
| Size | 8.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
473da96fca6b54493dfbbf8b763cfaaba25afbf3d4b66ffbc68fddbc302b7324
|
|
BLAKE2b-256 checksum How to use checksums |
58083f1652e7dfa0cdff0784965ece62874c7b29df71b4ddc2a159ac916696b5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.11
|