# Contributing to Elen Thank you for your interest in contributing to Elen. This document covers the process for contributing to this project. ## Code of Conduct Be respectful, constructive, and collaborative. We're building infrastructure for agent decision-making — the bar for rigor applies to our community too. ## How to Contribute ### Reporting Issues - Use [GitHub Issues](https://github.com/LearningNodes/Elen/issues) for bugs and feature requests - Search existing issues before creating a new one - Use the provided issue templates ### Submitting Changes 1. Fork the repository 2. Create a feature branch from `main` 3. Make your changes with clear, descriptive commits 4. Ensure any new code has appropriate tests 5. Submit a Pull Request with a clear description of what and why ### What We're Looking For - Bug fixes and performance improvements - SDK improvements (TypeScript, Python) - New integrations (agent frameworks, MCP servers) - Documentation improvements - Test coverage improvements ## Contributor License Agreement (CLA) **All contributors must sign a CLA before their contributions can be merged.** The CLA grants Learning Nodes the right to: - Include your contributions in all versions of Elen (open-source and commercial) - Dual-license contributions (AGPL-3.0 for community, commercial license for enterprises) This is standard practice for open-core projects (used by GitLab, Supabase, and others). It ensures that Learning Nodes can: - Offer a hosted/managed version of Elen - Provide enterprise features built on top of the open-source core - Maintain a sustainable business that funds continued open-source development The CLA does **not** transfer your copyright — you retain full ownership of your contributions. ## Trademarks "Elen" and "Learning Nodes" are trademarks of Learning Nodes. Forks and derivative works may not use these names without written permission. ## Development Setup ```bash # Clone the repo git clone https://github.com/LearningNodes/Elen.git cd Elen # Install dependencies (when packages are available) npm install # Run tests npm test ``` ## Questions? Open a [Discussion](https://github.com/LearningNodes/Elen/discussions) or reach out to the maintainers.