From f02ad89ca95203e1900bdb2bf7ddc5b8b4d1e4a6 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 25 Nov 2025 16:05:07 +0000 Subject: [PATCH 1/2] Initial plan From 4a99a4110d9076e5232038cebac92062034876d4 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 25 Nov 2025 16:11:15 +0000 Subject: [PATCH 2/2] chore(make): add dev shortcuts for docker and testing Co-authored-by: macroflux <8061740+macroflux@users.noreply.github.com> --- Makefile | 28 ++++++++++++++++++++-------- README.md | 14 ++++++++++++++ docker-compose.yml | 17 +++++++++++++++++ 3 files changed, 51 insertions(+), 8 deletions(-) create mode 100644 docker-compose.yml diff --git a/Makefile b/Makefile index 759379e..263ee51 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -.PHONY: help venv validate test clean +.PHONY: help venv validate test clean up down logs help: @echo "Available targets:" @@ -6,19 +6,31 @@ help: @echo " make validate - Run contract validator with golden checks" @echo " make test - Run all pytest tests" @echo " make clean - Remove virtual environment and cache files" + @echo " make up - Start services with docker compose" + @echo " make down - Stop services with docker compose" + @echo " make logs - Follow docker compose logs" venv: python -m venv .venv - .venv\Scripts\python.exe -m pip install --upgrade pip - .venv\Scripts\python.exe -m pip install jsonschema fastapi "pydantic>=2" uvicorn pytest httpx requests + .venv/bin/python -m pip install --upgrade pip + .venv/bin/python -m pip install jsonschema fastapi "pydantic>=2" uvicorn pytest httpx requests validate: - .venv\Scripts\python.exe packages\monad-contracts\validate_contracts.py --check-golden + python packages/monad-contracts/validate_contracts.py --check-golden test: - .venv\Scripts\python.exe -m pytest -q + pytest -q clean: - if exist .venv rmdir /s /q .venv - for /d /r %%i in (__pycache__) do @if exist "%%i" rmdir /s /q "%%i" - for /d /r %%i in (.pytest_cache) do @if exist "%%i" rmdir /s /q "%%i" + rm -rf .venv + find . -type d -name "__pycache__" -exec rm -rf {} + 2>/dev/null || true + find . -type d -name ".pytest_cache" -exec rm -rf {} + 2>/dev/null || true + +up: + docker compose up + +down: + docker compose down + +logs: + docker compose logs -f diff --git a/README.md b/README.md index a95d104..30da577 100644 --- a/README.md +++ b/README.md @@ -37,4 +37,18 @@ git checkout -b feat/orchestrator-skeleton - **Models:** tracked via registry with dataset + code SHA - **Releases:** semver; changelog automated +## Development + +The Makefile provides shortcuts for common development tasks: + +```bash +make up # Start services with docker compose +make down # Stop services with docker compose +make logs # Follow docker compose logs +make test # Run all pytest tests +make validate # Run contract validator with golden checks +make venv # Create Python virtual environment and install dependencies +make clean # Remove virtual environment and cache files +``` + See `docs/charter.md` for the Initialization Charter (v0.1). diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..d88cda6 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,17 @@ +services: + # Placeholder for MONAD services + # Add your service configurations here + # + # Example: + # orchestrator: + # build: ./services/orchestrator_ren + # ports: + # - "8000:8000" + # + # actuator-bus: + # build: ./services/actuator_bus + # ports: + # - "8001:8001" + placeholder: + image: alpine:latest + command: ["echo", "MONAD services placeholder"]