Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 20 additions & 8 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,24 +1,36 @@
.PHONY: help venv validate test clean
.PHONY: help venv validate test clean up down logs

help:
@echo "Available targets:"
@echo " make venv - Create Python virtual environment and install dependencies"
@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
14 changes: 14 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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).
17 changes: 17 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -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"]