Contributing to JAEGIS
Thank you for your interest in contributing to JAEGIS! This document provides guidelines and information for contributors.
π€ How to Contribute
Reporting Issues
Search existing issues first to avoid duplicates
Use the issue template when creating new issues
Provide detailed information including:
Steps to reproduce
Expected vs actual behavior
Environment details (OS, Node.js version, Python version)
Error messages and logs
Submitting Pull Requests
Fork the repository and create a feature branch
Follow the coding standards outlined below
Write tests for new functionality
Update documentation as needed
Submit a pull request with a clear description
ποΈ Development Setup
Prerequisites
Node.js 18+
Python 3.8+
Git
Local Development
π Coding Standards
JavaScript/Node.js
Use ES6+ features
Follow Standard JS style guide
Use meaningful variable names
Add JSDoc comments for functions
Maximum line length: 100 characters
Python
Follow PEP 8 style guide
Use type hints for function signatures
Add docstrings for classes and functions
Maximum line length: 88 characters (Black formatter)
Git Commit Messages
Use conventional commits format:
Types:
feat: New featurefix: Bug fixdocs: Documentation changesstyle: Code style changesrefactor: Code refactoringtest: Test changeschore: Build/tooling changes
Examples:
π§ͺ Testing
Running Tests
Writing Tests
Unit tests for individual functions
Integration tests for component interactions
End-to-end tests for complete workflows
Minimum 80% code coverage
Test Structure
π Project Structure
π― Areas for Contribution
High Priority
Command processing optimization
GitHub integration improvements
Error handling enhancements
Performance optimizations
Documentation improvements
Medium Priority
New command implementations
UI/UX improvements
Additional integrations
Monitoring and analytics
Security enhancements
Low Priority
Code refactoring
Test coverage improvements
Build process optimization
Developer tooling
π Bug Reports
When reporting bugs, include:
Clear description of the issue
Steps to reproduce the problem
Expected behavior vs actual behavior
Environment information:
Operating system
Node.js version
Python version
JAEGIS version
Error messages and stack traces
Screenshots if applicable
π‘ Feature Requests
When requesting features:
Describe the use case and problem it solves
Provide examples of how it would work
Consider implementation complexity
Check existing issues for similar requests
π Documentation
Types of Documentation
API documentation - JSDoc/Sphinx generated
User guides - Markdown in
/docsCode comments - Inline documentation
README files - Component overviews
Documentation Standards
Use clear, concise language
Include code examples
Provide step-by-step instructions
Keep documentation up-to-date
π Release Process
Version Numbering
We use Semantic Versioning (SemVer):
MAJOR.MINOR.PATCH
MAJOR: Breaking changes
MINOR: New features (backward compatible)
PATCH: Bug fixes (backward compatible)
Release Checklist
Update version numbers
Update CHANGELOG.md
Run full test suite
Update documentation
Create release notes
Tag release in Git
Publish to npm/PyPI
π Recognition
Contributors will be:
Listed in CONTRIBUTORS.md
Mentioned in release notes
Credited in documentation
π Getting Help
GitHub Issues - Bug reports and feature requests
GitHub Discussions - General questions and ideas
Discord - Real-time chat and support
Email - use.manus.ai@gmail.com
π License
By contributing to JAEGIS, you agree that your contributions will be licensed under the MIT License.
Thank you for contributing to JAEGIS! π
Last updated