# mise tool configuration # https://mise.jdx.dev/ [tools] # Python 3.11 is required for embedded FreeCAD mode - FreeCAD bundles libpython3.11 # Using a different Python version causes ABI incompatibility crashes python = "3.11" # Pin tool versions for reproducible CI builds # Update these periodically with: mise upgrade uv = "0.9" # uv package manager just = "1.43" # task runner pre-commit = "4.5" # pre-commit hooks github-cli = "2.74" # GitHub CLI for PR/issue management # Security and code quality tools trivy = "0.62" # container vulnerability scanner gitleaks = "8.30" # secrets scanner hadolint = "2.14" # Dockerfile linter shellcheck = "0.11" # shell script linter actionlint = "1.7" # GitHub Actions linter # Markdown tools markdownlint-cli2 = "0.20" # markdown linter [env] # FreeCAD connection mode: # "xmlrpc" - XML-RPC protocol (recommended, works on all platforms) # "socket" - JSON-RPC socket protocol (alternative) # "embedded" - In-process FreeCAD (Linux only, crashes on macOS/Windows) FREECAD_MODE = "xmlrpc" # Path to FreeCAD's lib directory (for embedded mode only) # macOS: "/Applications/FreeCAD.app/Contents/Resources/lib" # Linux: "/usr/lib/freecad/lib" # Windows: "C:/Program Files/FreeCAD/lib" # FREECAD_PATH = "" # Connection settings (for xmlrpc and socket modes) FREECAD_SOCKET_HOST = "localhost" FREECAD_SOCKET_PORT = "9876" FREECAD_XMLRPC_PORT = "9875" # Execution limits FREECAD_TIMEOUT_MS = "30000" FREECAD_MAX_OUTPUT_SIZE = "1000000" [settings] experimental = true