- 📝 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
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
-
Fork the repository
-
Clone the fork repository:
git clone [forked repository URL] git remote add upstream https://git.arx-ccn.com/Arx/Eve.git cd Eve
-
Install dependencies:
bun install
-
Start the development server:
bun run dev
Development Workflow
-
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.
-
Create a branch: Create a new branch for your work:
git checkout -b feature/your-feature-name
-
Make your changes: Implement your feature or fix.
-
Format your code: Before committing, ensure your code follows our formatting standards:
bunx biome format --write src/
-
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
-
Push your changes to your fork.
-
Create a Pull Request to the main EVE repository.
-
Describe your changes in the PR description:
- What does this PR do?
- Why is it needed?
- How has it been tested?
-
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
License and Legal
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!