Thank you for your interest in contributing to JAEGIS (Just Another Enhanced General Intelligence System)! We welcome contributions from developers, researchers, and AI enthusiasts worldwide.
# Clone your fork
git clone https://github.com/yourusername/JAEGIS.git
cd JAEGIS
# Create virtual environment (Python)
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
pip install -r requirements-dev.txt
# OR for Node.js
npm install
npm install --save-dev
# Initialize development environment
python scripts/setup-dev.py
# OR
npm run setup:dev
# Copy example configuration
cp config/example.json config/local.json
# Set up environment variables
cp .env.example .env
# Edit .env with your settings
# Run tests
pytest tests/
# OR
npm test
# Run linting
flake8 src/
black src/
# OR
npm run lint
# Start development server
python jaegis.py --dev
# OR
npm run dev
# Use type hints
def activate_squad(squad_name: str) -> bool:
"""Activate a specific squad by name."""
pass
# Follow PEP 8
class JAEGISOrchestrator:
"""Main orchestrator for JAEGIS agent system."""
def __init__(self, config: Dict[str, Any]) -> None:
self.config = config
self._agents = {}
# Use docstrings
def coordinate_agents(self, agents: List[Agent]) -> CoordinationResult:
"""
Coordinate multiple agents for task execution.
Args:
agents: List of agents to coordinate
Returns:
CoordinationResult with execution status and metrics
Raises:
CoordinationError: If agent coordination fails
"""
pass
// Use TypeScript for type safety
interface SquadConfig {
name: string;
agents: Agent[];
priority: number;
}
// Use async/await
async function activateSquad(config: SquadConfig): Promise<boolean> {
try {
const result = await squadManager.activate(config);
return result.success;
} catch (error) {
logger.error('Squad activation failed', error);
throw error;
}
}
// Use JSDoc for documentation
/**
* Coordinates multiple agents for task execution
* @param agents - Array of agents to coordinate
* @returns Promise resolving to coordination result
*/
async function coordinateAgents(agents: Agent[]): Promise<CoordinationResult> {
// Implementation
}
# Unit test example
class TestSquadActivation:
def test_activate_valid_squad(self):
"""Test successful squad activation."""
orchestrator = JAEGISOrchestrator()
result = orchestrator.activate_squad("development")
assert result is True
def test_activate_invalid_squad(self):
"""Test squad activation with invalid name."""
orchestrator = JAEGISOrchestrator()
with pytest.raises(SquadNotFoundError):
orchestrator.activate_squad("nonexistent")
# Run all tests
pytest
# Run specific test file
pytest tests/test_squad_management.py
# Run with coverage
pytest --cov=src tests/
# Run integration tests
pytest tests/integration/
# Run performance tests
pytest tests/performance/ --benchmark-only