Project
Contributing
We welcome contributions! Please follow these guidelines.
How to Contribute
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes following our commit conventions
- Push the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Commit Conventions
We follow Conventional Commits:
<type>(<scope>): <description>
[optional body]
[optional footer(s)]Types:
feat— A new featurefix— A bug fixdocs— Documentation onlystyle— Formatting, no logic changerefactor— Code change, no new feature or fixperf— Performance improvementtest— Testschore— Build, tooling, etc.
Example:
feat(matrix): add retry support to agent logic
- Add optional retry config to AgentFactory
- Document in guides
Closes #123Changelog
Docs changelogs are generated from conventional commits. After merging product changes, run:
pnpm changelog:commitThis updates the Mintlify changelog pages for Agents, Evals, and Tracing (routed by commit scope). Version labels come from git release tags (@m4trix/<package>@x.y.z), not package.json. Use --fetch-tags if tags are only on the remote. Commits with [skip ci] so CI does not re-run.
Principles
From the project README:
- Event-driven — Components communicate via events; loose coupling
- Agent definition and orchestration decoupling — Define agents separately from how they are composed
- DX First — Developer experience matters
- TypeScript first — Full type inference
- Treeshaking friendly — Import only what you need
- Agnostic — No vendor lock-in; adapters for different runtimes
License
MIT. See the repository for the full license text.
Created by Stepsailor (Pascal Lohscheidt)