UNPKG

@clduab11/gemini-flow

Version:

Revolutionary AI agent swarm coordination platform with Google Services integration, multimedia processing, and production-ready monitoring. Features 8 Google AI services, quantum computing capabilities, and enterprise-grade security.

239 lines (171 loc) 4.98 kB
# Contributing to Gemini Flow Thank you for your interest in contributing to Gemini Flow! This document provides guidelines and information for contributors. ## Code of Conduct By participating in this project, you agree to abide by our [Code of Conduct](CODE_OF_CONDUCT.md). ## Getting Started ### Prerequisites - Node.js 18 or higher - npm 8 or higher - Git ### Development Setup 1. Fork the repository 2. Clone your fork: ```bash git clone https://github.com/YOUR_USERNAME/gemini-flow.git cd gemini-flow ``` 3. Install dependencies: ```bash cd gemini-flow npm install ``` 4. Run tests to ensure everything works: ```bash npm test ``` ## Development Workflow ### Branch Strategy - `main` - Production-ready code - `develop` - Integration branch for features - `feature/*` - Feature development branches - `hotfix/*` - Emergency fixes ### Making Changes 1. Create a feature branch: ```bash git checkout -b feature/your-feature-name ``` 2. Make your changes following our coding standards 3. Add or update tests as needed 4. Run the test suite: ```bash npm test npm run lint npm run typecheck ``` 5. Commit your changes with a descriptive message: ```bash git commit -m "feat: add new orchestration feature" ``` 6. Push to your fork and create a pull request ### Commit Message Format We follow the Conventional Commits specification: - `feat:` - New features - `fix:` - Bug fixes - `docs:` - Documentation changes - `style:` - Code style changes (formatting, etc.) - `refactor:` - Code refactoring - `test:` - Adding or updating tests - `chore:` - Maintenance tasks ## Coding Standards ### TypeScript Guidelines - Use strict TypeScript configuration - Prefer interfaces over types for object shapes - Use proper error handling with try/catch blocks - Document public APIs with JSDoc comments ### Code Style - Use ESLint and Prettier configurations provided - Maximum line length: 100 characters - Use meaningful variable and function names - Keep functions small and focused (< 50 lines) ### Testing - Write unit tests for all new functionality - Maintain minimum 80% code coverage - Use descriptive test names - Group related tests with `describe` blocks ### Documentation - Update README.md for new features - Add JSDoc comments for public APIs - Include examples in documentation - Update CHANGELOG.md for releases ## Pull Request Process 1. Ensure all tests pass and code meets quality standards 2. Update documentation as needed 3. Fill out the pull request template completely 4. Request review from maintainers 5. Address any feedback promptly ### Pull Request Checklist - [ ] Tests added/updated and passing - [ ] Documentation updated - [ ] Code follows style guidelines - [ ] Commit messages follow convention - [ ] No breaking changes (or clearly documented) - [ ] CHANGELOG.md updated ## Issue Reporting ### Bug Reports Use the bug report template and include: - Clear description of the issue - Steps to reproduce - Expected vs actual behavior - Environment details - Error messages/logs ### Feature Requests Use the feature request template and include: - Problem statement - Proposed solution - Use cases and benefits - Alternatives considered ## Development Tips ### Running Tests ```bash # Run all tests npm test # Run unit tests only npm run test:unit # Run integration tests only npm run test:integration # Run tests in watch mode npm run test:watch # Generate coverage report npm run test:coverage ``` ### Building ```bash # Build TypeScript npm run build # Build in watch mode npm run build:watch # Clean build artifacts npm run clean ``` ### Linting and Formatting ```bash # Run ESLint npm run lint # Fix linting issues npm run lint:fix # Format code with Prettier npm run format # Type checking npm run typecheck ``` ## Architecture Overview Gemini Flow is built with: - **Core**: TypeScript-based orchestration engine - **Agents**: Specialized AI coordination patterns - **Memory**: SQLite-based persistent storage - **MCP**: Model Context Protocol integration - **SPARC**: Systematic development methodology ### Key Directories - `src/core/` - Core orchestration engine - `src/agents/` - Agent definitions and coordination - `src/commands/` - CLI command implementations - `src/memory/` - Memory management system - `src/mcp/` - MCP protocol integration - `tests/` - Test suites (unit, integration, e2e) ## Release Process Releases are automated through GitHub workflows: 1. Update version in `package.json` 2. Update `CHANGELOG.md` 3. Create pull request to `main` 4. Merge triggers automatic release ## Getting Help - Check existing issues and discussions - Join our community discussions - Reach out to maintainers for guidance - Review documentation and examples ## Recognition Contributors are recognized in: - CONTRIBUTORS.md file - Release notes - Project documentation Thank you for contributing to Gemini Flow!