98 lines
2.7 KiB
YAML
98 lines
2.7 KiB
YAML
# CmdForge - 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 cmdforge list
|
|
#
|
|
# This is a standalone project with no external dependencies.
|
|
|
|
version: '3.8'
|
|
|
|
services:
|
|
# ============================================================================
|
|
# Main CLI
|
|
# ============================================================================
|
|
cli:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
image: cmdforge:latest
|
|
volumes:
|
|
- cmdforge-data:/root/.cmdforge
|
|
command: ["cmdforge", "--help"]
|
|
|
|
# ============================================================================
|
|
# Tests
|
|
# ============================================================================
|
|
test:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
image: cmdforge:latest
|
|
volumes:
|
|
- cmdforge-data:/root/.cmdforge
|
|
command: ["pytest", "-v"]
|
|
|
|
# ============================================================================
|
|
# Interactive Shell
|
|
# ============================================================================
|
|
shell:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
image: cmdforge:latest
|
|
volumes:
|
|
- cmdforge-data:/root/.cmdforge
|
|
command: ["/bin/bash"]
|
|
stdin_open: true
|
|
tty: true
|
|
|
|
# ============================================================================
|
|
# Setup (with display for browser-based auth)
|
|
# ============================================================================
|
|
# Use this for installing providers that need browser authentication
|
|
# First run: xhost +local:docker
|
|
setup:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
image: cmdforge:latest
|
|
environment:
|
|
- DISPLAY=${DISPLAY:-:0}
|
|
volumes:
|
|
- cmdforge-data:/root/.cmdforge
|
|
- /tmp/.X11-unix:/tmp/.X11-unix:ro
|
|
command: ["/bin/bash"]
|
|
stdin_open: true
|
|
tty: true
|
|
network_mode: host
|
|
|
|
volumes:
|
|
cmdforge-data:
|
|
# Persists ~/.cmdforge between container runs
|
|
|
|
# ==============================================================================
|
|
# Usage Examples
|
|
# ==============================================================================
|
|
#
|
|
# Build:
|
|
# docker-compose build
|
|
#
|
|
# Run tests:
|
|
# docker-compose run --rm test
|
|
#
|
|
# Use CLI:
|
|
# docker-compose run --rm cli cmdforge list
|
|
# docker-compose run --rm cli cmdforge run hello-world
|
|
#
|
|
# Interactive shell:
|
|
# docker-compose run --rm shell
|
|
#
|
|
# Install providers (with browser auth):
|
|
# xhost +local:docker
|
|
# docker-compose run --rm setup
|
|
# # Inside container:
|
|
# cmdforge providers install # Interactive guide
|
|
# # Select a provider, it will install and open browser for auth
|