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

158 lines
3.6 KiB
Markdown

# 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:
```bash
git clone [forked repository URL]
git remote add upstream https://git.arx-ccn.com/Arx/Eve.git
cd Eve
```
3. Install dependencies:
```bash
bun install
```
4. Start the development server:
```bash
bun run dev
```
## Development Workflow
1. **Choose an issue**: Start by looking at open issues in our [issue tracker](https://git.arx-ccn.com/Arx/Eve/issues). 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:
```bash
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:
```bash
bunx biome format --write src/
```
5. **Commit your changes**: Write clear, concise commit messages:
```bash
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:
```bash
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:
```bash
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:
```bash
bun run dev
```
For production you will need to have the relay repo cloned on ../Relay, then simply run:
```bash
./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)](https://www.gnu.org/licenses/agpl-3.0.en.html). 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!