agent-orchestrator/CONTRIBUTING.md
Hibryda 5fadd1c022 feat: add agor-pro commercial plugin crate and dual-repo infrastructure
agor-pro Tauri 2.x plugin (feature-gated via --features pro),
commercial Tauri config overlay, asymmetric test setup,
CI workflows (leak-check, commercial-build, PAT health),
pre-push hook, Makefile, CONTRIBUTING/MAINTENANCE/LICENSE-COMMERCIAL.
2026-03-17 01:12:25 +01:00

3.3 KiB

Contributing to Agent Orchestrator

Dual-Repository Model

This project uses a dual-repo structure:

Repository License Purpose
DexterFromLab/agent-orchestrator MIT Community edition (open source)
agents-orchestrator/agents-orchestrator MIT + Commercial Commercial edition (this repo)

Community contributions target the community repo. Commercial development happens exclusively in this repo. The two share a common main branch that is synced periodically.

Community Contributions

All community contributions go to DexterFromLab/agent-orchestrator. Do not open PRs against this repo for community features.

Contributor License Agreement (CLA)

Every community contributor must sign the CLA before their first PR is merged. CLA signing is automated via CLA-assistant.io on the community repository. The bot will prompt you on your first PR.

The CLA grants the project maintainers a perpetual, irrevocable license to use your contribution in both the community and commercial editions.

Commercial Development

Commercial features are developed only in this repository. Access is restricted to authorized team members.

SPDX License Headers

All commercial source files must include the following header as the first line:

// SPDX-License-Identifier: LicenseRef-Commercial

For CSS/HTML files:

/* SPDX-License-Identifier: LicenseRef-Commercial */

For Rust files:

// SPDX-License-Identifier: LicenseRef-Commercial

Community-shared code uses the MIT identifier:

// SPDX-License-Identifier: MIT

Commercial Directories

Files under these paths are always commercial-only:

  • agor-pro/
  • src/lib/commercial/

Branch Model

Branch Purpose
main Shared with community edition. Never commit commercial code here.
commercial/* Commercial-only features. Merged into the commercial release branch.
feature/*, fix/* Standard development branches.

Sync Flow

The community repo's main is merged into this repo's main periodically:

community/main --> origin/main --> commercial branches

Use make sync to pull community changes. Never force-push main.

Commit Conventions

Use Conventional Commits:

type(scope): description

feat(dashboard): add team analytics panel
fix(sidecar): handle timeout on agent restart
docs(api): update webhook payload reference
chore(deps): bump tauri to 2.3.1

Types: feat, fix, docs, style, refactor, perf, test, chore, ci, build.

Breaking changes use type!: prefix or include BREAKING CHANGE: in the footer.

Testing

Both editions must pass their respective test suites before merge:

# Community tests (must always pass on main)
npm run test:all

# Commercial tests (includes commercial-specific tests)
npm run test:all:commercial

Do not merge a PR if either suite is red. If a community sync introduces failures in commercial tests, fix them before merging.

Code Review

  • All PRs require at least one approval.
  • Commercial PRs must be reviewed by a team member with commercial repo access.
  • Verify no commercial code leaks into community-bound branches before approving.