Skip to main content

Welcome Contributors

Syra is an open-source project, and we welcome contributions from the community! Whether you’re fixing bugs, adding features, improving documentation, or sharing ideas, your input helps make Syra better for everyone.

Ways to Contribute

Report Bugs

Found an issue? Report it through the Telegram bot /feedback command or GitHub Issues

Suggest Features

Have ideas for new features? Share them via Telegram feedback or GitHub Discussions

Improve Documentation

Help improve our docs by fixing typos, clarifying instructions, or adding examples

Write Code

Contribute code improvements, bug fixes, or new features to the project

Getting Started

Repository Structure

Syra is organized as a monorepo with multiple packages:
PackageDescription
apiBackend API and services
frontendNext.js dashboard and app
landingMarketing/landing site (Vite + React)
ai-agentAI agent web app (chat, marketplace, x402)
docs / documentationDocusaurus documentation site
api-playgroundAPI testing and exploration UI
prediction-gamePrediction game app and server
payai-x402-examplePayAI x402 v2 example server
mcp-serverMCP server exposing Syra API tools

Development Setup

  1. Fork the repository
    # Clone your fork
    git clone https://github.com/YOUR_USERNAME/syra.git
    cd syra
    
  2. Install dependencies
    # Install dependencies for the package you want to work on
    cd <package-name>
    npm install
    
  3. Create a branch
    git checkout -b feature/your-feature-name
    
  4. Make your changes
    • Write clean, well-documented code
    • Follow existing code style and conventions
    • Add tests for new functionality
  5. Test your changes
    # Run tests for the package
    npm test
    
  6. Commit and push
    git add .
    git commit -m "Description of your changes"
    git push origin feature/your-feature-name
    
  7. Create a Pull Request
    • Go to the original repository on GitHub
    • Click “New Pull Request”
    • Describe your changes in detail

Contribution Guidelines

Code Quality

  • Follow existing patterns: Maintain consistency with the current codebase
  • Write clear comments: Explain complex logic and decision-making
  • Keep it focused: One feature or fix per pull request
  • Test thoroughly: Ensure your changes don’t break existing functionality

Commit Messages

Write clear, descriptive commit messages:
# Good examples
git commit -m "Add support for new technical indicators"
git commit -m "Fix RSI calculation edge case"
git commit -m "Update API documentation for signal endpoint"

# Avoid
git commit -m "fix stuff"
git commit -m "updates"

Pull Request Guidelines

When submitting a pull request:
  1. Provide context: Explain what problem you’re solving and why
  2. Reference issues: Link to related GitHub issues if applicable
  3. Include screenshots: For UI changes, show before/after
  4. Update documentation: Add or update docs for new features
  5. Be responsive: Address feedback and questions promptly
All pull requests are reviewed by maintainers. Be patient and open to feedback - we’re here to help make your contribution the best it can be!

Documentation Contributions

Improving documentation is one of the most valuable contributions you can make.

Running the Docs Locally

cd documentation
npm install
npm start
The documentation site will be available at http://localhost:3000.

Documentation Standards

  • Clear and concise: Use simple language and short sentences
  • Include examples: Show practical usage with code snippets
  • Keep it current: Update docs when features change
  • Check for typos: Proofread before submitting

Reporting Bugs

Help us fix issues by providing detailed bug reports.

What to Include

  • Clear description: What happened vs. what you expected
  • Reproduction steps: Exact steps to reproduce the issue
  • Environment: Platform, browser, version numbers
  • Screenshots/logs: Visual evidence or error messages
  • Impact: How does this affect your use of Syra?

Where to Report

  • Telegram bot: Use /feedback command for quick reports
  • GitHub Issues: For detailed technical issues
  • X (Twitter): For general feedback and discussions

Feature Requests

We love hearing your ideas for new features!

Before Requesting

  1. Search existing requests: Check if someone already suggested it
  2. Consider the scope: Does it fit Syra’s mission and goals?
  3. Think about implementation: How might it work technically?

What to Include

  • Use case: Why is this feature needed?
  • Expected behavior: How should it work?
  • Examples: Similar features in other tools
  • Priority: How important is this to you?

Code of Conduct

We’re committed to fostering an inclusive and welcoming community.

Our Standards

  • Be respectful: Treat everyone with kindness and professionalism
  • Be constructive: Provide helpful feedback and suggestions
  • Be collaborative: Work together toward common goals
  • Be patient: Remember that everyone is learning

Unacceptable Behavior

  • Harassment, discrimination, or offensive comments
  • Trolling, insulting, or derogatory remarks
  • Publishing others’ private information
  • Any conduct that creates a hostile environment

Recognition

We value all contributions and recognize our contributors:
  • Contributors are listed in project documentation
  • Significant contributions are highlighted in release notes
  • Active contributors may be invited to become maintainers

Questions?

Not sure where to start or have questions about contributing?
The best way to get started is to pick a small issue or documentation improvement. This helps you learn the workflow before tackling larger features.

Thank You!

Every contribution, no matter how small, helps make Syra better. We appreciate your time and effort in improving the project!

Build docs developers (and LLMs) love