Skip to content

Latest commit

 

History

History
153 lines (109 loc) · 4.66 KB

File metadata and controls

153 lines (109 loc) · 4.66 KB

Contributing to Eleva

Thank you for your interest in contributing to Eleva! This document provides guidelines and instructions for contributing to the project.

Code of Conduct

By participating in this project, you agree to abide by our Code of Conduct. Please read it before contributing.

How to Contribute

Reporting Bugs

  1. Check if the bug has already been reported in the Issues section
  2. If not, create a new issue with a clear title and description
  3. Include steps to reproduce the bug
  4. Add any relevant screenshots or error messages
  5. Specify your environment (browser, OS, etc.)

Suggesting Features

  1. Check if the feature has already been suggested
  2. Create a new issue with a clear title and description
  3. Explain why this feature would be useful
  4. Provide any relevant examples or use cases

Pull Requests

  1. Fork the repository
  2. Create a new branch for your changes
  3. Make your changes
  4. Write or update tests as needed
  5. Ensure all tests pass
  6. Update documentation if necessary
  7. Submit a pull request

Development Setup

  1. Clone the repository:

    git clone https://github.com/TarekRaafat/eleva.git
    cd eleva
  2. Install dependencies:

    npm install
  3. Start the development server:

    npm run dev
  4. Run tests:

    npm test

Coding Standards

  • Follow the existing code style
  • Use meaningful variable and function names
  • Write clear comments for complex logic
  • Keep functions small and focused
  • Write tests for new features
  • Update documentation as needed

Commit Messages

Follow the Conventional Commits specification:

  • feat: for new features
  • fix: for bug fixes
  • docs: for documentation changes
  • style: for formatting changes
  • refactor: for code refactoring
  • test: for adding or updating tests
  • chore: for maintenance tasks

Example:

feat: add support for custom middleware

Testing

  • Write unit tests for new features
  • Ensure all tests pass before submitting a PR
  • Update tests when modifying existing features
  • Aim for good test coverage

Documentation

  • Update README.md if needed
  • Add JSDoc comments for new functions
  • Update API documentation
  • Include examples for new features

Review Process

  1. All pull requests will be reviewed by maintainers
  2. Feedback will be provided if changes are needed
  3. Once approved, your PR will be merged

Getting Help

Other Ways to Support

Not a coder? You can still help Eleva thrive:

  • Star the repo - It helps with visibility
  • Spread the word - Tweet, blog, or tell a friend
  • Sponsor the project - Financial support helps fund development

GitHub Sponsors Open Collective Ko-fi Buy Me a Coffee Liberapay

View sponsorship tiers →

AI & Agent Experience (AX)

Eleva maintains machine-readable documentation for AI/LLM integration. When contributing, please keep these artifacts in sync:

Files to Update

Change Files to Update
New/changed public API docs/llms.txt, docs/llms-full.txt, docs/agent-manifest.json
New Agent method/error docs/agent-manifest.json, docs/plugins/agent/api.md
New plugin docs/llms.txt (minimal), docs/llms-full.txt (full)
New example pattern examples/ai/ (golden example), docs/llms-full.txt (recipe)

Verification

Run bun run verify:ax before submitting PRs that touch AI-facing artifacts.

Golden Examples

Examples in examples/ai/ are designed for AI codegen validation. Keep them:

  • Minimal (fewest lines to demonstrate the pattern)
  • Self-contained (no external dependencies beyond Eleva)
  • Correct (they must work with bun run serve)

License

By contributing to Eleva, you agree that your contributions will be licensed under the project's MIT License.