Skip to content

Latest commit

 

History

History
142 lines (115 loc) · 4.18 KB

File metadata and controls

142 lines (115 loc) · 4.18 KB

Contributing to ZYRAXON-AI

Thank you for your interest in contributing to ZYRAXON-AI! This document provides guidelines and information about contributing.

How to Contribute

Reporting Bugs

  1. Check existing issues to avoid duplicates
  2. Create a new issue using the Bug Report template
  3. Include:
    • Steps to reproduce
    • Expected behavior
    • Actual behavior
    • Screenshots if applicable
    • Your OS and ZYRAXON version

Suggesting Features

  1. Check existing issues for similar suggestions
  2. Create a new issue using the Feature Request template
  3. Explain:
    • What the feature does
    • Why it would be useful
    • How it should work

Submitting Code

  1. Fork the repository
  2. Clone your fork:
    git clone https://github.com/YOUR_USERNAME/ZYRAXON-AI.git
    cd ZYRAXON-AI
  3. Install dependencies:
    bun install
  4. Create a branch:
    git checkout -b feature/your-feature-name
  5. Make your changes
  6. Build and test:
    cd packages/opencode
    bun run build
    cd ../desktop
    bun run build
  7. Commit with a clear message:
    git commit -m "feat: add new feature description"
  8. Push and create a Pull Request

Commit Convention

We follow Conventional Commits:

  • feat: — New feature
  • fix: — Bug fix
  • docs: — Documentation changes
  • style: — Code style changes (formatting, etc.)
  • refactor: — Code refactoring
  • test: — Adding tests
  • chore: — Maintenance tasks

Development Setup

Prerequisites

Project Structure

ZYRAXON-AI/
├── packages/
│   ├── opencode/        # Core AI agent
│   │   ├── src/
│   │   │   ├── agent/   # Agent definitions
│   │   │   ├── tool/    # Built-in tools
│   │   │   └── pro/     # Pro features
│   │   └── package.json
│   └── desktop/         # Electron desktop app
│       ├── electron/    # Main process
│       └── src/         # Renderer (SolidJS)
└── script/              # Build scripts

Adding a New Tool

  1. Create packages/opencode/src/tool/your_tool.ts
  2. Create packages/opencode/src/tool/your_tool.txt (description)
  3. Import and register in packages/opencode/src/tool/registry.ts
  4. Build and test:
    cd packages/opencode
    bun run build

Adding a New Agent

  1. Edit packages/opencode/src/agent/agent.ts
  2. Add agent definition with name, description, permissions
  3. Create prompt file in packages/opencode/src/agent/prompt/
  4. Build and test

Code Style

  • Use TypeScript
  • Follow existing code patterns
  • Use meaningful variable/function names
  • Add comments for complex logic
  • Keep functions small and focused

Pull Request Guidelines

  • PR should have a clear title and description
  • Reference related issues (e.g., "Fixes #123")
  • Include screenshots for UI changes
  • Ensure the build passes before submitting
  • Keep PRs focused — one feature/fix per PR

Areas for Contribution

  • 🔧 Tools — Add new tools for ZYRAXON
  • 🤖 Agents — Create new agent modes
  • ðŸ�› Bug Fixes — Fix reported issues
  • 📚 Documentation — Improve docs
  • 🧪 Testing — Add test coverage
  • ðŸŒ� Localization — Translate to other languages
  • 🎨 UI/UX — Improve the desktop app

Questions?

If you have questions, feel free to:

Thank you for contributing to ZYRAXON-AI! 🚀