diff --git a/Makefile b/Makefile index 4e4f53c4..42362ef8 100644 --- a/Makefile +++ b/Makefile @@ -12,12 +12,7 @@ setup: @echo "==> Installing free offline TTS (Piper)..." pip install piper-tts || echo " [skip] piper-tts install failed — TTS will use cloud providers instead" @echo "" - @if [ ! -f .env ]; then \ - cp .env.example .env; \ - echo "==> Created .env from .env.example — add your API keys there."; \ - else \ - echo "==> .env already exists — skipping."; \ - fi + python -c "import shutil, os; e=os.path.exists('.env'); shutil.copy('.env.example','.env') if not e else None; print('==> Created .env from .env.example — add your API keys there.' if not e else '==> .env already exists — skipping.')" @echo "" @echo "Done! Open this project in your AI coding assistant and start creating." @echo " Optional: add API keys to .env to unlock cloud providers." @@ -38,10 +33,10 @@ install-gpu: # ---- Testing ---- test: - pytest tests/ -v + python -m pytest tests/ -v test-contracts: - pytest tests/contracts/ -v + python -m pytest tests/contracts/ -v # ---- Utilities ---- @@ -61,7 +56,7 @@ lint: python -m py_compile tools/base_tool.py python -m py_compile tools/tool_registry.py python -m py_compile tools/cost_tracker.py + python -m py_compile tools/composition_validator.py clean: - find . -type d -name __pycache__ -exec rm -rf {} + - find . -type f -name "*.pyc" -delete + python -c "import pathlib, shutil; [shutil.rmtree(p) for p in pathlib.Path('.').rglob('__pycache__')]; [p.unlink() for p in pathlib.Path('.').rglob('*.pyc')]" diff --git a/README.md b/README.md index ef4ee78a..81a2daf5 100644 --- a/README.md +++ b/README.md @@ -445,6 +445,8 @@ OpenMontage works with any AI coding assistant that can read files and execute P All platform files point to the shared `AGENT_GUIDE.md` (operating guide and agent contract) and `PROJECT_CONTEXT.md` (architecture reference). +> **Coming soon:** Local LLM support via **Ollama** and **LM Studio** — run the full production pipeline without any cloud LLM. + --- ## Contributing