Creatory is a creator-first open-source framework for multi-agent content production. This guide defines contribution rules for a stable and extensible ecosystem.
- Creator-first: optimize creator control, speed, and output quality.
- Agent-centric: tools are orchestrated by agents, not isolated scripts.
- Human-in-the-loop: critical creative outputs require review checkpoints.
- Extensible by design: add capabilities via MCP or workflow templates.
- Production quality: typed schemas, tests, and reproducible runtime.
creatory_core/: backend runtime and APIscreatory_studio/: frontend studiomcp/: tool protocol registry + server conventionsworkflows/: shareable template recipes + schemasinfra/: docker compose and deployment assetsdocs/: product/architecture specs
cp .env.example .env
python3 -m venv .venv
source .venv/bin/activate
make install
make migrate
make testFrontend:
make frontend-install
make frontend-dev- Branches:
feat/<name>,fix/<name>,docs/<name>,refactor/<name>,test/<name> - Commits: Conventional Commits (
feat:,fix:,docs:,refactor:,test:)
Each PR should include:
- Problem statement
- Proposed solution and scope
- Testing evidence
- Backward compatibility notes
- Security/privacy impact (if external APIs/tools are involved)
Keep PRs small and focused.
- Add provider specs, routing behavior, and connection checks in
creatory_core/providers/. - Keep provider logic vendor-agnostic and deterministic.
- Avoid hard-coding API keys or tenant-specific endpoints.
- Add or document tool manifests under
mcp/registry/. - New tool contracts must define input/output schema and error shape.
- For runtime integration, ensure each tool is traceable through invocation logs.
- Add YAML templates in
workflows/templates/. - Validate shape against
workflows/schemas/workflow_template.schema.json. - Include at least one HITL node for non-trivial generation flows.
- Place source under
creatory_studio/src/. - Keep dual-stream UX behavior consistent.
- Preserve API typing in
creatory_studio/src/lib/types.ts.
- Backend:
ruff check creatory_core testsblack --check creatory_core tests
- Frontend:
cd creatory_studio && npm run lintcd creatory_studio && npm run build
- Tests:
pytest
Any schema change must include:
- Alembic revision (
alembic/versions/) - SQL migration update (
sql/migrations/) - Upgrade/downgrade notes in PR description
- Never commit secrets or credentials.
- Mask sensitive payloads in logs and traces.
- Document external data flow when adding provider/tool integrations.
Open an RFC issue before major changes:
- Breaking API contracts
- Orchestrator state model changes
- Workflow schema changes
- Provider routing policy changes
A contribution is done when:
- Code, docs, and schema are aligned
- CI-local checks pass
- Review feedback is addressed
- Another contributor can run and validate without private context