smarttools/docker-compose.yml

71 lines
1.9 KiB
YAML

# SmartTools - AI-powered CLI command builder
#
# Quick Start:
# docker-compose build # Build the image
# docker-compose run --rm test # Run tests
# docker-compose run --rm cli smarttools list
#
# This is a standalone project with no external dependencies.
version: '3.8'
services:
# ============================================================================
# Main CLI
# ============================================================================
cli:
build:
context: .
dockerfile: Dockerfile
image: smarttools:latest
volumes:
- smarttools-data:/root/.smarttools
command: ["smarttools", "--help"]
# ============================================================================
# Tests
# ============================================================================
test:
build:
context: .
dockerfile: Dockerfile
image: smarttools:latest
volumes:
- smarttools-data:/root/.smarttools
command: ["pytest", "-v"]
# ============================================================================
# Interactive Shell
# ============================================================================
shell:
build:
context: .
dockerfile: Dockerfile
image: smarttools:latest
volumes:
- smarttools-data:/root/.smarttools
command: ["/bin/bash"]
stdin_open: true
tty: true
volumes:
smarttools-data:
# Persists ~/.smarttools between container runs
# ==============================================================================
# Usage Examples
# ==============================================================================
#
# Build:
# docker-compose build
#
# Run tests:
# docker-compose run --rm test
#
# Use CLI:
# docker-compose run --rm cli smarttools list
# docker-compose run --rm cli smarttools run hello-world
#
# Interactive shell:
# docker-compose run --rm shell