🚀 Comprehensive automation, testing, and deployment tools for the LLMSpell project
🔗 Navigation: ← Project Root | Developer Guide | Contributing
scripts/
├── 📊 quality/ # Code quality & CI/CD tools
├── 🧪 testing/ # Test execution & coverage
├── 🛠️ utilities/ # Helper scripts & tools
└── 🚢 fleet/ # Fleet orchestration & monitoring
| Category | Purpose | Key Scripts | Documentation |
|---|---|---|---|
| Quality | Code standards & CI | quality-check-*.sh, ci-test.sh |
📖 Quality README |
| Testing | Test execution | test-by-tag.sh, test-coverage.sh |
📖 Testing README |
| Utilities | Helper tools | llmspell-easy.sh, backup_maintenance.sh |
📖 Utilities README |
| Fleet | Fleet management | llmspell-fleet, fleet_dashboard.py |
📖 Fleet README |
# Quick quality check before commit
./quality/quality-check-fast.sh
# Run specific tests
./testing/test-by-tag.sh unit
# Find relevant examples
./utilities/find-examples.sh agent
# Start local kernel fleet
./fleet/llmspell-fleet start 3# Full CI validation
./quality/ci-test.sh full
# Generate coverage reports
./testing/test-coverage.sh all html
# Manage backups
./utilities/backup_maintenance.sh
# Monitor fleet health
./fleet/fleet_dashboard.py# Easy launcher (zero config)
./utilities/llmspell-easy.sh
# Find examples by complexity
./utilities/find-examples.sh --tag beginnerPurpose: Maintain code quality, run CI/CD pipelines, validate applications
quality-check-minimal.sh- Format & lint (~5s)quality-check-fast.sh- Add tests & docs (~1min)quality-check.sh- Full validation (~5min)ci-test.sh- CI pipeline runnervalidate_applications.py- Application validation
cd quality
# Pre-commit check
./quality-check-minimal.sh
# Pre-push validation
./quality-check-fast.sh
# Full PR validation
./quality-check.shApplication Test Matrix:
| Layer | Agents | Applications | Runtime | Complexity |
|---|---|---|---|---|
| 1 - Universal | 2-3 | file-organizer, research-collector | <30s | Basic agents |
| 2 - Power User | 4 | content-creator | ~30s | Conditional workflows |
| 3 - Business | 5-7 | personal-assistant, communication-manager, code-review-assistant | 30-60s | State persistence |
| 4 - Professional | 8 | process-orchestrator, knowledge-base | 60-90s | Complex orchestration, RAG |
| 5 - Expert | 21 | webapp-creator | 8-10min | Full app generation |
Current Status: ✅ 9/9 applications passing (100% success rate)
Purpose: Execute tests, analyze coverage, manage test suites
test-by-tag.sh- Run tests by categorytest-coverage.sh- Generate coverage reportsrun-llmspell-tests.sh- Comprehensive runnerlist-tests-by-tag.sh- Discover test categoriestest-multiple-tags.sh- Batch test execution
unit- Library unit tests onlyintegration- Integration tests onlytool- Tests in llmspell-tools packageagent- Tests in llmspell-agents packageworkflow- Workflow pattern testsbridge- Language bridge testsfast- Fast unit testsslow- Ignored tests marked as slowexternal- Tests requiring external servicesall- All tests including ignored
cd testing
# Run unit tests
./test-by-tag.sh unit
# Generate coverage
./test-coverage.sh all html
# Run full test suite
./run-llmspell-tests.sh comprehensivePurpose: Helper tools for users, developers, and administrators
llmspell-easy.sh- User-friendly launcherfind-examples.sh- Example discoverybackup_maintenance.sh- Backup automationtest_backup_integrity.sh- Backup validation
- Auto-detection of llmspell binary
- API key setup guidance
- Example discovery by tag/feature
- Automated backup management
- Integrity validation
cd utilities
# Launch LLMSpell easily
./llmspell-easy.sh
# Find examples
./find-examples.sh --feature workflow
# Create backup
./backup_maintenance.sh --backup-only→ Full Utilities Documentation
Purpose: Kernel fleet management, monitoring, and orchestration
llmspell-fleet- Fleet management CLIfleet_manager.py- Python fleet controllerfleet_dashboard.py- Real-time monitoringlog_aggregator.py- Centralized logging- Docker support - Container orchestration
- Prometheus metrics - Monitoring integration
- Multi-kernel orchestration - Manage 1-100+ kernels
- Resource monitoring - CPU, memory, connections
- Health checks - Automatic recovery
- Log aggregation - Centralized analysis
- Docker deployment - Production-ready containers
- Prometheus export - Metrics integration
cd fleet
# Start fleet
./llmspell-fleet start 3
# Monitor fleet
python3 fleet_dashboard.py
# View aggregated logs
python3 log_aggregator.py tail
# Docker deployment
./docker-fleet.sh up# 1. Write code
# 2. Format and lint
scripts/quality/quality-check-minimal.sh
# 3. Run tests
scripts/testing/test-by-tag.sh unit
# 4. Full validation before PR
scripts/quality/quality-check.sh# Minimal checks (PR draft)
TEST_LEVEL=minimal scripts/quality/ci-test.sh
# Fast checks (PR ready)
TEST_LEVEL=fast scripts/quality/ci-test.sh
# Full validation (merge)
TEST_LEVEL=full scripts/quality/ci-test.sh
# Expensive tests (weekly)
RUN_EXPENSIVE_TESTS=1 scripts/quality/ci-test.sh# 1. Create backup
scripts/utilities/backup_maintenance.sh
# 2. Deploy fleet
scripts/fleet/docker-fleet.sh up
# 3. Monitor health
scripts/fleet/fleet_dashboard.py
# 4. Check logs
scripts/fleet/log_aggregator.py monitorFor New Contributors:
utilities/llmspell-easy.sh --setuputilities/find-examples.sh --tag beginnertesting/test-by-tag.sh unit
For Regular Development:
quality/quality-check-minimal.sh(pre-commit)testing/test-by-tag.sh <relevant-tag>(during development)quality/quality-check-fast.sh(pre-push)
For Releases:
quality/quality-check.sh(full validation)testing/test-coverage.sh all(coverage analysis)quality/validate_applications.py(application tests)
All scripts enforce these targets:
- Tool initialization: <10ms
- State operations: <5ms write, <1ms read
- Test coverage: >90% for units, >70% overall
- Zero warnings: Clean
cargo clippy - Documentation: >95% API coverage
SKIP_SLOW_TESTS=true- Skip slow/external testsRUN_EXPENSIVE_TESTS=1- Enable webapp-creator testTEST_LEVEL=<level>- CI test level (minimal/fast/full)REPORT_DIR=<path>- Test report directory
FLEET_DIR=<path>- Fleet data directoryMAX_KERNELS=<n>- Maximum kernel limitPROMETHEUS_PORT=<port>- Metrics export port
LLMSPELL_BIN=<path>- Override llmspell binaryRUST_LOG=<level>- Logging levelVERBOSE=true- Verbose output
Main Test Workflow (.github/workflows/test.yml)
- Runs on: Pull requests, pushes to main
- Cross-platform: Linux, macOS, Windows
- Performance benchmarking
- Security audit
Scheduled Tests (.github/workflows/scheduled-tests.yml)
- Daily: Full test suite (2 AM UTC)
- Weekly: Expensive tests (Sunday 3 AM UTC)
- Coverage analysis with thresholds
- Performance regression detection
CI generates multiple report types:
- HTML Report - Visual test results
- JSON Report - Machine-readable data
- Coverage Report - Code coverage analysis
- Performance Report - Benchmark comparisons
All reports uploaded as GitHub Actions artifacts.
To contribute new scripts:
- Choose category: quality, testing, utilities, or fleet
- Follow conventions: Descriptive names with hyphens
- Add documentation: Script header, usage examples
- Include error handling: Proper exit codes, logging
- Update README: Add to category README
- Test platforms: macOS and Linux compatibility
- Submit PR: With usage examples
See CONTRIBUTING.md for detailed guidelines.
| Category | Scripts | Status | Last Updated |
|---|---|---|---|
| Quality | 5 | ✅ Active | 2024-09-27 |
| Testing | 5 | ✅ Active | 2024-09-27 |
| Utilities | 4 | ✅ Active | 2024-09-27 |
| Fleet | 12+ | ✅ Active | 2024-09-27 |
Need help? Check the individual category READMEs or open an issue in the project repository.