Eve/Contributing.md
Danny Morabito 18e4ad7629
📚 Enhance project setup & maintenance workflows
- 📝 Add comprehensive README.md, CONTRIBUTING.md, and 🔒 SECURITY.md documentation
- 🔧 Integrate code formatting tool and refactor existing codebase to meet style guidelines
- ⬆️ Update project dependencies to latest stable versions
- 🤖 Implement pre-commit hook for automated code formatting

#documentation #tooling #maintenance
2025-03-10 17:14:09 +01:00

3.6 KiB

Contributing to EVE

Thank you for your interest in contributing to EVE! We're excited to have you join our mission to build a truly sovereign community platform. This document provides guidelines and information to help make your contribution process smooth and effective.

Getting Started

Prerequisites

  • Bun v1.2.0 or higher
  • Git

Setting Up Your Development Environment

  1. Fork the repository

  2. Clone the fork repository:

    git clone [forked repository URL]
    git remote add upstream https://git.arx-ccn.com/Arx/Eve.git
    cd Eve
    
  3. Install dependencies:

    bun install
    
  4. Start the development server:

    bun run dev
    

Development Workflow

  1. Choose an issue: Start by looking at open issues in our issue tracker. Comment on the issue to indicate you're working on it to avoid duplicate efforts.

  2. Create a branch: Create a new branch for your work:

    git checkout -b feature/your-feature-name
    
  3. Make your changes: Implement your feature or fix.

  4. Format your code: Before committing, ensure your code follows our formatting standards:

    bunx biome format --write src/
    
  5. Commit your changes: Write clear, concise commit messages:

    git commit -m "Add feature: brief description of what you did"
    

Code Style Guidelines

We use Biome for code formatting to maintain consistent style across the codebase. Running the format command before committing ensures your code adheres to our standards:

bun run lint:fix

Testing

When implementing new features or fixing bugs, please include appropriate tests. Run the test suite to ensure your changes don't break existing functionality:

bun test

Pull Request Process

  1. Push your changes to your fork.

  2. Create a Pull Request to the main EVE repository.

  3. Describe your changes in the PR description:

    • What does this PR do?
    • Why is it needed?
    • How has it been tested?
  4. Address review feedback: Be responsive to comments and be willing to make changes if requested.

Project Structure

The project uses the following technologies:

  • Nostr
  • TypeScript
  • Electron
  • Lit

Building

For development:

bun run dev

For production you will need to have the relay repo cloned on ../Relay, then simply run:

./build.sh

Ways to Contribute

There are many ways to contribute to EVE beyond writing code:

Design

We welcome contributions to improve the user interface and experience:

  • UI mockups and prototypes
  • Icon designs
  • Accessibility improvements
  • User flow diagrams

Documentation

Help improve our documentation:

  • User guides
  • API documentation
  • Tutorial content
  • Example use cases

Testing and QA

  • Report bugs
  • Write test cases
  • Perform usability testing
  • Suggest improvements

Community Support

  • Answer questions from other users
  • Help triage issues
  • Write blog posts or tutorials about EVE

EVE is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). By contributing to EVE, you agree that your contributions will be licensed under the same license.

We do not require a separate Contributor License Agreement (CLA).

Recognition

All contributors will be recognized in our CONTRIBUTORS.md file. We value every contribution, no matter how small!


Remember that EVE is in alpha stage, and many components are still evolving. Your contributions are helping to build a more sovereign digital future!