-
Notifications
You must be signed in to change notification settings - Fork 0
Contributing and License
Maestro is fair-code / open-core: the whole platform is source-available and free to self-host, revenue comes from the hosted subscription. This page covers the license, the contribution terms, and the coding standards CI enforces.
The same model as n8n. Copyright © 2026 Yiğit Erdoğan (Maestro).
- You may use, copy, distribute, and modify Maestro for internal business, personal, or non-commercial use; you may redistribute it free of charge for non-commercial purposes.
- You may not offer Maestro (or a modified version) to third parties as a hosted/managed service that exposes a substantial set of its features — i.e. no competing "Maestro Cloud." You may not remove license/copyright notices.
- It is source-available, not OSI-approved. No MIT/Apache grant.
- Versions published before 2026-07-11 were Apache-2.0 and remain so under that license — a fork of those versions keeps Apache rights (irreversible). The name and logo are trademarks not covered by the license.
- SPDX id:
LicenseRef-SustainableUse-1.0(backend/pyproject.toml); the frontend usesSEE LICENSE IN LICENSE.
The real payment-processor adapter (iyzico/Stripe/etc.), cloud/tenant infrastructure, and operational deploy scripts. The PaymentProvider adapter pattern already supports this split — the public repo ships only MockPaymentProvider, and existing code doesn't change when a real one is added. See Billing-and-Quota.
There is no separate CLA signature or DCO sign-off — opening a PR constitutes acceptance. By submitting a pull request you agree that:
- your contribution is licensed under the Sustainable Use License;
- you grant the maintainer the right to relicense it (including commercial licensing for the hosted service or a future project relicense);
- you have the right to submit it.
A formal CLA bot is intentionally not used yet; it may be added if external contribution volume grows.
Run the exact checks CI runs (see Development-Setup):
Backend (backend/): ruff check ., ruff format --check ., pytest.
Frontend (frontend/): npm run lint, npm run type-check, npm run build.
The frontend has no test runner — don't add npm test without an issue first.
- Language: all code, identifiers, comments, and commit messages in English. User-facing UI strings may be localized.
-
Python: 3.11+, mandatory type annotations, Ruff (88 cols, rules
E,W,F,I,UP,B), all endpointsasync, Pydantic v2. Business logic inservices/; thin route handlers. -
TypeScript:
strict: true, neverany(useunknown), functional components, Zustand for state, Tailwind for styling. -
No magic numbers/strings — constants live in
constants.py/constants.ts. - Adapter pattern for every external integration (LLM, payment, email) — add a new adapter, never modify existing ones. See LLM-Providers-and-BYOK.
- Migrations via Alembic only — never hand-run SQL.
-
Tests: pytest + pytest-asyncio (
asyncio_mode="auto"), flatbackend/tests/test_*.py, run on SQLite (no Docker).
-
Conventional Commits —
feat/fix/refactor/test/docs/chore(+build/ci/perf). Imperative subject under 72 chars. PR titles are lint-enforced (pr-lint.yml).
- Never commit secrets or
.envfiles. - Never log, store in plaintext, or return API keys.
- Never bypass Alembic.
- Always bound agent loops (iteration + review + timeout limits).
- Never allow cross-user data leakage.
See Security for the reasoning behind these.
The public repo is a fully working platform — auth, orchestration, BYOK, RAG, marketplace, mock payments, and a zero-cost local flow via Ollama. Revenue is hosted subscriptions (Billing-and-Quota); enterprise features (SSO, team workspaces, audit logs) may be added open-core later. Self-hosting on your own machine is — and stays — free, including the local Ollama scenario a hosted instance can't offer.
Maestro — source repository · Sustainable Use License v1.0 · This wiki documents the current code; where it differs from README.md, the wiki is authoritative.
Overview
Backend
- Backend-Reference
- API-Reference
- Database-Schema
- LLM-Providers-and-BYOK
- Security
- Billing-and-Quota
- RAG-and-Memory
- Realtime-and-WebSockets
Frontend
Operations
Project